資源簡介
用單片機和adc0809相連,做的數(shù)字電壓表,量程0-5v
代碼片段和文件信息
#include?
#include??
#define?uint?unsigned?int
#define?uchar?unsigned?char?
sbit?shj=P3^0;//串口數(shù)據(jù)口
sbit?sck=P3^1;//串口時鐘?
sbit?start=P2^1;
sbit?oe=P2^0;
sbit?eoc=P2^2;
uchar?data?led[4];
uchar?tvdata;
uint?temp;
uchar?code?dsp[]={0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x00x0};
void?dis(uchar?num)?//寫一個字節(jié)
{
uchar?temp;
int?i;
temp=dsp[num];
for(i=0;i<8;i++)
{
temp=temp<<1;
shj=CY;
sck=0;
sck=1;
}
}
?void?dis2(uchar?num)?//寫一個字節(jié)
{
uchar?temp;
int?i;
temp=dsp[num]|0x08;//加小數(shù)點
for(i=0;i<8;i++)
{
temp=temp<<1;
shj=CY;
sck=0;
sck=1;
}
}
void?leddisplay()
{
temp=tvdata*2*0.98;
led[0]=temp%10;
led[1]=(temp/10)%10;
led[2]=(temp/100)%10;
led[3]=(temp/1000)%10;
dis(led[3]);
dis(led[2]); dis(led[1]);? dis2(led[0]);
}
void?init()
{
P0=0xff;
start=0;
oe=0;
start=1;
start=0;
while(eoc==0);
oe=1;
tvdata=P1;
oe=0;
}
void?delay()
{
uint?xy;
for(x=30;x>0;x--)
for(y=120;y>0;y--);//歷史證明,不能沒有延時函數(shù)啊
}
void?main()
{ uchar?a=0;
?//dis(2);
while(1)
{
init();
if(a!=tvdata)
{
a=tvdata;
leddisplay();
delay();//沒有延時的話,很不穩(wěn)定
}
else
{;}
delay();
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????133350??2009-07-23?16:16??0809的串口顯示電壓\0809.DSN
?????文件????????742??2009-07-26?11:28??0809的串口顯示電壓\0809.PWI
?????文件??????????0??2009-07-26?11:05??0809的串口顯示電壓\0809.SDF
?????文件?????133360??2009-04-02?18:23??0809的串口顯示電壓\Last?Loaded?0809.DBK
?????文件???????6120??2009-07-26?10:03??0809的串口顯示電壓\ok
?????文件???????1299??2009-07-26?10:03??0809的串口顯示電壓\ok.c
?????文件???????2493??2009-07-26?10:03??0809的串口顯示電壓\ok.hex
?????文件?????????21??2009-07-26?10:03??0809的串口顯示電壓\ok.lnp
?????文件???????4083??2009-07-26?10:03??0809的串口顯示電壓\ok.LST
?????文件???????7949??2009-07-26?10:03??0809的串口顯示電壓\ok.M51
?????文件???????6007??2009-07-26?10:03??0809的串口顯示電壓\ok.OBJ
?????文件????????971??2009-07-26?10:03??0809的串口顯示電壓\ok.Opt
?????文件????????374??2009-07-26?10:03??0809的串口顯示電壓\ok.plg
?????文件???????2107??2009-07-26?10:03??0809的串口顯示電壓\ok.Uv2
????.......???????969??2009-07-23?16:16??0809的串口顯示電壓\ok_Opt.Bak
????.......??????1988??2009-07-23?16:16??0809的串口顯示電壓\ok_Uv2.Bak
?????文件???????6376??2005-03-22?15:22??0809的串口顯示電壓\STARTUP.A51
?????文件??????14048??2009-03-20?18:55??0809的串口顯示電壓\STARTUP.LST
?????文件????????749??2009-03-20?18:55??0809的串口顯示電壓\STARTUP.OBJ
?????目錄??????????0??2009-07-26?11:05??0809的串口顯示電壓
-----------?---------??----------?-----??----
???????????????323006????????????????????20
- 上一篇:modbus通訊協(xié)議詳解
- 下一篇:k
評論
共有 條評論