單片機(jī)課程設(shè)計(jì)報(bào)告--LCD1602字符液晶滾動(dòng)演示程序_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告--LCD1602字符液晶滾動(dòng)演示程序_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告--LCD1602字符液晶滾動(dòng)演示程序_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告--LCD1602字符液晶滾動(dòng)演示程序_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告--LCD1602字符液晶滾動(dòng)演示程序_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)原理與應(yīng)用綜合實(shí)驗(yàn)報(bào)告lcd1602字符液晶滾動(dòng)演示程序?qū)I(yè)班級(jí): 姓名: 學(xué) 號(hào): 時(shí) 間: 指導(dǎo)教師: 2012年 05月 23日 lcd1602字符液晶滾動(dòng)演示程序摘要:本設(shè)計(jì)以單片機(jī)作為lcd液晶顯示系統(tǒng)控制器為主線,基于單片機(jī)89c51,采用的液晶顯示器是lcd1602,主要用來顯示字母、數(shù)字、符號(hào),滾屏、左右移動(dòng)以及實(shí)時(shí)控制功能。同時(shí)也對(duì)部分芯片和外圍電路進(jìn)行了介紹和設(shè)計(jì),并附以系統(tǒng)結(jié)構(gòu)框圖加以說明,著重介紹了本系統(tǒng)應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能及工作過程。本設(shè)計(jì)還介紹了顯示原理、硬件電路和軟件部分的設(shè)計(jì)原理。關(guān)鍵詞:1602液晶顯示器 89c51單片機(jī) 并行通信1

2、 引言:液晶顯示器(lcd)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無法相比的優(yōu)點(diǎn)。近幾年來被廣泛用于單片機(jī)控制的智能儀器、儀表和低功耗電子產(chǎn)品中。液晶顯示器分為字符型lcd顯示模塊和點(diǎn)陣型lcd顯示模塊。字符型lcd是一種用5×7點(diǎn)陣圖形來顯示字符的液晶顯示器。點(diǎn)陣型液晶可顯示用戶自定義的任意符號(hào)和圖形,并可卷動(dòng)顯示,它作為便攜式單片機(jī)系統(tǒng)人機(jī)交互界面的重要組成部分被廣泛應(yīng)用于實(shí)時(shí)檢測(cè)和顯示的儀器儀表中。支持漢字顯示的點(diǎn)陣型液晶在現(xiàn)代單片機(jī)應(yīng)用系統(tǒng)中是一種十分常用的顯示設(shè)備,漢字bp機(jī)、手機(jī)上的顯示屏就是點(diǎn)陣型lcd。點(diǎn)陣型lcd是現(xiàn)代單片機(jī)應(yīng)用系統(tǒng)中最常用的人機(jī)交互界面之

3、利用單片機(jī)控制液晶顯示系統(tǒng)的原理,完成單片機(jī)液晶顯示系統(tǒng)的設(shè)計(jì),我希望能夠觸類旁通,靈活應(yīng)用其他型號(hào)的液晶顯示控制器。將來如果有機(jī)會(huì)從事這方面的工作,要運(yùn)用的液晶顯示控制器不一定是ks0108,但這次畢業(yè)設(shè)計(jì)中學(xué)到的東西為此打下了良好的基礎(chǔ),相信自己能做好這方面的工作。2 總體設(shè)計(jì)方案2.1 設(shè)計(jì)思路2.1.1 本設(shè)計(jì)主要是通過控制89c51單片同的引腳來控制lcd1602顯示給定的符號(hào)、字母、數(shù)字,以及控制顯示內(nèi)容的垂直移動(dòng)和水平移動(dòng)。由于lcd1602的字符有相應(yīng)的字符代碼,不用編寫字庫,因此在設(shè)計(jì)時(shí)對(duì)方案的選擇就只考慮單片機(jī)與顯示器的數(shù)據(jù)傳送類型,即串行通信和并行通信。(1)方案確立:方

4、案一:串行通信串行通信是反映一個(gè)數(shù)據(jù)的所有位按一定的順序和方式,一位一位地通過串行輸入/輸出口進(jìn)行傳送。由于串行通信是數(shù)據(jù)的逐位順序傳送,在進(jìn)行通信時(shí),只需一根傳輸線,其傳送的數(shù)據(jù)位多且通信距離長。串行通信方式如圖1所示。方案二:并行通信采用并行傳送方式在微機(jī)與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳送的接口叫并行接口。主要特點(diǎn):一是同時(shí)并行傳送的二進(jìn)位數(shù)就是數(shù)據(jù)寬度;二是在計(jì)算機(jī)與外設(shè)間采用應(yīng)答式的聯(lián)絡(luò)信號(hào)來協(xié)調(diào)雙方的數(shù)據(jù)操作。傳送的數(shù)據(jù)位1-128位,一般為8位。單片機(jī)與外部設(shè)備之間也通常采用8位并行i/o接口進(jìn)行短距離的通信其傳輸距離近,傳送方式單一,每次傳送一個(gè)字或一個(gè)字節(jié)。并行通信方式如圖2所示。 p

5、0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 gndd0d1d2d3d4d5d6d7gndgn rxdtxd 89c51gnd rxd txd 89c51 gnd 圖1 串行通信方式 圖2 并行通信方式由于本設(shè)計(jì)的傳輸距離不遠(yuǎn),所用i/o口不多,所以方案二既可滿足課程設(shè)計(jì)的基本要求又能充分發(fā)揮其優(yōu)勢(shì),電路簡(jiǎn)單,易控制,所以采用該方案。2.2 設(shè)計(jì)方框圖 主控制芯片 89c51晶振電路lcd1602顯示器復(fù)位電路控制開關(guān) 圖3 系統(tǒng)總體方框圖3 設(shè)計(jì)原理分析本設(shè)計(jì)主要是通過控制89c51單片同的引腳來控制lcd1602顯示給定的符號(hào)、字母、數(shù)字,以及控制顯示內(nèi)容的

6、垂直移動(dòng)和水平移動(dòng)。在控制lcd1602過程中主要是通過lcd1602顯示模指令和單片機(jī)的中斷嵌套來實(shí)現(xiàn)的。由于在編程時(shí)最主要的就是使用lcd1602顯示模指令來實(shí)現(xiàn)寫指令和寫數(shù)據(jù)功能,所以下面我給出其顯示模指令集、寫操作時(shí)序及ram地址映射。lcd1602顯示模指令集:(1)清屏功能:清ddrom值和ac值(2)歸位功能:光標(biāo)復(fù)位,光標(biāo)返回到地址00h(3)輸入方式設(shè)置功能:設(shè)置光標(biāo),畫面移動(dòng)方式。其中:i/d=1:數(shù)據(jù)讀寫操作后,ac 自加一;i/d=0:數(shù)據(jù)讀寫操作后,ac 自減一;s=1:數(shù)據(jù)讀寫操作,畫面平移;s=0:數(shù)據(jù)讀寫操作,畫面不動(dòng);(4)顯示開關(guān)控制功能:設(shè)置顯示、光標(biāo)和閃

7、爍開關(guān)。其中:d 表示顯示開關(guān),d=1 為開,d=0 為關(guān);c 表示光標(biāo)開關(guān),c=1 為開,c=0 為關(guān);b 表示閃爍開關(guān),b=1 為開,b=0 為關(guān)。(5)光標(biāo)、畫面位移功能:光標(biāo)、畫面移動(dòng)。其中:s/c=1 畫面移動(dòng)一個(gè)字符位;s/c=0 光標(biāo)移動(dòng)一個(gè)字符位;r/l=1:右移;r/l=0 左移。(6)功能設(shè)置功能:工作方式設(shè)置(初始化指令)。其中:dl=1,8 位數(shù)據(jù)接口;dl=0,4 位數(shù)據(jù)接口;n=1,兩行顯示;n=0,一行顯示;f=1,5*10 點(diǎn)陣顯示;f=0,5*7 點(diǎn)陣顯示。(7)cgram 地址設(shè)置功能:設(shè)置cgram 地址,a5a0=03fh。(8)ddram 地址設(shè)置功能

8、:設(shè)置ddram 地址。其中:n=0,一行顯示a6a0=04fh;n=1 兩行顯示,首行a6a0=02fh,次行a6a0=4067h。(9)讀bf 及ac 值功能:讀忙bf 和地址計(jì)數(shù)器ac 的值。其中:bf=1:忙,bf=0:準(zhǔn)備好。此時(shí)ac 值意義為最近一次地址設(shè)置(cgram 或ddram)定義。(10)寫數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫入cgram 或ddram 中。(11)讀數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),從cgram 或ddram 數(shù)據(jù)讀出。圖4 寫操作時(shí)序圖5 ram地址映射3.1 時(shí)鐘電路的設(shè)計(jì)在引腳xtal1和xtal2外接晶體振蕩器或陶瓷諧振振蕩器,構(gòu)成了內(nèi)部振蕩

9、方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自積振蕩,并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用12mhz或11.0592mhz,如圖4所示。振蕩周期:晶振的振蕩周期,又稱時(shí)鐘周期,為最小的時(shí)序單位。狀態(tài)周期:振蕩頻率經(jīng)單片機(jī)內(nèi)的二分頻器分頻后提供給片內(nèi)cpu的時(shí)鐘周期。因此一個(gè)狀態(tài)周期包含2個(gè)振蕩周期。機(jī)器周期:1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期12個(gè)振蕩周期組成,是計(jì)算機(jī)執(zhí)行一種基本操作的時(shí)間單位。指令周期:執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由1-4個(gè)機(jī)器周期組成,依據(jù)指令不同而不同。圖4 晶振3.2 控制電路的設(shè)計(jì)如圖5所示,按鍵k3、k2、k1分別接單片機(jī)的p3.2、p3.3、p

10、3.4。按鍵k3為暫停/繼續(xù)按鈕,按鍵k2為自動(dòng)垂直滾動(dòng)按鈕,k1為自動(dòng)水平滾動(dòng)按鈕。圖5 控制電路4 結(jié)束語為期一周的課程設(shè)計(jì)已經(jīng)結(jié)束,在這幾天的學(xué)習(xí)、設(shè)計(jì)、及電路搭建過程中我感觸頗深,使我對(duì)抽象的理論有了具體的認(rèn)識(shí)。通過對(duì)函數(shù)信號(hào)發(fā)生器的設(shè)計(jì),熟悉了常用的儀器儀表,并且檢驗(yàn)了大學(xué)三年的學(xué)習(xí)成果,進(jìn)一步加深了我對(duì)專業(yè)知識(shí)的了解和認(rèn)識(shí)以及動(dòng)手的能力。雖然在這次設(shè)計(jì)中對(duì)于所學(xué)知識(shí)的運(yùn)用和銜接還不夠熟練,作品完成的還不是很出色。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力,不斷完善。參考文獻(xiàn)1 林立.單片機(jī)原理用應(yīng)用基于proteus和keilc .北京:電子工業(yè)出版社,20092 閻石.數(shù)字電子技術(shù)基礎(chǔ)

11、(第三版). 北京:高等教育出版社,19893 李繼凱.現(xiàn)代電子技術(shù)工程設(shè)計(jì)與實(shí)踐 北京:化學(xué)工業(yè)出版社,2010附錄#include<reg51.h>#define uchar unsigned char /宏定義#define uint unsigned int /宏定義uchar code table="i like dang pian ji! " uchar code table1="yang hao sheng dian zi 10-2 ban 32" uchar code table2=" tong zhi "

12、 uchar code table3="1. dian zi zhuan" uchar code table4="2. ye kao shi yu" uchar code table5="3. shi liu zhou " uchar code table6="4. xing qi yi yu" uchar code table7="5. 2a703jingxing" uchar code table8=" huan ying " sbit lcden=p22;sbit lc

13、drs=p20;sbit k3=p32;uchar num,time; /定義兩個(gè)全局變量void delay(uint z) /延時(shí)函數(shù)uchar x,y;for(x=z;x>0;x-) for(y=100;y>0;y-);void write_com(uchar com) /寫指令函數(shù)lcdrs=0;p0=com;delay(50);lcden=1;delay(50);lcden=0;void write_date(uchar date) /寫數(shù)據(jù)函數(shù)lcdrs=1;p0=date;delay(1);lcden=1;delay(1);lcden=0;void init() /初

14、始化函數(shù)lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x80);write_com(0x01);void int0()interrupt 0 /外部中斷0,實(shí)現(xiàn)暫停 ea=0; delay(10);if(k3) while(k3);else ea=1; void int1()interrupt 2 /外部中斷1,實(shí)現(xiàn)垂直移動(dòng) for(time=3;time>0;time-) /內(nèi)容垂直移動(dòng)三次 init();write_com(0x80); /從第一行開頭開始寫入數(shù)據(jù)for(num=0;num<

15、20;num+) write_date(table2num);delay(20); write_com(0x80+0x40); /從第二行開頭開始寫入數(shù)據(jù) for(num=0;num<34;num+) write_date(table3num);delay(20); write_com(0x01);/清屏 write_com(0x80);/將第二行的上移到第一行for(num=0;num<20;num+) write_date(table3num); delay(20); write_com(0x80+0x40); /在第二行開頭寫入新內(nèi)容,以下依此類推 for(num=0;num

16、<34;num+) write_date(table4num);delay(20); write_com(0x01); write_com(0x80); for(num=0;num<20;num+) write_date(table4num);delay(20); write_com(0x80+0x40); for(num=0;num<34;num+) write_date(table5num);delay(20); write_com(0x01); write_com(0x80);for(num=0;num<20;num+) write_date(table5num)

17、;delay(20); write_com(0x80+0x40); for(num=0;num<34;num+) write_date(table6num);delay(20); void kt0()interrupt 1 /定時(shí)/計(jì)數(shù)器中斷擴(kuò)展為外部中斷,實(shí)現(xiàn)水平移動(dòng) for(time=3;time>0;time-) /內(nèi)容水平移動(dòng)三次 init(); write_com(0x80+0x06); /在第一行指定位置寫入數(shù)據(jù) for(num=0;num<34;num+) write_date(tablenum); delay(0); write_com(0x80+0x46); /在第三行指定位置寫入數(shù)據(jù) for(num=0;num<34;num+) write_date(table1num); delay(0); for(num=0;num<40;num+) /整屏移

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論