| 128x64液晶KS0108驅(qū)動(dòng)程序(C51) /*------------------------------------------------------------------------------------------ [文件名] 12864.c [功能] 128X64驅(qū)動(dòng)程序 [版本] 2.0 [作者] 鞠春陽(yáng) [最后修改時(shí)間] 2003年5月12日 [版權(quán)所有] www.mcuzb.com [資料] 請(qǐng)到www.mcuzb.com下載 ===========================================================================================*/ #include "absacc.h" #include "intrins.h" //自定義庫(kù) 在"C:\comp51\UserLib\"文件夾中 #include ".\inc\ASCII816.h" //標(biāo)準(zhǔn)ASCII庫(kù) #include ".\inc\HZTable.h" //漢字點(diǎn)陣庫(kù)(自做) #include ".\inc\Menu.h" //菜單庫(kù)(自做) // LCD128*64 數(shù)據(jù)線 #define LCD12864DataPort P1 // LCD128*64 I/O 信號(hào)管腳 sbit di =P3^1; // 數(shù)據(jù)\指令 選擇 sbit rw =P3^3; // 讀\寫(xiě) 選擇 sbit en =P3^2; // 讀\寫(xiě)使能 sbit cs1 =P3^4; // 片選1,低有效(前64列) sbit cs2 =P3^5; // 片選2,低有效(后64列) sbit reset=P0^7; // 復(fù)位 /*----------------------------------------------------------------------------------------------------*/ /* ****函數(shù)列表**** //開(kāi)關(guān)顯示 void SetOnOff(unsigned char onoff) //選擇屏幕 //screen: 0-全屏,1-左屏,2-右 void SelectScreen(unsigned char screen) //清屏 //screen: 0-全屏,1-左屏,2-右 void ClearScreen(unsigned char screen) //顯示8*8點(diǎn)陣 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-7), column: 列(0-15) //address : 字模區(qū)首地址 void Show88(unsigned char lin,unsigned char column,unsigned int address) //顯示8*16字符 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-3), column: 列(0-15) //character:字符代碼(標(biāo)準(zhǔn)ASCII碼) void ShowChar(unsigned char lin,unsigned char column,unsigned char character) //顯示8*16字符串 //!!!只能顯示在一行上即: 串長(zhǎng)+column <=15 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-3), column: 列(0-15) //address : 字模區(qū)首地址 void ShowString(unsigned char lin,unsigned char column, unsigned char *string) //顯示一個(gè)漢字 //旋轉(zhuǎn)90度:字模被豎著切分 //lin:行(0-3), column: 列(0-15) //hzcode: 漢字代碼(自定義的) void ShowHZ(unsigned char lin,unsigned char column,unsigned int hzcode) //顯示圖片 //旋轉(zhuǎn)90度 :字模被豎著切分 //startline :開(kāi)始行 //startcolumn:開(kāi)始列 //linechar :圖片行點(diǎn)除8(圖片以8*8點(diǎn)陣為單位) //columnchar :圖片列點(diǎn)除8(圖片以8*8點(diǎn)陣為單位) //address : 字模區(qū)首地址 void ShowPicture(unsigned char startline,unsigned char startcolumn,unsigned char linechar,unsigned char columnchar,unsigned int address) //!!問(wèn)題大戶 //顯示一行漢字 //lin:行 //lineheadaddr: 此行漢字代碼區(qū)首地址 void ShowLine(unsigned char lin,unsigned int lineheadaddr) //顯示一屏漢字 //pageheadaddr:此屏漢字代碼地址區(qū)首地址 void ShowPage(unsigned int pageheadaddr) //反顯一個(gè)8*8字塊 //lin:行(0-3), column: 列(0-7) void ReverseShow88(unsigned char lin,unsigned char column) //反顯一個(gè)字符 //lin:行(0-4), column: 列(0-15) void ReverseShowChar(unsigned char lin,unsigned char column) //反顯一個(gè)漢字 //lin:行(0-3), column: 列(0-7) ReverseShowHZ(unsigned char lin,unsigned char column) //反顯一行漢字 //lin:行 ReverseShow(unsigned char lin) //初始化LCD void InitLCD() ****函數(shù)列表結(jié)束**** */ /*----------------------------------------------------------------------------------------------------*/ |