相信大家对1602显示屏已经十分熟悉,驱动方式有8线制(需要11根线)和4线制(需要7根线),这里为大家推荐一种只需要2根线就能驱动1602的方法。之前在网上见到Arduino通过IIC驱动1602的实例,本人完全不懂Arduino程序,看了一下驱动电路,发现PCF8574这个关键芯片,它就相当于一个桥梁,将IIC总线转换为8位准双向口,于是有了想法。
思路
1、单片机通过IIC与PCF8574进行通信。
首先写好IIC通信程序,网上到处都是IIC通信程序,很容易找。PCF8574 的器件地址为40h,由于硬件地址引脚A0-A2可寻址8 个器件,所以器件地址并不唯一,具体说明大家去查查PCF8574芯片手册。
2、单片机4线制驱动1602
网上也有很多相关程序,我就不再多说。4线制驱动方式需要7个IO口(RS、RW、E和4条数据线),而PCF8574提供了8位准双向口,所以管脚还有剩余。
3、IIC通信程序和1602的4线制驱动程序相结合
4、51单片机任意2个IO口驱动1602成功!!!。
(我只是个业余爱好者,要是各位觉得太低端那就见谅了)
驱动电路图(实际制作时没有焊接R1和R2)
效果图
控制部分(单片机型号是STC15F104E)
驱动部分
程序和仿真都已经上传,有兴趣的可以看看。
程序还不够完美,希望各位能够提出修改意见。
|