欢迎来到天天文库
浏览记录
ID:56727044
大小:283.50 KB
页数:13页
时间:2020-07-06
《LCD1602+ADC0832制作的数字电压表.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.ADC0832+LCD1602+PROTEUS仿真电路C51程序//********************************//LCD1602+ADC0832制作的数字电压表//接口方式:模拟口线//作者:曾宪阳//网址:hi.baidu./zxymcu//********************************#include#include#define uchar unsigned char#define uint unsigned int..#define IO_1602
2、P0 //IO口sbit RS_1602=P2^0;sbit RW_1602=P2^1;sbit E_1602=P2^2;sbit CS=P1^0;sbit CLK=P1^1;sbit DIO=P1^2;void delay_ms(unsigned int t)//11.0592MHz 1ms{ uchar x,y;for(t;t>0;t--){for(x=0;x<114;x++) for(y=0;y<1;y++);}}..void Wr1602Cmd(unsigned char dat){//写命令函数 E_1602=0; IO
3、_1602=dat; RS_1602=0; RW_1602=0; E_1602=1; delay_ms(1); E_1602=0; delay_ms(1);}void Wr1602Dat(unsigned char dat){//写数据函数 E_1602=0; IO_1602=dat; RS_1602=1; RW_1602=0; E_1602=1; delay_ms(1); E_1602=0; delay_ms(1);..} void Init1602(void){ de
4、lay_ms(20); Wr1602Cmd(0x38); delay_ms(5); Wr1602Cmd(0x38); delay_ms(5); Wr1602Cmd(0x06); Wr1602Cmd(0x0c);// Wr1602Cmd(0x01);//清屏 Wr1602Cmd(0x80);//设置地址 }uchar RdAdc0832(bit Hx){ uchar value0,value1,i; CS=1;CLK=0;DIO=1; CS=0; .. DIO=1;_nop_();_nop_();_nop_();
5、_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_();//写通道号位
6、 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
7、=0x01;else value0&=0xfe; }.. for(i=0;i<8;i++)
8、{ value1>>=1;if(DIO==1) value1
9、=0x80;else value1&=0x7f;CLK=1;_nop_();_nop_();_nop_();_nop_(); CLK=0;_nop_();_nop_();_nop_();_nop_(); } CS=1; if(value0!=value1) P1&=0X7F; else P1
10、=0X80; return value0;}void main(){ unsigned long i; Init1602(); while(1) {..
11、 Wr1602Cmd(0x80); i=RdAdc0832(0); i=(i*5000/255); Wr1602Dat('C'); Wr1602Dat('H'); Wr1602Dat('
此文档下载收益归作者所有