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