|
蘇州市職業(yè)大學(xué) 課程設(shè)計說明書
名稱 單片機控制系統(tǒng)設(shè)計 學(xué)院(部)機電工程學(xué)院 班 級13機電一體化4 姓 名郭* 學(xué)院(部)負(fù)責(zé)人 陳 潔 系 主 任陸* 指導(dǎo)教師鐘*
課程名稱: 單片機控制系統(tǒng)設(shè)計 學(xué)院(部): 機電工程系 班 級:13機電一體化4 指導(dǎo)教師: 鐘 鳴 學(xué)院(部)負(fù)責(zé)人: 陳 潔
一、課程設(shè)計課題 秒表的設(shè)計與仿真
| 二、課程設(shè)計要求
- 掌握單片機最小系統(tǒng);
- 掌握單片機控制系統(tǒng)的設(shè)計方法;
- 學(xué)會使用Proteus軟件;
- 學(xué)會使用匯編語言或C語言編制單片機程序;
- 掌握各類元件(如步進(jìn)電機、液晶顯示器、數(shù)碼管顯示器、溫度傳感器、鍵盤等)的單片機控制方法;
- 學(xué)會使用Keil軟件或WAVE軟件調(diào)試程序;
- 學(xué)會使用Proteus仿真單片機系統(tǒng);
- 能熟練使用XL600型單片機實驗板,并對設(shè)計電路實現(xiàn)硬件電路驗證(部分)。
| 三、課程設(shè)計工作量 1、課程設(shè)計任務(wù)布置, 查找整理資料(0.5天); 2、硬件電路設(shè)計(1天) 3、軟件設(shè)計(1.5天) 4、電路仿真、驗證(0.5天) 5、說明書編制(1天) 6、說明書提交、答辯(0.5天)。 | 四、課程設(shè)計說明書內(nèi)容(有指導(dǎo)書的可省略) 1、系統(tǒng)概述 1.1 系統(tǒng)功能描述 1.2系統(tǒng)設(shè)計框圖 2、系統(tǒng)硬件設(shè)計 2.1元器件清單 2.2原理圖設(shè)計 3、系統(tǒng)軟件設(shè)計 3.1系統(tǒng)程序流程圖 3.2系統(tǒng)程序清單 4 系統(tǒng)仿真 4.1系統(tǒng)仿真過程 4.2系統(tǒng)仿真分析 5 實訓(xùn)小結(jié)
|
目錄
1系統(tǒng)概述 1.1 系統(tǒng)功能描述 1.2 系統(tǒng)設(shè)計框圖 2 系統(tǒng)硬件設(shè)計 2.1 元器件清單 2.2 原理圖設(shè)計 3系統(tǒng)軟件設(shè)計 3.1 系統(tǒng)程序流程圖 3.2 系統(tǒng)程序清單 4系統(tǒng)仿真 4.1 系統(tǒng)仿真過程 4.2 系統(tǒng)仿真分析 5 實訓(xùn)小結(jié)
1系統(tǒng)概述
1.1 系統(tǒng)功能描述本課題是要完成秒表系統(tǒng)的設(shè)計與仿真。 1)系統(tǒng)一上電,兩位顯示器顯示“00”; 2)當(dāng)按下按鍵(開始/停止鍵)時,蜂鳴器響一聲、顯示燈(綠燈)亮與此同時開始計時,顯示器顯示秒數(shù);再次按下按鍵(開始/停止鍵)時,蜂鳴器響一聲、顯示燈(綠燈)滅,同時停止計時,顯示器顯示計時時間; 3)當(dāng)再按下按鍵(開始/停止鍵)時,顯示燈(綠燈)亮,兩位顯示器顯示“00”。 1.2 系統(tǒng)設(shè)計框圖
圖1-1 系統(tǒng)設(shè)計框圖
2 系統(tǒng)硬件設(shè)計2.1 元器件清單
2.2 原理圖設(shè)計根據(jù)系統(tǒng)功能描述,我選擇了AT89C51單片機、2位數(shù)碼管(共陰)、三極管、蜂鳴器、按鍵等元件,考慮到晶振電路和復(fù)位電路,我選了電容、電阻等元件。
圖2-1 PROTEUS中的系統(tǒng)元器件選擇
根據(jù)P0口專用于分時傳送低八位地址信號和8位數(shù)據(jù)信號的特性,所以P0做輸出端口時要加上拉電阻;將P3.0作為輸入端口,所以這時先要將口線置為高電平“1”;為了系統(tǒng)安全加了晶振電路和復(fù)位電路。
圖2-2 系統(tǒng)原理圖 3系統(tǒng)軟件設(shè)計3.1 系統(tǒng)程序流程圖在編程時,先將大的框架編程,分模塊編程,在此次編程中我的程序分為:主程序初始化、中斷服務(wù)子程序部分、按鍵控制部分、顯示器顯示部分、蜂鳴器和燈部分、中斷服務(wù)子程序部分、程序結(jié)束部分等。然后我再將它們串聯(lián)起立,進(jìn)行程序細(xì)化,將細(xì)化后的相似代碼和重復(fù)代碼合并,完成我的整個系統(tǒng)編程。
圖3-1 系統(tǒng)主程序流程圖 中斷服務(wù)子程序 該段程序?qū)崿F(xiàn)按鍵去抖動識別按鍵是否按下,按下按鍵數(shù)值開始加一,從而控制數(shù)值的顯示。  圖3-2 系統(tǒng)中斷服務(wù)子程序流程圖 3.2 系統(tǒng)程序清單ORG 0000H;復(fù)位后程序如口地址 LJMP MAIN;跳至主程序 ORG 001BH;T1中斷入口地址設(shè)置 LJMP INT1_T1;跳至T1中斷服務(wù)子程序 MAIN: MOV SP,#60H MOV TMOD,#10H;確定T1為定時、八位定時器、外部引腳控制定時 MOV TH1,#00H;賦初值 MOV TL1,#4CH MOV P3,#0FFH MOV R1,#20 MOV P0,#0FFH MOV DPTR,#TAB;確定表首地址 MOV R0,#0 MOV R2,#00H MOV P1,#00H SETB ET1 ;中斷初始化 SETB EA LOOP: LCALL ANJIAN LCALL XIANSHI SJMP LOOP ANJIAN: JB P3.3,L4;判斷按鍵是否按下 LCALL DEL20MS;去抖動 JB P3.3,L4 MAIN1:CPL P1.0;蜂鳴器響 LCALL DEL20MS SETB P1.1 ;燈亮 INC R0 CJNE R0,#1,L1;為1啟動 SETB TR1 SJMP L3 L1: CJNE R0,#2,L2;為2暫停 CLR TR1 CLR P1.1 ;燈滅 SJMP L3 L2: CLR TR1 MOV R0,#00H MOV R2,#00H L3: JNB P3.3,L3 L4: RET XIANSHI:LCALL SEP MOV A,30H MOVC A,@A+DPTR;查表 CLR P2.1 | MOV P0,A ;顯示 LCALL DEL20MS SETB P2.1 MOV A,40H MOVC A,@A+DPTR; CLR P2.0 MOV P0,A ;顯示 LCALL DEL20MS SETB P2.0 RET SEP: MOV A,R2 MOV B,#10 DIV AB MOV 30H,B;個位 MOV 40H,A;十位 RET INT1_T1: ;T1中斷服務(wù)子程序 PUSH ACC;保護(hù)現(xiàn)場 PUSH PSW CLR TR1;關(guān)中斷 MOV TH1,#00H;延時50ms常數(shù)重置 MOV TL1,#4CH SETB TR1;開中斷 DJNZ R1,WAIT;判斷是否到1S MOV R1,#20;延時1s的常數(shù) INC R2 ;顯示值遞加 CJNE R2,#60,WAIT ;判斷是否到60s MOV R2,#0;秒數(shù)清零 WAIT: POP PSW;恢復(fù)現(xiàn)場 POP ACC RETI ;中斷返回
DEL20MS:MOV R3,#40 DE1:MOV R4,#250 DE2:DJNZ R4,DE2 DJNZ R3,DE1 ;延時20ms RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9 END |
4系統(tǒng)仿真
4.1 系統(tǒng)仿真過程在Proteus仿真軟件中按下開始按鈕,數(shù)碼管顯示“00”,按下按鍵S1(開始/停止),蜂鳴器響一聲、綠燈亮,與此同時數(shù)碼管開始計時;若計時未到59秒,按下按鍵S1,此時數(shù)碼管停止計時,蜂鳴器響一聲、綠燈滅,顯示當(dāng)前數(shù)值;再按下按鍵S1,蜂鳴器響一聲,數(shù)碼管顯示“00”;若計時到59秒未按下按鍵S1,數(shù)碼管再次循環(huán)顯示“00”。
圖4-1 系統(tǒng)仿真圖 4.2 系統(tǒng)仿真分析1.調(diào)試過程中遇到的問題: 在Proteus仿真軟件中我的仿真電路中的三極管起初選用了圖(2)三極管NPN,進(jìn)行仿真時三極管不導(dǎo)通數(shù)碼管無顯示,后來換了圖(1)三極管2N222進(jìn)行仿真時三極管導(dǎo)通數(shù)碼管正常顯示。分析原因可能是Proteus仿真軟件本身的誤差。 圖(1)三極管2N222 圖(2)三極管NPN 2.系統(tǒng)仿真時遇到的問題: 燈的問題 蜂鳴器的問題 3.系統(tǒng)有待提高和完善的地方
寫調(diào)試,仿真過程中出現(xiàn)的問題和解決,分點寫,也可以寫系統(tǒng)有待提高和完善的地方 (多次計時,顯示燈)
| 5 實訓(xùn)小結(jié)本次實訓(xùn)的我組抽到課題是:秒表的設(shè)計與仿真。在本學(xué)期做過類似的實驗,所以實現(xiàn)基本的計時功能沒有遇到太大的問題,主要在蜂鳴器和顯示燈的編程設(shè)計上遇到了一點難題。最后在同學(xué)的幫助下,完成了設(shè)計要求。 本次實訓(xùn)在單片機學(xué)習(xí)中我總結(jié)了以下幾點經(jīng)驗: 1)要學(xué)會參考書本的程序,系統(tǒng)認(rèn)知單片機的編程原則和編程語句,迅速提高自己的編程能力。 2)碰到問題可以借助網(wǎng)絡(luò)、圖書館資源來搜尋答案和對自己有幫助的問題,一定會有所收獲。 3)小組要團結(jié),小組之間要多交流。技術(shù)是靠不斷的積累和交流才會進(jìn)步的,大家集思廣益,能更快捷的找到問題所在,并解決問題。 通過這次單片機設(shè)計我不僅加深了對單片機的理解,并且將理論應(yīng)用到了實際當(dāng)中,同時也使我認(rèn)識到自身存在的不足之處,無論是理論上還是遇到問題的處理能力上都還有待提高,而且這也激發(fā)了我今后努力學(xué)習(xí)的興趣。發(fā)現(xiàn)問題、提出問題、分析問題、解決問題和實踐能力這些都會受益于我在以后的學(xué)習(xí)、工作和生活中。
| |
實習(xí)實訓(xùn)成績: 指導(dǎo)教師簽名:
2015年 11月22日 |
說明:報告包含實習(xí)實訓(xùn)內(nèi)容、過程、情況小結(jié)及心得體會、對實習(xí)實訓(xùn)的意見建議等。
0.png (55.35 KB, 下載次數(shù): 41)
下載附件
2018-4-19 23:43 上傳
全部資料51hei下載地址:
項目八.zip
(183.58 KB, 下載次數(shù): 15)
2018-4-19 11:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|