120 likes | 305 Views
感測網路實做. LCD(16 * 2) 顯示控制與電容觸控按鍵 實驗. LCD 與 觸控鍵盤實驗. 實驗介紹. 本實驗使用 MCU 板與 KIT 板作為實驗平台 使用 KIT 板上的電容觸控式鍵盤 做為 Input 元件 使用 KIT 板上 的 LCD(16*2 ) 做為 Output 元件. 實驗目標. 學習 使用 LCD 輸出 文字 學習電容觸控式鍵盤的使用方法與概念. LCD 與 觸控鍵盤實驗. 實驗板配置 - Output. LCD(16*2 ). 電容式觸控按鍵. LCD 與 觸控鍵盤實驗. 實驗板配置 - Output. LCD(16*2 ).
E N D
感測網路實做 LCD(16*2)顯示控制與電容觸控按鍵實驗
LCD與觸控鍵盤實驗 實驗介紹 • 本實驗使用MCU板與KIT板作為實驗平台 • 使用KIT板上的電容觸控式鍵盤做為Input元件 • 使用KIT板上的LCD(16*2)做為Output元件 實驗目標 • 學習使用LCD輸出文字 • 學習電容觸控式鍵盤的使用方法與概念
LCD與觸控鍵盤實驗 實驗板配置-Output LCD(16*2) 電容式觸控按鍵
LCD與觸控鍵盤實驗 實驗板配置-Output LCD(16*2) • KIT板上提供的LCD為16*2的LCD。 • 總共2行。 • 每行可顯示16個字元(ASCII碼),無法支援中文。
LCD與觸控鍵盤實驗 實驗板配置-Output 電容式觸控按鍵 • KIT板上提供的鍵盤為電容觸控式的鍵盤,部份優點: • 很炫 • 使用上較為直覺。 • 使用壽命長。 ※ 詳細介紹請參考補充資料「瞭解電容式觸控按鍵.pdf」
LCD與觸控鍵盤實驗 專案配置 Workspace內的target,使用mcu-kit1內的library • components\targets\mcu-kit1
LCD與觸控鍵盤實驗 程式碼重點-LCD顯示 • LCD相關定義變數: • HAL_LCD_LINE_1:第一行LCD,C語言內數值為1。 • HAL_LCD_LINE_2:第二行LCD,C語言內數值為2 。 ※ 以上變數代表要輸出資料在哪一行。 KIT板上只有2行,所以只有LINE1和LINE2。 如果在程式內不想打這麼長,可以直接寫1或寫2代表第一/二行
LCD與觸控鍵盤實驗 程式碼重點-LCD顯示 • 顯示一個字:halLcdWriteChar(uint8 line,uint8 col,chartext) • line:顯示在哪一行 • col:顯示在這行的第幾個字 • text:顯示的字(ascii碼)。 • 範例code: • halLcdWriteChar(HAL_LCD_LINE_1,0, '0'); • 顯示字串:halLcdWriteString(uint8 line,uint8 col,char*pText) • line:顯示在哪一行 • col:從這行的第col個字開始顯示 • pText:顯示的字串(ascii碼) • 記得要用 ’/0’做為字串結尾。 • 範例code : • char line_1_string[]={“Hello World!!"}; • halLcdWriteString(HAL_LCD_LINE_1,0,line_1_string);
LCD與觸控鍵盤實驗 程式碼重點-LCD顯示 • 顯示整行字串:halLcdWriteLine(uint8 line, char *pLine) • line:顯示在哪一行 • pLine:顯示的字串 • ※記得要用 ’/0’做為字串結尾。 • 顯示整行字串:halLcdWriteLines(char *pLine1, char *pLine2) • pLine1:第一行顯示的字串 • pLine2:第二行顯示的字串 • ※記得要用 ’/0’做為字串結尾。
LCD與觸控鍵盤實驗 程式碼重點-觸控鍵盤 • 回傳目前按下的按鍵: uint8 halKeypadPushed(void) • 回傳目前按下的按鍵的ASCII碼 • 無輸入參數 • 範例code : char key= halKeypadPushed(); halLcdWriteChar(HAL_LCD_LINE_1,0,key);
LCD與觸控鍵盤實驗 專案實做 • LAB-1: • 在LCD第一行顯示一個任一數字 • 在LCD第二行顯示學號
LCD與觸控鍵盤實驗 專案實做 • LAB-2: • 觸控鍵盤按下什麼,顯示什麼 (0~9)