[原创] 【TI首届低功耗设计大赛】IO操作与LCD1602 4线显示

tianshuihu   2015-1-5 18:21 楼主
TI 的MSP-EXP430FR5969 LaunchPad 开发板功能太强大了,先从简单的IO操作开始吧 IAR提供了标准的库函数可用于几乎所有资源的操作,但是这些库函数太过上层,一般是面向应用开发的,对于初学者不利用硬件的学习,所以我这里用的大都是直接的寄存器操作 首先看一段官方的 “Blink LED” 例程 /////////////////************Blink LED****************////////////////////// int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop WDT // Configure GPIO P1OUT &= ~0x01; // Clear P1.0 output latch for a defined power-on state P1DIR |= 0x01; // Set P1.0 to output direction PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings while(1) { P1OUT ^= BIT0; // Toggle LED __delay_cycles(100000); } } /////////////////////end 从上面这段程序可以看出其IO操作与MSP430G2xxx系列十分类似,只是多了一条 激活端口的语句 ‘ PM5CTL0 &= ~LOCKLPM5; ’, 这个应该是出于降低功耗而引人的一个新功能 有了基本的了解之后就可以试试LCD显示了,手头只找到了一块1602,先凑合用用吧 一般来说,点亮1602需要一个8位的数据端口+3位控制端口,至少需要11个IO口,可是板子提供的IO口太少,且零碎 条件越艰苦,越有利于创新,下面且看我的 4线方式LCD1602显示(4Data IO + 2 Con IO,共需6个IO) 原理: 1. 大多数LCD1602 本身支持4线数据模式,只需初始化时选择合适的工作模式,即可实现4位数据(指令)输入输出 2. LCD1602 作为一个显示器件其实与MCU单向通行即可,即MCU按照一定的时序发送指令,同时预留一定预量即可在1602上实现无误码的显示 那么3个控制端口 RW(读写) RS(数据/指令) EN(使能),只需RS、EN即可,RW端一直接低电平:即一直进行写操作 实物展示: 11.jpg 整体连线 22.jpg 4位数据线+2根控制线 的具体连接方式 5.jpg 主函数 02.jpg 4线液晶显示头文件 6.jpg 完整的工程文件
LCD_test _1602 -eeworld.rar (233.05 KB)
(下载次数: 13, 2015-1-5 18:28 上传)
本帖最后由 tianshuihu 于 2015-1-5 18:37 编辑

回复评论 (1)

感谢分享

点赞  2022-1-10 21:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复