/******************************************************************************/
//工 程 名: 液晶显示驱动 *
//工程描述: 定义一段想在LCD上显示的字符,通过LCD模块的功能,从而在LCD显示板上显示定义的字符。
//注 意:本程序实现的硬件平台为MC9S12XDP512应用开发平台。应用开发平台使用16MHZ的有源晶振 *
//说 明:程序使用的片上系统时钟频率,总线时钟由锁相环产生,总线时钟为片上系统时钟的
// 一半,其换算的公式为:fpllclk=2 * fosclk *(SYNR+1)/(REFDV+1)
// 其中fosclk为振荡器频率,SYNR为时钟合成寄存器的值,REFDV为时钟分频寄存器的值
/******************************************************************************/
#include <hidef.h> /* common defines and macros */
#include <mc9s12xdp512.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xdp512"
#define LCDData PORTB //lcd显示数据传送口
#define LCDData_D DDRB //数据口方向寄存器
#define LCDCtrl PORTK //lcd控制信号传送口
#define LCDCtrl_D DDRK //控制口方向寄存器
#define LCDRS 0 //lcd寄存器选择信号PTM2
#define LCDRW 1 //读写信号接PTM3
#define LCDE 2 //lcd使能信号接PTM6
void MCUInit(void); //芯片初始化函数声明
void LCDInit(void); //液晶显示初始化
void LCDShow(unsigned char str[]); //在HD44780显示屏上显示数据
void LCD_Command(unsigned char cmd); //执行给定的cmd命令
void main(void) //主函数
{
//定义初始显示缓存并赋初值
const unsigned char *g_DispalyInit = "yiqiqingzhu.....Beijing20100808!";
asm sei //禁止总中断
MCUInit(); //初始化系统时钟
// 模块初始化
LCDInit();
asm cli //开放总中断
// LCD显示初始化
LCDShow((unsigned char *)g_DispalyInit);
//程序总循环入口
for(;;)
{}
}
void MCUInit(void) //芯片初始化(了解更多请阅读S12在线开发相关章节介绍)
{
asm sei