資源簡(jiǎn)介
通過(guò)51單片機(jī)搭建模擬電壓轉(zhuǎn)為數(shù)字電壓的電路,用ADTLC549芯片實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,并且通過(guò)LED顯示器顯示出來(lái)。編譯通過(guò)并且仿真運(yùn)行可以達(dá)到想要的效果,實(shí)際搭建電路也可以實(shí)現(xiàn)但有輕微的閃爍。

代碼片段和文件信息
#include
#include?
#define?uchar?unsigned?char
uchar?voltage=0;
sbit?CLK?=?P1^0;
sbit?CS?=?P1^1;
sbit?DATAOUT?=?P1^2;
sbit?S1?=P2^0;
sbit?S2?=P2^1;
sbit?S3?=P2^2;
void?delay(int);
void?collect_voltage();
unsigned?char?code?LEDMAP[]?=
{
0x3f?0x06?0x5b?0x4f?0x66?
0x6d?0x7d?0x07?0x7f?0x6f
};
void?main(void)
{
uchar?abcd;
//P2=0x0f;
S1=S2=S3=0;
P0=0x00;
for(d=0;d<20;d++)
delay(1000);
CS=1;
_nop_();
while(1)
{
collect_voltage();?
//Delay(3);
P2=~0x04;
//S1=1;S2=0;S3=0;
a=voltage/51;
P0=LEDMAP[a]+0x80;
delay(100);
P2=~0x02;
//S1=0;S2=1;S3=0;
b=voltage%51/5;
P0=LEDMAP[b];
delay(100);
P2=~0x01;
//S1=0;S2=0;S3=1;
c=voltage%51%5*2;;
P0=LEDMAP[c];
delay(100);//這里要有足夠的延時(shí),否則采樣可能還沒(méi)結(jié)束,造成閃爍
//delay(10000);
}
}
void?delay(int?n)
{
int?i;
for(i?=?0;?i? _nop_();
}
void?collect_voltage()
{
uchar?count?temp;
uchar?i;
temp?=?0;
CS?=?1;
CLK?=?0;
CS?=?0; //CS為低表示選中TLC549
_nop_();
//delay(10);??
for(count?=?0;?count?8;?count++)
{
CLK?=?1;
temp?=?(temp<<1)?|?DATAOUT; //CLK的高低電平之間每次讀取一位,上次的那一位移到高位再加上這次的一位(DATAOUT)
CLK?=?0;
}
CS?=?1;
voltage?=?temp;//8次后采集到一個(gè)完整的數(shù)據(jù)
????delay(20);
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4626??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1
?????文件???????1369??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.c
?????文件???????1024??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.hex
?????文件?????????35??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.lnp
?????文件???????4061??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.LST
?????文件???????7363??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.M51
?????文件???????4389??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\1.OBJ
?????文件???????1073??2012-07-24?01:05??LED數(shù)碼管5V數(shù)字電壓表\1.Opt
?????文件????????810??2012-07-24?01:05??LED數(shù)碼管5V數(shù)字電壓表\1.plg
?????文件???????2154??2012-07-08?19:26??LED數(shù)碼管5V數(shù)字電壓表\1.Uv2
?????文件???????1071??2012-07-23?18:15??LED數(shù)碼管5V數(shù)字電壓表\1_Opt.Bak
?????文件???????2154??2012-07-08?10:19??LED數(shù)碼管5V數(shù)字電壓表\1_Uv2.Bak
?????文件?????188709??2012-07-06?09:28??LED數(shù)碼管5V數(shù)字電壓表\Backup?Of?new.DBK
?????文件?????191519??2012-07-08?09:39??LED數(shù)碼管5V數(shù)字電壓表\Last?Loaded?new.DBK
?????文件?????187499??2012-07-23?15:59??LED數(shù)碼管5V數(shù)字電壓表\Last?Loaded?new2.DBK
?????文件????????964??2012-07-23?15:56??LED數(shù)碼管5V數(shù)字電壓表\new.PWI
?????文件?????196062??2012-07-06?22:41??LED數(shù)碼管5V數(shù)字電壓表\new1.DSN
?????文件?????187483??2012-07-23?16:00??LED數(shù)碼管5V數(shù)字電壓表\new2.DSN
?????文件????????938??2012-07-23?16:00??LED數(shù)碼管5V數(shù)字電壓表\new2.PWI
?????文件???????6376??2005-03-22?15:22??LED數(shù)碼管5V數(shù)字電壓表\STARTUP.A51
?????文件??????14048??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\STARTUP.LST
?????文件????????758??2012-07-23?23:30??LED數(shù)碼管5V數(shù)字電壓表\STARTUP.OBJ
?????目錄??????????0??2012-10-11?20:56??LED數(shù)碼管5V數(shù)字電壓表
-----------?---------??----------?-----??----
??????????????1004485????????????????????23
評(píng)論
共有 條評(píng)論