單片機(jī)課程設(shè)計液晶顯示_第1頁
單片機(jī)課程設(shè)計液晶顯示_第2頁
單片機(jī)課程設(shè)計液晶顯示_第3頁
單片機(jī)課程設(shè)計液晶顯示_第4頁
單片機(jī)課程設(shè)計液晶顯示_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南工學(xué)院單片機(jī)技術(shù)課程設(shè)計說明書課題名稱:液晶顯示萬年歷、時間、星期及溫度系 部:電氣與信息工程系專 業(yè):電子信息工程班 級:0602設(shè) 計 人:陳 凱學(xué) 號:401060347指導(dǎo)老師:戴日光目 錄第1章 系統(tǒng)電路設(shè)計1.1 系統(tǒng)總體設(shè)計思路-11.2 設(shè)計方案選擇-11.3 功能介紹-11.4 工作原理-2第2章 單元電路設(shè)計2.1 單片機(jī)電路設(shè)計-32.2 時鐘電路設(shè)計-52.3 復(fù)位電路設(shè)計-62.4 溫度傳感器電路設(shè)計-72.5 矩陣式鍵盤設(shè)計-82.6 顯示電路設(shè)計-8第3章 程序流程圖3.1 中斷時鐘流程圖-113.2 溫度子程序流程圖-113.3 萬年歷流程圖-12第4章 操

2、作與調(diào)試4.1 keil uvision3簡介-144.1.1 8051開發(fā)工具-144.1.2 uvision3集成開發(fā)環(huán)境-144.2 proteus簡介-154.2.1進(jìn)入proteus isis-154.2.2工作界面-154.3 軟件調(diào)試-16結(jié)束語-18附錄1 仿真電路圖-19附錄2 元器件清單-20附錄3 程序清單-21參考文獻(xiàn)-40第1章 系統(tǒng)電路設(shè)計1.1系統(tǒng)總體設(shè)計思路此設(shè)計即液晶上顯示年、月、日、時、分、秒及星期原理框圖如圖(1.1),電路一般包括以下幾個部分:鍵盤、單片機(jī)、溫度傳感器及顯示電路。圖1.1 單片機(jī)實現(xiàn)液晶顯示萬年歷以及溫度總框圖對于各部分:(1) 為使時鐘

3、走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正液晶上顯示的時間。(2) 單片機(jī)通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 溫度傳感器用來顯示當(dāng)天的確定溫度值。(4) 單片機(jī)發(fā)送的信號經(jīng)過顯示電路通過譯碼最終在液晶上顯示出來。1.2 設(shè)計方案選擇方案一 用eda技術(shù)及vhdl語言控制來實現(xiàn)顯示及測溫度,且顯示也可以用數(shù)碼管,但是數(shù)碼管屏幕有限不是很方便的顯示很多的數(shù)據(jù)以及文字等。對于vhdl語言也不夠了解,故不采用此方案。方案二 用c語言編程來控制單片機(jī)讓它在液晶上顯示數(shù)據(jù)及文字。由于單片機(jī)結(jié)構(gòu)簡單、控制功能強(qiáng)、可靠性高、體積小、價格低等優(yōu)點,以及液晶屏幕可以完整的同時顯示數(shù)

4、據(jù)及文字等內(nèi)容,綜合上述方案的選擇與比較,選擇方案二。主要是由于電器元件的熟悉程度以及市場的供求關(guān)系。在方案二中,大部分的電器元件我們較熟悉并且更容易獲得。1.3功能介紹本次設(shè)計主要用單片機(jī)控制程序讓它在液晶上顯示年、月、日、時、分、秒及星期,同時用18b20溫度傳感器來接受外面的信號,讓單片機(jī)來接受它,且也讓它在液晶上顯示測的溫度。 時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進(jìn)行校正。時計數(shù)器計滿24小時后自動向日計數(shù)器進(jìn)一,日計數(shù)器由平年、閏年的28/30/31對大、小月和二月的判斷應(yīng)與當(dāng)月相應(yīng)的日期相一致,當(dāng)日計數(shù)器計滿時,向月計數(shù)器進(jìn)位,月計

5、數(shù)器計滿12月向年計數(shù)器進(jìn)位,當(dāng)年計數(shù)器計滿100時所以計數(shù)器清零。設(shè)計采用的是年、月、日和時、分、秒、星期以及溫度同時顯示。1.4 工作原理設(shè)計的電路主要由四大模塊構(gòu)成:溫度傳感器電路,單片機(jī)控制電路,顯示電路以及校正電路。當(dāng)溫度傳感器接受到外面的信號,送入單片機(jī),單片機(jī)將接受到的信號輸出,讓它在液晶上顯示。同時由單片機(jī)控制的萬年歷以及時間顯示,當(dāng)時間及秒計數(shù)計滿60時就向分進(jìn)位,分計數(shù)器計滿60分后向時計數(shù)器進(jìn)位,小時計數(shù)器按“24翻1”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進(jìn)行校正。時計數(shù)器計滿24小時后自動向日計數(shù)器進(jìn)一,日計數(shù)

6、器由平年、閏年的28/30/31對大、小月和二月的判斷應(yīng)與當(dāng)月相應(yīng)的日期相一致,當(dāng)日計數(shù)器計滿時,向月計數(shù)器進(jìn)位,月計數(shù)器計滿12月向年計數(shù)器進(jìn)位,當(dāng)年計數(shù)器計滿100時所以計數(shù)器清零。設(shè)計采用的是年、月、日和時、分、秒、星期顯示,所以在單片機(jī)通過對數(shù)據(jù)處理進(jìn)行同時在液晶上顯示。 第2章 單元電路設(shè)計2.1單片機(jī)電路設(shè)計at89s52的簡介at89s52是一種低功耗,高性能的cmos8位微處理器,內(nèi)部有8k字節(jié)的閃速perom ,該芯片采用atmel公司高密度、非揮發(fā)性存儲器工藝制成且與工業(yè)標(biāo)準(zhǔn)的mcs-51系列的引腳及指令兼容,flash系列存儲器為快速擦寫存貯器。相對于mcs-51系列芯片

7、而言,其特點如下 :1、可擦寫1000次2、全靜態(tài)操作:0hz.24mhz3、32根可編程i/o口線4、內(nèi)部ram為256字節(jié)5、三個16位的定時/計數(shù)器6、8個中斷源at89s52有40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,at89s52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲器可有效地降低開發(fā)成本。 at89s52芯片的管腳、引線與功能at89s52芯片圖如圖2.1所示。(1)引腳信號介紹:p00p07 :p0口8

8、位雙向口線 p10p17 :p1口8位雙向口線p20p27 :p2口8位雙向口線 p30p37 :p3口8位雙向口線(2)p1口的第二功能如表2-1:表2-1 p1口第二功能表引腳號第二功能p1.0t2(定時器/計數(shù)器t2的外部計數(shù)輸入),時鐘輸出p1.1t2ex(定時器/計數(shù)器t2的捕捉/重載觸發(fā)信號和方向控制)p1.5mosi(在系統(tǒng)編程用)p1.6miso(在系統(tǒng)編程用)p1.7sck(在系統(tǒng)編程用)訪問程序存儲器控制信號:當(dāng)信號為低電平時,對rom的讀操作限定在外部程序存儲器;而當(dāng)信號為高電平時,則對rom的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。ale地址鎖存控制信號:

9、在系統(tǒng)擴(kuò)展時,ale用于控制把p0口輸出低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外由于ale是以晶振六分之一的固定頻率輸出的正脈沖,因此可作為外部時鐘或外部定時脈沖作用。外部程序存儲器讀選取通信號:在讀外部rom時有效(低電平),以實現(xiàn)外部rom單元的讀操作。xtal1和xtal2外接晶體引線端:當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于拉外部的時鐘脈沖信號。rst復(fù)位信號:當(dāng)輸入的復(fù)位信號延續(xù)2個機(jī)器周期以上高電平時即為有效,用以完成單片機(jī)的復(fù)位初始化操作。vss:地線 vcc:+5v電源(3)p3口的第二功能如表2-2:表2-2 p3口第二

10、功能表引腳號第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2int0(外部中斷0)p3.3int0(外部中斷0)p3.4t0(定時器0外部輸入)p3.5t1(定時器1外部輸入)p3.6wr(外部數(shù)據(jù)存儲器寫選通)p3.7rd(外部數(shù)據(jù)存儲器讀選通)at89s52的總線結(jié)構(gòu)at89s52的管腳除了電源、復(fù)位、時鐘接入、用戶i/o口部分p3外,其余管腳都是為實現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些管腳構(gòu)成了三總線形式,即:(1)地址總線(ab):地址總線寬度為16位,因此,其外部存儲器直接地址外圍為64k字節(jié)。16位地址總線由p0經(jīng)地址鎖存器提供低8位地址(a0a7);p2口直接提供高8位地

11、址(a8a15)。(2)數(shù)據(jù)總線(db):數(shù)據(jù)總線寬度為8位,由p0口提供。(3)控制總線 (cb):由部分p3口的第二功能狀態(tài)和4根獨立控制線reset、ale、組成。at89s52結(jié)構(gòu)框圖如圖2.2所示。圖2.1 at89s52芯片圖圖2.2 at89s52結(jié)構(gòu)圖2.2時鐘電路設(shè)計時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機(jī)本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地作。(1)時鐘信號的產(chǎn)生圖2.3 時鐘振蕩電路單片機(jī)內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳xtal1,其輸出端為引

12、腳xtal2。而在芯片的外部,xtal1和xtal2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。電容器c1和c2的作用是穩(wěn)定頻率和快速起振,電容值的范圍在5pf30pf,典型值為30pf。晶振的頻率通常選擇兩種6mhz和12mhz。只要在單片機(jī)的xtal1和xtal2引腳外接晶體振蕩器就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號。(2)時鐘振蕩電路如圖2.3所示:2.3 復(fù)位電路設(shè)計 復(fù)位電路是使單片機(jī)的cpu或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這上狀態(tài)開始工作。(1)單片機(jī)常見的復(fù)位電路通常單片機(jī)復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路。上電復(fù)位電路:上電復(fù)位

13、是單片機(jī)上電時復(fù)位操作,保證單片機(jī)上電后立即進(jìn)入規(guī)定的復(fù)位狀態(tài)。它利用的是電容充電的原理來實現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時它的操作比上電復(fù)位電路的操作要簡單的多。如果要實現(xiàn)復(fù)位的話,只要按下reset鍵即可。它主要是利用電阻的分壓來實現(xiàn)的在此設(shè)計中,采用的按鍵復(fù)位電路。按鍵復(fù)位電路如圖2.4所示。圖2.4 復(fù)位電路圖(2)復(fù)位電路工作原理上電復(fù)位要求接通電源后,單片機(jī)自動實現(xiàn)復(fù)位操作。上電瞬間reset引腳獲得高電平,隨著電容的充電,rerst引腳的高電平將逐漸下降。rerst引腳的高電平只要能保持足夠的時間(2個機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。上電與按鍵均有效的

14、復(fù)位電路不僅在上電時可以自動復(fù)位,而且在單片機(jī)運(yùn)行期間,利用按鍵也可以完成復(fù)位操作。因此本設(shè)計選用第二種上電復(fù)位與按鍵均有效的各單位電路。2.4 溫度傳感器電路設(shè)計 溫度傳感器ds18b20引腳如圖2.5所示。 圖2.5 溫度傳感器引腳功能說明: nc(1、2、6、7、8腳):空引腳,懸空不使用; vdd(3腳):可選電源腳,電源電壓范圍35.5v。當(dāng)工作于寄生電源時,此引腳必須接地。 dq(4腳):數(shù)據(jù)輸入/輸出腳。漏極開路,常態(tài)下高電平。 ds18b20內(nèi)部有4個主要部件:64位激光rom、溫度傳感器、非易失性溫度告警觸發(fā)器(th和tl)和配置寄存器。 每個ds18b20都有一個唯一的64

15、位rom編碼,它存放在64位激光rom中。代碼的前8位是單線產(chǎn)品系列編碼,接著的48位是唯一的產(chǎn)品序列號,最后8位是前面56位編碼的crc校驗值,如表2-3所示。表2-3 64位激光rom內(nèi)容8位crc校驗碼48位產(chǎn)品序列號8位產(chǎn)品系列編碼msb lsb msb lsb msb lsbcrc的等效多項式函數(shù)為: crc=x8+x5+x4+164位激光rom中的8位crc值即由此多項式函數(shù)產(chǎn)生。主機(jī)可以通過“讀rom命令”讀取64位rom的前56位,然后也按此多項式計算出crc值,并把它與讀出的存放在ds18b20激光rom內(nèi)的crc值進(jìn)行比較,從而決定rom的數(shù)據(jù)是否已被主機(jī)正確接受。crc值

16、得比較和是否繼續(xù)操作都由主機(jī)決定。2.5 矩陣式鍵盤設(shè)計實現(xiàn)鍵盤控制的方法有多種,它可以用fpga來進(jìn)行控制,也可以用單片機(jī)來進(jìn)行控制。在本系統(tǒng)中,我們采用了單片機(jī)來進(jìn)行控制,因為單片機(jī)可以很好的解決鍵抖動。由若干個按鍵組成一個鍵盤,其電路結(jié)構(gòu)可分為獨立式鍵盤和矩陣式鍵盤兩種。 獨立式鍵盤每個鍵單獨占用一根i/o口線,每根i/o口線上的按鍵工作狀態(tài)不會影響其他i/o口線上的狀態(tài),矩陣式鍵盤按鍵排列為行列式矩陣結(jié)構(gòu),也稱行列式鍵盤結(jié)構(gòu)。4行4列共16個鍵,只占用8根i/o口線,鍵數(shù)目較多,可節(jié)省口線。此設(shè)計的是3行3列共9個鍵。鍵盤的工作方式可分為編程控制方式和中斷控制方式。cpu在一個工作周期

17、內(nèi),利用完成其他任務(wù)的空余時間,調(diào)圖2.6 矩陣式鍵盤用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個鍵,并執(zhí)行相應(yīng)的鍵處理程序。這種方式為編程掃描方式。由于單片機(jī)在正常應(yīng)用過程中,可能會經(jīng)常進(jìn)行鍵操作,因而編程控制方式使cpu經(jīng)常處于工作狀態(tài), 在進(jìn)行本次設(shè)計中,涉及到了啟動/關(guān)閉、調(diào)時、調(diào)分、調(diào)秒,調(diào)年,月,日,星期,等很多功能個功能。因此,只采用了3行3列鍵進(jìn)行功能設(shè)置。如圖2.6所示。2.6 顯示電路設(shè)計12864液晶是一種具有4位/8位并行,2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級,二級簡體文字庫的點陣圖形液晶顯示模塊:其顯示分辨率為12864,內(nèi)置

18、128個16*16點文字,和128個16*8點ascii字符集,利用該模塊靈活的接口方式和簡單,方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)顯示程序都要簡潔得多。其基本特性如下: 低電源電壓(vdd:+3.0+5.5v) 顯示分辨率:12864點內(nèi)置漢字字庫,提供8192個1616點陣漢字內(nèi)置128個168點陣字符2mhz時鐘頻率顯示方式:stn ,半透,正顯驅(qū)動方式:1/32duty,1/5bias視角方向:6點背光方式:側(cè)部高亮白

19、色led,功耗僅為普通的led的1/51/10通訊方向:串行,并行可選內(nèi)置dcdc轉(zhuǎn)換電路,無需外加負(fù)壓無需片選信號,簡化軟件設(shè)計工作溫度:零度到55度,存儲溫度:負(fù)20度到60度。而本設(shè)計將采用的是并行接口,及見圖2.7所示。圖2.7 12864液晶電路其液晶12864的并行管腳如表2-2所示。表2-4 液晶管腳 我們用單片機(jī)來進(jìn)行控制。它可以很直觀的用來顯示年、月、日、時、分、秒、星期及溫度,單片機(jī)與lcd的接口電路如圖2.8所示。圖2.8 接口電路第3章 程序流程圖3.1 中斷時鐘流程圖中斷服務(wù)程序流程圖如圖3.1所示。流程圖分析:由中斷查詢當(dāng)有中斷請求時,及進(jìn)行現(xiàn)場保護(hù),保護(hù)斷點,將定

20、時器賦初值,且開定時器便于計數(shù),且賦值50000,當(dāng)中斷進(jìn)行20次剛好一秒,當(dāng)秒計數(shù)60時便向分進(jìn)位,當(dāng)分計數(shù)60時,向時進(jìn)位,當(dāng)時到24時,清零,及恢復(fù)現(xiàn)場。 圖3.1中斷流程圖3.2溫度子程序流程圖溫度顯示流程圖如圖3.2所示。流程圖分析:開始進(jìn)入初始化ds18b20,就是通過主機(jī)拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,及發(fā)起rom命令當(dāng)成功的執(zhí)行操作命令后,就使用內(nèi)存操作命令,即溫度轉(zhuǎn)換等,當(dāng)轉(zhuǎn)換完后,又初始化ds18b20是否有應(yīng)答脈沖,若有,就發(fā)起讀時隙命令,既同時讀出第1,2個字節(jié),既為溫度的數(shù)據(jù)。圖3.2 溫度顯示流程圖3.3 萬年歷流程圖萬年歷流程如圖3.3所示。流程

21、圖分析:開始既當(dāng)日加一天,同時星期也就相應(yīng)的加1,看星期是否加到7,若加到了7,就返回到1,若沒有就返回到時鐘狀態(tài),當(dāng)日加到相應(yīng)的最大數(shù)時,月分就相應(yīng)的加1,看月份是否加到了13, 若沒有到13,就一直等待,若到了13就返回1,且年份就加1,當(dāng)年份到2099時就清到2005年,若沒有,就一直等待,直到2099為止。圖3.3 萬年歷流程圖第4章 操作與調(diào)試4.1 keil uvision3簡介4.1.1 8051開發(fā)工具 keil c51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件開發(fā)提供了c語言環(huán)境,同時保留了匯編代碼高效,快速的特點。c51編譯器的功能不斷增強(qiáng),使你可以更加貼近cpu本身,及其它的衍

22、生產(chǎn)品。c51已被完全集成到uvision3的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。uvision3 ide可為它們提供單一而靈活的開發(fā)環(huán)境。 c51 v7版本是目前最高效、靈活的8051開發(fā)平臺。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時支持其它第三方開發(fā)工具。因此,c51 v7版本無疑是8051開發(fā)用戶的最佳選擇。 4.1.2 uvision3集成開發(fā)環(huán)境 (1)、項目管理 工程(project)是由源文件、開發(fā)工具選項以及編程說明三部分組成的。 一個單一的uvision3工程能夠產(chǎn)生一個或多個目標(biāo)程序。產(chǎn)生目標(biāo)程序

23、的源文件構(gòu)成“組”。開發(fā)工具選項可以對應(yīng)目標(biāo),組或單個文件。 uvision3包含一個器件數(shù)據(jù)庫(device database),可以自動設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項,來滿足用戶充分利用特定 微控制器的要求。此數(shù)據(jù)庫包含:片上存儲器和外圍設(shè)備的信息,擴(kuò)展數(shù)據(jù)指針(extra data pointer)或者加速器(math accelerator)的特 性。 uvision3可以為片外存儲器產(chǎn)生必要的連接選項:確定起始地址和規(guī)模。 (2)、集成功能 uvision3的強(qiáng)大功能有助于用戶按期完工。 1.集成源極瀏覽器利用符號數(shù)據(jù)庫使用戶可以快速瀏覽源文件。用詳細(xì)的符號信息來優(yōu)化用戶

24、變數(shù)存儲器。 2.文件尋找功能:在特定文件中執(zhí)行全局文件搜索。 3.工具菜單:允許在v3集成開發(fā)環(huán)境下啟動用戶功能。 4.可配置svcs接口:提供對版本控制系統(tǒng)的入口。 5.pclint接口:對應(yīng)用程序代碼進(jìn)行深層語法分析。 6.infineon的easycase接口:集成塊集代碼產(chǎn)生。 7.infineon的dave功能:協(xié)助用戶的cpu和外部程序。dave工程可被直接輸入uvision3。4.2 proteus簡介proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運(yùn)行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特

25、點是:實現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的

26、軟件編譯和調(diào)試環(huán)境,如keil c51 uvision3等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大。本章介紹proteus isis軟件的工作環(huán)境和一些基本操作。4.2.1進(jìn)入proteus isis雙擊桌面上的isis 6 professional圖標(biāo)或者單擊屏幕左下方的“開始”“程序”“proteus 6 professional” “isis 6 professional”,出現(xiàn)如圖4.1所示屏幕,表明進(jìn)入proteus isis集成環(huán)境。圖4.1 啟動時的屏幕4.2.2 工作界面proteus isis的工作界面是一種標(biāo)準(zhǔn)

27、的windows界面,如圖4.2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。圖4.2 proteus isis的工作界面4.3 軟件調(diào)試軟件調(diào)試的任務(wù)是利用isis開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序錯誤,同時也能發(fā)現(xiàn)仿真結(jié)果故障。程序的調(diào)試應(yīng)一個模塊一個模塊地進(jìn)行,我們首先單獨調(diào)試各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正常等;最后逐步將各子程序連接起來總調(diào)。聯(lián)調(diào)需要注意的是,各程序模塊間能否正確傳遞參數(shù),特別要注意各子程序的現(xiàn)場保護(hù)與恢復(fù)。調(diào)試的基本步驟

28、如下:(1)、修改顯示緩沖區(qū)內(nèi)容,屏蔽拆字程序,調(diào)試動態(tài)掃描顯示功能。例如將disp0disp5單元置為“012345”,應(yīng)能在lcd上從左到右顯示“012345”。若顯示不正確,可在中斷子程序相應(yīng)位置設(shè)置斷點調(diào)試檢查。然后修改計時緩沖區(qū)內(nèi)容,調(diào)用拆字程序,調(diào)試顯示模塊。 (2)、運(yùn)行主程序調(diào)試模塊,不按下任何鍵,檢查是否能開始正確顯示。若不能正確顯示,則應(yīng)在定時器中斷服務(wù)子程序中設(shè)置斷點,檢查hour、min、sec單元是否隨斷點運(yùn)行而變化。然后屏蔽緩沖區(qū)初始化部分,用仿真器修改萬年歷顯示緩沖區(qū)內(nèi)容為2008年12月12日,運(yùn)行主程序(調(diào)進(jìn)位鍵),檢驗?zāi)芊裾_進(jìn)位,以及試調(diào)時間看能否正確的進(jìn)

29、位,以及溫度顯示。(3)、調(diào)試鍵盤掃描模塊,先用延時5ms子程序代替顯示子程序延時消抖,在求取鍵號后設(shè)置斷點,中斷后觀察a累加器中的鍵號是否正確;然后恢復(fù)用顯示子程序延時消抖,檢驗與顯示模塊能否正確連接。(4)、調(diào)試時間設(shè)置模塊。首先屏蔽comb子程序,單獨調(diào)試鍵盤設(shè)置模塊,觀察顯示緩沖區(qū)disp0disp5單元的內(nèi)容是否隨鍵入的鍵號改變,以及鍵號能否在lcd上顯示。然后屏蔽子程序,單獨調(diào)試合字模塊。(5)、運(yùn)行主程序聯(lián)調(diào),檢查能否用鍵盤修改當(dāng)前萬年歷,時間,以及溫度能否正確顯示。 結(jié)束語這次的課程設(shè)計對從我們來說很興慶,我們是自己選擇設(shè)計課題,這樣我們設(shè)計的范圍很寬,也可以根據(jù)自己喜歡以及趕

30、感興趣的項目進(jìn)行設(shè)計。從這次的課程設(shè)計中,讓我們更加了解和掌握單片機(jī)結(jié)構(gòu)以及液晶內(nèi)部的結(jié)構(gòu),提高我們編程的能力,理解軟件對硬件的控制以及硬件對軟件的制約。本次設(shè)計的重點在于定時中斷的合理使用,各相互獨立的程序通過有機(jī)的組合,來完成所需功能則是本次設(shè)計的精妙之所在,也正是因為此,深刻領(lǐng)悟到“實踐出真知”這句俗語。其實有好多的知識需要在一步一步的實際動手當(dāng)中慢慢地體會,慢慢地學(xué)習(xí)。不能只是想當(dāng)然怎樣就會怎樣,還要靠自己親手去驗證它才行在設(shè)計的過程中還是會學(xué)到不少東西,但是經(jīng)過這次實驗使我對它們有了一定的了解。經(jīng)過這一次實驗我們認(rèn)識到實驗是一門能夠提高個人動手能力的一門課程,同時也幫助了我們,怎么樣

31、把書本上理論的知識應(yīng)用到實踐中去。通過這次的鍛煉,我們不僅動手能力得到了加強(qiáng),更重要的是學(xué)到了很多新的專業(yè)技能知識,經(jīng)驗也更加豐富了。我覺得我還有很多不足的地方,如:基本知識掌握不牢固、動手能力不強(qiáng)、知識面不夠?qū)?。我爭取在以后的學(xué)習(xí)當(dāng)中彌補(bǔ)它,不斷的完善自己。雖然期間我們遇到了不少的難題,但是經(jīng)過努力,再大的困難也被我們給一一的解決了。本設(shè)計還有很多做的不夠好的地方,還望老師批評指正。 附錄1 仿真電路圖 附錄2 元器件清單序號名稱規(guī)格型號數(shù)量(單位)1芯片at89s5212按鍵開關(guān)sw-pb103晶振12mhz14液晶顯示器1286415溫度傳感器18b2016排阻rp17電解電容cap18

32、瓷片電容cap29電阻r2附錄3 程序清單#include#define uchar unsigned char #define uint unsigned int#define dataport p2bit flagg=0;sbit e=p12; /使能端sbit rw=p11; /讀寫端 sbit rs=p10; /數(shù)據(jù)命令端口sbit cs1=p13;sbit cs2=p14;sbit dq=p30; uchar ip;uchar temp3;uchar flag=0;uchar sum,setbit;uchar discode13;uchar year=8,month=12,week=

33、7,day=7,hour=12,minute=0,second=0,pm;uchar code day1=0,32,29,32,31,32,31,32,32,31,32,31,32;uchar code day2=0,32,30,32,31,32,31,32,32,31,32,31,32;uchar code shu0=0x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x0f,0x10,0x20,0x20,0x10,0x0f,0x00;/*0,0*/uchar code shu1=0x00,0x10,0x10,0xf8,0x00,0x00,0x00,0

34、x00,0x00,0x20,0x20,0x3f,0x20,0x20,0x00,0x00;/*1,0*/uchar code shu2=0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00;/*2,0*/uchar code shu3=0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0e,0x00;/*3,0*/uchar code shu4=0x00,0x00,0xc0,0x20,0x10,0x

35、f8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3f,0x24,0x00;/*4,0*/uchar code shu5=0x00,0xf8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0e,0x00;/*5,0*/uchar code shu6=0x00,0xe0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0f,0x11,0x20,0x20,0x11,0x0e,0x00;/*6,0*/uchar code shu7=0x00,0x38,0x08,0x0

36、8,0xc8,0x38,0x08,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00;/*7,0*/uchar code shu8=0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1c,0x22,0x21,0x21,0x22,0x1c,0x00;/*8,0*/uchar code shu9=0x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0f,0x00;/*9,0*/uchar code dian=0x00,0x38

37、,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*,0*/uchar code c=0xc0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00;/*c,0*/uchar code xiao=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00;/*.,0*/uchar code fu=0x00,0

38、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01;uchar code zheng=0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1f,0x01,0x01,0x01,0x00;/*+,0*/uchar code nian=0x40,0x20,0x10,0x0c,0xe3,0x22,0x22,0x22,0xfe,0x22,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x07,0

39、x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x04,0x00;/*年,0*/uchar code yue=0x00,0x00,0x00,0x00,0x00,0xff,0x11,0x11,0x11,0x11,0x11,0xff,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x0c,0x03,0x01,0x01,0x01,0x21,0x41,0x3f,0x00,0x00,0x00,0x00;/*月,0*/uchar code shi=0x00,0xfc,0x44,0x44,0x44,0xfc,0x10,0x90,0x

40、10,0x10,0x10,0xff,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7f,0x00,0x00,0x00,0x00;/*時,0*/uchar code fen=0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xc0,0x40,0x00,0x00,0x80,0x40,0x20,0x10,0x0f,0x00,0x00,0x20,0x40,0x3f,0x00,0x00,0x00,0x00,0x00;

41、/*分,0*/uchar code miao=0x12,0x12,0xd2,0xfe,0x91,0x11,0xc0,0x38,0x10,0x00,0xff,0x00,0x08,0x10,0x60,0x00,0x04,0x03,0x00,0xff,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00;/*秒,0*/uchar code xing=0x00,0x00,0x00,0xbe,0x2a,0x2a,0x2a,0xea,0x2a,0x2a,0x2a,0x2a,0x3e,0x00,0x00,0x00,0x00,0x48,0x46

42、,0x41,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00;/*星,0*/uchar code qi=0x00,0x04,0xff,0x54,0x54,0x54,0xff,0x04,0x00,0xfe,0x22,0x22,0x22,0xfe,0x00,0x00,0x42,0x22,0x1b,0x02,0x02,0x0a,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3f,0x00,0x00;/*期,1*/uchar code yi=0x00,0x80,0x80,0x80,0x80,0x80,0x

43、80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*一,0*/uchar code er=0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0

44、x10,0x00;/*二,1*/uchar code san=0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00;/*三,2*/uchar code si=0x00,0xfe,0x02,0x02,0x02,0xfe,0x02,0x02,0xfe,0x02,0x02,0x02,0x02,0xfe,0x00,0x00,0x00,0x7

45、f,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7f,0x00,0x00;/*四,3*/uchar code wu=0x00,0x02,0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0xc2,0x82,0x02,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x30,0x20,0x00;/*五,4*/uchar code liu=0x10,0x10,0x10,0x10,0x10,

46、0x91,0x12,0x1e,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x40,0x20,0x10,0x0c,0x03,0x01,0x00,0x00,0x01,0x02,0x0c,0x78,0x30,0x00,0x00;/*六,5*/uchar code ri=0x00,0x00,0x00,0xfe,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3f,0x00

47、,0x00,0x00,0x00;/*日,0*/void csh(void)tmod=0x01; th0=(65535-50000)/256; tl0=(65535-50000)%256;et0=1;tr0=1;ea=1;uchar mm() int j; if(year%4=0) if(year%100=0) if(year%400=0) j=day2month; else j=day1month; else j=day2month; else j=day1month; return(j);void chekbusy12864(void) uchar dat; rs=0; /指令模式 rw=1; /讀數(shù)據(jù) do p0=0x00; e=1; dat=p0&0x80; e=0; while(dat!=0x00); /*選屏*/void choose12864(uchar i)/i是要寫的屏.0是左屏,1是右屏,2是雙屏 switch (i) case 0: cs1=0;cs2=1;break; case 1: cs1=1;cs2=0;break;case 2: cs1=0;c

溫馨提示

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

最新文檔

評論

0/150

提交評論