欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9915|回復(fù): 2
收起左側(cè)

LCD電子廣告牌課程設(shè)計(jì)論文

[復(fù)制鏈接]
ID:161768 發(fā)表于 2017-7-28 03:10 | 顯示全部樓層 |閱讀模式
安徽工程大學(xué)機(jī)電學(xué)院
課程設(shè)計(jì)說明書
課程設(shè)計(jì)名稱:電子技術(shù)課程設(shè)計(jì)
課程設(shè)計(jì)題目:LCD廣告牌
指 導(dǎo) 教 師:龍*燕
專 業(yè) 班 級:自動化2132
學(xué) 生 姓 名:王*鳴
學(xué)       號:313107010234
起 止 日 期:7.13--7.24
總 評 成 績:
課程任務(wù)書
一、設(shè)計(jì)題目:LCD電子廣告牌設(shè)計(jì)
二、設(shè)計(jì)任務(wù):
1. 設(shè)計(jì)一款能夠動態(tài)顯示不同字符的LCD電子廣告牌;
2. 查閱資料,理解LCD顯示原理;
3. 循環(huán)顯示4個(gè)字符串:在第1行顯示一字符串,5s后,第2行顯 ,示另外一字符串,再過5s后,第1行顯示其他字符串,再過5s后,第2行顯示另外一字符串(要求一個(gè)字符一個(gè)字符地顯示)。
  電子廣告牌是在單片機(jī)廣泛應(yīng)用下的產(chǎn)物,電子廣告牌被廣泛應(yīng)用于公交汽車、商店、體育場車站學(xué)校銀行高速公路等公共場所信息的發(fā)布和廣告的宣傳。所以在這里我們設(shè)計(jì)一種造價(jià)低廉、使用方便、可以發(fā)光并且比較耐用的電子廣告牌。
  本文圍繞設(shè)計(jì)以單片機(jī)作為LCD1602液晶顯示系統(tǒng)控制器為主線,基于單片機(jī)AT89C51,包括時(shí)鐘電路和復(fù)位電路,采用的液晶顯示控制器的芯片是LM016L。其結(jié)構(gòu)主要由時(shí)鐘電路、復(fù)位電路、單片機(jī)AT89C51和LCD液晶顯示屏組成。主要實(shí)現(xiàn)循環(huán)顯示4個(gè)字符串,在第1行顯示一字符串,5s后,第2行顯示另外一字符串,再過5s后,第1行顯示其他字符串,再過5s后,第2行顯示另外一字符串(要求一個(gè)字符一個(gè)字符地顯示)的功能。同時(shí)也對部分芯片和外圍電路進(jìn)行介紹和設(shè)計(jì),并附以系統(tǒng)結(jié)構(gòu)框圖加以說明。
本系統(tǒng)是以單片機(jī)的匯編語言來進(jìn)行軟件設(shè)計(jì)的,指令的執(zhí)行速度快,節(jié)省存儲空間。為了便于擴(kuò)張和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡潔明了。使硬件電路在軟件的控制下協(xié)調(diào)運(yùn)作。其次闡述了部分程序的流程圖和實(shí)現(xiàn)過程。本文撰寫的主導(dǎo)思想是軟硬件相結(jié)合的方法,以硬件為基礎(chǔ),來進(jìn)行各個(gè)功能模塊編寫。最后闡述運(yùn)用protues軟件實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)與仿真,最后仿真調(diào)試出我們想要的結(jié)果。

摘要....................................................................................................................
第1章 概述.....................................................................................................
  1.1 課程設(shè)計(jì)簡介.........................................................................................
  1.2 系統(tǒng)方案論證與設(shè)計(jì).............................................................................
第2章 系統(tǒng)硬件設(shè)計(jì)......................................................................................
  2.1 系統(tǒng)總電路的設(shè)計(jì).................................................................................
     2.1.1 系統(tǒng)的總框圖................................................................................
     2.1.2 芯片的選擇....................................................................................
     2.1.3 LCD顯示電路................................................................................
  2.2 最小系統(tǒng)設(shè)計(jì).........................................................................................
     2.2.1 時(shí)鐘電路的選擇與設(shè)計(jì)................................................................
     2.2.2 復(fù)位電路的選擇與設(shè)計(jì)................................................................
     2.2.3 電源電路的選擇與設(shè)計(jì)................................................................
第3章 系統(tǒng)軟件設(shè)計(jì)......................................................................................
  3.1 設(shè)計(jì)方案及原理.....................................................................................
  3.2 系統(tǒng)軟件流程圖.....................................................................................
  3.3子程序的介紹..........................................................................................
     3.3.1 初始化............................................................................................
     3.3.2 顯示程序........................................................................................
     3.3.3 延時(shí)程序........................................................................................
第4章 軟件仿真..............................................................................................
  4.1 keil軟件介紹...........................................................................................
  4.2 proteus軟件介紹.....................................................................................
  4.3 仿真電路圖.............................................................................................
  4.4 仿真結(jié)果與分析.....................................................................................
小結(jié)...................................................................................................................
參考文獻(xiàn)............................................................................................................
附錄A 電路圖...................................................................................................
附錄B 程序.......................................................................................................
  •   概述
1.1課程設(shè)計(jì)簡介
  亮麗實(shí)用的廣告牌可以給我們的生活添加光彩、可以給店鋪招攬生意。傳統(tǒng)的廣告牌都是固定的漢字,并且時(shí)間長了會掉色,使?jié)h字模糊難認(rèn),這就給我的生活帶來很多的不便。尤其到了晚上傳統(tǒng)廣告牌就會失去其該有的作用。所以在這里我們需要一種造價(jià)低廉、使用方便、可以發(fā)光并且比較耐用的電子廣告牌。本文主要介紹LCD文字循環(huán)顯示的基本原理以及制作流程來解決以往的傳統(tǒng)廣告牌并且做到節(jié)約資源來達(dá)到比以往達(dá)到更好的效果。本課題設(shè)計(jì)了一種以AT59C51單片機(jī)為核心的低成本、高精度、微型化LCD文字循環(huán)顯示系統(tǒng)。
主要實(shí)現(xiàn)循環(huán)顯示4個(gè)字符串,在第1行顯示一字符串,5s后,第2行顯示另外一字符串,再過5s后,第1行顯示其他字符串,再過5s后,第2行顯示另外一字符串(要求一個(gè)字符一個(gè)字符地顯示)的功能。
1.2 系統(tǒng)方案論證與設(shè)計(jì)
  方案一、基于單片機(jī)的LED顯示廣告牌
  LED顯示屏是由發(fā)光二極管排列組成的。它采用低電壓掃描驅(qū)動,具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。可以顯示各種文字、數(shù)字、圖像及動畫等信息。
  方案二、基于單片機(jī)的LCD顯示廣告牌
  隨著集成電路在為微小型化、低功耗和高可靠性方面的發(fā)展,使得它們具有占用面積小、價(jià)格低廉、易于購買、零輻射、低耗能、散熱小、輕薄纖巧、精確還原圖像、顯示字符銳利、屏幕調(diào)節(jié)方便等諸多優(yōu)點(diǎn)。
  在設(shè)計(jì)的過程中,方案的選擇必須與實(shí)際相聯(lián)系,要從各個(gè)方面考慮設(shè)計(jì)的可行性,不僅要考慮其先進(jìn)性也要考慮其現(xiàn)實(shí)性和實(shí)用性,要從多個(gè)方面綜合尋求最佳方案。在方案一中利用LED點(diǎn)陣顯示的方式能夠?qū)崿F(xiàn)廣告牌顯示的目的,但電路相比方案二相對復(fù)雜,而且控制起來還需要掌握其他一些附加的芯片。
  在方案二中,所用技術(shù)相對先進(jìn),而且硬件電路相對簡單可靠,不需要附加其他的芯片,故利用方案一更為合理,故暫不采用方案一。
第2章 系統(tǒng)硬件設(shè)計(jì)
2.1 系統(tǒng)總電路的設(shè)計(jì)
2.1.1 系統(tǒng)的總框圖

圖2.1系統(tǒng)總框圖(詳見附件)
  圖2.1是LCD的電子廣告牌的系統(tǒng)總框圖,它的基本組成由核心芯片AT89C51,最小系統(tǒng)以及LCD1602顯示屏。
2.1.2 芯片的選擇
1、AT89C51介紹
  AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī)。片內(nèi)4kbytes的可反復(fù)擦寫的只讀存儲器(PEROM)和128bytes的隨機(jī)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)
和Flash存儲單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各個(gè)控制領(lǐng)域。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系提供了一種靈活性高且價(jià)廉的方案。

1.008.jpg
圖2.2  AT89C51引腳圖
  AT89C51具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位IO口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,3個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C51可降至0HZ靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
  引腳功能介紹
  VCC:供電電壓
  GND:接地
  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向IO口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。
  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
  P3口也可作為AT89C51的一些特殊功能口,如下所示:
  P3.0 RXD(串行輸入口)
  P3.1 TXD(串行輸出口)
  P3.2 /INT0(外部中斷0)
  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
  XTAL2:來自反向振蕩器的輸出。
  振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。
2、LM016L介紹
  我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。
液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動通信工具等眾多領(lǐng)域。字符的顯示用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位 為“ 1 ”,其它 的 為“ 0 ”,為“ 1 ”的 點(diǎn)  亮,為“ 0 ”的 不 亮。這 樣一 來 就  組 成 某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。
1.009.jpg
圖2.3  LM016L引腳圖

表2.1  LM016L引腳功能表
1.010.jpg

2.2 最小系統(tǒng)設(shè)計(jì)
2.2.1 時(shí)鐘電路的選擇與設(shè)計(jì)
1.011.jpg
圖2.5 時(shí)鐘電路圖
時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘控制信號,嚴(yán)格執(zhí)行指令進(jìn)行工作,在執(zhí)行指令時(shí),CPU首先要到程序存儲器中取出所需要的指令作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號有兩類,一類用于片內(nèi)對各個(gè)功能部件的控制,另一類用于對片外存儲器或I/O端口的控制。MCS-51單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘信號為基準(zhǔn),有條不紊地一拍一拍地工作,因此時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。1.內(nèi)部時(shí)鐘電路  AT89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端引腳為XTAL2,。這兩個(gè)引腳外部跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。  電路中的電容C1和C2的典型值為30pF。晶體振蕩頻率通常選擇6MHZ、12MHZ(可準(zhǔn)確地定時(shí))的石英晶體。
2.2.2 復(fù)位電路的選擇與設(shè)計(jì)
1.012.jpg
圖2.6 復(fù)位電路圖
  為確保系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位,一般電路正常工作需要供電電源為4.75-5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號,因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體震蕩器穩(wěn)定工作時(shí),復(fù)位信號才被撤除,微機(jī)電路開始正常工作.AT89C51單片機(jī)的復(fù)位由外部的復(fù)位電路實(shí)現(xiàn)。復(fù)位電路有上電復(fù)位與人工復(fù)位兩種。上電復(fù)位的工作原理是+5V的電源通過電容C與電阻Rk回路,給電容C充電加給RST引腳上一個(gè)短暫的高電平信號,此信號隨著Vcc對電容C的充電過程中而逐漸回落。充電時(shí)間越長,復(fù)位時(shí)間越長。當(dāng)時(shí)鐘頻率選擇6MHZ時(shí),電容C的參考值為22pF,兩個(gè)電阻Rs與Rk的參考阻值分別為220Ω與1kΩ一般來說,單片機(jī)的復(fù)位速度比外圍I/O接口快些,因此實(shí)際設(shè)計(jì)中,為保證系統(tǒng)可靠復(fù)位,單片機(jī)初始化時(shí)可安排一定的復(fù)位延遲時(shí)間,保證與外圍I/O接口電路都能可靠地復(fù)位。
2.2.3 電源電路的選擇與設(shè)計(jì)
  芯片AT89C51及LCD1602工作電壓為5V,而proteus給出的模擬的電壓默認(rèn)為5V,所以直接供電的。
2.1.3 LCD顯示電路
1.013.jpg
  AT89C51中的P2口分別和LCD1602中的D0~D7連接,P2.0對應(yīng)D0,以此類推。P3.0端連接RS端,P3.1端連接R/W端,P3.2端連接使能端E端。Vss接電源地,Vdd接+5V邏輯電源,Vee連接滑動變阻器。通過以上連接構(gòu)成顯示電路,為之后的調(diào)試仿真奠定基礎(chǔ)。

第3章 系統(tǒng)軟件設(shè)計(jì)
3.1 設(shè)計(jì)方案及原理
  利用LCD循環(huán)顯示四行固定字符串。第一步先顯示每行字符串 ,四行需要四個(gè)LOOP循環(huán),顯示出每行字符。第二步解決每行之間的時(shí)間間隔,添加一個(gè)延時(shí)程序,通過調(diào)用延時(shí)程序?qū)崿F(xiàn)行與行之間的長延時(shí)。第三步LCD顯示字符串的時(shí)候,要求是一個(gè)一個(gè)字符顯示,故要利用小延時(shí)程序,可解決。顯示一個(gè)字符后,光標(biāo)加一表示下一個(gè)字符顯示的位置。因此顯示四行固定字符串的時(shí)候,我們可以先將四行固定字符串通過子程序表示出來,然后通過程序調(diào)用。光標(biāo)操作為當(dāng)寫一個(gè)字符后地址指針加一。最后,選擇好初始地址后,利用一個(gè)循環(huán)結(jié)構(gòu)程序?qū)⒄麄(gè)字符串內(nèi)容在LCD上顯示出來。因?yàn)橐@示四行而LM160L只能顯示2行,所以需要清屏操作,而使字符串循環(huán)顯示只需加一個(gè)程序即可。
3.2 系統(tǒng)軟件流程圖

3.1流程圖 (詳見附件)
3.3 子程序的介紹
3.3.1 初始化
  1.   RS                                          EQU                                          P3.0              ;定義P3.0引腳變量            
  2.   RW                                          EQU                                          P3.1              ;定義P3.1引腳變量
  3.   E                                          EQU                                          P3.2              ;定義P3.2引腳變量            
  4.   LCD                                          EQU                                          P2                            ;定義P2口                           
  5.   BF                                          EQU                                          P2.7
  6.                             ORG                            0000H
  7.                             LJMP              MAIN
  8.                   ORG                            0100H
  9.   MAIN:              MOV                            A,#01H                                          ;01H為清屏操作命令(命令1)                                         
  10.                             ACALL              W_CMD                                          ;向1602寫入命令01H                                       
  11.                             MOV                            A,#38H                                          ;38H為功能設(shè)置命令(命令6)                                         
  12.                             ACALL              W_CMD                                          ;向1602寫入命令38H                                       
  13.                             MOV                            A,#0CH                                          ;0CH為顯示控制命令(命令4)                                         
  14.                             ACALL              W_CMD                                          ;向1602寫入命令0CH                          
  15.                             MOV                            A,#14H                                          ;14H為光標(biāo)移位命令(命令5)                           
  16.                             ACALL              W_CMD                                          ;向1602寫入命令14H                          
  17. MOV                            A,#83H                                          ;80H(80H+03H)顯示位置設(shè)置(命令8) ,第1行從00H
  18.   開始                           
  19.                             ACALL              W_CMD                                          ;向1602寫入命令80H                                       
  20.                             MOV                            DPTR,#TAB                            ;顯示字符的ASCII碼表的首地址送DPTR                                         
  21.                             MOV                            R0,#0                                          ;寄存器R0為顯示字符個(gè)數(shù)的計(jì)數(shù)器
  22.   上述這段程序是我們對LCD1602引腳進(jìn)行的定義,寫入相應(yīng)的命令字以及顯示字符串的位置。
  23. 3.3.2 顯示程序
  24.   LOOP1:              MOV                                A,R0
  25.                                MOVC                            A,@A+DPTR                            ;將顯示字符的ASCII碼送A                                       
  26.                             ACALL                            W_DATA                                          ;顯示字符的ASCII碼1602                           
  27.                             INC                                          R0                                                        ;字符個(gè)數(shù)的計(jì)數(shù)器增1                                                      
  28.                             ACALL                            DELAY                                          ;字符之間的小延時(shí),使字符一個(gè)一個(gè)顯示
  29.                             CJNE                            R0,#10,LOOP1              ;第1行顯示10個(gè)字符是否發(fā)送完畢                          
  30.                             MOV                                          A,#0C3H                                          ;C0H(80H+43H)顯示位置設(shè)置(命令8) ,第2行從                                                                                                                                                                                                   40H   開始                                       
  31.                             ACALL                            W_CMD                                          ;向1602寫入顯示位置設(shè)置命令                             
  32.                             ACALL                            DELAY5S                                          ;每行之間延時(shí)5S
  33.   上述這段程序是一個(gè)小循環(huán),主要在LCD1602第一行上顯示出相應(yīng)的字符串,間隔5S。然后依次顯示第二行,第三行,第四行。第二行顯示的程序和第一行是大同小異的,只是顯示的位置不同而已。第三行顯示之前有個(gè)清屏的程序即MOV                            A,#01H;ACALL              W_CMD,其他部分都整體相同。第四行顯示原理及程序和第二行差不多。
  34.   W_CMD:              ACALL                            WAIT
  35.                                           MOV                                          LCD,A
  36.                                           CLR                                          RS                                                                    
  37.                                           CLR                                          RW
  38.                                           SETB                            E                                                                       
  39.                                           NOP
  40.                                           CLR                                          E
  41.                                           RET
復(fù)制代碼


  上段程序?yàn)閷懭朊钭映绦颍肟趨?shù)A中存儲了向1602寫入的命令,通過子程序調(diào)用使之功能實(shí)現(xiàn)。下表為關(guān)于RS、RW引腳的介紹。
表2.2  LM016L寄存器選擇控制表
1.028.jpg
3.3.3 延時(shí)程序
  DELAY5S:               PUSH   04H               
                       PUSH   05H            
                      PUSH   06H               
                      MOV    R4,#50            
DELAY5S_0:              MOV    R5,#200                              
  DELAY5S_1:              MOV    R6,#245                              
                      DJNZ   R6,$                        
                      DJNZ   R5,DELAY5S_1
                      DJNZ   R4,DELAY5S_0                        
                      POP    06H                  
                      POP    05H                  
                      POP    04H                  
                      RET               
  上段程序是一個(gè)5S的延時(shí)程序,它首先開辟存儲空間,堆棧將循環(huán)指令放在存儲空間中,因?yàn)榇鎯臻g最大數(shù)字為256,所以多條進(jìn)棧、出棧,循環(huán)嵌套使之能延時(shí)5S。其中DJNZ指令表示減一不為零轉(zhuǎn)移指令,通過這條指令可對延時(shí)時(shí)間進(jìn)行計(jì)算。程序當(dāng)中還有個(gè)小延時(shí)程序,它主要實(shí)現(xiàn)字符一個(gè)一個(gè)顯示,其原理大致與延時(shí)5S差不多。
第4章 軟件仿真
4.1 keil軟件介紹
  keilC51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。
  C51工具包的整體結(jié)構(gòu),μVision與Ishell分別是C51 for Windows 和for Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51 連接定位生成絕對目標(biāo)文件(.abs)。abs文件由OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的hex 文件,以供調(diào)試器dScope51 或tScope51 使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。
  2009年2月發(fā)布Keil μVision4,Keil μVision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺監(jiān)視器,并提供了視覺上的表面對窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。2011年3月ARM公司發(fā)布最新集成開發(fā)環(huán)境RealView MDK開發(fā)工具中集成了最新版本的Keil μVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與ARM器件的最完美匹配。
4.2 proteus軟件介紹
  Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。在Proteus 軟件包中,不存在同類儀表使用數(shù)量的問題Proteus 還提供了一個(gè)圖形顯示功能,可以將線路上變化的信號,以圖形的方式實(shí)時(shí)地顯示出來,其作用與示波器相似但功能更多。
4.3 仿真電路圖
   1.029.jpg
圖4.1 總電路圖
  上圖是LCD的電子廣告牌的總電路圖,它的基本組成由核心芯片AT89C51,時(shí)鐘電路,復(fù)位電路以及LCD1602顯示屏。
4.4 仿真結(jié)果與分析
1.030.jpg
圖4.2 仿真電路圖
  上圖是我們點(diǎn)擊開始之后的第一個(gè)仿真效果圖,顯示的是第一行的字符串”Welcome  To”,間隔5S之后第二行顯示W(wǎng)u  Hu字符串,經(jīng)過軟件進(jìn)行清屏以后,間隔5S后,在第一行位置顯示第三行的An Gong Cheng字符串,間隔5S之后在第二行位置顯示第四行Zi Dong Hua字符串,然后一直循環(huán)顯示上述字符串。

小 結(jié)
  本次課程設(shè)計(jì)經(jīng)過我們小組成員共同努力做成了LCD電子廣告牌的設(shè)計(jì),主要實(shí)現(xiàn)循環(huán)顯示4個(gè)字符串,在第1行顯示一字符串,5s后,第2行顯示另外一字符串,再過5s后,第1行顯示其他字符串,再過5s后,第2行顯示另外一字符串(要求一個(gè)字符一個(gè)字符地顯示)的功能。
  當(dāng)然在設(shè)計(jì)的過程中我們也遇到了一些問題。比如問題一“顯示每行字符串,硬件圖連接好,且程序編譯通過沒有錯(cuò),生成.hex文件后下載到protues單片機(jī)進(jìn)行仿真,點(diǎn)開始后,液晶屏亮,但是液晶屏并沒有顯示,一段時(shí)間后仍是如此”,檢查程序后,發(fā)現(xiàn)有一行程序其控制顯示字符并沒有弄懂什么意思就使用,導(dǎo)致程序沒錯(cuò),就是無法顯示。通過上網(wǎng),查閱書籍尋找答案,并解決。問題二“還有我們想顯示第三第四行的程序但是和第一第二行程序混合在一起”,通過查閱書籍和在老師的幫助下,添加了一個(gè)清屏的操作,使第三第四行顯示出來。問題三“四行程序完全顯示結(jié)束之后就結(jié)束了,沒有達(dá)到設(shè)計(jì)要求”,經(jīng)過小組討論,添加一個(gè)AJMP MAIN程序,使程序能循環(huán)顯示。
  通過這次課程設(shè)計(jì),我深刻理解到像單片機(jī)這種課程,如果一味專研課本,盲目記憶指令,這樣得來的知識是表層的,是膚淺的,是不能靈活運(yùn)用于實(shí)際生活中去的。只有在掌握相關(guān)理論只是后,配以相應(yīng)實(shí)踐練習(xí),多動手鍛煉自己,不但加深了對理論知識的理解,還讓自己對課程設(shè)計(jì)產(chǎn)生了濃厚的興趣。而且看到了自己學(xué)習(xí)的知識在現(xiàn)實(shí)生活中的應(yīng)用。
  通過這次設(shè)計(jì)我也發(fā)現(xiàn)自己的很多不足之處。在設(shè)計(jì)過程中我發(fā)現(xiàn)自己考慮問題很不全面,自己的專業(yè)知識掌握的很不牢固,所掌握的電路應(yīng)用軟件還不夠多,我希望自己的這些不足之處能在今后的工作和學(xué)習(xí)中得到改善。而且,通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,學(xué)會了堅(jiān)持和努力,這將為以后的學(xué)習(xí)做出了最好的榜樣!我將會在以后的生活中繼續(xù)學(xué)習(xí)。
參考文獻(xiàn)
[1]張毅剛,劉杰. MCS-51系列單片機(jī)原理及應(yīng)用[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004.
[2]蔡美琴,張為民等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M]. 北京:高等教育出版社,1992.
[3]王鴻鈺.步進(jìn)電機(jī)控制入門[M].上海:同濟(jì)大學(xué)出版社,1990..
[4]馬忠梅,籍順心,張凱,馬巖.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:北 京航空航天大學(xué)出版社,2006
[5]李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007
附錄A
1.031.jpg
附錄B

完整論文下載(word格式 可編輯):
http://www.raoushi.com/bbs/dpj-82203-1.html


回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
無效樓層,該帖已經(jīng)被刪除
無效樓層,該帖已經(jīng)被刪除
5#
無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表