微機原理課程設(shè)計(共24頁)_第1頁
微機原理課程設(shè)計(共24頁)_第2頁
微機原理課程設(shè)計(共24頁)_第3頁
微機原理課程設(shè)計(共24頁)_第4頁
微機原理課程設(shè)計(共24頁)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程設(shè)計報告( 年度第 一 學(xué)期)課 程: 微機原理及應(yīng)用 題 目: 模擬汽車限速 院 系: 自動化系 班 級: 自動化1302 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 設(shè)計周數(shù): 一周 成 績: 日期:年 月 日專心-專注-專業(yè)微機原理及應(yīng)用課程設(shè)計任 務(wù) 書一、 目的與要求1 通過對微機系統(tǒng)分析和具體設(shè)計,使學(xué)生加深對所學(xué)課程的理解。2 掌握匯編語言程序設(shè)計的基本方法和典型接口電路的基本設(shè)計方法。3 培養(yǎng)學(xué)生分析問題、解決問題的能力。4 培養(yǎng)學(xué)生對微型計算機應(yīng)用系統(tǒng)的基本設(shè)計能力。5 提高學(xué)生的實踐動手能力和創(chuàng)新能力。二、 主要內(nèi)容1 模擬汽車限速2 針對所選擇的設(shè)計題

2、目進行硬件設(shè)計,合理選用所需元器件,繪制系統(tǒng)結(jié)構(gòu)框圖、硬件接線圖,并在實驗系統(tǒng)上完成電路的連接和調(diào)試。3 根據(jù)所選題目的要求對微機系統(tǒng)進行程序設(shè)計,繪制程序總體流程圖并編寫源程序上機調(diào)試。4 寫出課程設(shè)計報告,對整個設(shè)計過程進行歸納和綜合,對設(shè)計中所存在的問題和不足進行分析和總結(jié),提出解決的方法、措施、建議和對這次設(shè)計實踐的認識和收獲。三、 進度計劃序號設(shè)計內(nèi)容完成時間備注1選擇課程設(shè)計題目,查閱相關(guān)資料2016年1月11日2進行軟硬件設(shè)計2016年1月11日3上機調(diào)試2016年1月13日4撰寫設(shè)計報告2016年1月14日5演示及答辯2016年1月15日四、 設(shè)計成果要求1 系統(tǒng)硬件設(shè)計合理,

3、軟件編程達到設(shè)計要求。2 系統(tǒng)硬件結(jié)構(gòu)圖和軟件流程圖繪制清楚規(guī)范。3 設(shè)計報告完整規(guī)范。五、 考核方式根據(jù)設(shè)計任務(wù)的完成情況、課程設(shè)計報告撰寫情況及演示答辯情況采用五級記分制評定成績。 一、課程設(shè)計目的與要求1 通過對微機系統(tǒng)分析和具體設(shè)計,使學(xué)生加深對所學(xué)課程的理解。2 掌握匯編語言程序設(shè)計的基本方法和典型接口電路的基本設(shè)計方法。3 培養(yǎng)學(xué)生分析問題、解決問題的能力。4 培養(yǎng)學(xué)生對微型計算機應(yīng)用系統(tǒng)的基本設(shè)計能力。5 提高學(xué)生的實踐動手能力和創(chuàng)新能力。二、課程設(shè)計正文1.設(shè)計題目:模擬汽車限速2.設(shè)計思想1)總體設(shè)計方案本設(shè)計主要是模擬汽車限速,通過統(tǒng)計開關(guān)次數(shù)判斷汽車處于何種狀態(tài)并用LED

4、燈及點陣顯示出來,并用按鍵“0”結(jié)束系統(tǒng),按鍵“1”重啟系統(tǒng)。8253的計數(shù)器0、1分別工作在方式0(計數(shù))、3(方波);用8259來申請中斷;8255用來輸出紅綠燈狀態(tài);用1片74138和4片74574模擬實驗箱上16*16點陣的內(nèi)部電路設(shè)計,用來顯示字符;用幾個邏輯門電路和74373/74245芯片模擬實驗箱上6位7段數(shù)碼管的內(nèi)部電路,并其進行位選。2)系統(tǒng)主要功能手動開關(guān)模擬行車速度,每按動開關(guān)一次產(chǎn)生一次中斷,統(tǒng)計按的次數(shù),每10秒采集一次統(tǒng)計結(jié)果。并用數(shù)碼管不斷做精確的10秒倒計時,若按開關(guān)次數(shù)在6次以內(nèi)(包括6次),亮綠燈、16*16點陣顯示“安全”;若超過6次(不包括6次),亮黃

5、燈報警、16*16點陣顯示“超速”;若超過8次(不包括8次),亮紅燈表示攔截、揚聲器報警而且16*16點陣顯示“違規(guī)”。3.系統(tǒng)工作原理介紹1.硬件接口電路設(shè)計(1)74HC138總譯碼電路如下圖,A15需維持1才能保證74HC138正常工作,則、分別對應(yīng)地址8000H-8FFFH、9000H-9FFFH、0A000H-0AFFFH、0B000H-0BFFFH、0C000H-0CFFFH。(2)16*16點陣的片選地址為0C000H,則接入其.注:數(shù)據(jù)總線低8位AD0.7即偶存儲體傳輸數(shù)據(jù),即8086的A0需維持0,導(dǎo)致8086的A2、A1接入74HC138的B、A,則16*16點陣的列低八位

6、(CLCK)、列高八位(CHCK)、行低八位(RLCK)、行高八位(RHCK)地址分別為0C000H、0C002H、0C004H、0C006H。 (3)6位7段數(shù)碼管的片選地址為0B000H,則接入。注:數(shù)據(jù)總線低8位AD0.7即偶存儲體傳輸數(shù)據(jù),即8086的A0需維持0,導(dǎo)致8086的A3、A2、A1分別接入三個與非門,則數(shù)碼管位選/鍵盤列輸出(OUTBIT)、數(shù)碼管段選(OUTSEG)地址分別為0B004H、0B008H。(4)8253A的片選地址為0A000H,則接入。計數(shù)器0、1分別工作在方式0(計數(shù))、3(方波)A.CLK0、CLK1接入125 kHz的時鐘源;B.OUT0持續(xù)輸出低

7、電平直至2ms后變高電平,OUT1輸出的2500Hz方波接出蜂鳴器;C.GATE0接入電源保證計數(shù)器0能持續(xù)計數(shù),GATE1接入Q3即8255的PA3口。 注:數(shù)據(jù)總線低8位AD0.7即偶存儲體傳輸數(shù)據(jù),即8086的A0需維持0,導(dǎo)致8086的A2、A1接入8253A的A1、A0,則8253A的計數(shù)器0、計數(shù)器1、控制器地址分別為A000H、A002H、A006H。 (5)8255A的片選地址為8000H,則接入。A. PA口輸出數(shù)據(jù):PA3、PA2、PA1、PA0分別接出8253的GATE1(控制計數(shù)器1是否工作,即決定蜂鳴器是否發(fā)聲)、紅色LED、黃色LED、綠色LED(控制LED的亮滅)

8、;B. PB口讀入數(shù)據(jù):PB0接入8253的OUT0(通過讀入OUT0狀態(tài),判斷是否已到2ms)。注:數(shù)據(jù)總線低8位AD0.7即偶存儲體傳輸數(shù)據(jù),即8086的A0需維持0,導(dǎo)致8086的A2、A1接入8255A的A1、A0,則8255A的PA口、PB口、控制器地址分別為8000H、8002H、8006H。 (6)Proteus的8086模型取的中斷號是最后一次IO操作時總線上的數(shù)據(jù), 而非 8259 設(shè)置的中斷號。擔心這個缺陷給后續(xù)仿真帶來影響,故Proteus中暫時不使用8259A,直接向8086的NMI端接入中斷請求信號(由開關(guān)提供),上升沿觸發(fā)中斷。但在實驗室中需由8259A提供中斷申請

9、,電路也需做出修改。8259A的片選地址為9000H,則接入IR2端輸入中斷請求信號(由開關(guān)提供)上升沿觸發(fā)。5.系統(tǒng)調(diào)試結(jié)果1.上一個10s之內(nèi)不按開關(guān),結(jié)果為:綠燈亮,16*16點陣滾動顯示“安全”。2. 上一個10s之內(nèi)按7次開關(guān),結(jié)果為:黃燈亮,16*16點陣滾動顯示“超速”。3.上一個10s之內(nèi)按12次開關(guān),結(jié)果為:紅燈亮,蜂鳴器發(fā)出響聲,16*16點陣滾動顯示“違規(guī)”。三、課程設(shè)計總結(jié)1)問題分析與總結(jié)在實驗室搭建硬件電路要注意與Proteus上的區(qū)別,有些是在proteus上可以連接的,但在實驗箱上是沒有的。比如NMI中斷,又比如在Proteus上5253芯片有3個計數(shù)器,但在實

10、驗箱上只有2個計數(shù)器。在實驗箱上16*16點陣是可以顯示完整的漢字的,但在Proteus上第8列單步運行時是可以被點亮,但全速運行時不能被點亮,這個問題目前還沒有被解決。也是在Proteus仿真中,點陣顯示個別漢字時仍看得到閃爍,證明動態(tài)顯示做得不夠好,嘗試過幾種方法,比如:掃描換為列掃描;考慮可能是未消隱帶來影響,掃描下一行前,關(guān)掉所有行;原意為2ms掃描一行(對應(yīng)頻率為31.25Hz),實際上還需執(zhí)行其他指令,會延長掃描時間即降低頻率,可能會到達人眼可分辨的區(qū)間內(nèi),故試圖1ms掃描一行,但1s計數(shù)次數(shù)CX增加至512左右時程序會跑飛,且暫時原因不明,目前尚未能解決這個問題。2)實驗心得本次

11、試驗從最開始的嘗試到最后全部完成,歷經(jīng)很長時間,做了很多努力,讓我們都非常欣慰,在做實驗的過程中,不斷嘗試,優(yōu)化,大大提高了我們對專業(yè)知識的掌握,設(shè)計的過程雖然有點辛苦,但都很開心,我認為這點很重要。希望每次的實驗都可以從興趣而發(fā),以樂趣結(jié)束,不再為書本而苦惱。相信我們也會越做越好。另外感謝老師的耐心指導(dǎo)和周圍同學(xué)們的無私幫助,給了我們很大的幫助。四、參考文獻 1 馬平,姚萬業(yè),微機原理及應(yīng)用,北京:中國電力出版社,2002.12附錄(設(shè)計流程圖、程序等)設(shè)計流程圖:源程序及注釋;Proteus:加入數(shù)碼管,2ms列掃描點陣,使用NMI中斷A8255 EQU 8000H ;8255的PA口地址

12、B8255 EQU 8002H ;8255的PB口地址K8255 EQU 8006H ;8255控制器地址O8259 EQU 9000H ;8259偶地址J8259 EQU 9002H ;8259奇地址J8253_0 EQU 0A000H ;8253計數(shù)器0地址J8253_1 EQU 0A002H ;8253計數(shù)器1地址K8253 EQU 0A006H ;8253控制器地址KEYIN EQU 0B002H ;鍵盤行讀入OUTBIT EQU 0B004H ;數(shù)碼管位選/鍵盤列輸出地址OUTSEG EQU 0B008H ;數(shù)碼管段選地址COLLOW EQU 0C000H ;點陣列低八位地址COLH

13、IGH EQU 0C002H ;點陣列高八位地址 ROWLOW EQU 0C004H ;點陣行低八位地址ROWHIGH EQU 0C006H ;點陣行高八位地址CODE SEGMENT ASSUME CS:CODESTART:CLI ;關(guān)中斷;8253A初始化(CLK0=CLK1=Hz) MOV DX,K8253 MOV AL,30H ;B OUT DX,AL ;計數(shù)器0:工作方式0(計數(shù))+二進制 MOV AL,76H ;B OUT DX,AL ;計數(shù)器1:工作方式3(方波)+二進制 MOV DX,J8253_0 MOV AL,0FAH ;計數(shù)器0預(yù)置值250=0FAH OUT DX,AL

14、;計數(shù)器0持續(xù)低電平直至2ms后變高電平 MOV AL,00H OUT DX,AL MOV DX,J8253_1 MOV AL,32H ;計數(shù)器1預(yù)置值50=32H OUT DX,AL ;計數(shù)器1輸出2500Hz方波 MOV AL,00H OUT DX,AL;8255初始化 MOV DX,K8255 MOV AL,82H ;B=82H OUT DX,AL ;A口方式0輸出,B口方式0輸入;非規(guī)范裝入NMI中斷向量 MOV AX,0 MOV DS,AX ;中斷向量表段基址0000H MOV BX,02H*4 ;BX為NMI即2號中斷向量指針 MOV AX,OFFSET INTP MOV BX,A

15、X INC BX INC BX MOV AX,SEG INTP ;中斷子程序INTP入口地址 MOV BX,AX ;放入NMI中斷向量表2號;主程序 MOV DX,A8255 MOV AL,00H ;LED全滅+計時器2停止工作 OUT DX,AL MOV AX,DATA MOV DS,AX STI ;開中斷 L8: MOV BH,5 ;速度標志初始化為5;等待定時時間到L0: MOV DI,0 ;中斷統(tǒng)計次數(shù)初始化為0 MOV BL,10 ;10s計數(shù)次數(shù)初始化為10L1: MOV CX,0 ;1s計數(shù)次數(shù)初始化為0L2: MOV DX,B8255 IN AL,DX ;讀OUT0即PB0口狀

16、態(tài) AND AL,01H ;屏蔽PB口高7位 CMP AL,1 ;OUT0輸出高電平則2ms到 JNZ L2 ;2ms到則重新啟動計數(shù)器0 MOV DX,K8253 MOV AL,30H ;B OUT DX,AL ;計數(shù)器0:工作方式0(計數(shù))+二進制 MOV DX,J8253_0 MOV AL,0FAH ;計數(shù)器0預(yù)置值250=0FAH OUT DX,AL MOV AL,00H OUT DX,AL ;考慮7段數(shù)碼管顯示 CMP BL,9 JLE L6 ;BL=9轉(zhuǎn)到L6 CALL SMG1 ;BL=10調(diào)用SMG1;考慮16*16點陣顯示L6: CMP BH,5 JE L3 ;BH=5轉(zhuǎn)到L

17、3 CALL DIAN ;BH!=5調(diào)用DIANL3: INC CX CMP CX,500 JNZ L2 ;CX=500則1s到 MOV DX,OUTBIT MOV AL,0DFH ;B OUT DX,AL ;低電平掃描第1列 MOV DX,KEYIN IN AL,DX ;讀第1列的行鍵 NOT AL AND AL,0FH ;屏蔽無用的高4行 CMP AL,1 JNE L7 CALL STOP ;AL=1(即按下鍵0)調(diào)用STOP JMP L8L7: CALL SMG2 ;調(diào)用SMG2 DEC BL JNZ L1 ;BL=0則10s到;空,空,空,空,聲,紅,黃,綠(高電平:點燈+計時器1輸出

18、方波) CMP DI,8 JG L5 CMP DI,6 JG L4 MOV DX,A8255 MOV AL,01H ;B OUT DX,AL ;DI=6即未超速,點綠燈 MOV BH,0 JMP L0L4: MOV DX,A8255 MOV AL,02H ;B OUT DX,AL ;6DI8即嚴重超速,點紅燈+啟動揚聲器 MOV BH,2 JMP L0;按下鍵0停止系統(tǒng)子程序STOP PROC NEAR;關(guān)閉LED和揚聲器 MOV DX,A8255 MOV AL,00H OUT DX,AL;關(guān)閉6位數(shù)碼管 MOV DX,OUTSEG MOV AL,00H OUT DX,AL;關(guān)閉點陣所有列 M

19、OV AL,0FFH MOV DX,COLLOW OUT DX,AL MOV DX,COLHIGH OUT DX,AL;查詢按鍵1是否按下(即重啟系統(tǒng))T0: MOV DX,OUTBIT MOV AL,0DFH ;B OUT DX,AL ;低電平掃描第1列 MOV DX,KEYIN IN AL,DX ;讀第1列的行鍵 NOT AL AND AL,0FH ;屏蔽無用的高4行 CMP AL,2 JNE T0 RET ;AL=2(即按下鍵1)返回STOP ENDP;數(shù)碼管動態(tài)顯示10子程序SMG1 PROC NEAR PUSH CX MOV AX,CX ;AX=CX MOV CL,2 ;CL=2 D

20、IV CL ;AX%CL=CX%2=AH CMP AH,0 JNZ S1S0: MOV DX,OUTBIT MOV AL,01H ;B選WEI0 OUT DX,AL MOV DX,OUTSEG MOV AL,3FH ;顯示0 OUT DX,AL JMP S3S1: MOV DX,OUTBIT MOV AL,02H ;B選WEI1 OUT DX,AL MOV DX,OUTSEG MOV AL,06H ;顯示1 OUT DX,ALS3: POP CX RETSMG1 ENDP;數(shù)碼管靜態(tài)顯示91子程序SMG2 PROC NEAR PUSH BX MOV BH,0 DEC BL ;BX=BL MOV

21、 SI,BX ;SI=BX=BL LEA BX,SMGDM MOV DX,OUTBIT MOV AL,01H ;B選WEI0 OUT DX,AL MOV DX,OUTSEG MOV AL,BX+SI ;顯示 OUT DX,AL POP BX RETSMG2 ENDP;點陣動態(tài)顯示漢字子程序DIAN PROC NEAR PUSH CX PUSH BX;選出要掃描的列(每隔4ms掃描下列) MOV AX,CX MOV CL,16 DIV CL ;AX%CL=CX%16=AH MOV CL,AH ;CL存放右移次數(shù);選出本列要輸出的行數(shù)據(jù) SHL AH,1 MOV AL,AH ;AL=AH*2 MO

22、V AH,0 MOV SI,AX ;SI存放行數(shù)據(jù)的相對位置;向要掃描的列放入低電平 MOV AX,7FFFH ;11111B ROR AX,CL MOV DX,COLLOW OUT DX,AL MOV DX,COLHIGH MOV AL,AH OUT DX,AL;選擇要輸出哪組字:安全,超速,違規(guī) SHL BH,1 SHL BH,1 ;BH=BH*4 MOV CL,BH ;CL存放組相對TABLE的位置;選擇本組要輸出的字(第1、第2個字隔1s輸出) MOV BH,0 MOV AX,BX MOV BL,2 DIV BL ;BL%2=AH SHL AH,1 ;AH存放字相對組的位置 ADD C

23、L,AH MOV CH,0 ;CX存放字相對TABLE的位置 PUSH SI MOV SI,CX LEA BX,TABLE MOV CX,BX+SI MOV BX,CX ;BX存放字相對DATA的位置 POP SI;高電平選擇輸出的行 MOV DX,ROWHIGH MOV AL,BX+SI OUT DX,AL MOV DX,ROWLOW MOV AL,BX+SI+1 OUT DX,AL POP BX POP CX RETDIAN ENDP;中斷服務(wù)子程序INTP PROC NEAR INC DI IRETINTP ENDPCODE ENDS ;CODE邏輯段結(jié)束DATA SEGMENT ;DA

24、TA邏輯段開始;共陰極數(shù)碼管段碼表SMGDM DB 3FH,06H,5BH,4FH ;0-7 DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH ;8-F DB 39H,5EH,79H,71H;字模低電平列掃描,高電平點亮行(先輸出高8位,后輸出低8位);安Z1_0 DB 01H,00H,09H,01H,31H,01H,21H,21H DB 21H,62H,21H,92H,0AFH,14H,61H,08H DB 21H,08H,21H,34H,21H,0C4H,21H,02H DB 29H,01H,31H,00H,01H,00H,00H,00H;全Z1_1 DB 01H

25、,00H,01H,02H,02H,02H,04H,22H DB 0AH,22H,12H,22H,22H,22H,0C3H,0FEH DB 22H,22H,12H,22H,0AH,22H,04H,22H DB 02H,02H,01H,02H,01H,00H,00H,00H;超Z2_0 DB 02H,01H,12H,06H,12H,0F8H,12H,04H DB 0FFH,0FEH,12H,22H,12H,22H,42H,02H DB 45H,0F2H,79H,12H,41H,12H,45H,12H DB 43H,12H,7DH,0F2H,00H,02H,00H,00H;速Z2_1 DB 02H,

26、00H,02H,02H,42H,04H,33H,0F8H DB 00H,04H,20H,12H,2FH,22H,29H,42H DB 29H,82H,0FFH,0FAH,29H,82H,29H,42H DB 2FH,22H,20H,12H,00H,02H,00H,00H ;違 Z3_0 DB 02H,02H,42H,04H,33H,0F8H,00H,04H DB 20H,82H,24H,82H,24H,82H,24H,82H DB 0FFH,0FEH,24H,82H,24H,82H,24H,92H DB 24H,8AH,20H,0F2H,00H,02H,00H,00H;規(guī)Z3_1 DB 01H,02H,11H,04H,11H,18H,0FFH,0E0H DB 11H,10H,11H,0DH,01H,02H,7FH,0C4H DB 40H,18H,40H,60H,4FH,80H,40H,7EH DB 40H,01H,7FH,0C1H,00H,07H,00H,00H;字模表(1個字占2字節(jié),1組字占4字節(jié))TABLE DW Z1_0,Z1_1,Z2_0,Z2_1,Z3_0,Z3_1DATA ENDS ;DATA邏輯段結(jié)束 END START ;源程序結(jié)束在實驗室中,代碼須作出以下修改:;地址修改A8255 EQU 8000H

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論