素地址并寫像素,相關(guān)的組件函數(shù)為:
(1)Display_LCM12864_Component_Initialize:初始化
(2)Display_LCM12864_Component_Read_Busy_Flag_Memory_Address:返回忙標志
(3)Display_LCM12864_Component_Control_Display_On_Off:打開顯示
(4)Display_LCM12864_Component_Set_Function:選擇指令集
(5)Display_LCM12864_Component_Set_Display_Data_Memory_Address:設置地址
(6)Display_LCM12864_Component_Write_Memory_Data:寫數(shù)據(jù)
(7)Display_LCM12864_Component_Clear_Display:清除顯示
(8)Display_LCM12864_Component_Set_Extended_Function:設置圖形模式
(9)Display_LCM12864_Component_Set_Graphic_Memory_Vertical_Address:設置垂 直地址
(10)Display_LCM12864_Component_Set_Graphic_Memory_Horizontal_Address:設置 水平地址
組件 Display_LCM12864_Component.c 依賴 Display_LCM12864_Library.c,這個庫完成 實際操作,為組件提供硬件抽象層接口。
2.4.4 實驗效果
(1)構(gòu)建應用,注意 Build Output 窗口中的信息,代碼長度超出單片機 ROM 容量限制。
(2)在工程管理中刪除 STC_STC89C52RC_GPIO_Library.c,實驗中不需要 GPIO 庫。
(3)在工程列表的 Context 組中,雙擊打開 STC_STC89C52RC_Context.c,定位到第 201 行。
(4)Handle_UART_Interrupt_Context 函數(shù)用于處理 UART 中斷環(huán)境,實驗中不需要使用 UART,所以將這個函數(shù)的實現(xiàn)轉(zhuǎn)為注釋態(tài),這樣可以降低代碼大小。
(5)重新構(gòu)建應用,注意 Build Output 窗口中的信息,沒有錯誤和警告。
(6)關(guān)閉開發(fā)板電源開關(guān),插上 LCM12864 液晶模塊,確認跳線 JP2 處于連接狀態(tài),JP1 和 JP3 處于斷開狀態(tài)。
(7)在 STC-ISP 中打開 Nebula_Discover8051_V1.hex,點擊“下載/編程”按鈕。
(8)打開開發(fā)板電源開關(guān),STC-ISP 顯示檢測信息并開始燒寫單片機 ROM。
(9)燒寫完畢,單片機自動開始運行。
(10)LCM12864 液晶模塊開始循環(huán)顯示信息,首先進入字符模式并顯示漢字,隨后進入圖 形模式并寫像素。
(11)將初始化函數(shù)的參數(shù)設置為 0,表示使用串行模式,重復上述過程,檢查運行效果。
清理工程輸出文件,刪除添加的三個文件,恢復 STC_STC89C52RC_GPIO_Library.c,將 STC_STC89C52RC_Context.c 中修改的內(nèi)容恢復原狀,在主應用中將第 223 行恢復原狀,為 后續(xù)實驗做好準備.