在线时间1537 小时
UID258281
注册时间2014-12-6
NXP金币0
TA的每日心情 | 开心 2020-1-12 00:23 |
---|
签到天数: 745 天 [LV.9]以坛为家II
金牌会员
- 积分
- 6868
- 最后登录
- 2020-7-15
|
本次实验测试是利用开发板驱动一片HT1621驱动的6位段码LCD。
一、实验资源
1、LPC11U68(OM13058)开发板;
2、KEIL V5.25.2.0;
3、lpcopen_3_03_keil_iar_lpcxpresso_11u68;
4、6位段码LCD(HT1621)模块;
二、实验过程
1、硬件连接。模块PCB上已引出VDD、GND、CS、WR、DATA,采用杜邦线与开发板相连接;
2、程序软件。在示例程序中添加HT1621相关子函数。从硬件连接图中可以看出只用到了PIO0_12、PIO0_13、PIO0_14三个GPIO端口。程序中首先对所用到的端口进行初始化:
- void Ht1621PortInit(void)
- {
- Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO);//GPIO时钟使能
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 12);//设置PIO0_12端口为输出
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 13);//设置PIO0_13端口为输出
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 14);//设置PIO0_14端口为输出
-
- Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 12, (IOCON_FUNC1 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));
- Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 13, (IOCON_FUNC1 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));
- Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 14, (IOCON_FUNC1 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));
-
- Chip_GPIO_WritePortBit(LPC_GPIO, 0, 12, 1);//设置PIO0_12端口置高
- Chip_GPIO_WritePortBit(LPC_GPIO, 0, 13, 1);//设置PIO0_13端口置高
- Chip_GPIO_WritePortBit(LPC_GPIO, 0, 14, 1);//设置PIO0_14端口置高
- }
复制代码 在上面的程序中最后三行并不是必要的。刚开始测试时GPIO没有反应,后来查了手册才发现忘记了对“IOCON”进行配置:
为便于对GPIO端口操作定义了“宏”:
- //HT1621控制位(液晶模块接口定义,根据自已的需要更改)
- #define HT1621_CS_HIGH() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 12, 1)
- #define HT1621_CS_LOW() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 12, 0) \
-
- #define HT1621_WR_HIGH() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 13, 1)
- #define HT1621_WR_LOW() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 13, 0)
- #define HT1621_DAT_HIGH() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 14, 1)
- #define HT1621_DAT_LOW() Chip_GPIO_WritePortBit(LPC_GPIO, 0, 14, 0)
复制代码 在主函数中进行刷屏及显示:
- int main(void)
- {
- unsigned char i,j,t;
-
- SystemCoreClockUpdate();
- delay_init();
- Ht1621_Init();
- Ht1621WrAllData(0,Ht1621Tab,16);//清屏
- LcdDisplay(123456);
-
- while(1)
- {
- /*LCD刷屏测试,显示所有笔段*/
- Ht1621WrAllData(0,Ht1621Tab,16);//清屏
- for(i=0; i<54; i++)
- {
- t = 0x01;
- for(j=0; j<4; j++)
- {
- Ht1621WrOneData(i,t);
- t <<= 1;
- t++;
- delay_ms(200);
- }
- }
- }
- }
复制代码
三、实验结果
1、刷屏显示所有笔段:
2、显示“123456”
四、实验总结
实验比较简单,考虑下一步在此基础上增加一些内容。
|
|