logo资料库

LCD1602+ADC0832制作的数字电压表.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
ADC0832+LCD1602+PROTEUS仿真电路C51程序//********************************//LCD1602+ADC0832制作的数字电压表//接口方式:模拟口线//作者:曾宪阳//网址:http://hi.baidu.com/zxymcu//********************************#include#include#defineucharunsignedchar#defineuintunsignedint
#defineIO_1602P0//IO口sbitRS_1602=P2^0;sbitRW_1602=P2^1;sbitE_1602=P2^2;sbitCS=P1^0;sbitCLK=P1^1;sbitDIO=P1^2;voiddelay_ms(unsignedintt)//11.0592MHz1ms{ucharx,y;for(t;t>0;t--){for(x=0;x<114;x++)for(y=0;y<1;y++);}}
voidWr1602Cmd(unsignedchardat){//写命令函数E_1602=0;IO_1602=dat;RS_1602=0;RW_1602=0;E_1602=1;delay_ms(1);E_1602=0;delay_ms(1);}voidWr1602Dat(unsignedchardat){//写数据函数E_1602=0;IO_1602=dat;RS_1602=1;RW_1602=0;E_1602=1;delay_ms(1);E_1602=0;delay_ms(1);
}voidInit1602(void){delay_ms(20);Wr1602Cmd(0x38);delay_ms(5);Wr1602Cmd(0x38);delay_ms(5);Wr1602Cmd(0x06);Wr1602Cmd(0x0c);//Wr1602Cmd(0x01);//清屏Wr1602Cmd(0x80);//设置地址}ucharRdAdc0832(bitHx){ucharvalue0,value1,i;CS=1;CLK=0;DIO=1;CS=0;
DIO=1;_nop_();_nop_();_nop_();_nop_();//写ST位CLK=1;_nop_();_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=1;_nop_();_nop_();_nop_();_nop_();//写SGL位CLK=1;_nop_();_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=Hx;_nop_();_nop_();_nop_();_nop_();//写通道号位CLK=1;_nop_();_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=1;for(i=0;i<8;i++){CLK=1;_nop_();_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();_nop_();value0<<=1;if(DIO==1)value0|=0x01;elsevalue0&=0xfe;}
for(i=0;i<8;i++){value1>>=1;if(DIO==1)value1|=0x80;elsevalue1&=0x7f;CLK=1;_nop_();_nop_();_nop_();_nop_();CLK=0;_nop_();_nop_();_nop_();_nop_();}CS=1;if(value0!=value1)P1&=0X7F;elseP1|=0X80;returnvalue0;}voidmain(){unsignedlongi;Init1602();while(1){
Wr1602Cmd(0x80);i=RdAdc0832(0);i=(i*5000/255);Wr1602Dat('C');Wr1602Dat('H');Wr1602Dat('0');Wr1602Dat('=');Wr1602Dat('0'+i/1000);Wr1602Dat('.');Wr1602Dat('0'+i%1000/100);Wr1602Dat('0'+i%1000%100/10);Wr1602Dat('0'+i%1000%100%10);Wr1602Dat('V');Wr1602Cmd(0xC0);i=RdAdc0832(1);i=(i*5000/255);Wr1602Dat('C');Wr1602Dat('H');Wr1602Dat('1');Wr1602Dat('=');Wr1602Dat('0'+i/1000);
Wr1602Dat('.');Wr1602Dat('0'+i%1000/100);Wr1602Dat('0'+i%1000%100/10);Wr1602Dat('0'+i%1000%100%10);Wr1602Dat('V');}}LCD1602+ADC0809制作的数字电压表-总线连接方式//********************************//LCD1602+ADC0809制作的数字电压表//接口方式:总线扩展//作者:曾宪阳//网址:http://hi.baidu.com/zxymcu
分享到:
收藏