|
我這個(gè)12864.h 頭文件的調(diào)用方法(51單片機(jī))是不是很簡(jiǎn)單:
- #include<stc12c5a60s2.h>
- #include<12864.h>
- void main()
- {
- LCDInit();
- Str_6x12(1,0,"蘇冰航");
- Str_6x12(2,0,"2015212211035");
-
- while(1){}
- }
復(fù)制代碼
0.png (51.01 KB, 下載次數(shù): 59)
下載附件
2017-7-3 23:18 上傳
12864.h液晶驅(qū)動(dòng)的頭文件內(nèi)容預(yù)覽(附件里面可下載完整代碼):
- #include <STC12C5A60S2.H>
- #include <string.H>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- /**************************************************************
- 12864基本指令宏定義
- **************************************************************/
- #define SCREEN_CLEAR 0XF4 //整屏清屏命令
- #define BACK_ONOFF 0XB5 //背光開關(guān)命令
- #define CONTRAST_GRADIENT 0XE6 //對(duì)比度調(diào)整命令
- #define TEMPERATURE_SET 0XEE //設(shè)置溫度補(bǔ)償開關(guān)和系數(shù)命令
- #define SOFT_RESET 0XEF //復(fù)位命令
- #define SINGLE_DOT 0XF2 //任意點(diǎn): 顯示命令
- #define DRAWLINE 0XC5 //任意點(diǎn): 畫線
- #define SCREEN_ONOFF 0XFE //屏幕開命令
- #define STR_ASCII_8X8_LOC 0XDF //任意點(diǎn): 顯示8X8ASCII字符串命令
- #define STR_6X12 0XB9 //固定處: 顯示12X12中文和6X12ASCII混合字符串命令
- #define WHOLE_MOVE_RIGHT 0XF8 //整屏右移命令
- //********************
- //UART口初始化 串口中斷初始化
- //********************
- void Uart_Init(void)
- {
- TMOD = 0x20; //timer 1 working mode 1
- TL1 = 0xfa; // fa=9600 for 1.0592mhz Fosc,and ...
- TH1 = 0xfa; //...fd=19200 for 11.0592mhz Fosc
- SCON = 0x50;//d8 //uart mode 3,ren==1 1100 1000
- PCON = 0x80; //smod=1
- TR1 = 1; //start timer1
- }
- //********************
- //延時(shí)函數(shù)100us
- //********************
- void Delay_100us(uint j) //對(duì)于11.0592MHz時(shí)鐘延時(shí)100us
- {
- uchar i;
- while(j--)
- {
- for(i=0;i<12;i++)
- {}
- }
- }
- //*********************
- //串口方式寫數(shù)據(jù)
- //*********************
- void put_char(uchar ch)
- {
- SBUF = ch;
- while( TI == 0 ); //查詢法
- TI = 0;
- }
- /*************************************************************
- 函數(shù)名稱:Screen_Clear
- 函數(shù)功能:整屏清屏
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):NO
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Screen_Clear(void)
- {
- put_char(SCREEN_CLEAR); //0xE3 行位置0-7 列位置0-25 ASC2字符代碼 9*16 0-9數(shù)字
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Back_Onoff
- 函數(shù)功能:背光開關(guān)命令
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Back-背光開關(guān)(0/1)
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Back_Onoff(unsigned char Back)
- {
- put_char(BACK_ONOFF);
- put_char(Back);
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Contrast_Gradient
- 函數(shù)功能:顯示對(duì)比度設(shè)置
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Contrast-對(duì)比度級(jí)數(shù)(0-63)
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Contrast_Gradient(unsigned char Contrast)
- {
- put_char(CONTRAST_GRADIENT);
- put_char(Contrast);
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Temperature_Set
- 函數(shù)功能:溫度補(bǔ)償開關(guān)和系數(shù)
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Temperature-溫度補(bǔ)償系數(shù),0-關(guān)閉,1-5為系數(shù)
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Temperature_Set(unsigned char Temperature)
- {
- put_char(TEMPERATURE_SET);
- put_char(Temperature);
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Soft_Reset
- 函數(shù)功能:復(fù)位
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):NO
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Soft_Reset(void)
- {
- put_char(SOFT_RESET);
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Whole_Move_Right
- 函數(shù)功能:整屏右移
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):NO
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Whole_Move_Right(void)
- {
- put_char(WHOLE_MOVE_RIGHT); //0xE3 行位置0-7 列位置0-25 ASC2字符代碼 9*16 0-9數(shù)字
- Delay_100us(100); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Single_Dot
- 函數(shù)功能:在指定位置顯示一個(gè)點(diǎn)
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Y-行數(shù)(0-63),X-列數(shù)(0-127)
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:在MCU端口初始化時(shí)調(diào)用
- *************************************************************/
- void Single_Dot(unsigned char Y, unsigned char X)
- {
- put_char(SINGLE_DOT);
- put_char(Y);
- put_char(X);
- Delay_100us(100); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Drawline
- 函數(shù)功能:任意點(diǎn)畫線
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):CursorY-起始點(diǎn)行坐標(biāo)(0-63),CursorX-起始點(diǎn)坐標(biāo)(0-127)
- LH-0畫垂直線,1畫水平線,Line-畫清零/實(shí)線/虛線(0/1/2)
- S-顯示內(nèi)容
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Drawline(unsigned char CursorY, unsigned char CursorX,
- unsigned char LH, unsigned char Line, unsigned char LineLen)
- {
- put_char(DRAWLINE);
- put_char(CursorY);
- put_char(CursorX);
- put_char(LH);
- put_char(Line);
- put_char(LineLen); // 顯示字符
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Screen_Onoff
- 函數(shù)功能:屏幕全亮命令0/1
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Switch-開關(guān)(0/1)
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Screen_Onoff(unsigned char Switch)
- {
- put_char(SCREEN_ONOFF);
- put_char(Switch);
- put_char(02);
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Str_Ascii_8x8_Loc
- 函數(shù)功能:任意點(diǎn)顯示一個(gè)8X8的ASCII字符串
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):CursorY-左上角行坐標(biāo)(0-56),CursorX-左上角坐標(biāo)(0-120)
- S-顯示內(nèi)容
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Str_Ascii_8x8_Loc(unsigned char CursorY, unsigned char CursorX, unsigned char *s)
- {
- put_char(STR_ASCII_8X8_LOC);
- put_char(CursorY);
- put_char(CursorX);
- while (*s)
- {
- put_char(*s); // 顯示字符
- s++;
- }
- put_char(0X00); //結(jié)束符
- Delay_100us(600); //延時(shí)
- }
- /*************************************************************
- 函數(shù)名稱:Str_6x12
- 函數(shù)功能:在指定位置顯示12X12中文和6X12ASCII字符串
- 調(diào)用函數(shù):NO
- 被調(diào)函數(shù):NO
- 輸入?yún)?shù):Y-行數(shù)(0-3),X-列數(shù)(0-15), *S-顯示內(nèi)容
- 輸出參數(shù):NO
- 函數(shù)返回:NO
- 其他說(shuō)明:NO
- *************************************************************/
- void Str_6x12(unsigned char Y, unsigned char X, unsigned char *s)
- {
- put_char(STR_6X12);
- put_char(Y);
- put_char(X);
- while (*s)
- {
- put_char(*s); // 顯示字符
- s++;
- }
- put_char(0X00); //結(jié)束符
- Delay_100us(600); //延時(shí)
- }R
- /***********************************************************
- 函數(shù)名稱:LCDInit
- 函數(shù)功能:12864初始化
- 輸入?yún)?shù):無(wú)
- ***********************************************************/
- void LCDInit(void)
- {
- uchar i;
- Soft_Reset(); //復(fù)位
- Screen_Clear(); //函數(shù)功能:整屏清屏
- Uart_Init(); //串口初始化
- Back_Onoff(1); //打開背光
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
全部資料下載地址:
12864.rar
(33.71 KB, 下載次數(shù): 182)
2017-7-3 18:23 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|