版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 題 目: 基于AT89C52單片機(jī)的LED點(diǎn)陣顯示電子鐘設(shè)計(jì) </p><p><b> 初始條件:</
2、b></p><p> Protues 7 professional的ISIS 7 professional和ARES 7 professional軟件</p><p> Keil uvision4軟件</p><p> 3.單片機(jī)的相關(guān)資料指導(dǎo)書</p><p> 要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說
3、明書撰寫等具體要求)</p><p> 涉及一種基于AT89C52單片機(jī)的LED點(diǎn)陣顯示時鐘,具體要求如下:</p><p> 時鐘的顯示由LED點(diǎn)陣構(gòu)成。</p><p> 能正確顯示時間,上電時間為12點(diǎn)。</p><p> 時間能夠由按鍵調(diào)整。</p><p><b> 誤差小于1s。<
4、/b></p><p><b> 時間安排: </b></p><p> 2015年1月4-5日 選擇題目、布置任務(wù)</p><p> 2015年1月6-8日 功能分析、硬件設(shè)計(jì)及修改</p><p> 2015年1月9-13日 軟件設(shè)計(jì)與編程</p>&l
5、t;p> 2015年1月14-16日 調(diào)試并修改硬件組成</p><p> 2015年1月17-18日 修改軟件編程并調(diào)試</p><p> 2015年1月19-20日 編寫設(shè)計(jì)說明書</p><p> 2015年1月21-22日 確認(rèn)提交版答辯</p><p> 指導(dǎo)教師簽名:
6、 年 月 日</p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p> 本科生課程設(shè)計(jì)成績評定表</p><p> 指導(dǎo)教師簽字: </p><p> 年 月 日</p><p>
7、<b> 目錄</b></p><p> 1.項(xiàng)目概述 …………………………………………………………………………………2</p><p> 1.1設(shè)計(jì)內(nèi)容和要求………………………………………………………………………2 </p><p> 1.2設(shè)計(jì)思路………………………………………………………………………………2
8、</p><p> 2.設(shè)計(jì)原理分析 ……………………………………………………………………………3</p><p> 2.1設(shè)計(jì)方案論證…………………………………………………………………………3</p><p> 2.2電路工作原理…………………………………………………………………………3</p><p> 2.2.1復(fù)位電路模塊 …
9、………………………………………………………………3</p><p> 2.2.2晶振電路模塊 …………………………………………………………………3</p><p> 2.2.3按鍵電路模塊 …………………………………………………………………4</p><p> 2.2.4顯示電路模塊 …………………………………………………………………5</p>
10、<p> 3. 硬件電路設(shè)計(jì)……………………………………………………………………………6</p><p> 3.1主要硬件設(shè)備介紹……………………………………………………………………7</p><p> 3.1.1 8×8點(diǎn)陣屏 …………………………………………………………………7</p><p> 3.1.2 74LS373鎖存驅(qū)動
11、器的特性及使用…………………………………………8</p><p> 3.1.3 74LS138譯碼器的特性及使用………………………………………………10</p><p> 3.1.4 AT89C52單片機(jī) ……………………………………………………………12</p><p> 3.2 電路原理圖 …………………………………………………………………………13&
12、lt;/p><p> 3.3 元件清單 ……………………………………………………………………………14</p><p> 4. 軟件設(shè)計(jì)…………………………………………………………………………………15</p><p> 4.1 框圖設(shè)計(jì) ……………………………………………………………………………15</p><p> 4.2 程序流程圖
13、 …………………………………………………………………………16</p><p> 4.3 程序清單 ……………………………………………………………………………16</p><p> 5. 系統(tǒng)仿真…………………………………………………………………………………27</p><p> 6.課程設(shè)計(jì)總結(jié)……………………………………………………………………………29&
14、lt;/p><p> 參考文獻(xiàn)…………………………………………………………………………………29</p><p><b> 摘要</b></p><p> 本文設(shè)計(jì)的是一個室內(nèi)用5塊8×8點(diǎn)陣時鐘顯示屏,數(shù)字采用靜止顯示方式。電子鐘是一種利用數(shù)字電路來顯示秒、分、時的計(jì)時裝置,與傳統(tǒng)的機(jī)械鐘相比,它具有走時準(zhǔn)確、顯示直觀、無機(jī)械傳動
15、裝置等優(yōu)點(diǎn),因而得到廣泛應(yīng)用。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘走時更準(zhǔn)確、性能更穩(wěn)定。LED點(diǎn)陣電子鐘程序主要功能是屏幕顯示時間穩(wěn)定,精確。所以按照分塊設(shè)計(jì)的方法可以把程序分為主程序、顯示程序、計(jì)時程序。主程序主要是用來初始化系統(tǒng)和控制各個子程序之間執(zhí)行的順序。顯示程序用來完成數(shù)字在LED點(diǎn)陣上的顯示,時鐘的顯示是使用5塊8×8點(diǎn)陣顯示屏。計(jì)時程序用來完成計(jì)時,數(shù)時功能。基于AT89C52單片機(jī)的LE
16、D點(diǎn)陣顯示電子鐘具有結(jié)構(gòu)簡單,性能好,價格低和靈活等優(yōu)點(diǎn),因此得到了廣泛應(yīng)用。</p><p> 關(guān)鍵詞:LED;電子鐘;AT89C52單片機(jī)</p><p><b> 1 項(xiàng)目概述</b></p><p> 1.1設(shè)計(jì)內(nèi)容和要求</p><p> 利用AT89C52單片機(jī)結(jié)合LED點(diǎn)陣顯示器設(shè)計(jì)一個點(diǎn)陣顯示電子
17、鐘。電子時鐘將在5塊8×8點(diǎn)陣顯示屏上分別顯示(小時十位)、(小時個位)、(:)、(分十位)、(分個位)。時鐘出現(xiàn)累積誤差,可以人為手動進(jìn)行修改。修改時間的功能可以通過獨(dú)立式按鍵來完成。設(shè)計(jì)一種基于AT89C52單片機(jī)的LED點(diǎn)陣顯示時鐘,基本設(shè)計(jì)要求如下:</p><p> ⑴ 時鐘的顯示由LED點(diǎn)陣構(gòu)成。</p><p> ⑵ 能正確顯示時間,上電時間為12點(diǎn)。</
18、p><p> ?、?時間能夠由按鍵調(diào)整。</p><p><b> ?、?誤差小于1s。</b></p><p><b> 1.2 設(shè)計(jì)思路</b></p><p> LED點(diǎn)陣電子鐘程序主要功能是屏幕顯示時間穩(wěn)定,精確。所以按照分塊設(shè)計(jì)的方法可以把程序分為主程序、顯示程序、計(jì)時程序。主程序主要是用
19、來初始化系統(tǒng)和控制各個子程序之間執(zhí)行的順序。顯示程序用來完成數(shù)字在LED點(diǎn)陣上的顯示,時鐘的顯示是使用5塊8×8點(diǎn)陣顯示屏。計(jì)時程序用來完成計(jì)時,數(shù)時功能。</p><p><b> 2設(shè)計(jì)原理分析</b></p><p> 2.1 設(shè)計(jì)方案論證</p><p> 由中斷產(chǎn)生的秒、分、小時數(shù)據(jù),經(jīng)轉(zhuǎn)換子程序轉(zhuǎn)換成適應(yīng)LED點(diǎn)陣顯
20、示屏顯示的數(shù)據(jù),并通過單片機(jī)的輸出功能輸入到LED點(diǎn)陣顯示屏,再通過顯示掃描程序,顯示出時鐘的走時時間。用計(jì)時程序來完成計(jì)時,數(shù)時功能,再通過單片機(jī)綜合控制將數(shù)字顯示出來。由此可見,通過AT89C52單片機(jī)的控制功能,完全可以實(shí)現(xiàn)LED點(diǎn)陣顯示電子鐘。</p><p> 2.2 電路工作原理</p><p> 2.2.1 復(fù)位電路模塊</p><p> 本設(shè)計(jì)
21、采用RC上電加按鈕復(fù)位。如圖2.1中所示,將一個手動按鈕與電阻串聯(lián)后再和復(fù)位電容并聯(lián)起來,當(dāng)系統(tǒng)上電后,由于開關(guān)沒有導(dǎo)通,還是一個基本的阻容復(fù)位電路,系統(tǒng)會可靠地復(fù)位。如果在調(diào)試過程中需要對系統(tǒng)進(jìn)行復(fù)位,這時不需要斷電再接通電源,只需按一下復(fù)位開關(guān)即可。當(dāng)復(fù)位開關(guān)按下后,電容被短路,在RET腳上由于電阻分壓會得到一個復(fù)位的高電平,達(dá)到復(fù)位效果。</p><p> 圖2.1 復(fù)位電路</p>&l
22、t;p> 2.2.2 晶振電路模塊</p><p> AT89C52單片機(jī)芯片內(nèi)部設(shè)有一個由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的輸出端和輸入端,時鐘可由內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。晶振電路中,采用高精度的12MHz的石英晶振和電容值為30皮法拉的電容組成并聯(lián)諧振回路。以獲得較高的刷新頻率及較準(zhǔn)確的時鐘頻率使顯示穩(wěn)定,
23、計(jì)時準(zhǔn)確。系統(tǒng)時鐘由定時器T0中斷方式產(chǎn)生,較為精確。電路圖如圖2.2。</p><p> 圖2.2 晶振電路</p><p> 綜合以上兩個電路模塊可設(shè)計(jì)出由復(fù)位電路和晶振電路加上AT89C52單片機(jī)所組成的單片機(jī)最小系統(tǒng),如圖2.3所示。</p><p> 圖2.3 單片機(jī)最小系統(tǒng)電路</p><p> 2.2.3 按鍵電路模
24、塊</p><p> 按鍵電路由兩個個獨(dú)立式按鍵組成,如圖2.4。采用定時查詢方式,一般情況下,單片機(jī)應(yīng)用系統(tǒng)的用戶按一次鍵(從按下到釋放)或釋放一次鍵(從釋放到再次按下)最快也需要50毫秒以上,在此期間CPU只要有一次查詢鍵盤,則該次的按鍵和釋放就不會丟失。因此,可以編制這樣的按鍵程序,即每隔不大于50毫秒的時間(典型值為20毫秒)單片機(jī)就去查詢一次按鍵,查詢各鍵按下與釋放的狀態(tài),就能正確地識別用戶對鍵盤的操
25、作。</p><p> 獨(dú)立按鍵,按鍵電路由兩個獨(dú)立式按鍵組成,分別接單片機(jī)的P3.2、P3.3低電平驅(qū)動。這兩個按鍵分別用作時調(diào)整,分調(diào)整。</p><p> 圖2.4 獨(dú)立按鍵電路</p><p> 2.2.4 顯示電路模塊</p><p> 顯示電路由五片8×8點(diǎn)陣LED組成,用以顯示(時∶分)。根據(jù)設(shè)計(jì)要求,采用并
26、行方式顯示,通過鎖存器芯片來擴(kuò)展I/O口,達(dá)到控制LED點(diǎn)陣的40個列線的目的。本方案運(yùn)用5片鎖存器74LS373來組成5組雙緩存寄存器,驅(qū)動LED點(diǎn)陣的8組列線,用3/8譯碼器74LS138對LED點(diǎn)陣的8行進(jìn)行掃描。在送每一行的數(shù)據(jù)到LED點(diǎn)陣時,每次把數(shù)據(jù)分別送到5個74LS373,然后再把數(shù)據(jù)一起輸出到LED點(diǎn)陣列中,送出去的時間數(shù)據(jù)由AT89C52來控制。</p><p> 單片機(jī)的串口與行驅(qū)動器相連
27、,用來發(fā)送顯示數(shù)據(jù)信息。P0口與LED的行引腳相連,送出數(shù)據(jù),地址以及系統(tǒng)的控制信號。輸出低態(tài)時,最大可吸取0.5安培,即500毫安,若每個LED取30毫安,8個LED同時點(diǎn)亮,需要240毫安,完全滿足LED點(diǎn)亮的基本條件。顯示電路如圖2.5。</p><p> 圖2.5 顯示電路模塊</p><p><b> 3硬件電路設(shè)計(jì)</b></p>&l
28、t;p> 3.1 主要硬件設(shè)備介紹</p><p> 3.1.1 8×8點(diǎn)陣屏</p><p> 圖3.1為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖3.2所示,只要其對應(yīng)的DC、DR軸順向偏壓,即可使LED發(fā)亮。例如如果想使圖3.2左上角LED點(diǎn)亮,則DC8=1,DR1=0即可。應(yīng)用時限流電阻可以放在DC軸或DR軸。8×8點(diǎn)陣LED外觀及引腳如
29、圖3.1。</p><p> 圖3.1 8×8LED點(diǎn)陣引腳圖</p><p> 圖3.2為8×8點(diǎn)陣LED等效電路,由此可以看出點(diǎn)陣是用64個LED組成的。</p><p> 點(diǎn)陣LED掃描法介紹:從圖3.2中可以看出,8×8點(diǎn)陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對應(yīng)的某一列置1電平,
30、某一行置0電平,則相應(yīng)的二極管就亮。</p><p> 頻率必須大于128赫茲,周期小于7.8毫秒即可符合視覺暫留要求。此外一次驅(qū)動一列或一行(8盞LED)時需外加驅(qū)動電路提高電流,否則LED亮度會不足。</p><p> 圖3.2 8×8點(diǎn)陣LED等效電路</p><p> 3.1.2 74LS373鎖存驅(qū)動器的特性及使用</p>
31、<p> 74LS373是常用的地址鎖存器芯片,它實(shí)質(zhì)是一個是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲器,通常需要一塊74LS373芯片。本小節(jié)將介紹74LS373的工作原理,引腳圖(管腳圖),內(nèi)結(jié)構(gòu)圖,主要參數(shù)及在單片機(jī)系統(tǒng)中的典型應(yīng)用電路。</p><p> 74LS373工作原理簡述:1腳是輸出使能(OE),是低電平有效,當(dāng)1腳是高電平時,不管輸入3、4、7、8、13、14、
32、17、18如何,也不管11腳(鎖存控制端,G)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài))。當(dāng)1腳是低電平時,只要11腳(鎖存控制端,G)上出現(xiàn)一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳3、4、7、8、13、14、17、18的狀態(tài)。</p&g
33、t;<p> 鎖存端LE由高變低時,輸出端8位信息被鎖存,直到LE端再次有效。當(dāng)三態(tài)門使能信號OE為低電平時,三態(tài)門導(dǎo)通,允許Q0到Q7輸出,OE為高電平時,輸出懸空。74LS373內(nèi)部邏輯結(jié)構(gòu)如圖3.3所示。</p><p> 圖3.3 74LS373內(nèi)部邏輯結(jié)構(gòu)</p><p> 表3.1中:L表示低電平。H表示高電平。X表示不定態(tài)。Q0表示建立穩(wěn)態(tài)前Q的電平,G
34、輸入端,與8031ALE連高電平,暢通無阻,低電平,關(guān)門鎖存。</p><p> 表3.1 74LS373的真值表(功能表)</p><p> 圖中OE表示使能端,接地。當(dāng)G=“1”時,74LS373輸出端1Q到8Q與輸入端1D到8D相同,當(dāng)G為下降沿時,將輸入數(shù)據(jù)鎖存。G,E功能如表3.2所示。</p><p> 表3.2 G,E功能表</p>
35、;<p> 74LS373引腳(管腳)排列如圖3.4??梢娸敵龊洼斎胧窍噜徟帕械?,所以在連接時應(yīng)注意連接的引腳是否正確,避免錯誤。</p><p> 圖3.4 74LS373引腳(管腳)排列</p><p> 3.1.3 74LS138譯碼器的特性及使用</p><p> 74LS138為3線8線譯碼器,74LS138的工作原理如下:當(dāng)一個選
36、通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B) )為低電平時,可將地址端(A、B、C)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。</p><p> 74LS138功能是利用 S1、/S2和/S3可級聯(lián)擴(kuò)展成 24 線譯碼器,若外接一個反相器還可級聯(lián)擴(kuò)展成32線譯碼器。若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分配器。74LS138引腳圖如圖3.5所示。</p>
37、<p> 圖3.6所示的是用與非門組成的3線8線譯碼器74LS138的內(nèi)部結(jié)構(gòu)圖。詳細(xì)功能表如表3.3所示。</p><p> 圖3.5 74LS138引腳圖</p><p> 圖3.6 74LS138內(nèi)部電路</p><p> 表3.3 3線-8線譯碼器74LS138的功能表</p><p> 無論從邏輯圖還是功能
38、表(表3.3)我們都可以看到74LS138的八個輸出管腳,任何時刻全為高電平則芯片處于不工作狀態(tài),只有一個為低電平,其余7個輸出管腳全為高電平。如果出現(xiàn)兩個輸出管腳在同一個時間為0的情況,說明該芯片已經(jīng)損壞。</p><p> 74LS138有三個附加的控制端S1、/S2和/S3。當(dāng)S1、/S2接低電平時,輸出為高電平(S=1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表2.3所示
39、。這三個控制端也叫做“片選”輸入端,利用片選的作用可以將多片連接起來以擴(kuò)展譯碼器的功能。</p><p> 帶控制輸入端的譯碼器又是一個完整的數(shù)據(jù)分配器。在圖3.6中如果把作為“數(shù)據(jù)”輸入端(在同一個時間),而將作為“地址”輸入端,那么從送來的數(shù)據(jù)只能通過所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)S1=1、S2=0和S3=1時,門的輸入端除了接至輸出端的一個以外全是高電平,因此的數(shù)據(jù)以
40、反碼的形式從輸出,而不會被送到其他任何一個輸出端上。</p><p> 3.1.4 AT89C52單片機(jī)</p><p> 微處理器采用AT89C52系列單片機(jī),AT89C52單片機(jī)是這幾年在我國非常流行的單片機(jī),是一種帶8K字節(jié)閃存器的高性能單片機(jī),可擦除存儲器可以反復(fù)擦除100次,具有低功耗,高性能的特點(diǎn),并且可與工業(yè)標(biāo)準(zhǔn)的MSC-51指令集和輸出管腳相兼容,對于本設(shè)計(jì)需要實(shí)現(xiàn)的功
41、能,完全可勝任。</p><p> LED點(diǎn)陣電子鐘的設(shè)計(jì)主要是用AT89C52單片機(jī)進(jìn)行控制,用12MHz的晶振來保證計(jì)時的精準(zhǔn)性,用具有一定驅(qū)動能力的74LS373鎖存器和74LS138譯碼器進(jìn)行I/O口擴(kuò)展,并在5塊8×8點(diǎn)陣上顯示。</p><p><b> 3.2 電路原理圖</b></p><p> 圖3.7 LE
42、D點(diǎn)陣顯示電子鐘電路原理圖</p><p><b> 3.3 元件清單</b></p><p> 表3.4 LED點(diǎn)陣顯示電子鐘元件清單</p><p><b> 4軟件設(shè)計(jì)</b></p><p><b> 4.1 框圖設(shè)計(jì)</b></p><p&
43、gt; LED點(diǎn)陣電子鐘程序主要功能是屏幕顯示時間穩(wěn)定,精確。所以按照分塊設(shè)計(jì)的方法可以把程序設(shè)計(jì)為主程序、顯示程序、計(jì)時程序。主程序主要是用來初始化系統(tǒng)和控制各個子程序之間執(zhí)行的順序。顯示程序用來完成數(shù)字在LED點(diǎn)陣上的顯示,時鐘的顯示是使用5塊8×8點(diǎn)陣顯示屏,其軟件設(shè)計(jì)原理是:由中斷產(chǎn)生的秒、分、小時數(shù)據(jù),經(jīng)轉(zhuǎn)換子程序轉(zhuǎn)換成適應(yīng)LED點(diǎn)陣顯示屏顯示的數(shù)據(jù),并通過單片機(jī)的輸出功能輸入到LED點(diǎn)陣顯示屏,再通過顯示掃描程序
44、,顯示出時鐘的走時時間。計(jì)時程序用來完成計(jì)時,數(shù)時功能。圖4.1為主程序框圖,圖4.2為系統(tǒng)框圖設(shè)計(jì)。</p><p> 圖4.1 主程序流程圖</p><p> 圖4.2 LED點(diǎn)陣顯示電子鐘系統(tǒng)框圖</p><p><b> 4.2 程序流程圖</b></p><p><b> 圖4.3程序流程圖
45、</b></p><p><b> 4.3 程序清單</b></p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></p><p> ORG 0003H </p><p> LJ
46、MP PINT0 </p><p><b> ORG 000BH</b></p><p> LJMP INTT0</p><p><b> ORG 0013H</b></p><p> LJMP PINT1</p><p><b> ORG 0030H
47、</b></p><p> MAIN: MOV SP, #60H</p><p> MOV TMOD, #01H</p><p> MOV TL0, #0e0H</p><p> MOV TH0, #0b1H</p><p> MOV IE,#87H</p><p>
48、MOV 30H,#01H ;時十位</p><p> MOV 31H,#02H ;時個位</p><p> MOV 32H,#0AH ;光標(biāo)點(diǎn)位</p><p> MOV 33H,#00H ;分十位</p><p> MOV 34H,#00H ;分個位</p><p> MOV 35H,#00H
49、;秒十位</p><p> MOV 36H,#00H ;秒個位</p><p><b> SETB IT0</b></p><p><b> SETB IT1</b></p><p><b> SETB PT0</b></p><p><
50、b> SETB TR0</b></p><p> LOOP0: LCALL DISP</p><p> LJMP LOOP0</p><p> INTT0: MOV TL0, #0e0H</p><p> MOV TH0, #0b1H</p><p><b> PUSH AC
51、C</b></p><p><b> PUSH PSW</b></p><p><b> INC 36H</b></p><p> MOV A, 36H</p><p> CJNE A, #25, PLL</p><p> MOV 32H, #0BH&l
52、t;/p><p> PLL: CJNE A, #50,ENDD ;1S</p><p> MOV 32H, #0AH</p><p> MOV 36H, #00H</p><p><b> INC 35H</b></p><p> MOV A, 35H</p>
53、<p> CJNE A,#60,ENDd ;分個位</p><p> MOV 35H, #00H</p><p><b> INC 34H</b></p><p> MOV A, 34H</p><p> CJNE A,#0AH,ENDd ;分個位</p><p>
54、 MOV 34H, #00H</p><p><b> INC 33H</b></p><p> MOV A, 33H</p><p> CJNE A,#06H,ENDd ;分十位</p><p> MOV 33H, #00H</p><p><b> INC 31H&
55、lt;/b></p><p> MOV A, 30H</p><p> CJNE A, #02H, END1</p><p> MOV A, 31H</p><p> CJNE A,#04H,END1 ;時個位</p><p> MOV 31H, #00H</p><p>
56、 MOV 30H, #00H</p><p> END1: MOV A, 31H</p><p> CJNE A,#0AH,ENDd ;時個位</p><p> MOV 31H, #00H</p><p><b> INC 30H</b></p><p> ENDd: P
57、OP PSW</p><p><b> POP ACC</b></p><p><b> RETI</b></p><p> DISP: PUSH ACC</p><p><b> PUSH PSW</b></p><p> MOV A,3
58、0H ;顯示要顯示的數(shù)字</p><p> MOV B, #08H</p><p><b> MUL AB</b></p><p> MOV 3BH, A</p><p> MOV R4, #00H</p><p> MOV R5, #08H</p><p>
59、 LOOP00: MOV A, 3BH</p><p> MOV DPTR, #TABE</p><p> MOVC A,@A+DPTR</p><p> MOV P2, R4</p><p><b> MOV P0, A</b></p><p> MOV P1, #0FEH</
60、p><p><b> INC 3BH</b></p><p><b> INC R4</b></p><p> LCALL DELAY</p><p> DJNZ R5, LOOP00</p><p> MOV A,31H ;顯示要顯檔的數(shù)字</p>
61、<p> MOV B, #08H</p><p><b> MUL AB</b></p><p> MOV 3BH, A</p><p> MOV R4, #00H</p><p> MOV R5, #08H</p><p> LOOP11: MOV A, 3BH</p
62、><p> MOV DPTR,#TABE</p><p> MOVC A,@A+DPTR</p><p> MOV P2, R4</p><p><b> MOV P0, A</b></p><p> MOV P1, #0FDH</p><p><b>
63、INC 3BH</b></p><p><b> INC R4</b></p><p> LCALL DELAY</p><p> DJNZ R5, LOOP11</p><p> MOV A,32H ;顯示要顯檔的數(shù)字</p><p> MOV B, #08H</
64、p><p><b> MUL AB</b></p><p> MOV 3BH, A</p><p> MOV R4, #00H</p><p> MOV R5, #08H</p><p> LOOP22: MOV A, 3BH</p><p> MOV DPTR,
65、#TABE</p><p> MOVC A,@A+DPTR</p><p> MOV P2, R4</p><p><b> MOV P0, A</b></p><p> MOV P1, #0FBH</p><p><b> INC 3BH</b></p>
66、;<p><b> INC R4</b></p><p> LCALL DELAY</p><p> DJNZ R5, LOOP22</p><p> MOV A,33H ;顯示要顯檔的數(shù)字</p><p> MOV B, #08H</p><p><b>
67、 MUL AB</b></p><p> MOV 3BH, A</p><p> MOV R4, #00H</p><p> MOV R5, #08H</p><p> LOOP33: MOV A, 3BH</p><p> MOV DPTR, #TABE</p><p>
68、 MOVC A,@A+DPTR</p><p> MOV P2, R4</p><p><b> MOV P0, A</b></p><p> MOV P1, #0F7H</p><p><b> INC 3BH</b></p><p><b> INC
69、 R4</b></p><p> LCALL DELAY</p><p> DJNZ R5, LOOP33</p><p> MOV A,34H ;顯示要顯檔的數(shù)字</p><p> MOV B, #08H</p><p><b> MUL AB</b></p>
70、;<p> MOV 3BH, A</p><p> MOV R4, #00H</p><p> MOV R5, #08H</p><p> LOOP44: MOV A, 3BH</p><p> MOV DPTR, #TABE</p><p> MOVC A,@A+DPTR</p>
71、<p> MOV P2, R4</p><p><b> MOV P0, A</b></p><p> MOV P1, #0EFH</p><p><b> INC 3BH</b></p><p><b> INC R4</b></p>&
72、lt;p> LCALL DELAY</p><p> DJNZ R5, LOOP44</p><p><b> POP PSW</b></p><p><b> POP ACC</b></p><p><b> RET</b></p><p&
73、gt; DELAY: MOV 37H, #50</p><p> DEL: MOV 38H, #4</p><p> DJNZ 38H, $</p><p> DJNZ 37H, DEL</p><p><b> RET</b></p><p> TABE: ;
74、0</p><p> DB 00H,18H,24H,24H,24H,24H,18H,00H</p><p><b> ;1</b></p><p> DB 00H,10H,30H,10H,10H,10H,38H,00H</p><p><b> ;2</b></p><p
75、> DB 00H,18H,24H,04H,18H,20H,3CH,00H</p><p><b> ;3</b></p><p> DB 00H,18H,24H,18H,04H,24H,18H,00H</p><p><b> ;4 </b></p><p> DB 00H,08H,
76、18H,28H,7CH,08H,08H,00H</p><p><b> ;5 </b></p><p> DB 00H,1CH,10H,18H,04H,24H,18H,00H</p><p><b> ;6 </b></p><p> DB 00H,18H,24H,38H,24H,24H,
77、18H,00H</p><p><b> ;7 </b></p><p> DB 00H,3CH,28H,08H,10H,10H,10H,00H</p><p><b> ;8</b></p><p> DB 00H,18H,24H,18H,24H,24H,18H,00H</p>
78、<p><b> ;9 </b></p><p> DB 00H,18H,24H,24H,1CH,24H,18H,00H</p><p><b> ;: </b></p><p> DB 00H,00H,18H,18H,00H,18H,18H,00H</p><p><b
79、> ;</b></p><p> DB 00H,00H,00H,00H,00H,00H,00H,00H</p><p><b> RET</b></p><p> PINT0: MOV4AH, #20</p><p> DJNZ4AH, $</p><p> JB
80、 P3.2, END_DD </p><p> MOV 36H, #00H</p><p><b> INC 34H</b></p><p> MOV A, 34H</p><p> CJNE A,#0AH,END_DD ;分個位</p><p> MOV 34H, #00H&
81、lt;/p><p><b> INC 33H</b></p><p> MOV A, 33H</p><p> CJNE A,#06H,END_DD ;分十位</p><p> MOV 33H, #00H</p><p> END_DD: RETI</p><p&g
82、t; PINT1: MOV4AH, #20</p><p> DJNZ4AH, $</p><p> JB P3.3 , END_D</p><p><b> INC 31H</b></p><p> MOV A, 30H</p><p> CJNE A, #02H,END_1&
83、lt;/p><p> MOV A, 31H</p><p> CJNE A,#04H,END_1 ;時個位</p><p> MOV 31H, #00H</p><p> MOV 30H, #00H</p><p> END_1: MOV A, 31H</p><p> CJNE
84、 A,#0AH,END_d ;時個位</p><p> MOV 31H, #00H</p><p><b> INC 30H</b></p><p> END_D: RETI </p><p><b> END</b></p><p><b> 5系
85、統(tǒng)仿真</b></p><p> 根據(jù)設(shè)計(jì)要求(3)時鐘的顯示由LED點(diǎn)陣構(gòu)成,格式為XX:XX(時:分),點(diǎn)陣為8×8點(diǎn)陣顯示屏能正確顯示時間,和要求(4)上電顯示為12點(diǎn)。仿真電路開機(jī)畫面如圖5.1所示。從圖中可以看出顯示的時間為12:00。</p><p> 圖5.1 系統(tǒng)仿真結(jié)果</p><p> 用按鍵調(diào)整時、分后的仿真圖如圖5
86、.2所示:</p><p> 圖5.2 系統(tǒng)仿真結(jié)果</p><p><b> 6課程設(shè)計(jì)總結(jié)</b></p><p> 在本次課程設(shè)計(jì)中,我學(xué)到了很多東西。本設(shè)計(jì)是一個基于AT89C52的LED點(diǎn)陣顯示電子鐘,是將電子鐘的數(shù)字顯示用LED點(diǎn)陣的方式來實(shí)現(xiàn)的。本系統(tǒng)硬件少,結(jié)構(gòu)簡單,容易實(shí)現(xiàn),性能穩(wěn)定,成本低。</p>&l
87、t;p> 總結(jié)本文的研究工作,主要做了一下幾點(diǎn)工作:通過閱讀大量的相關(guān)資料,詳細(xì)了解LED發(fā)光原理和LED點(diǎn)陣顯示原理,了解LED現(xiàn)狀,清楚的了解LED與其他顯示器的區(qū)別。并且通過多單片機(jī)資料的查閱,更進(jìn)一步提高了對單片機(jī)知識的理解和運(yùn)用能力。</p><p> 通過本文列出具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)圖,軟件流程圖,匯編語言程序設(shè)計(jì)和調(diào)試,我學(xué)會了PROTEUS,PROTEL和KEIL的基本使用,感到
88、PROTUES在電子制圖,仿真上的重要性和KEIL作為編程軟件的實(shí)用性。PROTEL在制作PCB板時非常重要。</p><p> 存在的問題:鍵盤的選擇,開始使用P2口,但發(fā)現(xiàn)P2已經(jīng)作為輸出口使用,后改為P3口后按鍵正常工作。</p><p> 本次課題是在指導(dǎo)老師袁兵老師的指導(dǎo)下完成的。在課題研究的過程中,袁老師給予了我們指導(dǎo),并提供了很多與該研究相關(guān)的重要信息,培養(yǎng)了我們對科學(xué)研
89、究的嚴(yán)謹(jǐn)態(tài)度和創(chuàng)新精神。這將非常有利于我們今后的學(xué)習(xí)和工作。在此表示衷心的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王守中,聶遠(yuǎn)銘.51單片機(jī)開發(fā)入門與典型實(shí)例[M].北京:人民郵電出版社,2009. </p><p> [2] 公相.基于8051單片機(jī)的數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)[J].中國知網(wǎng),2008,3
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--基于at89c52單片機(jī)的led點(diǎn)陣顯示電子鐘設(shè)計(jì)
- 基于at89c52單片機(jī)的led點(diǎn)陣顯示屏系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報告—led顯示電子鐘
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)at89c52的led點(diǎn)陣設(shè)計(jì)
- 單片機(jī)c語言課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 基于單片機(jī)的led點(diǎn)陣顯示電子鐘畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的led點(diǎn)陣屏電子鐘-課程設(shè)計(jì)報告
- 電子鐘課程設(shè)計(jì)--89c51單片機(jī)擴(kuò)展8155顯示電子鐘
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的電子鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字電子鐘
- 基于at89c52單片機(jī)和led的數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)報告---單片機(jī)的電子鐘設(shè)計(jì)
- 基于單片機(jī)的led點(diǎn)陣顯示課程設(shè)計(jì)
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 基于at89c52單片機(jī)的led顯示控制系統(tǒng)的設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 單片機(jī)原理課程設(shè)計(jì)--基于at89c52的電子時鐘設(shè)計(jì)
評論
0/150
提交評論