怎样利用液晶1602显示AD转换数据?以下是本人所写的程序。

怎样利用液晶1602显示AD转换数据?以下是本人所写的程序。,第1张

#include<reg51h>

#define uint unsigned int

#define uchar unsigned char

sbit sta=P3^4;

sbit eoc=P3^3;

sbit oe=P3^2;

sbit clk=P3^1;

sbit lcdrs=P3^5;

sbit lcdrw=P3^6;

sbit lcdoe=P3^7;

uchar code table1[]="Voltage!";

uchar code table2[]="(V)";

uchar tt0;

void delay(uint x)

{

uchar t;

while(x--) for(t=0;t<120;t++);

}

void timer0() interrupt 1

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

clk=~clk;

}

void write_com(uchar com)

{

lcdrs=0;

lcdoe=0;

P0=com;

lcdoe=1;

delay(5);

lcdoe=0;

delay(5);

}

void write_dat(uchar dat)

{

lcdrs=1;

lcdoe=0;

P0=dat;

lcdoe=1;

delay(5);

lcdoe=0;

delay(5);

}

void init_lcd()

{

uchar i;

lcdrw=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x84);

for(i=0;i<9;i++)

{

write_dat(table1[i]);

delay(5);

}

write_com(0x80+0x48);

for(i=0;i<3;i++)

{

write_dat(table2[i]);

delay(5);

}

}

void display(uchar dat)

{

uchar votc;

votc=dat;

write_com(0x80+0x44);

write_dat(0x30+votc/51);

write_com(0x80+0x45);

write_dat('');

write_com(0x80+0x46);

write_dat(0x30+votc%51/51);

write_com(0x80+0x47);

write_dat(0x30+(votc%51%10));

}

void main()

{

init_lcd();

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

TMOD=0x01;

EA=1;

ET0=1;

TR0=1;

while(1)

{

sta=0;

sta=1;

sta=0;

while(eoc==0);

oe=1;

display(P2);

oe=0;

}

这是我以前做过的测试程序,或许对你有所帮助,不明白的话可以加976434210,也有ADC0832的测试程序。

8位AD,最大255;
uchar num;
num=AD_receive();//把AD采集回来的数据保存
write_com(0x80);//1602从0x80开始显示数据
write_data(num/100+0x30); //显示字符百位,后面以此类推
write_data(num%100/10+0x30);//十位数
write_data(num%10+0x30);//个位数
至于1602的驱动程序,网上多得是,找找就有了

首先保证硬件是连通的,比如单片机与1602显示屏、串口电平转换芯片等部分电路都已正确连接。然后可以下载1602、串口的实例程序,别人已经做好的,直接拿来用,分别试验,成功后把它做成一个函数,以后直接调用,有时间还可以与datasheet比较,读懂后进行优化。
电脑上串口显示可以用“串口助手”之类的软件。

先利用电压互感器将市电高压降为低压,此时是电流信号经过一放大器转换为电压信号,此时依然是交流信号;然后再经过一芯片转换成有效值直流信号,由于此时信号比较小,再需要经过放大器放大,接入AD芯片,将模拟信号数字化(量化),最后接入单片机系统完成数据的处理与显示。 电压互感器选择DXPT202,结合武汉市场与性能价格比后确定的。通过DXPT202在限流电阻下取得2mA电流。然后通过OP07进行电流到电压的转换,由于考虑到后续器件的性能,这里转换来的电压信号要控制在200mV下,通过一较小电阻(小于100Ω,这里采用的是91Ω的精密电阻)即可满足要求。再通过AD736JN集成芯片前级经过OP07转换而来的交流电压信号转换成真有效值直流信号以便于模数转换。再一次将AD736JN的输出直流信号放大,由于AD736JN的输出电压信号小于200mV,不适宜模数转换。采用常用的ADC0809把OP07转换而来的模拟电压信号进行A/D转换。最后将ADC0809转换而来的数字信号送入AT89S51单片机处理并驱动LCD模块(1602)显示。

具体方法如下:
1、点击左下角的“开始”菜单,选择“设备和打印机”。
2、右击写真机,选择“属性”。
3、切换到“端口”,点击“配置端口”。
4、在d出的对话框中出现IP地址,复制该地址。
5、打开浏览器,将复制号的IP粘贴进入。
6、打开后在“首页”点击“使用日志”。
7、这时就可以看到详细的打印记录了(打印时间、张数、是否彩色、文件名等等)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13386781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存