LCD1602使用说明
一、學習目的?
學會如何使用一個新的模塊:
- 從硬件上獲得接口的了解;
- 查看芯片的數據手冊,了解接口的使用方法
- 寫程序時要遵循 硬件電路 –> 硬件接口 –> 軟件編程 這三個部分
LCD使用要點:要明白AC就是內部數據指針的地址,DDRAM即存儲顯示數據的存儲器,每次顯示,都要想明白往哪個地址上寫數據。要學會通過使用手冊上的時序圖來學習
如何編寫讀寫數據的函數,最終的一點還要會硬件連接。
二、LCD1602原理?
1、只能顯示ASCII碼?
1602 = 16個字符/行 * 2行 = 像素 16*2
2、分析時序圖?
(1)寫操作(單片機至HD44780)?
?
描述:?
首先要對寄存器的選擇和讀、寫操作選擇進行配置。RS是寄存器選擇,RS = 1對數據進行操作;RS = 0對指令進行操作。?
接著對讀寫操作選擇進行配置,RW = 0 寫操作。?
打開使能端,輸入使能信號 E = 1。?
數據總線,對DB0~DB7賦值,進行數據的傳輸
【注】如果先打開使能,再進行其他配置的話,有可能傳輸的數據不是自己想要的。
(2)讀操作(HD44780至單片機)?
(描述同上)
3、顯示模塊的指令集?
根據自己的顯示需要進行相應的配置 ,重要的幾個命令一定要配置正確才能使用,
?
?
?
?
4、顯示的位置設置DDRAM?
?
顯示在第一行某一列的數據可以寫命令:0x80 | 0x**?
顯示在第二行某一列的數據可以寫命令:0x80 | 0x40 | 0x** = 0xC0 | 0x**?
0x80是因為在設置DDRAM地址時,DB7固定是為1的。
三、LCD1602寫入自己的字符及顯示漢字?
1、由于LCD是外部設備,處理速度比CPU速度慢,向LCD寫入命令到完成功能需要一定的時間,在這個過程中,LCD處于忙狀態,不能向LCD寫入新的內容。LCD是否處于忙狀態可以通過讀忙標志命令來了解。?
用state = LCDPORT來讀取IO端口的狀態,將state & 0x80來判斷LCD是否處于忙狀態,若IO口bit7為1,則表示LCD處于忙狀態,反之則空閑。
2、要讓LCD1602顯示自定義字符,就得用到CGRAM指令,CGROM字碼表實際只有8個字節可供使用,writecom(0x40)表示將要在CGRAM中寫入數據,設置字庫CGRAM地址命令是0100 0000.?
1602能存儲8個自定義字符(即8個字節的使用),這8個自定義字符存儲空間的首地址分別是:0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78。?
使用時讀取自定義字符的地址即為0X40-0X78 對應為 00H-07H。一個地址(如00H)存放1B的一個字符(1B = 8bit,一個字符由8個0x**組成) ?
以0x40來說,它的存儲空間如圖所示:?
如果使用5*7字符的話,那么最左3位和最后一行的數據實際上是沒用的,通常置0。?
?
這樣我們就得到每個地址需要寫入的數據:?
地址 : 數據?
0x40 : 0x16?
0x41 : 0x09?
0x42 : 0x08 其他類推。將這8個數據寫入到對應地址即可。(有紅格子的即為1,白格子即為0)
總結
以上是生活随笔為你收集整理的LCD1602使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DRM驱动代码分析:开机过程中显示驱动做
- 下一篇: 【电源专题】开关模式电源电流检测——电流