水流测量系统搭建与编程指南
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、Ground和5V,线路较为复杂,几乎耗尽了Arduino的I/O线。
RS连接是“寄存器选择”线,用于在LCD的命令和数据模式之间切换。我们不能像处理Enable连接那样将其永久置为高电平或低电平,因为LCD驱动程序需要用它来初始化模块并发送数据。
超级会员免费看
订阅专栏 解锁全文
450

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



