打造可靠的水流测量系统:从硬件搭建到软件配置
1. 准备LCD模块
在这个项目中,我们选用了极为常见的HD44780兼容型16字符2行(16x2)显示屏。HD44780显示控制器芯片最初由日立开发,如今已被众多制造商仿制,成为了事实上的行业标准,在很多地方都能买到兼容接口的显示屏。这种兼容型显示屏常见尺寸有8x1、8x2、16x1、16x2、20x2、20x4甚至40x4等。较大尺寸的显示屏有时会在模块内集成多个驱动芯片,但从微控制器的角度看,它们的接口格式和工作方式是一样的,只是能显示更多的行和字符。
HD44780采用“并行”接口,需要连接很多引脚。并行接口的工作方式是将完整的一个字节(8位)数据同时送到8条数据线,然后脉冲触发“Enable”引脚,告知模块数据已准备好读取。这样微控制器有足够时间将各数据线设置到正确状态,在此期间模块会忽略引脚状态,当所有引脚状态设置好后,一个短脉冲触发“Enable”引脚,数据就会被一次性读取。
和许多并行接口一样,HD44780接口是双向的,通过改变“R/W”(读/写)引脚状态,既可以向LCD模块发送数据,也能从模块读取数据。在本项目中,我们将“R/W”引脚直接接地,使其强制进入“读”模式,这样连接到Arduino时能节省一条数据线。经过这样处理后,连接LCD模块总共需要12个接口,其中10个会占用Arduino有限的I/O线,包括8个数据位、“Enable”、“RS”、接地和5V。这仍然有点复杂,几乎占用了Arduino所有可用的I/O线。
“RS”连接是“寄存器选择”线,用于在LCD的命令和数据模式之间切换。和“Enable”连接不同,我们不能将其永久设置为高电平或低电平,因为LCD驱动程序需要用它来初始化模块并发
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



