資源簡介
使用C語言編寫利用AT89C52單片機和ADC0809芯片實現的AD模數轉換實驗,內含proteus仿真和keil4的項目,供學習實驗參考

代碼片段和文件信息
#include
#include
#include
#include
#include
//0809地址鎖存
sbit?ADDC=P1^6;
sbit?ADDB=P1^5;
sbit?ADDA=P1^4;
sbit?CLK=P1^3;?//clock
sbit?ST=P1^2;?//start?(轉換啟動信號)
sbit?EOC=P1^1;?//end?of?conversion?(轉換結束信號)
sbit?OE=P1^0;?//output?enable?(輸出允許信號用于)
//0~9
unsigned?char?code?SEG7[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x00};
/*
*?延時
*??
*?@param?x?時間(不精確)
*?@return
*/
void?delay_ms(int?i)
{
int?j=0;
while(i--)
{
for(j=0;j<120;j++);
}
}
/*
*?顯示函數
*?
*?@param?ADx?AD轉換過后的八位數值
*?@return
*/
void?display(unsigned?char?ADx)
{
int?AD?=?ADx*500.0/255.0;
P2=0xFD;?P0=SEG7[AD/100];?delay_ms(5);//1111_1101?->?P2^1?
P2=0xFB;?P0=SEG7[(AD/10)%10];?delay_ms(5);//1111_1011?->?P2^2
P2=0xF7;?P0=SEG7[AD%10];?delay_ms(5);//1111_0111?->?P2^3
}
/*
*?初始化
*
*?@return
*/
void?init()
{
//?ABC=110選擇第三通道
ADDC=0;
ADDB=1;
ADDA=1;
CLK=0;
ST=1;?//內部寄存器清零
EOC=1;?//?轉換結束(未開始)
OE=0;?
}
/*
*?中斷
*
*?@return
*/
void?t0()?interrupt?1
{
CLK=!CLK;
}
//主函數
void?main()
{
init();
//TMOD定時器
TMOD=0x02;?//0000_0010?8位?0~255
TH0=200;?
TL0=200;?
EA=1;? //?總中斷開關置高
ET0=1;? //?T0定時器總中斷開關置高
TR0=1;? //?啟動T0的開定時器位置高
while(1)
{
ST=0;_nop_();ST=1;_nop_();ST=0;
while(EOC==0);
OE=1;
display(P3);
OE=0;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-05-30?15:44??AD模數轉換實驗0809\keil4工程\
?????文件????????8365??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\ADC0809P
?????文件????????3002??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\ADC0809P.hex
?????文件??????????46??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\ADC0809P.lnp
?????文件????????8760??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\ADC0809P.M51
?????文件?????????184??2020-05-30?15:44??AD模數轉換實驗0809\keil4工程\ADC0809P.plg
?????文件???????55656??2020-05-30?15:44??AD模數轉換實驗0809\keil4工程\ADC0809P.uvopt
?????文件???????13402??2020-05-24?01:41??AD模數轉換實驗0809\keil4工程\ADC0809P.uvproj
?????文件???????55650??2020-05-24?12:48??AD模數轉換實驗0809\keil4工程\ADC0809P_uvopt.bak
?????文件???????13767??2020-05-24?01:19??AD模數轉換實驗0809\keil4工程\ADC0809P_uvproj.bak
?????文件????????1482??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\mainX.c
?????文件????????4043??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\mainX.LST
?????文件????????7166??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\mainX.OBJ
?????文件????????6376??2020-05-24?01:19??AD模數轉換實驗0809\keil4工程\STARTUP.A51
?????文件???????14061??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\STARTUP.LST
?????文件?????????749??2020-05-24?10:54??AD模數轉換實驗0809\keil4工程\STARTUP.OBJ
?????目錄???????????0??2020-05-30?15:43??AD模數轉換實驗0809\proteus仿真\
?????目錄???????????0??2020-05-30?15:41??AD模數轉換實驗0809\proteus仿真\proteus2\
?????文件????????3002??2020-05-24?10:54??AD模數轉換實驗0809\proteus仿真\proteus2\ADC0809P.hex
?????文件???????19632??2020-05-30?15:41??AD模數轉換實驗0809\proteus仿真\proteus2\ADC0809模數轉換與顯示.pdsprj
?????文件????????2199??2020-05-30?15:41??AD模數轉換實驗0809\proteus仿真\proteus2\ADC0809模數轉換與顯示.pdsprj.DESKTOP-OC16VVM.hope?and?freedom.workspace
?????文件???????19641??2020-05-24?11:08??AD模數轉換實驗0809\proteus仿真\proteus2\Backup?Of?ADC0809模數轉換與顯示.pdsbak
?????文件???????19658??2020-05-24?11:49??AD模數轉換實驗0809\proteus仿真\proteus2\Last?Loaded?ADC0809模數轉換與顯示.pdsbak
- 上一篇:算法競賽入門經典 第2版 -劉汝佳清晰非掃描版
- 下一篇:C語言考研真題匯編
評論
共有 條評論