版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p> 專 業(yè): </p><p> 學(xué) 生 姓 名: </p><p> 學(xué) 號: </p><p> 指 導(dǎo) 教
2、師: </p><p> 完成日期:2012 年 1 月 5 日</p><p><b> 1 設(shè)計(jì)任務(wù)</b></p><p><b> 1.1設(shè)計(jì)任務(wù)</b></p><p> 多功能電子時(shí)鐘設(shè)計(jì) </p><p>
3、;<b> 1.2基本要求</b></p><p> 1、準(zhǔn)確計(jì)時(shí),以數(shù)字形式顯示時(shí)、分、秒的時(shí)間。</p><p> 2、小時(shí)以24小時(shí)計(jì)時(shí)形式,分秒計(jì)時(shí)為60進(jìn)位。 </p><p> 3、校正時(shí)間功能,即能隨意設(shè)定走時(shí)時(shí)間。</p><p> 4、鬧鐘功能,一旦走時(shí)到該時(shí)間,能以聲或光的形式告警提示。(未
4、實(shí)現(xiàn))</p><p><b> 2設(shè)計(jì)方案</b></p><p><b> 2.1任務(wù)分析</b></p><p> 本次設(shè)計(jì)時(shí)鐘電路,使用了ATC89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,用一揚(yáng)聲器來進(jìn)行定時(shí)提醒,同時(shí)使用
5、匯編語言程序來控制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過四個(gè)模塊:鍵盤、芯片、揚(yáng)聲器、LED顯示即可滿足設(shè)計(jì)要求。</p><p><b> 2.2方案設(shè)計(jì)</b></p><p><b> 1.硬件方案</b></p><p><b> (1).計(jì)時(shí)方案</b></p>&l
6、t;p> 使用單片機(jī)內(nèi)部的可編程定時(shí)器。</p><p> 利用單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器進(jìn)行中端定時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,但程序設(shè)計(jì)較為復(fù)雜。</p><p><b> ?。?).顯示方案</b></p><p> 對于實(shí)時(shí)時(shí)鐘而言,顯示顯然是另一個(gè)重要的環(huán)節(jié)。通常LED顯示有兩種方式:動態(tài)顯示和靜態(tài)
7、顯示。</p><p> 靜態(tài)顯示的優(yōu)點(diǎn)是程序簡單、顯示亮度有保證、單片機(jī)CPU的開銷小,節(jié)約CPU的工作時(shí)間。但占有I/O口線多,每一個(gè)LED都要占有一個(gè)I/O口,硬件開銷大,電路復(fù)雜。需要幾個(gè)LED就必須占有幾個(gè)并行口,比較適用于LED數(shù)量較少的場合。當(dāng)然當(dāng)LED數(shù)量較多的時(shí)候,可以使用單片機(jī)的串行口通過移位寄存器的方式加以解決,但程序編寫比較麻煩。</p><p> LED動態(tài)顯
8、示硬件連接簡單,但動態(tài)掃描的顯示方式需要占有CPU較多的時(shí)間,在單片機(jī)沒有太多實(shí)時(shí)測控任務(wù)的情況下可以采用。</p><p> 本系統(tǒng)需要采用6位LED數(shù)碼管來分別顯示時(shí)、分、秒,因數(shù)碼管個(gè)數(shù)較多,故本系統(tǒng)選擇動態(tài)顯示方式</p><p><b> 2. 軟件方案 </b></p><p> 利用單片機(jī)自帶的Keil uvision2軟件
9、編程,在用STC_ISP進(jìn)行程序燒寫下載到單片機(jī)里。</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> STC89C52單片機(jī)介紹</p><p> STC89C52單片機(jī)是由深圳宏晶公司代理銷售的一款MCU,是由美國設(shè)計(jì)生產(chǎn)的一種低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)寫的FlashROM和2
10、56bytes的RAM,2個(gè)16位定時(shí)計(jì)數(shù)器[5]。 </p><p> STC89C52單片機(jī)內(nèi)部主要包括累加器ACC(有時(shí)也簡稱為A)、程序狀態(tài)字PSW、地址指示器DPTR、只讀存儲器ROM、隨機(jī)存取存儲器RAM、寄存器、并行I/O接口P0~P3、定時(shí)器/計(jì)數(shù)器、串行I/O接口以及定時(shí)控制邏輯電路等。這些部件通過內(nèi)部總線聯(lián)接起來,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。其管腳圖如圖所示。</p><p
11、> STC89C52單片機(jī)管腳結(jié)構(gòu)圖</p><p> 各個(gè)端口對照朱照優(yōu)老師編寫的《單片機(jī)原理與應(yīng)用》</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 根據(jù)上述電子時(shí)鐘的工作流程,軟件設(shè)計(jì)可分為以下幾個(gè)功能模塊:</p><p> ?。?)主程序模塊。主程序主要用于系統(tǒng)初始化:設(shè)置計(jì)
12、時(shí)緩沖區(qū)的位置及初值,設(shè)置8155的工作方式、定時(shí)器的工作方式和計(jì)數(shù)初值等參數(shù)。主程序流程如下圖所示。</p><p><b> 開始</b></p><p><b> 定義堆棧區(qū)</b></p><p> T0、數(shù)據(jù)緩沖區(qū)、標(biāo)志位初始化</p><p><b> 調(diào)用鍵盤掃描程序
13、</b></p><p><b> 否</b></p><p> 是C/R鍵? </p><p><b> 是</b></p><p> 地址指針指向計(jì)時(shí)緩沖區(qū)</p><p><b> 調(diào)用時(shí)間設(shè)置程序</b><
14、/p><p><b> 主程序流程圖</b></p><p> (2)計(jì)時(shí)模塊。即定時(shí)器0中斷子程序,完成刷新計(jì)時(shí)緩沖區(qū)的功能。</p><p> 系統(tǒng)使用6MHz的晶振,假設(shè)定時(shí)器0工作在方式1,則定時(shí)器的最大定時(shí)時(shí)間為65.536ms,這個(gè)值遠(yuǎn)遠(yuǎn)小于1s。因此本系統(tǒng)采用定時(shí)器與軟件循環(huán)相結(jié)合的定時(shí)方法。設(shè)定時(shí)器0工作在方式1,每隔50ms
15、溢出中斷一次,則循環(huán)中斷20次延時(shí)時(shí)間是1s,上述過程重復(fù)60次為1分,分計(jì)時(shí)60次為1小時(shí),小時(shí)計(jì)時(shí)24次則時(shí)間重新回到00:00:00。</p><p> 因定時(shí)器0工作在方式1,則50ms定時(shí)對應(yīng)的定時(shí)器初值為:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。</p><p> 但應(yīng)當(dāng)指出:CPU從響應(yīng)T0中斷到完成定時(shí)器初值重裝這段時(shí)間,
16、定時(shí)器T0并不停止工作,而是繼續(xù)計(jì)數(shù)。因此,為了確保T0能準(zhǔn)確定時(shí)50ms,重裝的定時(shí)器初值必須加以修正,修正的定時(shí)器初值必須考慮到從原定時(shí)器初值中扣除計(jì)數(shù)器多計(jì)的脈沖個(gè)數(shù)。由于定時(shí)器計(jì)數(shù)脈沖的周期恰好和機(jī)器周期吻合,因此修正量等于CPU從響應(yīng)中斷到重裝完TL0為止所用的機(jī)器周期數(shù)。CPU響應(yīng)中斷通常要3~8個(gè)機(jī)器周期。經(jīng)過測試,定時(shí)器0重裝的計(jì)數(shù)初值設(shè)為9E5FH~9E67H,可以滿足精度要求。另外,MCS-51單片機(jī)只有二進(jìn)制加法指
17、令,而時(shí)間是按十進(jìn)制遞增,因此用加法指令后必須進(jìn)行二-十進(jìn)制轉(zhuǎn)換。</p><p> 計(jì)時(shí)模塊流程圖如下圖所示。</p><p><b> 保護(hù)現(xiàn)場</b></p><p><b> 重裝定時(shí)器初值</b></p><p><b> 循環(huán)次數(shù)減1</b></p&g
18、t;<p><b> 否</b></p><p><b> 滿20次?</b></p><p><b> 是</b></p><p><b> 秒單元加1</b></p><p><b> 否</b></
19、p><p><b> 60s到?</b></p><p><b> 是</b></p><p> 秒單元清0,分單元加1</p><p><b> 否</b></p><p><b> 60分到?</b></p>
20、<p><b> 是</b></p><p> 分單元清0,時(shí)單元加1</p><p><b> 否</b></p><p><b> 24小時(shí)到?</b></p><p><b> 是</b></p><p>
21、;<b> 時(shí)單元清0</b></p><p><b> 恢復(fù)現(xiàn)場</b></p><p><b> 返回</b></p><p><b> 計(jì)時(shí)模塊流程圖</b></p><p><b> 5仿真與性能分析</b><
22、/p><p><b> 5.1仿真結(jié)果圖</b></p><p><b> 5.2 仿真結(jié)果</b></p><p><b> 6、心得體會</b></p><p> 這次主要和以前不同的是采用匯編語言編寫程序,不同于以往用C語言編寫可能會帶來一定的不適應(yīng)。</p&g
23、t;<p> 單片機(jī)理論的學(xué)習(xí)是為課程的設(shè)計(jì)作準(zhǔn)備的,但有時(shí)學(xué)習(xí)的理論也解決不了實(shí)踐中的問題。實(shí)踐中獲得的知識能讓我對單片機(jī)的知識有更好的認(rèn)識和理解。雖然這次的課程設(shè)計(jì)我參考了一些文獻(xiàn)資料,沒有做到創(chuàng)新,但在對程序的讀寫過程中我明白了許多。這次課程設(shè)計(jì)的最大收獲是只有把理論用到實(shí)踐中我們才能真正掌握好所學(xué)知識。</p><p><b> 參考文獻(xiàn)</b></p>
24、<p> [1] 朱兆優(yōu)等.單片機(jī)原理與應(yīng)用.北京電子工業(yè)出版社.2010.09</p><p> [2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1993.</p><p> [3] 樓然笛.單片機(jī)開發(fā)[M].北京:人民郵電出版社,1994.</p><p><b> 附錄1 系統(tǒng)原理圖</b>&
25、lt;/p><p> 附錄2 系統(tǒng)PCB圖</p><p><b> 附錄3 程序清單</b></p><p> ORG 0000H</p><p> MOV 30H,#1</p><p> MOV 31H,#2</p><p> MOV 32H,#0</p
26、><p> MOV 33H,#0</p><p> MOV 34H,#0</p><p> MOV 35H,#0</p><p> MOV TMOD,#01</p><p> XS0: SETB TR0</p><p> MOV TH0,#00H</p><p&
27、gt; MOV TL0,#00H</p><p><b> XS:</b></p><p> MOV 40H,#01H</p><p> MOV DPTR,#TAB</p><p> MOV P2,40H</p><p><b> MOV A,30H</b><
28、;/p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> LCALL YS1MS</p><p> MOV P0,#0FFH</p><p><b> MOV A,40H</b></p><
29、p><b> RL A</b></p><p><b> MOV 40H,A</b></p><p> MOV P2,40H</p><p><b> MOV A,31H</b></p><p><b> ADD A,#10</b><
30、/p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> LCALL YS1MS</p><p> MOV P0,#0FFH</p><p><b> MOV A,40H</b></p><p
31、><b> RL A</b></p><p><b> MOV 40H,A</b></p><p> MOV P2,40H</p><p><b> MOV A,32H</b></p><p> MOVC A,@A+DPTR</p><p&g
32、t;<b> MOV P0,A</b></p><p> LCALL YS1MS</p><p> MOV P0,#0FFH</p><p><b> MOV A,40H</b></p><p><b> RL A</b></p><p>&l
33、t;b> MOV 40H,A</b></p><p> MOV P2,40H</p><p><b> MOV A,33H</b></p><p><b> ADD A,#10</b></p><p> MOVC A,@A+DPTR</p><p>
34、;<b> MOV P0,A</b></p><p> LCALL YS1MS</p><p> MOV P0,#0FFH</p><p><b> MOV A,40H</b></p><p><b> RL A</b></p><p><
35、;b> MOV 40H,A</b></p><p> MOV P2,40H</p><p><b> MOV A,34H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p>
36、 LCALL YS1MS</p><p> MOV P0,#0FFH</p><p><b> MOV A,40H</b></p><p><b> RL A</b></p><p><b> MOV 40H,A</b></p><p> MO
37、V P2,40H</p><p><b> MOV A,35H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> LCALL YS1MS</p><p> MOV P0,#0FFH</
38、p><p><b> MOV A,40H</b></p><p><b> RL A</b></p><p> MOV 40H,A </p><p> JB TF0,JIA</p><p> JNB P1.0,P100</p><p> J
39、NB P1.1,P1000</p><p> JNB P1.2,P10000</p><p><b> AJMP XS</b></p><p> P100: MOV 30H,#0</p><p> MOV 31H,#0</p><p> MOV 32H,#0</p>&
40、lt;p> MOV 33H,#0</p><p> MOV 34H,#0</p><p> MOV 35H,#0</p><p> JIA: CLR TF0</p><p><b> MOV A,35H</b></p><p> CJNE A,#9,JIA1</p&g
41、t;<p><b> MOV 35H,0</b></p><p><b> MOV A,34H</b></p><p> CJNE A,#5,JIA10</p><p> MOV 34H,#0</p><p> P10000: JNB P1.2,P10000</p>
42、;<p><b> MOV A,33H</b></p><p> CJNE A,#9,JIA100</p><p> MOV 33H,#0</p><p><b> MOV A,32H</b></p><p> CJNE A,#5,JIA1000</p><
43、;p><b> MOV 32H,#</b></p><p> P1000: JNB P1.1,P1000</p><p><b> MOV A,31H</b></p><p> CJNE A,#9,JIA10000 </p><p> MOV 31H,#0</p
44、><p><b> MOV A,30H</b></p><p> CJNE A,#2,JIA100000 </p><p> MOV 30H,#0</p><p><b> AJMP XS0</b></p><p> JIA100000:</p>
45、;<p><b> INC 30H</b></p><p><b> AJMP XS0</b></p><p><b> JIA10000:</b></p><p> CJNE A,#3,JIAJIA</p><p><b> MOV A,30
46、H</b></p><p> CJNE A,#02,JIAJIA</p><p> MOV 30H,#0</p><p> MOV 31H,#0</p><p><b> AJMP XS0</b></p><p><b> JIAJIA:</b><
47、/p><p><b> INC 31H</b></p><p><b> AJMP XS0 </b></p><p> JIA1000:INC 32H</p><p><b> AJMP XS0</b></p><p> JIA100: INC 3
48、3H</p><p> AJMP XS0 </p><p> JIA10: INC 34H</p><p><b> AJMP XS0</b></p><p> JIA1: INC 35H</p><p><b> AJMP XS0</b><
49、;/p><p><b> RET</b></p><p> YS1MS: MOV R6,#9H</p><p> YL1: MOV R7,#19H</p><p><b> DJNZ R7,$</b></p><p> DJNZ R6,YL1</p>
50、<p><b> RET</b></p><p><b> TAB:</b></p><p> DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H</p><p> DB 040H,079H,024H,030H,019H,012
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---多功能電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘
- 電子時(shí)鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)——電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)——電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)-電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)----電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)-電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
- 數(shù)字電子時(shí)鐘-單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘.doc
- 單片機(jī)課程設(shè)計(jì)報(bào)告---電子時(shí)鐘
評論
0/150
提交評論