MC68HC908G LCD驱动程序:显示与初始化

需积分: 3 1 下载量 178 浏览量 更新于2024-10-03 收藏 7KB TXT 举报
"MC68HC908G LCD驱动与初始化" 本文将深入探讨与MC68HC908G微控制器相关的LCD驱动程序及初始化过程。该代码示例展示了如何利用C语言来控制2行字符型LCD模块,该模块采用HD44780驱动芯片。代码由chenyao编写,版本号为V1.0,于2008年11月18日更新。 首先,我们看到`#include`指令引入了必要的头文件。`<hidef.h>`是系统级头文件,包含了中断相关的定义。`<MC68HC908GP32.h>`是针对MC68HC908G系列微控制器的特定芯片头文件,包含了芯片的寄存器定义和其他相关功能。`"head.h"`可能包含了项目中自定义的通用函数或定义,而`"lcd.h"`则包含用于操作LCD的函数声明。 接下来,代码展示了两个关键的初始化函数:`clock_init(void)`和`init_devices(void)`。 `clock_init(void)`函数用于设置微控制器的时钟系统。在MC68HC908G中,时钟配置至关重要,因为它直接影响到CPU的工作速度和其他外设的运行。函数内的代码将PCTL、PMSH、PMSL、PMRS和PBWC等寄存器设置为特定值,以确保32.768kHz外部晶体振荡器作为主时钟源,并将内部总线频率设置为2.4576MHz。通过PCTL的配置,还可以开启或关闭某些时钟分频器,如设置PCTL |= 0X10和PCTL |= 0X20,这将影响到系统的运行速度和功耗。 `init_devices(void)`函数则负责整个系统的设备初始化,包括时钟设置。在这里,它首先设置了SCI(Serial Communication Interface)的时钟,然后调用`clock_init(void)`函数来初始化时钟系统。这意味着在系统启动后,所有其他依赖时钟的外设(如LCD)都将按照预设的时钟配置工作。 在描述中提到,LCD模块的数据线连接到了MC68HC908G的PTB端口,而RS、RW和E(使能)信号线分别连接到了PTC0、PTC1和PTC2。这种硬件连接方式是常见的与HD44780驱动芯片交互的方式。在`lcd.h`头文件中,应该包含了初始化LCD、写入命令和数据、以及控制显示滚动的相关函数。 在实际应用中,开发者可以使用这些函数来向LCD显示文本,例如上排显示"DP-01 MCU",下排滚动显示"Welcome to Tongji University :)"。这些功能的实现会涉及到对LCD控制指令的精确操作,包括设置显示位置、清除屏幕、写入字符等。 总结起来,这段代码示例提供了MC68HC908G微控制器驱动2行字符型LCD模块的基本框架,包括了必要的时钟初始化和设备初始化步骤。通过理解和运用这些知识,开发者能够构建自己的基于MC68HC908G的LCD显示应用。