2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目: 基于51單片機(jī)的液晶滾動(dòng)顯示 </p><p>  學(xué) 院: 職業(yè)技術(shù)學(xué)院 </p><p>  

2、專(zhuān) 業(yè): 應(yīng)用電子技術(shù) </p><p><b>  目 錄</b></p><p><b>  摘要3</b></p><p><b>  1 引言3</b></p><p>  1.1

3、 基于單片機(jī)控制液晶顯示系統(tǒng)的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)3</p><p>  1.1.1 液晶模塊的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)3</p><p>  1.1.2 單片機(jī)的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)4</p><p>  1.2 基于單片機(jī)控制液晶顯示系統(tǒng)的設(shè)計(jì)任務(wù)5</p><p>  1.2.1 系統(tǒng)設(shè)計(jì)要求5</p&g

4、t;<p>  1.2.2 系統(tǒng)設(shè)計(jì)思路5</p><p>  2 基于單片機(jī)控制液晶顯示的硬件設(shè)計(jì)5</p><p>  2.1 單片機(jī)控制液晶顯示的系統(tǒng)框圖5</p><p>  2.2 基于單片機(jī)控制液晶顯示系統(tǒng)的主要硬件介紹5</p><p>  2.2.1 單片機(jī)AT89S515</p>

5、<p>  2.2.2 LCD12864液晶顯示模塊8</p><p>  2.2.3 ST7920控制器13</p><p>  2.3 基于單片機(jī)控制液晶顯示系統(tǒng)的硬件電路實(shí)現(xiàn)方法13</p><p>  2.3.1 單片機(jī)最小系統(tǒng)13</p><p>  2.3.2 液晶顯示電路14</p>

6、<p>  3 基于單片機(jī)的液晶顯示系統(tǒng)的軟件設(shè)計(jì)14</p><p>  3.1 基于單片機(jī)的液晶顯示系統(tǒng)軟件設(shè)計(jì)方案及框圖14</p><p>  3.2 基于單片機(jī)的液晶顯示系統(tǒng)應(yīng)用程序設(shè)計(jì)15</p><p>  3.2.1 主程序的設(shè)計(jì)15</p><p>  3.2.2 液晶控制程序16</

7、p><p>  3.2.3 初始化程序16</p><p>  3.2.4 顯示程序17</p><p><b>  4 總結(jié)17</b></p><p><b>  參考文獻(xiàn)18</b></p><p>  附錄一:系統(tǒng)原理圖19</p><

8、p>  附錄二:系統(tǒng)PCB圖20</p><p>  附錄三:系統(tǒng)實(shí)物圖21</p><p>  附錄四:系統(tǒng)源程序22</p><p>  基于51單片機(jī)的液晶滾動(dòng)顯示</p><p>  摘要:液晶滾動(dòng)顯示是以AT89S51單片機(jī)為核心單元,加上LCD12864液晶模塊構(gòu)成硬件電路。再加上系統(tǒng)的軟件設(shè)計(jì)部分,利用單片機(jī)編程使液

9、晶顯示所需文字,從而達(dá)到系統(tǒng)設(shè)計(jì)的任務(wù)要求。</p><p>  關(guān)鍵詞:LCD12864;單片機(jī);ST7920控制器</p><p><b>  1 引言</b></p><p>  在電子行業(yè)中,越來(lái)越多的產(chǎn)品開(kāi)始重視人機(jī)信息交換的輸入輸出設(shè)備。其中高像素液晶屏也越來(lái)越被廣泛的采用。手機(jī)、GPS、PDA等電子設(shè)備均已使用320*240或更

10、高像素的18位色屏幕。而目前大學(xué)生設(shè)計(jì)電子產(chǎn)品或畢業(yè)論文中常采用的顯示電路卻是LED數(shù)碼管,雖然LED顯示模塊結(jié)構(gòu)簡(jiǎn)單,使用也比較方便,價(jià)格也很低廉。但是LED顯示效果不夠美觀,不能顯示圖形和漢字等數(shù)據(jù)。液晶顯示則彌補(bǔ)了這個(gè)缺點(diǎn),因此液晶顯示模塊的應(yīng)用越來(lái)越廣泛。比如電子表、計(jì)算機(jī)、數(shù)碼相機(jī)、計(jì)算機(jī)的顯示器和液晶電視等。在現(xiàn)代的電子設(shè)計(jì)中,液晶顯示模塊應(yīng)用得越來(lái)越多。它是一種集成度比較高的顯示組件,它將液晶顯示器件、控制器、PCB電路板

11、、背光源和外部連接端口等組裝在一起,可以方便地用于需要液晶顯示的場(chǎng)合。它的英文名稱(chēng)一般為“LCD Module”,可以簡(jiǎn)稱(chēng)LCM。</p><p>  MCS-51單片機(jī)是美國(guó)INTE公司于1980年推出的產(chǎn)品,各高校及專(zhuān)業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。雖然目前51系列單片機(jī)已無(wú)法滿(mǎn)足目前某些功能或環(huán)境的要求,但是51系列的單片機(jī)仍然是最為成功的單片機(jī)芯片,它的影響力仍然延續(xù)到現(xiàn)在

12、,以致于被越來(lái)越多的人所熟悉。而從目前市場(chǎng)價(jià)格及普及程度等多方面因素考慮,決定采用AT89S52單片機(jī)作為顯示模塊的控制核心。</p><p>  1.1 基于單片機(jī)控制液晶顯示系統(tǒng)的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)</p><p>  1.1.1 液晶模塊的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)</p><p>  目前眾多電子類(lèi)產(chǎn)品用于顯示功能常用到數(shù)碼管LED與液晶LCD。雖然

13、數(shù)碼管LED的結(jié)構(gòu)簡(jiǎn)單、顯示方便,但是功能比較單一,已無(wú)法滿(mǎn)足科技進(jìn)步而產(chǎn)生的顯示要求。并且LED常用到動(dòng)態(tài)顯示,在復(fù)雜的系統(tǒng)中十分耗費(fèi)系統(tǒng)資源,已逐漸被淘汰。而在液晶顯示模塊中,最主要的就是LCD液晶屏。根據(jù)LCD液晶屏顯示內(nèi)容的不同,液晶顯示模塊可以分為數(shù)顯液晶模塊、點(diǎn)陣字符液晶模塊和點(diǎn)陣圖型液晶模塊3種。(1)數(shù)顯液晶模塊中的顯示部件是段型LCD液晶顯示器件。其中為了使用的方便,還集成了專(zhuān)用的控制器和其他集成電路,其只能顯示數(shù)字以

14、及一些標(biāo)識(shí)符號(hào)。(2)點(diǎn)陣字符液晶模塊的顯示部件是點(diǎn)陣字符液晶顯示器件,同樣,集成有專(zhuān)用的行、列驅(qū)動(dòng)器,控制器及必要的連接件、結(jié)構(gòu)件。這種液晶模塊可以顯示數(shù)字和西文字符,功能有所提高,但是不能顯示圖形[1]。 (3)點(diǎn)陣圖型液晶模塊的液晶顯示器件是由連續(xù)的點(diǎn)陣像素構(gòu)成的。因此不僅可以顯示字符,而且可以顯示連續(xù)、完整的圖形。常見(jiàn)的型號(hào)有LCD1602,LCD12232,LCD12864等。LCD1602可以在LCD顯示屏上完整顯示32個(gè)英

15、文字符和日文等一些字符,適合顯示英文文字信息量較小的地</p><p>  1.1.2 單片機(jī)的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài)</p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì): 低功耗CMOS化MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的

16、單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來(lái)越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。象80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑

17、。微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門(mén)狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的</p><p>  1.2 基于單片機(jī)控制液晶顯示系統(tǒng)的設(shè)計(jì)任務(wù)</p><p&

18、gt;  設(shè)計(jì)一款基于單片機(jī)AT89S51液晶滾動(dòng)顯示系統(tǒng)。</p><p>  1.2.1 系統(tǒng)設(shè)計(jì)要求</p><p> ?。?)通過(guò)單片機(jī)的控制使液晶進(jìn)行滾動(dòng)顯示學(xué)校。</p><p> ?。?)通過(guò)單片機(jī)的控制使液晶進(jìn)行滾動(dòng)顯示專(zhuān)業(yè)。</p><p> ?。?)通過(guò)單片機(jī)的控制使液晶進(jìn)行滾動(dòng)顯示姓名。</p><

19、p>  (4)通過(guò)單片機(jī)的控制使液晶進(jìn)行滾動(dòng)顯示學(xué)號(hào)。</p><p>  1.2.2 系統(tǒng)設(shè)計(jì)思路</p><p>  根據(jù)系統(tǒng)設(shè)計(jì)要求,初步思路如下:</p><p>  (1)通過(guò)單片機(jī)最小系統(tǒng)的控制使液晶進(jìn)行滾動(dòng)顯示。</p><p> ?。?)液晶模塊采用LCD12864。</p><p> ?。?)

20、系統(tǒng)采用并口連接方式。</p><p> ?。?)通過(guò)驅(qū)動(dòng)ST7920控制器使用其自帶字庫(kù)來(lái)提取所需文字。</p><p>  2 基于單片機(jī)控制液晶顯示的硬件設(shè)計(jì)</p><p>  2.1 單片機(jī)控制液晶顯示的系統(tǒng)框圖</p><p>  圖2-1 系統(tǒng)組成框圖</p><p>  單片機(jī)控制液晶顯示系統(tǒng)組成

21、框圖如圖2-1所示。根據(jù)設(shè)計(jì)要求與設(shè)計(jì)思路,確定整個(gè)系統(tǒng)由以下兩部分組成:?jiǎn)纹瑱C(jī)、液晶顯示模塊。</p><p>  2.2 基于單片機(jī)控制液晶顯示系統(tǒng)的主要硬件介紹</p><p>  系統(tǒng)硬件主要有單片機(jī)、LCD12864液晶模塊。以下主要來(lái)介紹系統(tǒng)所用到的幾塊主要芯片。</p><p>  2.2.1 單片機(jī)AT89S51</p><p

22、>  該電路主要用一塊AT89S51。</p><p>  AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功

23、能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。</p><p>  AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。 </p&g

24、t;<p>  此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p><b> ?。?)主要特性:</b&

25、gt;</p><p>  ? 8031 CPU與MCS-51 兼容</p><p>  ? 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))</p><p>  ? 全靜態(tài)工作:0Hz-24KHz</p><p>  ? 三級(jí)程序存儲(chǔ)器保密鎖定</p><p>  ? 128*8位內(nèi)部RAM</p&g

26、t;<p>  ? 32條可編程I/O線(xiàn)</p><p>  ? 兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ? 6個(gè)中斷源</b></p><p><b>  ? 可編程串行通道</b></p><p>  ? 低功耗的閑置和掉電模式</p><p>

27、;  ? 片內(nèi)振蕩器和時(shí)鐘電路</p><p> ?。?)引腳結(jié)構(gòu)及描述</p><p><b>  如圖2-2所示:</b></p><p>  圖2-2 AT89S51引腳圖</p><p><b>  VCC:供電電壓。</b></p><p><b>  

28、GND:接地。</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部

29、提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此

30、作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。[2]</p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可

31、接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的特殊功能口,其功能如表2-1所示:</p><p>  表2-1 單片機(jī)AT89S51P3口的特殊功能表  </p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p>

32、<p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí)

33、,將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>  PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p>&l

34、t;p>  EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  X

35、TAL2:來(lái)自反向振蕩器的輸出。</p><p>  AT89SXX系列單片機(jī)實(shí)現(xiàn)了ISP下載功能,故而取代了89CXX系列的下載方式,也是因?yàn)檫@樣,ATMEL公司已經(jīng)停止生產(chǎn)89CXX系列的單片機(jī)。</p><p>  2.2.2 LCD12864液晶顯示模塊</p><p>  液晶顯示模塊是128×64 點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖

36、形,內(nèi)置國(guó)標(biāo)GB2312 碼簡(jiǎn)體中文字庫(kù)(16X16 點(diǎn)陣)、128 個(gè)字符(8X16 點(diǎn)陣)及64X256 點(diǎn)陣顯示RAM(GDRAM)。可與CPU 直接接口,提供兩種界面來(lái)連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫(huà)面移位、睡眠模式等。</p><p><b> ?。?)引腳說(shuō)明</b></p><p>  圖2-3 LCD12864引

37、腳說(shuō)明圖</p><p> ?。?)主要技術(shù)參數(shù):(ST7920 及兼容芯片)</p><p>  顯示容量: 128X64 點(diǎn)陣點(diǎn)尺寸: 0.48X0.48(WXH)mm</p><p>  工作電壓: 4.8~5.2V 模塊最佳工作電壓: 5.0V</p><p>  工作電流: 4.0mA(5.0V) </p><p

38、>  背光源顏色: 白色(5.0V)</p><p>  背光源工作電流: <150.0mA 藍(lán)膜負(fù)顯 STN</p><p> ?。?)8位并行連接時(shí)序圖</p><p>  MPU寫(xiě)資料到模塊如圖2-4所示:</p><p>  圖2-4 MPU寫(xiě)資料到模塊時(shí)序圖</p><p>  MPU從模塊讀出

39、資料如圖2-5所示:</p><p>  圖2-5 MPU從模塊讀出資料時(shí)序圖</p><p> ?。?)具體指令介紹:</p><p>  清除顯示(指令代碼為01H)</p><p><b>  CODE:</b></p><p>  功能:清除顯示屏幕,把DDRAM 位址計(jì)數(shù)器調(diào)整為“00

40、H”</p><p><b>  位址歸位(02H)</b></p><p><b>  CODE:</b></p><p>  功能:把DDRAM 位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM</p><p>  點(diǎn)設(shè)定(07H/04H/05H/06H)</p>

41、<p><b>  CODE:</b></p><p>  功能:設(shè)定光標(biāo)移動(dòng)方向并指定整體顯示是否移動(dòng)。</p><p>  I/D=1 光標(biāo)右移,I/D=0 光標(biāo)左移。</p><p>  SH=1 且DDRAM 為寫(xiě)狀態(tài):整體顯示移動(dòng),方向由I/D 決定(I/D=1 左移,I/D=0 右移)</p><p&

42、gt;  SH=0 或DDRAM 為讀狀態(tài):整體顯示不移動(dòng)</p><p>  顯示狀態(tài)開(kāi)/關(guān)(08H/0CH/0EH/0FH)</p><p><b>  CODE:</b></p><p>  功能: D=1;整體顯示ON C=1;游標(biāo)ON B=1;游標(biāo)位置ON</p><p>  游標(biāo)或顯示移位控制(10H/14H

43、/18H/1CH)</p><p><b>  CODE:</b></p><p>  功能:10H/14H:光標(biāo)左/右移動(dòng);18H/1CH:整體顯示左右移動(dòng),光標(biāo)跟隨移動(dòng),AC 值不變</p><p>  功能設(shè)定(36H/30H/34H)</p><p><b>  CODE:</b></

44、p><p>  功能:DL=1(必須設(shè)為1) RE=1;擴(kuò)充指令集動(dòng)作 RE=0:基本指令集動(dòng)作</p><p>  設(shè)定CGRAM 位址(40H-7FH)</p><p><b>  CODE:</b></p><p>  功能:設(shè)定CGRAM 位址到位址計(jì)數(shù)器(AC)</p><p>  設(shè)定DD

45、RAM 位址(80H-9FH)</p><p><b>  CODE:</b></p><p>  功能:設(shè)定 DDRAM 位址到位址計(jì)數(shù)器(AC)</p><p>  讀取忙碌狀態(tài)(BF)和位址(BF=1, 狀態(tài)忙)</p><p><b>  CODE:</b></p><p

46、>  功能:讀取忙碌狀態(tài)(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器(AC)的值</p><p><b>  寫(xiě)資料到RAM</b></p><p><b>  CODE:</b></p><p>  功能:寫(xiě)入資料到內(nèi)部的 RAM(DDRAM/CGRAM/TRAM/GDRAM)</p>&

47、lt;p><b>  讀出RAM 的值</b></p><p><b>  CODE:</b></p><p>  功能:從內(nèi)部 RAM 讀取資料(DDRAM/CGRAM/TRAM/GDRAM)</p><p><b>  待命模式(01H)</b></p><p>&l

48、t;b>  CODE:</b></p><p>  功能:進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式</p><p>  卷動(dòng)位址或IRAM 位址選擇(02H/03H)</p><p><b>  CODE:</b></p><p>  功能:SR=1;允許輸入卷動(dòng)位址 SR=0;允許輸入IRAM 位址

49、</p><p>  反白選擇(04H\05H)</p><p><b>  CODE:</b></p><p>  功能:選擇一、三行同時(shí)作反白顯示,或者二、四行同時(shí)作反白顯示</p><p>  睡眠模式(08H/0CH)</p><p><b>  CODE:</b>&

50、lt;/p><p>  功能:SL=1;脫離睡眠模式 SL=0;進(jìn)入睡眠模式</p><p>  擴(kuò)充功能設(shè)定(36H/30H/34H)</p><p><b>  CODE:</b></p><p>  功能:RE=1;擴(kuò)充指令集動(dòng)作 RE=0;基本指令集動(dòng)作 G=1;繪圖顯示ON G=0;繪圖顯示OFF</p>

51、;<p>  設(shè)定IRAM 位址或卷動(dòng)位址(40H-7FH)</p><p><b>  CODE:</b></p><p>  功能:SR=1;AC5~AC0 為垂直卷動(dòng)位址 SR=0;AC3~AC0 寫(xiě)ICONRAM 位址</p><p>  設(shè)定繪圖RAM 位址(80H-FFH)</p><p>&l

52、t;b>  CODE:</b></p><p>  功能:設(shè)定 GDRAM 位址到位址計(jì)數(shù)器(AC)</p><p><b> ?。?)漢字顯示坐標(biāo)</b></p><p><b>  如圖2-6所示:</b></p><p>  圖2-6 漢字顯示坐標(biāo)圖</p>

53、<p>  2.2.3 ST7920控制器</p><p><b> ?。?)功能說(shuō)明</b></p><p>  顯示資料RAM(DDRAM)</p><p>  顯示資料 RAM 提供64×2 個(gè)位元組的空間,最多可以控制4 行16 字(64 個(gè)字)的中文字型顯示,當(dāng)寫(xiě)入顯示資料RAM 時(shí),可以分別顯示CGROM、HC

54、GROM 與CGRAM 的字型;ST7920A 可以顯示三種字型,分別是半寬的HCGROM 字型、CGRAM 字型及中文CGROM 字型,三種字型的選擇,由在DDRAM 中寫(xiě)入的編碼選擇,在0000H—0006H 的編碼中將自動(dòng)的結(jié)合下一個(gè)位元組,組成兩個(gè)位元組的編碼達(dá)成中文字型的編碼(A140—D75F),各種字型詳細(xì)編碼如下:</p><p>  顯示半寬字型:將 8 位元資料寫(xiě)入DDRAM 中,范圍為02H

55、—7FH 的編碼。</p><p>  顯示CGRAM 字型:將16 位元資料寫(xiě)入DDRAM 中,總共有0000H,0002H,0004H,0006H 四種編碼。</p><p>  顯示中文字形:將16 位元資料寫(xiě)入DDRAMK ,范圍為A1A1H—F7FEH 的編碼。[3]</p><p>  2.3 基于單片機(jī)控制液晶顯示系統(tǒng)的硬件電路實(shí)現(xiàn)方法</p&

56、gt;<p>  在本節(jié)將對(duì)于具體硬件電路的實(shí)現(xiàn)方法做進(jìn)一步的探討,根據(jù)系統(tǒng)設(shè)計(jì)要求與實(shí)現(xiàn)功能,把電路主要分為以下兩個(gè)部分:?jiǎn)纹瑱C(jī)最小系統(tǒng)以及液晶接下來(lái)對(duì)每個(gè)部分做詳細(xì)的說(shuō)明。</p><p>  2.3.1 單片機(jī)最小系統(tǒng)</p><p>  單片機(jī)最小系統(tǒng)原理圖電路如圖2-7所示,在原理圖中,C1、R2、R1、key1構(gòu)成復(fù)位電路,C2、C3、JZ1以及單片機(jī)芯片內(nèi)部的

57、時(shí)鐘電路構(gòu)成單片機(jī)最小系統(tǒng)的時(shí)鐘。</p><p>  圖2-7 單片機(jī)最小系統(tǒng)原理圖</p><p>  2.3.2 液晶顯示電路</p><p>  液晶顯示電路如圖2-8所示,J10所在的就是連接液晶模塊的引腳,通過(guò)7腳至14腳與單片機(jī)P0口的連接使液晶受單片機(jī)的控制,而4、5、6、15、17腳分別接至單片機(jī)的P3.7、P3.6、P3.5、P3.3、P3.

58、4腳。</p><p>  圖2-8 液晶顯示電路圖</p><p>  3 基于單片機(jī)的液晶顯示系統(tǒng)的軟件設(shè)計(jì) </p><p>  本系統(tǒng)采用C語(yǔ)言編程,以主程序調(diào)用各個(gè)子程序的方法進(jìn)行編程,這樣做不僅使程序閱讀起來(lái)清楚,而且調(diào)試、修改程序也方便。</p><p>  3.1 基于單片機(jī)的液晶顯示系統(tǒng)軟件設(shè)計(jì)方案及框圖</p&

59、gt;<p>  根據(jù)設(shè)計(jì)要求,首先要確定軟件設(shè)計(jì)方案,即確定該軟件應(yīng)該完成哪些功能。其次是通過(guò)各個(gè)子程序的調(diào)用完成所需程序如圖3-1所示:</p><p>  圖3-1 系統(tǒng)程序框圖</p><p>  該系統(tǒng)程序由主程序、延遲子程序、液晶控制程序、初始化程序、顯示程序5大塊構(gòu)成。通過(guò)主程序?qū)Ω鱾€(gè)子程序的調(diào)用來(lái)實(shí)現(xiàn)功能設(shè)計(jì)的要求。</p><p>

60、  3.2 基于單片機(jī)的液晶顯示系統(tǒng)應(yīng)用程序設(shè)計(jì)</p><p>  3.2.1 主程序的設(shè)計(jì)</p><p>  主程序的內(nèi)容包括:設(shè)置液晶工作方式、調(diào)用字庫(kù)、循環(huán)程序。主程序框圖如圖3-2所示:</p><p>  圖3-2 主程序框圖</p><p>  設(shè)定液晶工作方式就是調(diào)用了液晶初始化子程序,因?yàn)楸鞠到y(tǒng)所采用的液晶是帶有字庫(kù)

61、型的,所以可以直接用程序調(diào)用(參考附錄四的源程序)。</p><p>  3.2.2 液晶控制程序</p><p>  液晶控制程序也就是液晶的驅(qū)動(dòng)程序,這些程序?qū)τ谝壕э@示是必不可少的,液晶控制程序框圖如圖3-3所示:</p><p>  圖3-3 液晶控制程序框圖</p><p>  判忙碌程序是對(duì)液晶模塊內(nèi)部的忙標(biāo)志位(BF)的判斷

62、,也是執(zhí)行寫(xiě)命令程序和寫(xiě)數(shù)據(jù)程序的前提,當(dāng)模塊在接受指令前,微處理順必須先確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),即讀取BF 標(biāo)志時(shí)BF 需為0,方可接受新的指令;如果在送出一個(gè)指令前并不檢查BF 標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成。在確定模塊內(nèi)部是處于非忙碌狀態(tài)后,執(zhí)行寫(xiě)命令程序和寫(xiě)數(shù)據(jù)程序。</p><p>  3.2.3 初始化程序</p><

63、;p>  初始化程序其實(shí)是針對(duì)液晶模塊的初始化,是對(duì)一些具體指令的設(shè)定。初始化程序框圖如3-4所示:</p><p>  圖3-4 初始化程序框圖</p><p>  復(fù)位RST=1;通訊方式為并口PSB = 1;34H--擴(kuò)充指令操作;功能設(shè)置,一次送8位數(shù)據(jù),基本指令集;0000,1100 整體顯示,游標(biāo)off,游標(biāo)位置off;0000,0001 清DDRAM;0000,001

64、0 DDRAM地址歸位;1000,0000 設(shè)定DDRAM 7位地址000,0000到地址計(jì)數(shù)器AC。</p><p>  3.2.4 顯示程序</p><p>  顯示程序包括了設(shè)置顯示位置程序、漢字顯示程序、寫(xiě)字符串子程序(詳細(xì)程序請(qǐng)參考附錄四)。以下是顯示程序的程序框圖如圖3-5所示:</p><p>  圖3-5 顯示程序框圖</p>&l

65、t;p>  通過(guò)對(duì)顯示位置的設(shè)定以及在指定位置顯示的設(shè)置,能夠?qū)ο胍@示的內(nèi)容給予正確的位置及正確的顯示方式。</p><p><b>  4 總結(jié)</b></p><p>  最后談一下對(duì)畢業(yè)設(shè)計(jì)的一個(gè)總結(jié)和自己的感想:</p><p>  這次畢業(yè)設(shè)計(jì)是自己動(dòng)手制作并且編程,對(duì)于提高自己的動(dòng)手能力和編程水平有比較大的幫助。通過(guò)這次的

66、課程設(shè)計(jì),對(duì)于單片機(jī)的具體運(yùn)用有了一定的了解,使以前學(xué)過(guò)的理論知識(shí)能和具體遇到的問(wèn)題結(jié)合起來(lái),使自己的知識(shí)結(jié)構(gòu)更加豐富,不但有了理性的認(rèn)知,同時(shí)感性上也有一定的認(rèn)識(shí)。由于我之前的單片機(jī)學(xué)的不是扎實(shí),很多具體的編程問(wèn)題都不知道怎么解決,在這次的畢業(yè)設(shè)計(jì)中,有些問(wèn)題我還是自己解決不了,比如涉及到整體滾動(dòng)卷頁(yè)這一塊,相對(duì)與整個(gè)系統(tǒng)來(lái)說(shuō)是比較難的,為此我查閱了很多單片機(jī)方面的參考文獻(xiàn),并進(jìn)行了總結(jié),使自己收益頗多。在進(jìn)行作品的最后調(diào)試的時(shí)候,特

67、別是在軟件調(diào)試當(dāng)中,總是會(huì)出現(xiàn)一些的問(wèn)題,造成不小的困擾。 但并沒(méi)有導(dǎo)致我放棄,只要調(diào)出一點(diǎn)也會(huì)有一種成就感和滿(mǎn)足感,我相信只有通過(guò)自己的雙手做出來(lái)的作品,不管成功與否都會(huì)對(duì)我以后的道路上給予很大的幫助,我想這才是最重要成果。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 趙建領(lǐng)著. 51系列單片機(jī)開(kāi)發(fā)寶典[M].電子工業(yè)出版社,2007:

68、387~413.</p><p>  [2] 何橋、段清明、邱春玲等.單片機(jī)原理與應(yīng)用[M].電子工業(yè)出版社,2008:18~28. </p><p>  [3] 矽創(chuàng)電子. ST7920中文字型點(diǎn)矩陣LCD控制/驅(qū)動(dòng)器應(yīng)用說(shuō)明.</p><p>  [4] Digital Fundamentals(Ninth Edition).數(shù)字電子技術(shù)(第九版)[M].<

69、;/p><p>  [5] Brian W.Kernighan, Dennis M.Ritchie 著.徐寶文,李志譯.The C Programming Language (Second Edition),C程序設(shè)計(jì)語(yǔ)言(第二版)[M]. 機(jī)械工業(yè)出版社,2008:45~53.</p><p>  [6] SMG12864G2-ZK,ST7920c20驅(qū)動(dòng)器技術(shù)資料.</p>

70、<p>  [7] 李華.MCS-51系列單片機(jī)使用接口技術(shù)[M].北京航空航天大學(xué)出版社,1993.</p><p>  [8] 吳金戌、沈慶陽(yáng)、郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用[M].清華大學(xué)出版社,2002:55-68.</p><p>  [9] 謝自美.電子線(xiàn)路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第二版)[M].華中科技大學(xué)出版社.2000:232-239.</

71、p><p>  [10] 何小艇.電子系統(tǒng)設(shè)計(jì)(第三版)[M].浙江大學(xué)出版社.2004:310. </p><p><b>  附錄一:系統(tǒng)原理圖</b></p><p>  附錄二:系統(tǒng)PCB圖</p><p><b>  附錄三:系統(tǒng)實(shí)物圖</b></p><p><

72、b>  附錄四:系統(tǒng)源程序</b></p><p>  #include <AT89X51.h></p><p>  #include <intrins.h> </p><p>  #include<math.h> </p><p>  #define uchar unsigne

73、d char</p><p>  #define uint unsigned int</p><p>  #define Set_Bit(BIT) (BIT = 1) /*定義置1函數(shù)*/</p><p>  #define Clear_Bit(BIT) (BIT = 0) /*定義清0函數(shù)*/</p><p&

74、gt;  #define lcd_8 P0</p><p>  sbit ret=P3^4;</p><p>  sbit psb=P3^3;</p><p>  sbit en=P3^5;</p><p>  sbit rw=P3^6;</p><p>  sbit rs=P3^7;</p><p

75、>  /************************************************/</p><p>  void delay(uint z) //延時(shí)子程序</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>

76、  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  /***************12864液晶控制程序********************/</p><p>  /*void check_busy

77、(void) //查忙信號(hào)</p><p><b>  {</b></p><p><b>  P2=0x80;</b></p><p><b>  rs=1;</b></p><p><b>  rw=0;</b></p><p&g

78、t;<b>  en=1;</b></p><p>  while (!(P2&0x80 ) == 0);</p><p><b>  en=0;</b></p><p><b>  } */</b></p><p>  void write_com (uchar c

79、om) //寫(xiě)指令</p><p><b>  {</b></p><p>  // check_busy();</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>

80、;  rs=0;</b></p><p><b>  rw=0;</b></p><p><b>  en=1;</b></p><p>  lcd_8=com;</p><p><b>  delay(5);</b></p><p><

81、;b>  en=0;</b></p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  void write_data (uchar dat) //寫(xiě)數(shù)據(jù)</p><p><b>  {</b>&l

82、t;/p><p>  //check_busy();</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  rs=1;</b></p><p><b>  rw=0;

83、</b></p><p><b>  en=1;</b></p><p>  lcd_8=dat;</p><p><b>  delay(5);</b></p><p><b>  en=0;</b></p><p><b>  

84、delay(5);</b></p><p><b>  }</b></p><p>  void write_hanzi(uchar code *s) //hanzi xian shi</p><p><b>  {</b></p><p>  while(*s>0)</p

85、><p>  { write_data(*s);</p><p><b>  s++;</b></p><p>  delay(50);</p><p><b>  }</b></p><p><b>  }</b></p><p>

86、;  void write_position(uchar row,uchar col) //寫(xiě)位置</p><p><b>  {</b></p><p><b>  uchar p;</b></p><p>  switch(row)</p><p><b>  {</b>

87、</p><p>  case 1:p=0x80+col-1;break; //第一行</p><p>  case 2:p=0x90+col-1;break; //第二行</p><p>  case 3:p=0x88+col-1;break;// 第三行</p><p>  case 4:p=0x98+col-1;break; //第四行

88、</p><p>  default:p=0x80;break; //回到首行</p><p><b>  }</b></p><p>  write_com(p); //寫(xiě)地址命令</p><p><b>  }</b></p><p>  /********

89、**********一般初始化**********************/</p><p>  void init() //初始化</p><p><b>  {</b></p><p>  delay(20);</p><p>  ret=0; //復(fù)位鍵</p>

90、<p><b>  delay(4);</b></p><p><b>  ret=1;</b></p><p>  psb=1; //并行連接</p><p><b>  en=0;</b></p><p>  write_com(0x30);

91、//功能設(shè)定</p><p><b>  delay(2);</b></p><p>  write_com(0x30);</p><p><b>  delay(1);</b></p><p>  write_com(0x0c);//顯示狀態(tài)</p><p><b&g

92、t;  delay(1);</b></p><p>  write_com(0x01);//清除顯示</p><p><b>  delay(1);</b></p><p>  write_com(0x06);//地址歸位</p><p>  // clrgdram();</p><p&g

93、t;<b>  }</b></p><p>  void gun_y()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=0x41;i<0x81;i++)</p><p>

94、;  {write_com(i);</p><p>  delay(600);</p><p><b>  i=i+3;</b></p><p><b>  }</b></p><p>  write_com(0x40);</p><p><b>  }</b

95、></p><p>  void main()</p><p><b>  {</b></p><p>  //Init_Device();</p><p><b>  init();</b></p><p><b>  while(1)</b>&

96、lt;/p><p>  { write_position(1,1); </p><p>  write_hanzi("職業(yè)技術(shù)學(xué)院");</p><p>  write_position(2,1);</p><p>  write_hanzi("應(yīng)用電子技術(shù)");</p><p>

97、;  write_position(3,1);</p><p>  write_hanzi("杜錚威");</p><p>  write_position(4,1);</p><p>  write_hanzi("07560119");</p><p><b>  delay(1);<

98、/b></p><p>  write_com(0x34); //擴(kuò)展指令</p><p><b>  delay(1);</b></p><p>  write_com(0x05); //反白</p><p>  write_com(0x03);</p><p>  delay(1);

99、 ////////////////////</p><p>  gun_y(); //向上卷動(dòng)</p><p>  //write_com(0x06);</p><p>  delay(2000);</p><p><b>  }</b></p><p><b>  }

100、</b></p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)過(guò)程管理材料</p><p><b>  目 錄</b></p><p>  1 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū) ……………………………27</p><p>  2 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告 ………………

101、…………29</p><p>  3 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)指導(dǎo)記錄 …………………………34</p><p>  4 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)中期檢查表 ………………………36</p><p>  5 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)答辯資格審查表 …………………37</p><p>  6 浙江師范大

102、學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)答辯記錄 …………………………38</p><p>  7 浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)評(píng)審表 ……………………………40</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文

103、)指導(dǎo)記錄</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)中期檢查表</p><p>  檢查日期: 2009 年 11 月 15 日</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)設(shè)計(jì)(論文)答辯資格審查表</p><p>  畢業(yè)設(shè)計(jì)(論文)答辯記錄</p><p>  浙江師范大學(xué)高職專(zhuān)科畢業(yè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論