ADC0804+1602程序ADC0804+1602程序
#include #include #define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^5; sbit lcde=P3^4; //定义ADC0804
sbit adcs=P2^0;//可以硬件直接接地 sbit adrd=P2^1; sbit adwr=P2^2; sbit adin=P2^4;//可以不需要
uint ad_val_h,ad_val_l,ad_val;
/********...
ADC0804+1602程序
#include #include #define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^5; sbit lcde=P3^4; //定义ADC0804
sbit adcs=P2^0;//可以硬件直接接地 sbit adrd=P2^1; sbit adwr=P2^2; sbit adin=P2^4;//可以不需要
uint ad_val_h,ad_val_l,ad_val;
/**********1602的程序**********/
void delay(uint z)//延时程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void writecom(uchar com)//1602的写指令 {
lcdrs=0;
lcde=1;
P0=com;
delay(5);
lcde=0;
delay(5);
}
void writedate(uchar date)//1602的写数据 {
lcdrs=1;
lcde=1;
P0=date;
delay(5);
lcde=0;
delay(5);
}
void unit()//1602的初始化
{
lcde=0;
writecom(0x38);
writecom(0x0f);
writecom(0x06);
writecom(0x01);
writecom(0x0c);//关光标
}
void write_xian (uint date)//1602时间的划分 {
uchar qian,bai,shi;
qian=date/1000;
bai=date%1000/100;
shi=date%100/10;
writedate(0x30+qian);
writedate('.');
writedate(0x30+bai);
writedate(0x30+shi);
writedate('V'); }
uchar get_ad()//adc0804操作
{
uchar temp;
adcs=1;
adwr=1;
_nop_();
adwr=0;
adcs=0;
_nop_();
adwr=1;
adcs=1;
while(adin);//可以省略
P1=0xff;
adcs=1;
adrd=1;
_nop_();
adcs=0;
adrd=0;
_nop_();
temp=P1;
adrd=1;
adcs=1;
return temp;
}
void main()
{
unit();
// adcs=0;/*此处的sdcs也可以硬件直接接地*/
while(1)
{
ad_val=get_ad();
ad_val_h=ad_val&0xf0; //屏蔽低四位
ad_val_h=ad_val>>4; //右移四位 取出高四位
ad_val_l=ad_val&0x0f; //屏蔽高四位 取出低四位
ad_val=ad_val_l*20+ad_val_h*320; //最后的结果是一个四位数,便于显示
writecom(0x80);
write_xian(ad_val);
delay(1000);
}
}
本文档为【ADC0804+1602程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。