資源簡介
用89C51通過ADC0804采集0-5V模擬信號,并通過了PROTUES仿真,圖紙是自己畫的程序是從網(wǎng)上找的,對應(yīng)自己的圖紙做了一下修改,KEIL連接PROTUES完美仿真通過?。。∮袉栴}可以加我的QQ:175200152,希望和喜歡單片機(jī)的朋友們共同進(jìn)步

代碼片段和文件信息
#include????? //52系列單片機(jī)頭文件
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int?
//sbit?dula=P2^6; //申明U1鎖存器的鎖存端
//sbit?wela=P2^7; //申明U2鎖存器的鎖存端
sbit?adwr=P3^6; //定義AD的WR端口
sbit?adrd=P3^7; //定義AD的RD端口
sbit?ge=P1^1;
sbit?shi=P1^2;
sbit?bai=P1^3;
sbit?cs=P3^4;
sbit?duan=P3^4;
uchar?code?table[]={??//共陰極0-9
0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f};
void?delayms(uint?xms)
{
uint?ij;
for(i=xms;i>0;i--) ??????//i=xms即延時(shí)約xms毫秒
for(j=110;j>0;j--);
}
void?display(uchar?baiuchar?shiuchar?ge)??//顯示子函數(shù)
{
duan=1;
P2=table[bai];
duan=0;
P1=0x08;
delayms(5); ?
P1=0x00;
duan=1;
P2=table[shi];
duan=0;
P1=0x04;
delayms(5);
P1=0x00;
duan=1;
P2=table[ge];
duan=0;
P1=0x02;
delayms(5);
P1=0x00;
/* ge=1;
??dula=1;
P0=table[bai];????//送段選數(shù)據(jù)
dula=0;
P0=0xff; //送位選數(shù)據(jù)前關(guān)閉所有顯示,防止打開位選鎖存時(shí)
wela=1; //原來段選數(shù)據(jù)通過位選鎖存器造成混亂
P0=0x7e; //送位選數(shù)據(jù)
wela=0;
delayms(5); ????//延時(shí)
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0x7d;
wela=0;
delayms(5);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0x7b;
wela=0;
delayms(5); ?*/
}
void?main() // 主程序
{
? uchar?aA1A2A3adval;
//uchar?v;
//wela=1;
cs=0;???????????//置CSAD為0,選通ADCS?以后不必再管ADCS
//wela=0;
????while(1)
{
adwr=1;
_nop_();
adwr=0; //啟動(dòng)AD轉(zhuǎn)換
_nop_();
adwr=1;
for(a=10;a>0;a--)????????//TX-1C實(shí)驗(yàn)板AD工作頻率較低,所以啟動(dòng)轉(zhuǎn)換后要多留點(diǎn)時(shí)間用來轉(zhuǎn)換
{????????????????????????//這里把顯示部分放這里的原因也是為了延長轉(zhuǎn)換時(shí)間???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
display(A1A2A3);
}
P0=0xff;????????????????????//讀取P1口之前先給其寫全1?
adrd=1;????????????????????//選通ADCS
_nop_();
adrd=0;?????????????????????//AD讀使能
_nop_();
adval=P0; //AD數(shù)據(jù)讀取賦給P1口
adrd=1;
//v=adval*5/256;
A1=adval/100; //分出百,十,和個(gè)位
A2=adval%100/10;
A3=adval%10;
?}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????125657??2012-08-20?10:15??0-5V仿真\4-20MA轉(zhuǎn)0-5V單片機(jī)實(shí)驗(yàn).DSN
?????文件????????742??2012-08-20?10:15??0-5V仿真\4-20MA轉(zhuǎn)0-5V單片機(jī)實(shí)驗(yàn).PWI
?????文件?????120575??2012-08-20?08:58??0-5V仿真\Backup?Of?4-20MA轉(zhuǎn)0-5V單片機(jī)實(shí)驗(yàn).DBK
?????文件?????125657??2012-08-20?10:09??0-5V仿真\Last?Loaded?4-20MA轉(zhuǎn)0-5V單片機(jī)實(shí)驗(yàn).DBK
?????文件???????4824??2012-08-20?10:10??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換
?????文件?????????59??2012-08-20?10:10??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換.lnp
?????文件???????7402??2012-08-20?10:10??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換.M51
?????文件???????1486??2012-08-20?10:15??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換.Opt
?????文件???????2009??2012-08-20?10:15??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換.plg
?????文件???????2079??2012-08-20?09:47??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換.Uv2
?????文件???????1487??2012-08-20?09:47??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換_Opt.Bak
?????文件???????2079??2012-08-20?08:53??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換_Uv2.Bak
?????文件???????2275??2012-08-20?10:15??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換程序.c
?????文件???????5770??2012-08-20?10:10??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換程序.LST
?????文件???????4624??2012-08-20?10:10??0-5V仿真\程序\0-5Vadc轉(zhuǎn)換程序.OBJ
?????文件???????5115??2002-04-16?15:32??0-5V仿真\程序\STARTUP.A51
?????文件??????11665??2012-08-20?10:10??0-5V仿真\程序\STARTUP.LST
?????文件????????749??2012-08-20?10:10??0-5V仿真\程序\STARTUP.OBJ
?????目錄??????????0??2012-08-20?10:20??0-5V仿真\程序
?????目錄??????????0??2012-08-20?10:20??0-5V仿真
-----------?---------??----------?-----??----
???????????????424254????????????????????20
評論
共有 條評論