?? lcdm_hd61202_128d64.h
字號:
/*
****************************************************************************************
頭部文件名: LCDM_HD61202_128D64.H
頭部文件名稱: 128×64液晶模塊(控制芯片:HD61202/3)的頭部文件
文件版本: 1.0
文件功能:
本文件是對 ATmega16 控制128×64液晶模塊(控制芯片:HD61202/3)顯示
源程序文件的常量、數據結構類型進行定義和函數原型聲明的頭部文件。
文件說明:
編譯工具軟件: CodeVision AVR C 版本:1.24.6 以上
鏈接文件: LCDM_HD61202_128D64.lib
編作者: 磊元
編作者 E-Mail: PTZSW@163.COM
編制日期: 2005年5月18日
------------------------------------------------------------------------------
頭部文件版本歷史:
2005年5月18日 -------- 版本 1.0 :發行版本
****************************************************************************************
*/
/*======================================================================================
下面兩條指令是本頭部文件條件編譯的預處理指令,用于防止本頭部文件被其他文件重復引用。
======================================================================================*/
#ifndef LCDM_HD61202_128D64_H /* "LCDM_HD61202_128D64_H" 條件編譯開始 */
#define LCDM_HD61202_128D64_H
/*======================================================================================
本頭部文件包括的其他頭部文件
======================================================================================*/
#include "MCU8Bit_C_DataType.H" /* 包含數據類型和位名定義的頭部文件 */
/*======================================================================================
下面這三條指令是用于區分編譯系統為 C++ 或 C 的預處理指令。
"__cplusplus" 為 C++ 預處理器名字,這三條指令表明接在其下面的那些指令為 C 程序特征。
======================================================================================*/
#ifdef __cplusplus
extern "C" {
#endif
//#define LCDM_DI_RW_EN_PinShare /* "液晶模塊的 DI、RW、EN 三個控制引腳與 */
/* 共它器件共用I/O口" 條件定義 */
/*======================================================================================
控制液晶模塊顯示功能的輸入/輸出引腳定義:
注:下列這些定義與硬件設計相關,如需改變控制的輸入/輸出引腳僅在此重新定義即可。
======================================================================================*/
#define LCDM_BL_DDR DDRD /* 液晶的背景燈控制端口 */
#define LCDM_BL_PORT PORTD /* 液晶的背景燈控制端口數據寄存器 */
#define LCDM_BL_PINNum BIT7 /* 液晶的背景燈控制引腳數字 */
#define LCDM_DI_DDR DDRB /* 液晶的寄存器選擇控制端口 */
#define LCDM_DI_PORT PORTB /* 液晶的寄存器選擇控制端口數據寄存器 */
#define LCDM_DI_PINNum BIT4 /* 液晶的寄存器選擇控制引腳數字 */
#define LCDM_RW_DDR DDRB /* 液晶的讀/寫選擇控制端口 */
#define LCDM_RW_PORT PORTB /* 液晶的讀/寫選擇控制端口數據寄存器 */
#define LCDM_RW_PINNum BIT5 /* 液晶的讀/寫選擇控制引腳數字 */
#define LCDM_EN_DDR DDRB /* 液晶的使能信號控制端口 */
#define LCDM_EN_PORT PORTB /* 液晶的使能信號控制端口數據寄存器 */
#define LCDM_EN_PINNum BIT6 /* 液晶的使能信號控制引腳數字 */
#define LCDM_CS1_DDR DDRC /* 液晶的片選1控制端口 */
#define LCDM_CS1_PORT PORTC /* 液晶的片選1控制端口數據寄存器 */
#define LCDM_CS1_PINNum BIT7 /* 液晶的片選1控制引腳數字 */
#define LCDM_CS2_DDR DDRC /* 液晶的片選2控制端口 */
#define LCDM_CS2_PORT PORTC /* 液晶的片選2控制端口數據寄存器 */
#define LCDM_CS2_PINNum BIT6 /* 液晶的片選2控制引腳數字 */
#define LCDM_DATA_DDR DDRA /* 液晶模塊的數據端口 */
#define LCDM_DATA_PORT PORTA /* 液晶模塊的數據端口輸出數據寄存器 */
#define LCDM_DATA_PIN PINA /* 液晶模塊的數據端口輸入數據寄存器 */
//#define LCDM_RST_DDR DDRD /* 液晶的復位信號控制端口 */
//#define LCDM_RST_PORT PORTD /* 液晶的復位信號控制端口數據寄存器 */
//#define LCDM_RST_PINNum BIT2 /* 液晶的復位信號控制引腳數字 */
//#define LCDM_Use_ResetPin /* 系統使用液晶復位控制引腳的條件定義 */
/*======================================================================================
控制液晶模塊顯示的特定控制數據常數定義:
======================================================================================*/
#define LCDM_DataBits 8 /* 液晶模塊顯示數據的字符位長 */
#define LCDM_MaxColumnDot 64/8 /* 液晶屏幕上可顯示的最大列點陣數 */
#define LCDM_MaxRowDot 64 /* 液晶屏幕上可顯示的最大行點陣數 */
#define LCDM_ON_Display 63 /* 打開液晶顯示的控制指令字 */
#define LCDM_OFF_Display 62 /* 關閉液晶顯示的控制指令字 */
#define LCDM_DataPage_1 184 /* 顯示數據為第1頁的控制指令字 */
#define LCDM_Yaddress_1 64 /* 顯示數據的Y地址為1的控制指令字 */
#define LCDM_StartLine_1 192 /* 開始顯示行數為1的控制指令字 */
/*======================================================================================
源程序文件中的字符化常數定義:
======================================================================================*/
#ifndef DEFINE_ON_AND_OFF_VALUE /* "DEFINE_ON_AND_OFF_VALUE" 條件編譯開始 */
#define DEFINE_ON_AND_OFF_VALUE
#define ON 1 /* 定義 ON 字符值為 1 */
#define OFF 0 /* 定義 OFF 字符值為 0 */
#endif /* "DEFINE_ON_AND_OFF_VALUE" 條件編譯結束 */
#define LCDM_CS1 1 /* 定義液晶模塊 CS1 字符值為 1 ,即選中片1 */
#define LCDM_CS2 2 /* 定義液晶模塊 CS2 字符值為 2 ,即選中片2 */
/*======================================================================================
下面這三條指令是用于與上面三條區分編譯系統為 C++ 或 C 的預處理指令相對應。用于指定
extern "C" 鏈接指示符作用域,此處的"}"與上面的"{"相對應,為鏈接指示符作用結束符。
======================================================================================*/
#ifdef __cplusplus
}
#endif
/*======================================================================================
LCDM_HD61202_128D64.lib 庫文件中的函數原型聲明:
======================================================================================*/
#pragma used+
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制液晶模塊的MCU輸入/輸出引腳的初始化操作。
備注: 本函數僅在主函數中調用一次即可,除非釋放各控制引腳作為其他用途,
如要再使用這些控制引腳來控制液晶模塊則需在主函數中再調用一次本函數。
----------------------------------------------------------------------------*/
void LCDM_initialization(void);
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制液晶模塊背景燈打開/關閉的操作。
函數入口參數:BL_status ------ 僅可取二個值 ON 或 OFF 中的一個。
----------------------------------------------------------------------------*/
void LCDM_BackgroundLight(Uchar8 BL_status);
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制液晶模塊顯示打開/關閉的操作。
函數入口參數:Dpy_status ------ 僅可取二個值 ON 或 OFF 中的一個。
----------------------------------------------------------------------------*/
void LCDM_Display(Uchar8 Dpy_status);
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制液晶模塊設置顯示開始行的操作。
函數入口參數:line_num ------ 開始行數值。(數值范圍:line_num ≤63)
----------------------------------------------------------------------------*/
void LCDM_SetStartLine(Uchar8 line_num);
/*----------------------------------------------------------------------------
函數功能: 本函數用于向液晶模塊寫入控制指令代碼。
函數入口參數:WriteCode ------ 向液晶模塊寫入的控制指令代碼 。
WC_CSNum ------- 片選數值,僅可取二個值 CS1 或 CS2 中的一個。
----------------------------------------------------------------------------*/
void LCDM_WriteCode(Uchar8 WriteCode, Uchar8 WC_CSNum);
/*----------------------------------------------------------------------------
函數功能: 本函數用于向液晶模塊寫入顯示數據。
函數入口參數:WriteData ------ 向液晶模塊寫入的顯示數據 。
WD_CSNum ------- 片選數值,僅可取二個值 CS1 或 CS2 中的一個。
----------------------------------------------------------------------------*/
void LCDM_WriteData(Uchar8 WriteData, Uchar8 WD_CSNum);
/*----------------------------------------------------------------------------
函數功能: 本函數用于在液晶屏幕上在指定坐標位置(x,y)顯示單個點陣字符的操作。
函數入口參數:x ----------------- X軸坐標,其數值范圍:x ≤63。
y ----------------- Y軸坐標,其數值范圍:y ≤7。
*pdc_address ------ 顯示字符點陣數據存儲地址,即指向存儲點陣數據的指針。
dc_row_num -------- 顯示字符行點數,其數值范圍:x ≤127。
dc_column_num ----- 顯示字符列點數,其數值范圍:x ≤63。
備注: ①.參數 y(Y軸坐標)的數值范圍:y ≤7。
②.在移植程序時,請注意 *pdc_address 參數前的 flash 關鍵字,此關鍵字
為 CodeVision AVR C 所擴充,在移植時要做相應修改。
----------------------------------------------------------------------------*/
void LCDM_Display_Character(Uchar8 x, /* X軸坐標 */
Uchar8 y, /* Y軸坐標 */
const Uchar8 flash *pdc_address, /* 字符點陣數據存儲地址 */
const Uchar8 dc_row_num, /* 顯示字符行點數 */
const Uchar8 dc_column_num); /* 顯示字符列點數 */
/*----------------------------------------------------------------------------
函數功能: 本函數用于在液晶屏幕上全屏幕填充單一字符數據的操作。
函數入口參數:all_data ------------ 填充的字符數據,例:清屏操作的字符數據可能為 0x00 。
max_row_num --------- 最大行點數值,為63。
max_column_num ------ 最大列點數值,為63。
備注: 對于片選數值的定義必須從 1 到 n 連續排列,如下所示 1,2,3,……,n-1,n 。
----------------------------------------------------------------------------*/
void LCDM_AllScreenData(const Uchar8 all_data, /* 填充的字符數據 */
const Uchar8 max_row_num, /* 最大行點數 */
const Uchar8 max_column_num); /* 最大列點數 */
#pragma used-
/*======================================================================================
本頭部文件鏈接的庫文件。用于通知編譯器從下面庫文件中編譯或鏈接函數:
======================================================================================*/
#pragma library LCDM_HD61202_128D64.lib
#endif /* "LCDM_HD61202_128D64_H" 條件編譯結束 */
/*
****************************************************************************************
本頭部文件到此結束
****************************************************************************************
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -