




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十章
項(xiàng)目六-
單片機(jī)控制
字符液晶顯示指針的應(yīng)用優(yōu)點(diǎn):C語言的靈魂,是C語言的重要特征。利用指針可以直接快速的處理內(nèi)存中的各種數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),特別是數(shù)組、字符串和內(nèi)存的動(dòng)態(tài)分配。它為函數(shù)間各類數(shù)據(jù)的傳遞提供了簡(jiǎn)捷便利的方法。指針使C語言簡(jiǎn)潔、緊湊、高效。缺點(diǎn):指針使用上的靈活性容易導(dǎo)致指針濫用而可能使程序失控。變量的指針unsignedchara=1;unsignedcharb=2;unsingedintc=3;unsignedlongd=4;STC89C52的RAM地址片內(nèi)0x00~0xFF片外0x00~0xFF變量取地址:&a,&b,&c,&d內(nèi)存地址存儲(chǔ)的數(shù)據(jù)…………0x07d0x06d0x05d0x04d0x03c0x02c0x01b0x00a指針變量的聲明和初始化特別區(qū)分:1、在C語言中,一種說法是地址等同于指針,變量的地址就是變量的指針。2、指針變量簡(jiǎn)稱指針,通常所說的指針都是指針變量。區(qū)分方法:&a一律稱之為取地址。只要說指針,就是指指針變量。p=&a通常的說法是指針指向了a這個(gè)變量。*和&互為逆運(yùn)算,x=*p;方法1:unsignedchara;unsignedchar*p=&a;
方法2:unsignedchara;unsignedchar*p;p=&a;指針變量重點(diǎn)區(qū)分1、普通變量VS指針變量unsignedchara;a=1;......a=2;unsignedchar*p;p=&a;......p=&b;是說明p指向的變量是unsignedchar類型。2、定義指針變量*pVS取值運(yùn)算*punsignedchar*p;僅僅是說明p是個(gè)指針變量,*不具備任何其他的運(yùn)算功能。unsignedchara=1;unsignedcharb=2;unsignedchar*p;p=&a;b=*p;計(jì)算完畢,b的值是1。
**指針的簡(jiǎn)單實(shí)例**指向數(shù)組元素的指針unsignedcharnumber[10]={0,1,2,3,4,5,6,7,8,9};unsignedchar*p;unsignedchar*q;p=&number[0];q=&number[9];1、比較運(yùn)算2、指針和整數(shù)之間的加減運(yùn)算3、兩個(gè)指針變量在一定條件下的減法運(yùn)算特別注意:數(shù)組名字代表了數(shù)組元素的首地址。p=&number[0];等價(jià)于p=number;p[i]等價(jià)于*(p+i)字符數(shù)組和字符指針整型常量:1、2、3、100浮點(diǎn)型常量:3.14、0.56、-4.8字符型常量:'a'、'b'、'1'字符串常量:"a"、"abc"、"1234"、"1234abcd"直接常量與符號(hào)常量constunsignedintBAUD=9600;unsignedcharcodeLedChar[]={......};#defineBAUD9600字符數(shù)組和字符指針普通字符:'a''A'unsignedcharx='a';轉(zhuǎn)義字符:如右所示字符串常量:“a”"1234""welcometo"程序?qū)嵗址?、字符?shù)組、常量數(shù)組字符形式含義\n換行\(zhòng)t橫向跳格(相當(dāng)于Tab)\v豎向跳格\b退格\r光標(biāo)移到行首\\反斜杠字符‘\’\’單引號(hào)字符\”雙引號(hào)字符\f走紙換頁\0空值LCD1602原理
LCD(LiquidCrystalDisplay):液晶顯示器的縮寫,一種被動(dòng)式的顯示器,即液晶本身并不發(fā)光,而是經(jīng)液晶經(jīng)過處理后能改變光線通過方向的特性,而達(dá)到白底黑字或黑底白字顯示的目的。 液晶顯示器具有功耗低、抗干擾能力強(qiáng)等優(yōu)點(diǎn),廣泛用在儀器儀表和控制系統(tǒng)中。LCD顯示器的分類按排列形狀分:字段型、點(diǎn)陣字符型和點(diǎn)陣圖形。(1)字段型廣泛用于電子表、數(shù)字儀表、計(jì)算器中。(2)點(diǎn)陣字符型顯示字母、數(shù)字、符號(hào)。它是由5×7或5×4點(diǎn)陣組成,廣泛應(yīng)用在單片機(jī)應(yīng)用系統(tǒng)中。(3)點(diǎn)陣圖形型筆記本電腦和彩色電視等設(shè)備中。1602LCD液晶簡(jiǎn)介1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形(用自定義CGRAM,顯示效果也不好)1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。LCD1602實(shí)物圖1602LCD的特性+5V電壓,對(duì)比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM8個(gè)可由用戶自定義的5X7的字符發(fā)生器引腳及功能簡(jiǎn)介L(zhǎng)CD1602內(nèi)部結(jié)構(gòu)3個(gè)部分:LCD控制器、LCD驅(qū)動(dòng)器、LCD顯示裝置LCD1602液晶接口HD44780工作原理 HD44780內(nèi)置了DDRAM(顯示數(shù)據(jù)存儲(chǔ)RAM),CGROM(字符存儲(chǔ)ROM)和CGRAM(用戶自定義RAM)。
DDRAM就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下表:第二行也一樣用前16個(gè)地址。對(duì)應(yīng)如下:DDRAM地址與顯示位置的對(duì)應(yīng)關(guān)系
我們往DDRAM里的00H地址處送一個(gè)數(shù)據(jù),譬如0x31(數(shù)字1的代碼)并不能顯示1出來。這是令初學(xué)者很容易出錯(cuò)的地方,原因就是如果你要想在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即0X80+0x00,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即0X80+0x01。依次類推。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如下表所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”
對(duì)DDRAM的內(nèi)容和地址操作,HD44780的指令集及其設(shè)置說明,共有11條指令:
基本操作時(shí)序:
讀狀態(tài)
輸入:RS=L,RW=H,E=H
輸出:DB0~DB7=狀態(tài)字
寫指令
輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼
輸出:無
讀數(shù)據(jù)
輸入:RS=H,RW=H,E=H
輸出:DB0~DB7=數(shù)據(jù)
寫數(shù)據(jù)
輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)
輸出:無
清屏指令功能:<1>清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的字符碼20H;
<2>光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;
<3>將地址計(jì)數(shù)器(AC)的值設(shè)為0。光標(biāo)歸位指令功能:<1>把光標(biāo)撤回到顯示器的左上方;
<2>把地址計(jì)數(shù)器(AC)的值設(shè)置為0;
<3>保持DDRAM的內(nèi)容不變輸入模式設(shè)置指令功能:設(shè)定每次寫入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫入的一個(gè)字符是否移動(dòng)。參數(shù)設(shè)定的情況如下所示:
位名
設(shè)置
I/D
0=寫入新數(shù)據(jù)后光標(biāo)左移
1=寫入新數(shù)據(jù)后光標(biāo)右移
S
0=寫入新數(shù)據(jù)后顯示屏不移動(dòng)1=寫入新數(shù)據(jù)后顯示屏整體右移1個(gè)字顯示開關(guān)控制指令功能:控制顯示器開/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。參數(shù)設(shè)定的情況如下:
位名
設(shè)置
D
0=顯示功能關(guān)
1=顯示功能開
C
0=無光標(biāo)
1=有光標(biāo)
B
0=光標(biāo)不閃爍
1=光標(biāo)閃爍設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。參數(shù)設(shè)定的情況如下:
S/C
R/L
設(shè)定情況
0
0
光標(biāo)左移1格,且AC值減1
0
1
光標(biāo)右移1格,且AC值加1
1
0
顯示器上字符全部左移一格,但光標(biāo)不動(dòng)
1
1
顯示器上字符全部右移一格,但光標(biāo)不動(dòng)
功能設(shè)定指令(非常重要的指令)功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。參數(shù)設(shè)定的情況如下:位名
設(shè)置
DL
0=數(shù)據(jù)總線為4位1=數(shù)據(jù)總線為8位
N
0=顯示1行1=顯示2行
F
0=5×7點(diǎn)陣/每字符
1=5×10點(diǎn)陣/每字符設(shè)定CGRAM地址指令功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。讀取忙信號(hào)或AC地址指令功能:<1>讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無法接收單片機(jī)送來的數(shù)據(jù)或指令;當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來的數(shù)據(jù)或指令;
<2>讀取地址計(jì)數(shù)器(AC)的內(nèi)容。數(shù)據(jù)寫入DDRAM或CGRAM指令功能:<1>將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;<2>將用戶自己設(shè)計(jì)的圖形存入CGRAM。
從CGRAM或DDRAM讀出數(shù)據(jù)的指令
功能:讀取DDRAM或CGRAM中的內(nèi)容。
基本操作時(shí)序:
讀狀態(tài)
輸入:RS=L,RW=H,E=H
輸出:DB0~DB7=狀態(tài)字
寫指令
輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼
輸出:無
讀數(shù)據(jù)
輸入:RS=H,RW=H,E=H
輸出:DB0~DB7=數(shù)據(jù)
寫數(shù)據(jù)
輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)
輸出:無
讀狀態(tài)
輸入:RS=0,RW=1,E=1
讀數(shù)據(jù)
輸入:RS=1,RW=1,E=1
寫指令
輸入:RS=0,RW=0,E=下降沿脈沖,DB0~DB7=指令碼
寫數(shù)據(jù)
輸入:RS=1,RW=0,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)時(shí)序參數(shù)LCD1602與單片機(jī)連接的參考電路LCD1602靜態(tài)顯示程序設(shè)計(jì)bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;delayNOP();result=(bit)(P0&0x80);LCD_EN=0;return(result);}這個(gè)函數(shù)的作用是檢查L(zhǎng)CD是否處于忙碌狀態(tài),如果返回值是1則表示處于忙狀態(tài),需要等待,返回值為0則表示LCD處于空閑狀態(tài),可寫指令或者數(shù)據(jù)。voidlcd_wcmd(unsignedcharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();
LCD_data=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}這個(gè)函數(shù)的作用是寫指令到LCD,cmd是待寫的指令,待寫的指令在正確的時(shí)序下輸入D0~D7voidlcd_wdat(unsignedchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;LCD_data=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}這個(gè)函數(shù)是寫顯示數(shù)據(jù)到LCD,與上一個(gè)函數(shù)很相似,只是時(shí)序不同,所以一個(gè)是寫指令,一個(gè)是寫數(shù)據(jù)。voidlcd_init(){delay(15);lcd_wcmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 司機(jī)雇傭勞務(wù)合同范本
- 化學(xué)助劑采購合同范本
- 丹廈店面租房合同范本
- 中央團(tuán)校培訓(xùn)心得體會(huì)
- 運(yùn)城小學(xué)英語試卷
- 低壓電工試題庫含參考答案
- 會(huì)員服裝租賃合同范本
- 體現(xiàn)返利合同范本
- 中級(jí)電工考試模擬題(附參考答案)
- 烹飪?cè)现R(shí)模考試題含參考答案
- 什么是法律談判課件
- 成考教材-數(shù)學(xué)教程(文史財(cái)經(jīng)類)
- 保安服務(wù)管理制度范文
- 汽車行業(yè)維修記錄管理制度
- 老年護(hù)理團(tuán)隊(duì)建設(shè)方案
- 《跨學(xué)科實(shí)踐活動(dòng)3 水質(zhì)檢測(cè)及自制凈水器》教學(xué)設(shè)計(jì)
- 開塞露的使用
- 公務(wù)員2022年國考申論試題(行政執(zhí)法卷)及參考答案
- IQC檢驗(yàn)作業(yè)指導(dǎo)書
- 五屆全國智能制造應(yīng)用技術(shù)技能大賽數(shù)字孿生應(yīng)用技術(shù)員(智能制造控制技術(shù)方向)賽項(xiàng)實(shí)操樣題
- 第二章 聲現(xiàn)象 單元測(cè)試卷 2024-2025學(xué)年人教版物理八年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論