欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機數字電壓表的程序設計 [打印本頁]

作者: v如此富有覅    時間: 2022-4-18 16:11
標題: 單片機數字電壓表的程序設計
數字電壓表的設計
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define unit unsigned int
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unit ADresult[11];
sbit DATOUT=P1^0;
sbit DATIN=P1^1;
sbit CS=P1^2;
sbit IOCLK=P1^3;
sbit EOC=P1^4;
sbit weil=P3^0;
sbit wei2=P3^1;
sbit wei3=P3^2;
sbit wei4=P3^3;
void delay_ms(unit i)
{
int j;
for(;i>0;i--)
for(j=0; j<123;j++);
}
unit getdata(uchar channel)
{
uchar i,temp;
unit read_ad_data=0;
channel=channel<<4;
IOCLK=0;
CS=0;
temp=channel;
for(i=0;i<12;i++)
{
if(DATOUT) read_ad_data=read_ad_data|0x01;
DATIN=(bit)(temp&0x80);
IOCLK=1;
_nop_();_nop_();_nop_();
IOCLK=0;
_nop_();_nop_();_nop_();
temp=temp<<1;
read_ad_data<<=1;
}
CS=1;
read_ad_data>>=1;
return(read_ad_data);
}
void dispaly(void)
{
uchar qian,bai,shi,ge;
unit value;
value=ADresult[2]*1.221;
qian=value%10000/1000;
bai=value%1000/100;
shi=value%100/10;
ge=value%10;

weil=1;
P2=table[qian]-128;
delay_ms(1);
weil=0;

wei2=1;
P2=table[bai];
delay_ms(1);
wei2=0;

wei3=1;
P2=table[shi];
delay_ms(1);
wei3=0;

wei4=1;
P2=table[ge];
delay_ms(1);
wei4=0;
}
main(void)
{
ADresult[2]=getdata(2);
while(1)
{
_nop_();_nop_();_nop_();
ADresult[2]=getdata(2);
while(!EOC);
dispaly();
}
}
附件里面是仿真圖,不含代碼(自行生成hex文件)僅供參考,請自行測試,如有錯誤請告知:
Proteus仿真下載: 數字電壓表的設計2.zip (27.24 KB, 下載次數: 40)

作者: jiaol2021    時間: 2022-11-30 11:15
最好有個注釋




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1