當前位置:首頁 > 單片機 > 單片機
[導讀]// HS12864-15B —— 串行 // 帶字庫 // 芯片 ATMEGA16L // 時鐘 4MHz 內部 // 采用系統(tǒng)自帶延時程序 // 檢測忙閑 // 功能1:顯示漢字和字母 // 功能2:圖形顯示,顯示橫線、豎線、邊框、128*64圖像

// HS12864-15B —— 串行

// 帶字庫
// 芯片 ATMEGA16L
// 時鐘 4MHz 內部
// 采用系統(tǒng)自帶延時程序
// 檢測忙閑
// 功能1:顯示漢字和字母
// 功能2:圖形顯示,顯示橫線、豎線、邊框、128*64圖像、64*64圖像,圖形顯示較慢
// 注意:采用了文本區(qū)和圖形區(qū)清零函數(shù),漢字和圖形顯示切換時要注意,基本指令集和擴充指令集的轉換
// 保存圖像的數(shù)組最后不能有逗號

#include
#include

#define cs PORTD.2 // 片選信號
#define sid PORTD.3 // 串行數(shù)據(jù)線輸出
#define sid_in 3 // 串行數(shù)據(jù)線輸入
#define sclk PORTD.4 // 時鐘輸入線
#define psb PORTD.5 // psb=H,并口模式, psb=L,串口模式
#define rst PORTD.6 // LCD復位,低有效
#define run PORTB.7 // 運行標志

void LCD_send_byte(unsigned char a); // LCD寫數(shù)據(jù)
unsigned char LCD_read_byte(void); // LCD讀數(shù)據(jù)
void chk_busy(void); // 檢測忙閑
void init_lcd(void); // 初始化
void wr_data(unsigned char dat); // 寫數(shù)據(jù)到LCD
void wr_comm(unsigned char comm); // 寫命令到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); // 寫字符串
void hz_disp(void); // 寫漢字或字母
void LcdClearTXT(void); // 文本區(qū)RAM清零
void LcdClearBMP(void); // 圖形區(qū)RAM清零

flash unsigned char ex1[] = {"泰 山 電 子"}; //字符串以