《微機(jī)原理與接口技術(shù)》搶答器課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告</p><p>  設(shè)計(jì)題目:競賽搶答器</p><p><b>  題目要求:</b></p><p>  開關(guān)K0-K7代表競賽搶答按鈕0-7號(hào),當(dāng)某個(gè)邏輯電平開關(guān)置“1”時(shí),相當(dāng)于某組搶答按鈕按下,在七段數(shù)碼管上將其組號(hào)(0-7)顯示出來,并使喇叭響一下。發(fā)一個(gè)脈沖開始下一輪搶答,按其

2、他鍵程序退出。同時(shí)考慮搶答允許時(shí)間,10秒內(nèi)有效,10秒之后無人搶答,本次搶答作廢。</p><p><b>  設(shè)計(jì)思路:</b></p><p>  搶答器設(shè)計(jì)可分為以下幾部分:開始搶答信號(hào)的接收;計(jì)時(shí)器的倒計(jì)時(shí);檢查搶答按鈕并顯示在數(shù)碼管上;任意鍵退出程序。</p><p>  對(duì)此,我們選用可編程并行接口芯片8255A,采用方式0,PA

3、接口做輸入,接收搶答信號(hào),并用PB接口做輸出通過編程將搶答組號(hào)輸出到數(shù)碼管顯示。PC接口用PC0接揚(yáng)聲器通過芯片控制其發(fā)聲,PC7接口接收開始的脈沖信號(hào),當(dāng)接收到高電平時(shí)開始一輪搶答。</p><p>  定時(shí)器我們選用可編程定時(shí)/計(jì)數(shù)器8254.,采用方式0在計(jì)數(shù)結(jié)束時(shí)產(chǎn)生正躍變信號(hào)。我們使用計(jì)數(shù)器0,其中GATE0接8255的PC1端口,高電平時(shí)開始計(jì)數(shù),OUT0接8255的PC6,CLK0接試驗(yàn)箱上的頻率為

4、1HZ的脈沖發(fā)生器,當(dāng)做1秒計(jì)時(shí)信號(hào)。</p><p>  編程對(duì)8255A初始化后,開始時(shí)由脈沖發(fā)生器產(chǎn)生一個(gè)正脈沖被8255A的PC7接收,8255A則通過PC1輸出高電平使定時(shí)器8254工作;這之前通過編程使8254實(shí)現(xiàn)10秒倒計(jì)時(shí)。</p><p>  當(dāng)8254開始計(jì)時(shí)時(shí),8255循環(huán)檢查PA端口和PC6端口,若有人搶答,則PA 端口有高電平輸入,此時(shí)若PC6仍然低電平,則搶答有

5、效,通過編好的程序判斷是第幾組搶答,并通過PB端口輸出一段01代碼使數(shù)碼管顯示組號(hào),同時(shí)PC0端口產(chǎn)生高電平使揚(yáng)聲器發(fā)聲;若循環(huán)時(shí)PA端口一直低電平而PC6產(chǎn)生高電平,說明時(shí)間已到,PC0端口產(chǎn)生高電平使揚(yáng)聲器發(fā)聲。</p><p>  揚(yáng)聲器發(fā)聲后,編程使8254定時(shí)2秒,并在時(shí)間到時(shí)OUT0發(fā)出高電平通知8255A使之將PC0輸出變?yōu)榈碗娖?,揚(yáng)聲器停止發(fā)聲。</p><p>  至此,

6、一輪搶答結(jié)束,插入一個(gè)任意鍵退出子程序,并等待脈沖信號(hào)開始下一輛搶答。</p><p><b>  設(shè)計(jì)電路原理圖</b></p><p><b>  程序流程圖</b></p><p><b>  是</b></p><p><b>  否</b><

7、;/p><p><b>  否</b></p><p>  是 否</p><p><b>  是</b></p><p><b>  程序清單</b></p><p>  MY82540 EQU 98

8、40H </p><p>  MY82541 EQU 9841H</p><p>  MY82542 EQU 9842H</p><p>  MY8254M EQU 9843H</p><p>  MY8255A EQU 9860H</p><p>  MY82

9、55B EQU 9861H</p><p>  MY8255C EQU 9862H</p><p>  MY8255M EQU 9863H ; 8254,8255宏定義</p><p>  DATA SEGMENT</p><p>  TAB DB 60H,0CAH,0F2H,66H,0B6

10、H,0BEH,0E0H,0FEH ; 控制七個(gè)數(shù)碼管 </p><p><b>  DATA ENDS</b></p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA </p><p>  START:MOV AX,DATA</p>&l

11、t;p><b>  MOV DS,AX</b></p><p>  MOV DX,MY8255M ;初始化8255</p><p>  MOV AL,10011000B</p><p><b>  OUT DX,AL</b></p><p>  RE:MOV DX,MY825

12、5C ; 檢查脈沖信號(hào)</p><p><b>  IN AL,DX</b></p><p>  AND AL,11000000B ;PC口工作方式 方式二</p><p><b>  JZ RE</b></p><p>  MOV DX,MY8254M ; 定

13、義8254方式</p><p>  MOV AL,00110001B ; 計(jì)數(shù)器0,先低八位在高八位,工作方式0,十進(jìn)制計(jì)數(shù)</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,MY82540 ; 定時(shí)10秒</p><p>  MOV AL,01100100B

14、 ; 延時(shí)100</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,MY8255C ; gate開啟</p><p>  MOV AL,00000101B</p><p><b>  OUT DX,AL</b></p

15、><p>  JCH: MOV DX,MY8255A ; 檢查是否有人按鍵</p><p><b>  IN AL,DX</b></p><p>  TEST AL,00000001B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p&g

16、t;<p>  TEST AL,00000010B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  TEST AL,00000100B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><

17、p>  TEST AL,00001000B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  TEST AL,00010000B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  T

18、EST AL,00100000B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  TEST AL,01000000B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  TEST AL,1

19、0000000B ; </p><p>  JNZ KAISHI ; 有則跳至kaishi</p><p>  MOV DX,MY8255C ; 檢查10秒是到</p><p><b>  IN AL,DX</b></p><p>  AND AL,00001010B&

20、lt;/p><p><b>  JZ JCH</b></p><p><b>  JNZ LABA</b></p><p>  KAISHI:MOV SI,0 ; 判斷哪個(gè)搶到</p><p>  YR: SHL AL, 1</p><p><b&

21、gt;  INC SI</b></p><p><b>  JNC YR</b></p><p><b>  DEC SI</b></p><p>  MOV AL,TAB[SI] ; 顯示搶到選手號(hào)碼</p><p>  MOV DX,MY8255B</p>

22、<p><b>  OUT DX,AL</b></p><p>  LABA:MOV DX,MY8255M ; 喇叭響</p><p>  MOV AL,00001100B ;用PC2.3控制喇叭</p><p><b>  OUT DX,AL</b></p>&l

23、t;p>  MOV DX,MY8254M ;8254計(jì)時(shí)2秒</p><p>  MOV AL,00010100B</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,MY82540 ;設(shè)置8254的計(jì)數(shù)初值</p><p>  MOV

24、 AL00010100B</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,MY8255M ;8255控制喇叭停止響</p><p>  MOV AL,00000000B</p><p><b>  OUT DX,AL</b></p&g

25、t;<p>  CALL BREAK </p><p><b>  JMP RE</b></p><p>  BREAK PROC NEAR ;任意鍵退出</p><p>  MOV AH,06H</p><p>  MOV DX,0FFH</p>

26、<p><b>  INT 21H</b></p><p><b>  JE RETURN</b></p><p>  MOV AX,4C00H</p><p><b>  INT 21H</b></p><p>  RETURN:RET</p>&

27、lt;p>  BREAK ENDP</p><p><b>  CODE ENDS</b></p><p>  END START </p><p><b>  實(shí)驗(yàn)日志:</b></p><p>  星期一(2011年12月12日):第一天集中上級(jí)我們對(duì)微機(jī)原理與接口技術(shù)課程設(shè)計(jì)的各

28、個(gè)題目進(jìn)行了分析與了解,并且確定了我們組的題目為競賽搶答器。 根據(jù)先前在理論課程上所學(xué)的理論知識(shí)和對(duì)題目經(jīng)過討論以后我們決定選用可編程并行接口芯片8255A和可編程計(jì)時(shí)/定時(shí)器8254作為主要元器件,隨后我們根據(jù)在《微機(jī)原理與接口技術(shù)》的隨堂實(shí)驗(yàn)上所學(xué)的知識(shí)對(duì)PC機(jī)上8254和8255芯片進(jìn)行驗(yàn)證。</p><p>  星期二(2011年12月13日):今天我們主要的任務(wù)是完成昨天未完成的對(duì)8254和8255的性

29、能測(cè)試,由于實(shí)驗(yàn)室大多的實(shí)驗(yàn)箱都有問題,所以基本上這一天的時(shí)間我們都在不同的實(shí)驗(yàn)箱上驗(yàn)證芯片,用作最后測(cè)試用。</p><p>  星期三(2011年12月14日):根據(jù)前兩天的的驗(yàn)證試驗(yàn)以及我們對(duì)8255和8254的基本性能了解,在課后我們理出了基本設(shè)計(jì)思路和實(shí)驗(yàn)電路框圖,今天我們主要的任務(wù)是能夠把實(shí)驗(yàn)的源代碼編寫出來,在程序編寫過程中我們必須注意:8255和8254的工作方式及8255的循環(huán)接口,特別注意芯片

30、的初始化和宏定義,以及計(jì)數(shù)初值、各種計(jì)數(shù)端口和8254的定時(shí)功能。</p><p>  星期四(2011年12月15日):今天我們先是在TDDEBUG軟件下對(duì)自己所寫的程序代碼進(jìn)行了編寫,對(duì)其中出現(xiàn)的語法錯(cuò)誤和書寫錯(cuò)誤進(jìn)行了修改 。并且搭建了實(shí)驗(yàn)電路進(jìn)行了調(diào)試,由于時(shí)間不足所以在最后我們也未能完成整個(gè)調(diào)試過程和完成搶答器的工作。</p><p>  星期五(2011年12月16日:最后一天

31、的調(diào)試,搶答器的功能還是不能很好體現(xiàn)。檢查程序,不能發(fā)現(xiàn)明顯錯(cuò)誤。</p><p><b>  心得體會(huì)</b></p><p>  同學(xué)一心得體會(huì):經(jīng)過本次課程設(shè)計(jì),讓我認(rèn)識(shí)到理論知識(shí)在實(shí)踐中的重要性。在實(shí)驗(yàn)過程中我也對(duì)8255和8254的初始化過程有了更加深入的了解,與此同時(shí)我也看到課堂上學(xué)到的理論知識(shí)在實(shí)驗(yàn)中是遠(yuǎn)遠(yuǎn)不夠,我們?cè)谄綍r(shí)學(xué)習(xí)當(dāng)中一定要注意多掌握一些出課

32、本之外的知識(shí)。與此同時(shí)一周的設(shè)計(jì),讓我們更深入的理解了可編程并行接口芯片8255A和可編程計(jì)時(shí)/定時(shí)器8254的工作原理和工作方式,知道了數(shù)碼管的顯示方法,了解了計(jì)算機(jī)主板構(gòu)成、接口技術(shù)及其應(yīng)用編程方法以及中斷的應(yīng)用。當(dāng)然團(tuán)隊(duì)協(xié)作精神以及認(rèn)真細(xì)致有耐心的學(xué)習(xí)態(tài)度也是此次實(shí)驗(yàn)必不可少的因素,總之本次實(shí)驗(yàn)鍛煉了我們分析問題、解決問題的綜合能力,為我們今后的學(xué)習(xí)和工作奠定了基礎(chǔ),讓我們受益匪淺。</p><p>  同

33、學(xué)二實(shí)驗(yàn)心得:通過微機(jī)原理一周的課程設(shè)計(jì),進(jìn)一步加深了我對(duì)8254.8255的初始化及其應(yīng)用,在熟練檢測(cè)芯片基本功能及檢測(cè)基礎(chǔ)上更深一步學(xué)會(huì)了如何將他們應(yīng)用到我的生活中,本次課程設(shè)計(jì),不僅鞏固了我的課本理論知識(shí),更切實(shí)的將學(xué)到的東西應(yīng)用到了我們的生活,感覺到這些簡單的科技離我們并不遙遠(yuǎn),學(xué)以致用才是我們學(xué)習(xí)的根本。在設(shè)計(jì)的過程中最頭痛的是如何編寫實(shí)現(xiàn)8254.8255功能的程序代碼,由于是第一次用匯編編寫實(shí)用性的綜合性功能,還遇到一些在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論