資源簡(jiǎn)介
基于STC12C5A60S2自帶AD轉(zhuǎn)換和TL5615芯片完成AD/DA 轉(zhuǎn)換程序

代碼片段和文件信息
/******************************************/
/************* 用戶系統(tǒng)配置 **************/
#define?MAIN_Fosc 22118400L //定義主時(shí)鐘?模擬串口和和延時(shí)會(huì)自動(dòng)適應(yīng)。5~35MHZ
/************* 以下宏定義用戶請(qǐng)勿修改 **************/
#include “reg51.H“
#define uchar unsigned?char
#define?uint unsigned?int
/******************************************/
sfr?P1ASF?????=?0x9D; //12C5204AD/S2系列模擬輸入(AD或LVD)選擇
sfr?ADC_CONTR?=?0xBC; //帶AD系列
sfr?ADC_RES???=?0xBD; //帶AD系列
sfr?ADC_RESL??=?0xBE; //帶AD系列
// 7???????6??????5???????4?????????3??????2????1????0???Reset?Value
//sfr?ADC_CONTR?=?0xBC; ADC_POWER?SPEED1?SPEED0?ADC_FLAG?ADC_START?CHS2?CHS1?CHS0?00000000 //AD?轉(zhuǎn)換控制寄存器?
#define?ADC_OFF() ADC_CONTR?=?0
#define?ADC_ON (1?<7)
#define?ADC_90T (3?<5)
#define?ADC_180T (2?<5)
#define?ADC_360T (1?<5)
#define?ADC_540T 0
#define?ADC_FLAG (1?<4) //軟件清0
#define?ADC_START (1?<3) //自動(dòng)清0
#define?ADC_CH0 0
#define?ADC_CH1 1
#define?ADC_CH2 2
#define?ADC_CH3 3
#define?ADC_CH4 4
#define?ADC_CH5 5
#define?ADC_CH6 6
#define?ADC_CH7 7
/*************?本地變量聲明?**************/
sbit P_TXD1?=?P3^1;
/*************?本地函數(shù)聲明?**************/
void Tx1Send(uchar?dat);
void PrintString(unsigned?char?code?*puts);
void?? delay_ms(unsigned?char?ms);
uchar GetAdc8(uchar?channel); //channel?=?0~7
void?TX_ADC(uchar?chn?uchar?adc)
{
Tx1Send(‘A‘);
Tx1Send(‘D‘);
Tx1Send(chn+‘0‘);
Tx1Send(‘=‘);
Tx1Send(adc?/?100?+?‘0‘);
Tx1Send(adc?%?100?/?10?+?‘0‘);
Tx1Send(adc?%?10?+?‘0‘);
Tx1Send(0x0d);
Tx1Send(0x0a);
}
/*********************?主函數(shù)?*************************/
/*********************?做一次ADC轉(zhuǎn)換?*******************/
uchar GetAdc8(uchar?channel) //channel?=?0~7
{
uchar i;
ADC_RES?=?0;
ADC_CONTR?=?(ADC_CONTR?&?0xe0)?|?ADC_START?|?channel;?
for(i=0;?i<250;?i++) //13T/loop?40*13=520T=23.5us?@?22.1184M
{
if(ADC_CONTR?&?ADC_FLAG)
{
ADC_CONTR?&=?~ADC_FLAG;
return ADC_RES;
}
}while(--i);
return 0; //錯(cuò)誤
}
//========================================================================
//?函數(shù):?void??delay_ms(unsigned?char?ms)
//?描述:?延時(shí)函數(shù)。
//?參數(shù):?ms要延時(shí)的ms數(shù).
//?返回:?none.
//?版本:?VER1.0
//?日期:?2010-12-15
//?備注:?
//========================================================================
void??delay_ms(unsigned?char?ms)
{
?????unsigned?int?i;
?do{
??????i?=?MAIN_Fosc?/?14000;
??while(--i) ;???//14T?per?loop
?????}while(--ms);
}
/**********************?模擬串口相關(guān)函數(shù)************************/
void BitTime(void) //位時(shí)間函數(shù)
{
uint?i;
i?=?((MAIN_Fosc?/?100)?*?104)?/?140000L?-?1; //根據(jù)主時(shí)鐘來計(jì)算位時(shí)間
while(--i);
}
//模擬串口發(fā)送
void Tx1Send(uchar?dat) //9600,N,8,1 發(fā)送一個(gè)字節(jié)
{
uchar i;
EA?=?0;
P_TXD1?=?0;
BitTime();
for(i=0;?i<8;?i++)
{
if(dat?&?1) P_TXD1?=?1;
else P_TXD1?=?0;
dat?>>=?1;
BitTime();
}
P_TXD1?=?1;
EA?=?1;
BitTime();
BitTime();
}
void?PrintString(unsigned?char?code?*puts) //發(fā)送一串字符串
{
????for?(;?*puts?!=?0; puts++)??Tx1Send(*puts);? //遇到停止符0結(jié)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\
?????文件?????????911??2019-01-11?10:09??AD與DA直接轉(zhuǎn)\AD.H
?????文件????????6811??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD.LST
?????文件????????5745??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD.OBJ
?????文件??????????32??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD.__i
?????文件????????3172??2019-01-11?10:57??AD與DA直接轉(zhuǎn)\AD.c
?????文件???????12798??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD_project
?????文件???????13002??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD_project.M51
?????文件????????3315??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD_project.hex
?????文件??????????84??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\AD_project.lnp
?????文件?????????514??2019-01-11?18:10??AD與DA直接轉(zhuǎn)\AD_project.plg
?????文件???????58109??2019-01-11?14:40??AD與DA直接轉(zhuǎn)\AD_project.uvopt
?????文件???????13740??2019-01-11?10:49??AD與DA直接轉(zhuǎn)\AD_project.uvproj
?????文件???????58101??2019-01-11?10:49??AD與DA直接轉(zhuǎn)\AD_project_uvopt.bak
?????文件???????13424??2019-01-11?10:27??AD與DA直接轉(zhuǎn)\AD_project_uvproj.bak
?????文件??????????88??2018-12-12?17:49??AD與DA直接轉(zhuǎn)\DA.H
?????文件????????3091??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\Da.LST
?????文件????????3165??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\Da.OBJ
?????文件??????????32??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\Da.__i
?????文件?????????957??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\Da.c
?????文件????????6376??2009-05-07?14:37??AD與DA直接轉(zhuǎn)\STARTUP.A51
?????文件???????14048??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\STARTUP.LST
?????文件?????????749??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\STARTUP.OBJ
?????文件??????????34??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\STARTUP._ia
?????文件????????3229??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\main.LST
?????文件????????3780??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\main.OBJ
?????文件??????????34??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\main.__i
?????文件????????1124??2019-01-11?14:40??AD與DA直接轉(zhuǎn)\main.c
?????文件?????????409??2019-01-11?16:51??AD與DA直接轉(zhuǎn)\目標(biāo)?1.BAT
評(píng)論
共有 條評(píng)論