51单片机任意2个IO口驱动LCD1602

51单片机任意2个IO口驱动LCD1602

ID:38977378

大小:2.58 MB

页数:8页

时间:2019-06-22

51单片机任意2个IO口驱动LCD1602_第1页
51单片机任意2个IO口驱动LCD1602_第2页
51单片机任意2个IO口驱动LCD1602_第3页
51单片机任意2个IO口驱动LCD1602_第4页
51单片机任意2个IO口驱动LCD1602_第5页
资源描述:

《51单片机任意2个IO口驱动LCD1602》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、51单片机任意2个IO口驱动LCD1602相信大家对1602显示屏已经十分熟悉,驱动方式有8线制(需要11根线)和4线制(需要7根线),这里为大家推荐一种只需要2根线就能驱动1602的方法。之前在网上见到Arduino通过IIC驱动1602的实例,本人完全不懂Arduino程序,看了一下驱动电路,发现PCF8574这个关键芯片,它就相当于一个桥梁,将IIC总线转换为8位准双向口。思路1、单片机通过IIC与PCF8574进行通信。首先写好IIC通信程序,网上到处都是IIC通信程序,很容易找。PCF8574的器件地址为40h,由于硬件地址引脚A0-A

2、2可寻址8个器件,所以器件地址并不唯一,具体说明大家去查查PCF8574芯片手册。2、单片机4线制驱动1602网上也有很多相关程序,我就不再多说。4线制驱动方式需要7个IO口(RS、RW、E和4条数据线),而PCF8574提供了8位准双向口,所以管脚还有剩余。3、IIC通信程序和1602的4线制驱动程序相结合4、51单片机任意2个IO口驱动1602成功!!!。(我只是个业余爱好者,要是各位觉得太低端那就见谅了)驱动电路图效果图实物图Proteus仿真程序#include#includesbitSCL=P3^

3、0;sbitSDA=P3^1;bitack;unsignedcharLCD_data;unsignedcharcodedigit[]={"0123456789"};//定义字符数组显示数字//*****************延时************************voiddelay_nus(unsignedintn)//Nus延时函数{unsignedinti=0;for(i=0;i

4、i4us后SC

5、L跳变SCL=1;nop4();SDA=1;_nop_();_nop_();}//******************************************voidWrite_A_Byte(unsignedcharc){unsignedcharBitCnt;for(BitCnt=0;BitCnt<8;BitCnt++)//要传送的数据长度为8位{if((c<

6、0;}_nop_();_nop_();SDA=1;//8位发送完后释放数据线,准备接收应答位_nop_();_nop_();SCL=1;_nop_();_nop_();_nop_();if(SDA==1)ack=0;elseack=1;//判断是否接收到应答信号SCL=0;_nop_();_nop_();}bitWrite_Random_Address_Byte(unsignedcharadd,unsignedchardat){Start();//启动总线Write_A_Byte(add);//发送器件地址if(ack==0)return(0);

7、Write_A_Byte(dat);//发送数据if(ack==0)return(0);Stop();//结束总线return(1);}//********************液晶屏使能*********************voidEnable_LCD_write(){LCD_data

8、=(1<<(3-1));//E=1;Write_Random_Address_Byte(0x40,LCD_data);delay_nus(2);LCD_data&=~(1<<(3-1));//E=0;Write_Random_Address_Byte(0x

9、40,LCD_data);}//*************写命令****************************voidLCD_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。