51單片機對LCD1602液晶顯示器的控制
要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示的定時器搬到液晶屏上來。
這里用到的液晶為LCD1602,能夠同時顯示16x02即32個字符(16列2行)。1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號等,直接向其寫入ASCII碼即可顯示相應字符。1602共16個 管腳,管腳功能如下:
實際應用時,所用液晶模塊與單片機的連接圖如下:
其中7~14管腳為IO,與單片機的P0口相接,單片機可通過向P0口發送數據被液晶模塊并行接收。
4管腳為數據命令選擇端,與單片機P3^5口相連。故可通過控制P3^5口的電平高低,向液晶模塊寫入命令或數據。由數據手冊得知,
寫指令時,RS=L,RW=L,D0~D7為指令碼,E管腳為一高電平脈沖;
寫數據時,RS=H,RW=L,D0~D7為數據,E管腳也為一高電平脈沖。
P3^4與液晶模塊6管腳相連,控制液晶模塊使能。
首先介紹液晶模塊的指令。
初始化指令0x38:設置液晶為16x2顯示。
顯示開關及光標設置:
00001DCB D=1,開顯示;
C=1。顯示光標;
B=1,光標閃爍。
000001NS N=1,讀寫一個字符后地址指針加1,光標加1;
N=0,讀寫一個字符后地址指針減1,光標減1
S=1,寫一個字符時,整屏顯示向左移動(N=1)或右移(N=0)
S=0,不移動
數據寫入控制指令:
LCD模塊中的RAM地址映射如下
要想把數據寫入X地址,則先要輸入指令0x80+X;
例如想讓字符顯示在第二行的第一個,則在將字符傳入前,要寫入指令write_command(0x80+0x40)
此外,0x01H表示顯示清屏,數據指針清零,所有顯示清零;
0x02H表示顯示回車,數據指針清零。
了解了這些之后,可以知道如果我們想要控制液晶的顯示,就要先學會怎樣向液晶寫指令和寫數據。
寫指令函數
//向LCD1602寫指令
voidwrite_com(ucharcom)
{
lcdrs=0;//RS=L
P0=com;//P0口輸出
delay(5);//延時
lcden=1;//E=H
delay(5);
lcden=0;//延時后,E變為L,造成了一個高電平脈沖,P0口高低電平被寫入
}
寫數據的方法與此類似,照葫蘆畫瓢即可:
//向LCD1602寫數據
/*
只需要將RS置高即可,
其他語句與寫指令函數相同
*/
voidwrite_date(uchardate)
{
lcdrs=1;//RS=H
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
有了這兩個函數,我們就可以向液晶模塊里面寫入指令和數據,從而實現對其的控制了。
為了實現一個完整的對LCD1602功能的封裝體現,我們還要再寫一個初始化的函數,用于對LS1602的初始化工作
voidInital()
{
lcden=0;//先不使能
write_com(0x38);//寫入初始化指令
write_com(0x0e);//顯示開,光標顯示但不閃爍
write_com(0x06);//讀寫后指針加1,光標加1
write_com(0x01);//顯示清屏,指針清零
}
至此,就完成了對LCD1602的功能封裝,在其他的程序中,就可以使用這些函數用于液晶顯示,例如下面實現的用1602顯示計時器。
計時器量程為1小時,顯示格式為XX:XX(前面為分,后面為秒)
用到了單片機中的計時器0,工作方式1,。50ms發生一次中斷,使一個用于計數的number自增一次。number初值設為1,故number自增至20時,說明計時1s已到,可以Do Something,也就是把處理函數加進來了。
C文件如下:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitlcden=P3^4;
sbitlcdrs=P3^5;
ucharnum=1;
ucharmiao=0;
ucharfen=0;
voidInital();
voidInital_Time();
voidwrite_com(ucharcom);
voidwrite_date(uchardate);
voiddelay(ucharTIme);
voidClock();
voidDisplay(ucharx,uchary);
voidmain()容-源-電-子-網-為你提供技術支持
本文地址:http://www.crowd1transparentmarketing.com/dz/22/15458067412848.shtml
本文標簽:
猜你感興趣:
運用單片機便是了解單片機硬件結構,以及內部資源的運用,在匯編或C語言中學會各種功用的初始化設置,以及完成各種功用的程序編制。 運用按鈕輸入信號,發光二極管顯現輸出
關鍵詞:51單片機PIC單片機單片機 所屬欄目:設計編程
現場總線技術已經廣泛應用于工業控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實現等優點,在現場總線實際工程應用中占有了較大份額。
關鍵詞:單片機 所屬欄目:設計編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學,把更多精力用在軟件的實現上由于學生學習時間寶貴,焊接一套單片機實驗板又比較花時間,并且實驗項目太多,所以為了
關鍵詞:PIC單片機51單片機單片機 所屬欄目:設計編程
對于新手來說,首先根據自己學的什么樣單片機就選什么類型的單片機,熟悉什么類型的單片機就選什么類型的單片機。因為單片機不僅要設計電路,還要設計控制軟件。選自己熟悉的單片機上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機。
關鍵詞: 所屬欄目:設計編程
單片機晶振的作用是什么
在初學單片機的時候,總是伴隨很多有關于晶振的問題,其實晶振就是如同人的心臟,是血液的脈搏,把單片機的晶振問題搞明白了,51單片機的其他問題
關鍵詞:51單片機PIC單片機單片機 所屬欄目:設計編程
Keil單片機編程軟件Keil C51是單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯
關鍵詞:51單片機PIC單片機 所屬欄目:設計編程
詳解51單片機運行過程 注:1.ROM:只讀存儲器,單片機的只讀存儲區大多用于存儲程序固又稱程序存儲器。51單片機是EPROM,所謂的EPROM是可擦除的只
關鍵詞: 所屬欄目:設計編程
pic單片機和c51有什么區別(區別1)總線結構:MCS-51單片機的總線結構是馮-諾依曼型,計算機在同一個存儲空間取指令和數據,兩者不能同時進行;而PIC單片機的總線結構是哈佛結構
關鍵詞:單片機PIC單片機51單片機 所屬欄目:設計編程
實例分析51單片機出現故障及解決辦法。詳細如下:
故障現象:做了一個單片機溫度監測系統,仿真機上一切正常,燒寫芯片無法工作。相關電路框圖: 用51做處理器,外圍電路如
關鍵詞:單片機51單片機 所屬欄目:設計編程
PIC單片機匯編語言指令詳解
pic單片機為最常用單片機之一,許多程序均基于pic單片機進行開發。因此,熟練pic單片機編程尤為重要。為保證大家能準確、熟練掌握pic單片機的使
關鍵詞:PIC單片機單片機 所屬欄目:設計編程
三種51單片機程序下載方法介紹
一般只能通過三種方式下載程序到單片機中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下載程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
關鍵詞:PIC單片機51單片機單片機 所屬欄目:設計編程
I2C每一位信號的時序流程,而I2C通信在字節級的傳輸中,也有固定的時序要求。I2C通信的起始信號(Start)后,首先要發送一個從機的地址,這個地址一共有 7位,緊跟著的第 8
關鍵詞:PIC單片機51單片機單片機 所屬欄目:設計編程
越來越多的測量儀器提供GPIB(General Purpose Intefface Bus)總線接口,通過該總線可以方便快捷地連接帶有GPIB接口的儀器及計算機,組成一個GPlB網絡。GPIB設備與計算機連
關鍵詞:PIC單片機51單片機單片機 所屬欄目:設計編程
每個單片機系統里都有晶振,全程是叫晶體震蕩器,在單片機系統里晶振的作用非常大,他結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執行都是建立
關鍵詞:51單片機PIC單片機單片機 所屬欄目:設計編程
引言變頻調速作為交流電機調速的主要手段已經在工業領域中應用的十分廣泛,其具有的調速范圍寬、穩速精度高、動態響應快、適用范圍廣、運行可靠等技術性能,已逐步取代直流
關鍵詞:單片機變頻器 所屬欄目:設計編程
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這
關鍵詞:單片機 所屬欄目:設計編程
1.實驗任務如圖所示,監視開關K1(接在P3.0端口上),用發光二極管L1(接在單片機P1.0端口上)顯示開關狀態,如果開關合上,L1亮,開關打開,L1熄滅。2.電路原理圖3.系統
關鍵詞:單片機LEDLED電路圖 所屬欄目:設計編程
近日,有媒體報道稱,北京微電子技術研究所日前成功研制出國內首個自主可控的宇航用千萬門級高性能高可靠FPGA(現場可編程門陣列)芯片。FPGA一直是國內的短板,市場基本被
關鍵詞:單片機 所屬欄目:設計編程
怎么學單片機?也??吹接腥苏f學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學
關鍵詞:單片機 所屬欄目:設計編程
在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)?! ?lt;特殊功能寄存器地址映象表(一)> <特殊功能寄存器地址映象表(二)> <
關鍵詞:單片機寄存器 所屬欄目:設計編程