水流量测量装置搭建与编程指南
1. 准备LCD模块
在这个项目中,我们选用了极为常见的HD44780兼容型16字符2行(16x2)显示屏。HD44780显示控制器芯片最初由日立开发,后来被众多制造商仿制,成为了事实上的行业标准,在很多地方都能买到具有兼容接口的显示屏。这种兼容显示屏常见尺寸有8x1、8x2、16x1、16x2、20x2、20x4甚至40x4等。较大尺寸的显示屏有时会在模块内集成多个驱动芯片,但从微控制器的角度看,它们的接口格式和工作方式是一样的,只是能显示更多行和字符。
HD44780采用“并行”接口,需要连接很多引脚。并行接口的工作方式是将完整的一个字节(8位)数据同时送到8条数据线上,然后给“Enable”引脚一个脉冲信号,告知模块该字节数据已准备好读取。这样微控制器有足够时间将每条数据线设置到正确状态,在此期间模块会忽略这些引脚的状态,当所有数据线都设置好后,“Enable”引脚的短脉冲会使数据被一次性读取。
和许多并行接口一样,HD44780接口是双向的。通过改变“R/W”(读/写)引脚的状态,它既可以向LCD模块发送数据,也能从模块读取数据。有些LCD模块自带控制按钮,将模式设置为“读”就可以获取按钮状态,但在本项目中我们不这么做,而是将“R/W”引脚直接接地,使其强制进入“读”模式,这样在连接到Arduino时能节省一条数据线。将模块的“R/W”引脚接地后,与LCD模块的连接总数降至12个,其中10个会占用Arduino有限的I/O线:8个数据位、“Enable”、“RS”、地和5V。这线还是有点乱,而且几乎占用了Arduino所有可用的I/O线。
“RS”连接是“寄存器选择”线,用于在LCD的命令模式和数据模式之间切换。我们不能像