12864(帶字庫(kù))串行方式顯示漢字和字庫(kù)-CVAVR程序
// HS12864-15B —— 串行
// 帶字庫(kù)
// 芯片 ATMEGA16L
// 時(shí)鐘 4MHz 內(nèi)部
// 采用系統(tǒng)自帶延時(shí)程序
// 檢測(cè)忙閑
// 功能1:顯示漢字和字母
// 功能2:圖形顯示,顯示橫線、豎線、邊框、128*64圖像、64*64圖像,圖形顯示較慢
// 注意:采用了文本區(qū)和圖形區(qū)清零函數(shù),漢字和圖形顯示切換時(shí)要注意,基本指令集和擴(kuò)充指令集的轉(zhuǎn)換
// 保存圖像的數(shù)組最后不能有逗號(hào)
#include
#include
#define cs PORTD.2 // 片選信號(hào)
#define sid PORTD.3 // 串行數(shù)據(jù)線輸出
#define sid_in 3 // 串行數(shù)據(jù)線輸入
#define sclk PORTD.4 // 時(shí)鐘輸入線
#define psb PORTD.5 // psb=H,并口模式, psb=L,串口模式
#define rst PORTD.6 // LCD復(fù)位,低有效
#define run PORTB.7 // 運(yùn)行標(biāo)志
void LCD_send_byte(unsigned char a); // LCD寫(xiě)數(shù)據(jù)
unsigned char LCD_read_byte(void); // LCD讀數(shù)據(jù)
void chk_busy(void); // 檢測(cè)忙閑
void init_lcd(void); // 初始化
void wr_da
void wr_comm(unsigned char comm); // 寫(xiě)命令到LCD
void img_disp(unsigned char flash *img); // 顯示圖片128*64
void img_disp2(unsigned char flash *img); // 顯示圖片64*64 左半屏
void img_disp3(unsigned char flash *img); // 顯示圖片64*64 右半屏
void lcdfill(unsigned char disdata); // 整屏全亮或顯示豎條
void Disp_H_Line(void); // 顯示橫條
void frame(void); // 顯示邊框
void wr_str(unsigned char flash *s); // 寫(xiě)字符串
void hz_disp(void); // 寫(xiě)漢字或字母
void LcdClearTXT(void); // 文本區(qū)RAM清零
void LcdClearBMP(void); // 圖形區(qū)RAM清零
flash unsigned char ex1[] = {"泰 山 電 子"}; //字符串以