//[LCD.h]液晶模块头文件----------------------------------------------------*
//说明:本文件与具体的芯片型号有关                                          *
//-------------------------------------------------------------------------*
//1.头文件
#include "MC9S08AW60.h"    //GP32 MCU映像寄存器名定义        
#include "Type.h"     //类型别名定义
#include "GeneralFun.h"     //类型别名定义

//2.外部函数声明
//-------------------------------------------------------------------------*
//函数名: LCDshow                                                          *
//功能:在LCD(HD44780)显示屏上显示32个数据                                  *
//参数:str 待显示数据的首地址                                              *
//返  回: 无                                                               *
//说  明: 无 
//-------------------------------------------------------------------------*  
void LCDshow(uint8 str[]);    //LCD显示函数的声明
//3.内部函数声明
//-------------------------------------------------------------------------*
//函数名: SCIInit                                                          *
//功  能: 初始化LCD模块                                                    *
//参  数: 无                                                               *
//返  回: 无                                                               *
//说  明:                                                                  *
//-------------------------------------------------------------------------*
void LCDinit(void);
//-------------------------------------------------------------------------*
//函数名: LCDcommand                                                       *
//功能:执行给定的LCD命令,并延时                                            *
//参数:cmd:待执行的命令                                                    *
//返  回: 无                                                               *
//说  明: 无                                                               *
//-------------------------------------------------------------------------*
void LCDcommand(uint8 cmd);

//4.寄存器有关的宏定义
// 端口A数据寄存器各个位的掩码
#define AW60_LCDdata_PTAD7          (0x80)   //A数据寄存器位7掩码
#define AW60_LCDdata_PTAD6          (0x40)   //A数据寄存器位6掩码
#define AW60_LCDdata_PTAD5          (0x20)   //A数据寄存器位5掩码
#define AW60_LCDdata_PTAD4          (0x10)   //A数据寄存器位4掩码
#define AW60_LCDdata_PTAD3          (0x08)   //A数据寄存器位3掩码
#define AW60_LCDdata_PTAD2          (0x04)   //A数据寄存器位2掩码
#define AW60_LCDdata_PTAD1          (0x02)   //A数据寄存器位1掩码
#define AW60_LCDdata_PTAD0          (0x01)   //A数据寄存器位0掩码
//端口A数据方向寄存器各个位的掩码
#define AW60_LCDdataD_PTADD7        (0x80)   //A数据方向寄存器位7掩码
#define AW60_LCDdataD_PTADD6        (0x40)   //A数据方向寄存器位6掩码
#define AW60_LCDdataD_PTADD5        (0x20)   //A数据方向寄存器位5掩码
#define AW60_LCDdataD_PTADD4        (0x10)   //A数据方向寄存器位4掩码
#define AW60_LCDdataD_PTADD3        (0x08)   //A数据方向寄存器位3掩码
#define AW60_LCDdataD_PTADD2        (0x04)   //A数据方向寄存器位2掩码
#define AW60_LCDdataD_PTADD1        (0x02)   //A数据方向寄存器位1掩码
#define AW60_LCDdataD_PTADD0        (0x01)   //A数据方向寄存器位0掩码
// 端口C数据寄存器各个位的掩码
#define AW60_LCDctrl_PTCD7          (0x80)   //C数据寄存器位7掩码
#define AW60_LCDctrl_PTCD6          (0x40)   //C数据寄存器位6掩码
#define AW60_LCDctrl_PTCD5          (0x20)   //C数据寄存器位5掩码
#define AW60_LCDctrl_PTCD4          (0x10)   //C数据寄存器位4掩码
#define AW60_LCDctrl_PTCD3          (0x08)   //C数据寄存器位3掩码
#define AW60_LCDctrl_E              (0x04)   //C数据寄存器位2掩码
#define AW60_LCDctrl_RW             (0x02)   //C数据寄存器位1掩码
#define AW60_LCDctrl_RS             (0x01)   //C数据寄存器位0掩码
//端口C数据方向寄存器各个位的掩码
#define AW60_LCDctrlD_PTCDD7        (0x80)   //C数据方向寄存器位7掩码
#define AW60_LCDctrlD_PTCDD6        (0x40)   //C数据方向寄存器位6掩码
#define AW60_LCDctrlD_PTCDD5        (0x20)   //C数据方向寄存器位5掩码
#define AW60_LCDctrlD_PTCDD4        (0x10)   //C数据方向寄存器位4掩码
#define AW60_LCDctrlD_PTCDD3        (0x08)   //C数据方向寄存器位3掩码
#define AW60_LCDctrlD_PTCDD2        (0x04)   //C数据方向寄存器位2掩码
#define AW60_LCDctrlD_PTCDD1        (0x02)   //C数据方向寄存器位1掩码
#define AW60_LCDctrlD_PTCDD0        (0x01)   //C数据方向寄存器位0掩码

//AW60的LCD模块相关寄存器的定义
//端口A数据寄存器
#define AW60_LCDdata   (*(vuint8 *)(0x00000000))
//端口D数据方向寄存器
#define AW60_LCDdataD  (*(vuint8 *)(0x00000001))
//端口D数据寄存器
#define AW60_LCDctrl   (*(vuint8 *)(0x00000004))
//端口D数据方向寄存器
#define AW60_LCDctrlD  (*(vuint8 *)(0x00000005))
