2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  青島理工大學(xué)</b></p><p>  《單片機(jī)原理及接口技術(shù)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  目 錄</b></p><p>  引言………………………………………………………………(2)&l

2、t;/p><p>  一、設(shè)計(jì)任務(wù)及要求…………………………………………………(2)</p><p>  二、步驟及方案………………………………………………………(2)</p><p>  (1)方案…………………………………………………………………………(2)</p><p>  (2)設(shè)計(jì)步驟…………………………………………………………………

3、…(4)</p><p>  三、硬件設(shè)計(jì)…………………………………………………………(4)</p><p> ?。?)總體設(shè)計(jì)電路圖…………………………………………………………(4)</p><p> ?。?)搶答器電路………………………………………………………………(4)</p><p> ?。?)時(shí)序控制電路……………………………………

4、………………………(5)</p><p>  (4)復(fù)位電路…………………………………………………………………(5)</p><p>  (5)報(bào)警電路…………………………………………………………………(6)</p><p>  (6)LED數(shù)碼顯示器和驅(qū)動(dòng)電路……………………………………………(6)</p><p>  四、軟件設(shè)計(jì)…………

5、………………………………………………(6)</p><p>  (1)程序流程圖………………………………………………………………(6)</p><p>  (2)顯示和查詢子程序………………………………………………………(7)</p><p>  (3)搶答處理子程序…………………………………………………………(8)</p><p>  (4

6、)倒計(jì)時(shí)子程序……………………………………………………………(12)</p><p> ?。?)報(bào)警子程序……………………………………………………………(12)</p><p>  五、Proteus軟件調(diào)試仿真…………………………………………(12)</p><p> ?。?)調(diào)試過(guò)程………………………………………………………………(12)</p>

7、<p> ?。?)仿真結(jié)果………………………………………………………………(12)</p><p>  六、心得體會(huì)…………………………………………………………(14)</p><p>  七、參考文獻(xiàn)…………………………………………………………(15)</p><p>  附錄………………………………………………………………(16)</p>

8、<p><b>  引言</b></p><p>  基于MCS-51系列單片機(jī)AT89C51的一種搶答器.該電路采用AT89C51單片機(jī)的四個(gè)8位并行I/O接口連接各個(gè)控制電路來(lái)實(shí)現(xiàn)搶答功能.該電路設(shè)計(jì)簡(jiǎn)單,進(jìn)行簡(jiǎn)單更改便可實(shí)現(xiàn)對(duì)8組或8組以下的人員搶答.應(yīng)用很廣泛.</p><p><b>  一、設(shè)計(jì)任務(wù)及要求</b></

9、p><p><b>  (1)、設(shè)計(jì)任務(wù)</b></p><p>  基于MCS-51系列單片機(jī)AT89C51,設(shè)計(jì)一個(gè)多功能八路搶答器</p><p><b> ?。?)、設(shè)計(jì)要求</b></p><p>  1)搶答器同時(shí)供8名選手或8個(gè)代表比賽,分別用8個(gè)按鈕K1~K8。</p>&

10、lt;p>  2)設(shè)置一個(gè)系統(tǒng)清除和搶答控制開(kāi)關(guān)K0,該開(kāi)關(guān)由主持人控制。</p><p>  3)搶答器具有鎖存功能與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號(hào),并在優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。</p><p>  4)主持人按下?lián)尨稹伴_(kāi)始”按鈕,搶答開(kāi)始。</p><p>  5)當(dāng)某一路搶答成功時(shí),在數(shù)碼管上顯示成功信息和該路的號(hào)數(shù);

11、</p><p>  6)當(dāng)某一路搶答違規(guī)時(shí),能在數(shù)碼管上顯示違規(guī)信息和該路的號(hào)數(shù);</p><p>  7)@具有定時(shí)搶答發(fā)功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動(dòng)“開(kāi)始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間0.5秒左右。</p><p>  8)@參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯

12、示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。</p><p>  9)@如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。</p><p><b>  10)☆其它功能。</b></p><p><b>  二、步驟及方案</b></p><p><

13、;b>  (1)、方案</b></p><p>  用P0口連接上拉電阻,完成驅(qū)動(dòng)LED數(shù)碼顯示管的顯示功能;用P1口串接按鍵,可由選手自己控制搶答機(jī)會(huì);利用P3口的RXD、TXD做控制開(kāi)關(guān)。編寫(xiě)簡(jiǎn)單的匯編語(yǔ)言程序,導(dǎo)入單片機(jī),以達(dá)到搶答功能,若有選手進(jìn)行了犯規(guī)搶答,蜂鳴器會(huì)發(fā)出聲響,以告訴主持人有人違規(guī),搶答無(wú)效并進(jìn)行系統(tǒng)清除,重新開(kāi)始進(jìn)行搶答,并顯示除搶答倒計(jì)時(shí),當(dāng)時(shí)間剩余5秒時(shí)蜂鳴器發(fā)出聲

14、響以提醒選手趕快搶答。選手按正確的操作搶答,單片機(jī)倒計(jì)時(shí),利用AT89C51移位寄存8段數(shù)碼管,實(shí)現(xiàn)倒計(jì)時(shí)顯示時(shí)間,當(dāng)時(shí)間剩余5秒時(shí)提醒選手時(shí)間快到了,要及時(shí)作答,并啟動(dòng)蜂鳴器。若搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)為零,則顯示初始化狀態(tài).</p><p>  元件清單:MCS-51系列單片機(jī)AT89C51、4位LED數(shù)碼管(共陽(yáng))、普通按鈕Button、喇叭Sounder、晶振、排電阻(10K)上拉電阻和電容等。</p

15、><p><b>  總設(shè)計(jì)原理框架圖:</b></p><p><b>  單片機(jī)選擇:</b></p><p>  AT89C51作為搶答電路系統(tǒng)的核心器件。該器件是INTEL公司生產(chǎn)的MCS-51系列單片機(jī)的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù),具有高性能的8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的CMOS產(chǎn)品。不僅結(jié)合

16、了HMOS的高速和高密度技術(shù)及HMOS的低功耗特征,而且繼承和擴(kuò)展了MCS-48單片機(jī)的體系結(jié)構(gòu)和指令系統(tǒng)。</p><p> ?、貯T89C51單片機(jī)的主要特征:</p><p>  A、與MCS-51兼容,4K字節(jié)可編程閃爍存儲(chǔ)器;</p><p>  b、靈活的在線系統(tǒng)編程,掉電標(biāo)識(shí)和快速編程特性;</p><p>  c、壽命為100

17、0次寫(xiě)/擦周期,數(shù)據(jù)保留時(shí)間可10年以上;</p><p>  d、全靜態(tài)工作模式:0HZ~33HZ;</p><p>  e、三級(jí)程序存儲(chǔ)器鎖定;f128×8位內(nèi)部RAM,32位可編I/O線;</p><p>  g、兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,4個(gè)8位并行的I/O接口,1個(gè)全雙工I/O接口。</p><p>  h、有

18、位尋址功能、適于布爾處理的位處理機(jī)。</p><p><b> ?、趩纹瑱C(jī)與報(bào)警電路</b></p><p>  系統(tǒng)中的報(bào)警電路是由發(fā)光二極管和限電流電阻組成,并與單片機(jī)的P1.2端口連接。P1端口的作用和接線方法與P2端口相同,不同的是Flash編程和程序校驗(yàn),P1接收低8位地址數(shù)據(jù)。</p><p><b> ?、鄢绦虼鎯?chǔ)器&l

19、t;/b></p><p>  本系統(tǒng)的所需的沒(méi)有必要外擴(kuò)程序存儲(chǔ)器,所以不用考慮存儲(chǔ)器擴(kuò)充容量的大小,單片機(jī)本身的存儲(chǔ)器就已足夠。</p><p><b>  ④數(shù)據(jù)存儲(chǔ)器</b></p><p>  根據(jù)系統(tǒng)的功能要求,不需擴(kuò)展外部RAM,89C51本身的RAM就能滿足要求。</p><p><b>

20、  ⑤I/O接口芯片</b></p><p>  根據(jù)系統(tǒng)的功能要求,I/O接口芯片的也不需進(jìn)行擴(kuò)展。</p><p><b> ?、蘅偩€驅(qū)動(dòng)能力</b></p><p>  MCS-51系列單片機(jī)的外部擴(kuò)展功能很強(qiáng),但4個(gè)8位并行的帶負(fù)載的能力是有限的。P0口能驅(qū)動(dòng)8個(gè)TTL電路,P1~P3口只能驅(qū)動(dòng)3個(gè)TTL電路。在實(shí)際運(yùn)用中,

21、這些端口的負(fù)載不應(yīng)超過(guò)總負(fù)載能力的70%,以保證留有一定的余量,以增強(qiáng)系統(tǒng)的抗干擾能力,在外接負(fù)載較多的情況下,應(yīng)采用總線驅(qū)動(dòng)電路,以提高端口的驅(qū)動(dòng)能力和抗干擾能力</p><p><b>  (2)步驟</b></p><p>  1) 確定方案后,繪制總設(shè)計(jì)電路圖,并選擇適當(dāng)?shù)脑?huà)出設(shè)計(jì)圖;</p><p>  2)編寫(xiě)匯編語(yǔ)言程序,并進(jìn)

22、行認(rèn)真修改和調(diào)試;</p><p>  3)將程序?qū)雴纹瑱C(jī),并進(jìn)行仿真;</p><p>  4)成功完成所需功能后進(jìn)行整理,并書(shū)寫(xiě)報(bào)告總結(jié).</p><p><b>  三、硬件設(shè)計(jì)</b></p><p><b> ?。?)總設(shè)計(jì)電路圖</b></p><p><

23、b>  (2)搶答器電路</b></p><p>  該電路完成兩個(gè)功能:一是分辨出選手按鍵的先后,并鎖存有縣搶答者的編號(hào),同時(shí)譯碼顯示電路顯示編號(hào);二是禁止其他選手按鍵,即使其他選手操作無(wú)效。搶答器具有鎖存、定時(shí)、顯示和報(bào)警功能。</p><p><b>  (3)時(shí)序控制電路</b></p><p>  時(shí)序控制電路是搶答

24、器設(shè)計(jì)的關(guān)鍵,它要完成的功能是:一、主持人按動(dòng)“開(kāi)始”按鍵KO時(shí),搶答電路和定時(shí)電路進(jìn)入正常搶答狀態(tài)。二、當(dāng)主持人未按動(dòng)“開(kāi)始”按鍵,但有參賽選手按動(dòng)搶答鍵時(shí),蜂鳴器聲響,搶答電路和定時(shí)電路停止工作。</p><p><b>  (4)復(fù)位電路</b></p><p>  復(fù)位是計(jì)算機(jī)的一個(gè)重要工作狀態(tài)。在單片機(jī)工作時(shí),接電之前要復(fù)位,斷電后也要復(fù)位,在搶答器中復(fù)位則

25、為定時(shí)做鋪墊的,在搶答之前要復(fù)位,搶答完畢后也要復(fù)位,按了復(fù)位鍵之后,LED的顯示全為P00,當(dāng)引腳RST端保持兩個(gè)機(jī)器周期以上的高電平,AT89C51可以進(jìn)入復(fù)位狀態(tài)。</p><p><b>  (5)報(bào)警電路</b></p><p>  如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示為00,并發(fā)出一段時(shí)間的報(bào)警聲</p>

26、;<p>  (6)LED數(shù)碼顯示器和驅(qū)動(dòng)電路</p><p>  本設(shè)計(jì)所用的顯示器為7段共陰極接法LED顯示器,當(dāng)某一發(fā)光二極管的陽(yáng)極輸入高電平時(shí),則該段發(fā)光。利用P0口做段選碼口輸出,P2口的1\3\4三位做位選碼輸出.</p><p><b>  四、軟件設(shè)計(jì)</b></p><p><b> ?。?)程序流程圖

27、</b></p><p> ?。?)顯示和查詢子程序</p><p>  ;=====查詢程序=====</p><p>  START: MOV DATA0,#0FFH ;初始化</p><p>  MOV R5,#0BH</p><p>  MOV R4,#0BH</p>

28、<p>  MOV R3,#0BH</p><p>  ACALL DISPLAY ;未開(kāi)始搶答時(shí)候顯示P00 </p><p>  JB P3.0,NEXT </p><p>  ACALL DELAY</p><p>  JB P3.0,NEXT ;抖動(dòng),如

29、果"開(kāi)始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 </p><p>  ACALL BARK </p><p><b>  MOV A,R1</b></p><p>  MOV R6,A ;送R1->R6,因?yàn)镽1中保存了

30、搶答時(shí)間</p><p>  SETB OK ;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答</p><p>  MOV R3,#0AH ;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)</p><p>  AJMP COUNT ;進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序"在COUN

31、T里面</p><p>  NEXT: JNB P1.0,FALSE1</p><p>  JNB P1.1,FALSE2</p><p>  JNB P1.2,FALSE3</p><p>  JNB P1.3,FALSE4</p><p>  JNB P1.4,FALSE5</p><p&g

32、t;  JNB P1.5,FALSE6</p><p>  JNB P1.6,TZ1</p><p>  JNB P1.7,TZ2</p><p>  AJMP START</p><p>  TZ1: JMP FALSE7</p><p>  TZ2: JMP FALSE8</p>&l

33、t;p>  ;=====顯示程序=====</p><p>  DISPLAY: MOV DPTR,#DAT1 ;查表顯示程序</p><p><b>  MOV A,R3</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0feH</p><p&

34、gt;<b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p>  MOV DPTR,#DAT2</p><p><b>  MOV A,R5</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,

35、#0fdH</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p><b>  MOV A,R4</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0fbH</p>

36、;<p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p><b>  RET</b></p><p>  DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H </p><p>

37、;  ;"滅","1","2","3","4","5","6","7","8","9","滅","P"</p><p>  DAT2:DB 3fh,06h,5bh,4fh,66

38、h,6dh,7dh,07h,7fh,6fh,00H,3fH</p><p>  ;第一個(gè)為零,最后一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅</p><p>  (3)搶答處理子程序</p><p>  ;=====非法搶答處理程序=====</p><p>  FALSE1: ACALL BARK ;按鍵發(fā)聲&

39、lt;/p><p>  MOV R3,#01H</p><p>  AJMP ERROR</p><p>  FALSE2: ACALL BARK</p><p>  MOV R3,#02H</p><p>  AJMP ERROR</p><p>  FALSE3: ACALL BARK</

40、p><p>  MOV R3,#03H</p><p>  AJMP ERROR</p><p>  FALSE4: ACALL BARK</p><p>  MOV R3,#04H</p><p>  AJMP ERROR</p><p>  FALSE5: ACALL BARK</p>

41、;<p>  MOV R3,#05H</p><p>  AJMP ERROR</p><p>  FALSE6: ACALL BARK</p><p>  MOV R3,#06H</p><p>  AJMP ERROR</p><p>  FALSE7: ACALL BARK</p>&

42、lt;p>  MOV R3,#07H</p><p>  AJMP ERROR</p><p>  FALSE8: ACALL BARK</p><p>  MOV R3,#08H</p><p>  AJMP ERROR</p><p>  ;=====正常搶答處理程序=====</p><

43、p>  TRUE1: ACALL BARK </p><p><b>  MOV A,R2</b></p><p>  MOV R6,A ;回答時(shí)間R2送R6</p><p>  MOV R3,#01H</p><p>  CLR OK

44、 ;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答,回答倒計(jì)時(shí)開(kāi)始.</p><p>  AJMP COUNT</p><p>  TRUE2:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p&g

45、t;<p>  MOV R3,#02H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE3:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><

46、;b>  MOV R6,A</b></p><p>  MOV R3,#03H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE4:ACALL BARK</p><p><b>  MOV A,R2

47、</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#04H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE5: ACALL BARK<

48、/p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#05H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p>

49、;<p>  TRUE6: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#06H</p><p><b>  CLR OK</b></p

50、><p>  AJMP COUNT</p><p>  TRUE7: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#07H</p><p&

51、gt;<b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE8: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><

52、p>  MOV R3,#08H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  ;=====犯規(guī)搶答程序=====</p><p>  ERROR: MOV R0,#00H</p><p>  MOV TH1,#3CH<

53、/p><p>  MOV TL1,#0B0H</p><p>  MOV 34H,R3 ;犯規(guī)號(hào)數(shù)暫存與(34H)</p><p>  HERE: MOV A,R0</p><p>  CJNE A,#0AH,FLASH ;0.5s向下運(yùn)行->滅并停響</p><

54、p><b>  CLR RING </b></p><p>  MOV R3,#0AH</p><p>  MOV R4,#0AH</p><p>  MOV R5,#0AH ;三燈全滅</p><p>  AJMP CHECK1</p><p>  FLAS

55、H: CJNE A,#14H,CHECK1 ;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)</p><p><b>  SETB RING</b></p><p>  MOV R0,#00H</p><p>  MOV R3,34H ;取回號(hào)數(shù)</p><p>  

56、MOV R5,#0BH</p><p>  MOV R4,#0BH ;顯示00和號(hào)數(shù)</p><p>  AJMP CHECK1</p><p>  CHECK1: JNB P3.1,QUIT1</p><p>  ACALL DISPLAY</p><p><b>  AJM

57、P HERE</b></p><p>  QUIT1: CLR RING</p><p><b>  CLR OK</b></p><p>  AJMP START </p><p><b>  (4)倒計(jì)時(shí)子程序</b></p><p>  ;=====倒計(jì)時(shí)

58、程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到該程序)=====</p><p>  COUNT: MOV R0,#00H ;重置定時(shí)器中斷次數(shù)</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H ;重置定時(shí)器</p><p>  RECOUNT: MOV A,R6

59、 ;R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6</p><p>  MOV B,#0AH</p><p>  DIV AB ;除十分出個(gè)位/十位</p><p>  MOV 30H,A ;十位存于(30H)</p><p>  MOV 3

60、1H,B ;個(gè)位存于(31H)</p><p>  MOV R5,30H ;取十位</p><p>  MOV R4,31H ;取個(gè)位</p><p><b>  MOV A,R6</b></p><p>  SUBB A,#07H</

61、p><p>  JNC LARGER ;大于5s跳到LARGER,小于等于5s會(huì)提醒</p><p><b>  MOV A,R0</b></p><p>  CJNE A,#0AH,FULL ;1s中0.5s向下運(yùn)行</p><p><b>  CLR RING </

62、b></p><p>  AJMP CHECK</p><p>  FULL: CJNE A,#14H,CHECK ;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)時(shí)</p><p><b>  SETB RING</b></p><p><b>  MOV A,R6</b>

63、</p><p>  JZ QUIT ;計(jì)時(shí)完畢</p><p>  MOV R0,#00H</p><p>  DEC R6 ;一秒標(biāo)志減1</p><p>  AJMP CHECK</p><p>  LARGER: MOV A,R0</p

64、><p>  CJNE A,#14H,CHECK ;如果1s向下運(yùn)行,否者跳到查"停/顯示"</p><p>  DEC R6 ;計(jì)時(shí)一秒R6自動(dòng)減1</p><p>  MOV R0,#00H</p><p>  CHECK: JNB P3.1,QUIT

65、 ;如按下停止鍵退出</p><p>  ACALL DISPLAY</p><p>  JB OK,ACCOUT ;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)</p><p>  AJMP RECOUNT</p><p>  ACCOUT: MOV A,DATA0 </p&

66、gt;<p>  JNB P1.0,TRUE1</p><p>  JNB P1.1,TRUE2</p><p>  JNB P1.2,TRUE3</p><p>  JNB P1.3,TRUE4</p><p>  JNB P1.4,TRUE5</p><p>  JNB P1.5,TRUE6</

67、p><p>  JNB P1.6,TZ3</p><p>  JNB P1.7,TZ4</p><p>  AJMP RECOUNT</p><p>  TZ3: JMP TRUE7</p><p>  TZ4: JMP TRUE8 </p><p>  QUIT: CLR OK

68、 ;如果按下了"停止鍵"執(zhí)行的程序</p><p><b>  CLR RING</b></p><p>  AJMP START</p><p><b>  (5)報(bào)警子程序</b></p><p>  ;=====發(fā)聲程序=====</

69、p><p>  BARK: SETB RING</p><p>  ACALL DISPLAY</p><p>  ACALL DISPLAY</p><p>  CLR RING ;按鍵發(fā)聲</p><p><b>  RET</b></p>

70、<p>  ;=====TO溢出中斷(響鈴程序)=====</p><p>  T0INT: MOV TH0,#0ECH</p><p>  MOV TL0,#0FFH</p><p>  JNB RING,OUT;</p><p>  CPL P3.6 ;RING標(biāo)志位為1時(shí)候P3.6口不斷取反

71、使喇叭發(fā)出一定頻率的聲音</p><p>  OUT: RETI</p><p>  五、Proteus的調(diào)試與仿真</p><p><b> ?。?)調(diào)試過(guò)程</b></p><p>  基于設(shè)計(jì)思想,我們將編寫(xiě)好的匯編語(yǔ)言程序?qū)肓藛纹瑱C(jī),利用軟件Proteus進(jìn)行仿真,得到想要的結(jié)果。 </p>

72、<p><b> ?。?)仿真結(jié)果</b></p><p>  1)按下仿真開(kāi)關(guān),出現(xiàn)下圖(圖.a)的結(jié)果:</p><p><b>  圖.a</b></p><p>  按下仿真開(kāi)關(guān),LED顯示管上顯示初始狀態(tài)P00,等待主持人按下“開(kāi)始”按鍵;</p><p>  2)開(kāi)始:當(dāng)按下

73、仿真開(kāi)始鍵,出現(xiàn)下圖(圖b)的仿真結(jié)果:</p><p><b>  圖.b</b></p><p>  主持人按下“開(kāi)始”按鍵,LED顯示管上顯示搶答倒計(jì)時(shí)30s,并逐漸往下減1,直到有人按下?lián)尨鸢存I。</p><p>  3)搶答倒計(jì)時(shí)剩余5秒時(shí)出現(xiàn)下圖(圖c)的結(jié)果:</p><p><b>  圖.c&

74、lt;/b></p><p>  若搶答倒計(jì)時(shí)剩余5秒時(shí),蜂鳴器發(fā)出聲響,直到為零時(shí)恢復(fù)初始狀態(tài)。</p><p>  4)正確搶答后出現(xiàn)下圖(圖d)的結(jié)果:</p><p><b>  圖.d</b></p><p>  有選手正確搶答后,顯示管上顯示選手號(hào)碼和回答倒計(jì)時(shí),并且回到倒計(jì)時(shí)開(kāi)始逐漸減1,直到按下“停

75、止”鍵。</p><p>  5)回答倒計(jì)時(shí)剩余5秒時(shí),出現(xiàn)下圖(圖e)的結(jié)果:</p><p><b>  圖.e</b></p><p>  若無(wú)人按下“停止”鍵,回答時(shí)間剩余5秒時(shí),蜂鳴器發(fā)出聲響,直到時(shí)間為零時(shí),恢復(fù)初始狀態(tài)。</p><p>  6)有選手違規(guī)搶答是,出現(xiàn)下圖(圖f)的結(jié)果:</p>

76、<p><b>  圖.f</b></p><p>  如果有選手在主持人還未按下“開(kāi)始”鍵就做搶答,顯示管將顯示出該選手的號(hào)碼,同時(shí)開(kāi)始閃爍,蜂鳴器發(fā)出聲響。</p><p><b>  六、心得體會(huì)</b></p><p>  開(kāi)始選擇課程設(shè)計(jì)題目是,看見(jiàn)這個(gè)題目覺(jué)得挺好弄得,但是想的總是美好的。這次課程

77、設(shè)計(jì)的仿真工具是從來(lái)沒(méi)有使用過(guò),是在老師和同學(xué)的指導(dǎo)下學(xué)會(huì)的,結(jié)合單片機(jī)設(shè)計(jì)電路更是從來(lái)沒(méi)有接觸過(guò),但是沒(méi)有辦法,所以通過(guò)上網(wǎng)或去圖書(shū)館查閱資料了解了一些,經(jīng)過(guò)兩個(gè)星期的設(shè)計(jì),從開(kāi)始的什么都不會(huì),慢慢的自己會(huì)更改電路,會(huì)仿真,導(dǎo)入程序后會(huì)自己進(jìn)行一些修改。雖然不是很系統(tǒng)的學(xué)習(xí)這些,但是基本的操作已經(jīng)了解了。通過(guò)這次課程設(shè)計(jì),我們意識(shí)到,要想設(shè)計(jì)出好的電路,必須清楚明白的知道題目所要表達(dá)的意思,并且要了解各種元器件的用途,這次設(shè)計(jì)綜合了我

78、們所學(xué)習(xí)過(guò)的知識(shí),也對(duì)這些知道進(jìn)行了一定的擴(kuò)展了解,這些對(duì)我們是很有幫助的。</p><p><b>  七、參考文獻(xiàn)</b></p><p>  (1)吳亦峰,陳德為,單片機(jī)原理與接口技術(shù),電子工業(yè)出版社,2010</p><p> ?。?)程相波,衛(wèi)安軍,基于MCS-51單片機(jī)的八路搶答器設(shè)計(jì)方法研究【J】,北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào)2007

79、,6(2)</p><p><b>  附錄:</b></p><p>  定時(shí)器T1時(shí)間初值,設(shè)50ms時(shí)間初值為X,X的計(jì)算方法為X=(2</p><p>  ^16-50*10^3),X=15536D=3CB0H</p><p>  OK EQU 25H ;搶答開(kāi)始標(biāo)志位</p>&l

80、t;p>  RING EQU 27H ;響鈴標(biāo)志位</p><p>  DATA0 EQU 40H ;搶答按鍵口數(shù)據(jù)存放地址</p><p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</b></p><p><b>

81、  ORG 000BH</b></p><p>  AJMP T0INT</p><p><b>  ORG 001BH</b></p><p>  AJMP T1INT</p><p>  MAIN: MOV R1,#30 ;初設(shè)搶答時(shí)間為30s</p><p>  

82、MOV R2,#60 ;初設(shè)答題時(shí)間為60s</p><p>  MOV TMOD,#10H ;設(shè)置未定時(shí)器方式2</p><p>  MOV TH0,#0ECH</p><p>  MOV TL0,#0FFH ;越高發(fā)聲頻率越高,越尖</p><p>  MOV TH1,#3CH</p><p

83、>  MOV TL1,#0B0H ;50ms為一次溢出中斷</p><p><b>  SETB EA</b></p><p><b>  SETB ET0</b></p><p>  SETB ET1 ;允二個(gè)中斷,T0/T1</p><p><b> 

84、 CLR OK</b></p><p><b>  CLR RING</b></p><p><b>  SETB TR1</b></p><p>  SETB TR0 </p><p>  ;=====查詢程序=====</p><p>  ST

85、ART: MOV DATA0,#0FFH ;初始化</p><p>  MOV R5,#0BH</p><p>  MOV R4,#0BH</p><p>  MOV R3,#0BH</p><p>  ACALL DISPLAY ;未開(kāi)始搶答時(shí)候顯示P00 </p>&

86、lt;p>  JB P3.0,NEXT </p><p>  ACALL DELAY</p><p>  JB P3.0,NEXT ;抖動(dòng),如果"開(kāi)始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 </p><p>  ACALL BARK

87、 </p><p><b>  MOV A,R1</b></p><p>  MOV R6,A ;送R1->R6,因?yàn)镽1中保存了搶答時(shí)間</p><p>  SETB OK ;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答</p><p>  

88、MOV R3,#0AH ;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)</p><p>  AJMP COUNT ;進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序"在COUNT里面</p><p>  NEXT: JNB P1.0,FALSE1</p><p>  JNB P1.1,FALSE2</p>

89、<p>  JNB P1.2,FALSE3</p><p>  JNB P1.3,FALSE4</p><p>  JNB P1.4,FALSE5</p><p>  JNB P1.5,FALSE6</p><p>  JNB P1.6,TZ1</p><p>  JNB P1.7,TZ2</p>

90、;<p>  AJMP START</p><p>  TZ1: JMP FALSE7</p><p>  TZ2: JMP FALSE8</p><p>  ;=====非法搶答處理程序=====</p><p>  FALSE1: ACALL BARK ;按鍵發(fā)聲</p>

91、<p>  MOV R3,#01H</p><p>  AJMP ERROR</p><p>  FALSE2: ACALL BARK</p><p>  MOV R3,#02H</p><p>  AJMP ERROR</p><p>  FALSE3: ACALL BARK</p><

92、;p>  MOV R3,#03H</p><p>  AJMP ERROR</p><p>  FALSE4: ACALL BARK</p><p>  MOV R3,#04H</p><p>  AJMP ERROR</p><p>  FALSE5: ACALL BARK</p><p&g

93、t;  MOV R3,#05H</p><p>  AJMP ERROR</p><p>  FALSE6: ACALL BARK</p><p>  MOV R3,#06H</p><p>  AJMP ERROR</p><p>  FALSE7: ACALL BARK</p><p>  

94、MOV R3,#07H</p><p>  AJMP ERROR</p><p>  FALSE8: ACALL BARK</p><p>  MOV R3,#08H</p><p>  AJMP ERROR</p><p>  ;=====倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到該程序)=====</p>

95、<p>  COUNT: MOV R0,#00H ;重置定時(shí)器中斷次數(shù)</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H ;重置定時(shí)器</p><p>  RECOUNT: MOV A,R6 ;R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)

96、間或回答時(shí)間給R6</p><p>  MOV B,#0AH</p><p>  DIV AB ;除十分出個(gè)位/十位</p><p>  MOV 30H,A ;十位存于(30H)</p><p>  MOV 31H,B ;個(gè)位存于(31H)</p&

97、gt;<p>  MOV R5,30H ;取十位</p><p>  MOV R4,31H ;取個(gè)位</p><p><b>  MOV A,R6</b></p><p>  SUBB A,#07H</p><p>  JNC LARGER

98、 ;大于5s跳到LARGER,小于等于5s會(huì)提醒</p><p><b>  MOV A,R0</b></p><p>  CJNE A,#0AH,FULL ;1s中0.5s向下運(yùn)行</p><p><b>  CLR RING </b></p><p>  AJMP CHE

99、CK</p><p>  FULL: CJNE A,#14H,CHECK ;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)時(shí)</p><p><b>  SETB RING</b></p><p><b>  MOV A,R6</b></p><p>  JZ QUIT

100、 ;計(jì)時(shí)完畢</p><p>  MOV R0,#00H</p><p>  DEC R6 ;一秒標(biāo)志減1</p><p>  AJMP CHECK</p><p>  LARGER: MOV A,R0</p><p>  CJNE A,#14H,CHECK

101、 ;如果1s向下運(yùn)行,否者跳到查"停/顯示"</p><p>  DEC R6 ;計(jì)時(shí)一秒R6自動(dòng)減1</p><p>  MOV R0,#00H</p><p>  CHECK: JNB P3.1,QUIT ;如按下停止鍵退出</p><p>  AC

102、ALL DISPLAY</p><p>  JB OK,ACCOUT ;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)</p><p>  AJMP RECOUNT</p><p>  ACCOUT: MOV A,DATA0 </p><p>  JNB P1.0,TRUE1</p

103、><p>  JNB P1.1,TRUE2</p><p>  JNB P1.2,TRUE3</p><p>  JNB P1.3,TRUE4</p><p>  JNB P1.4,TRUE5</p><p>  JNB P1.5,TRUE6</p><p>  JNB P1.6,TZ3</p

104、><p>  JNB P1.7,TZ4</p><p>  AJMP RECOUNT</p><p>  TZ3: JMP TRUE7</p><p>  TZ4: JMP TRUE8 </p><p>  QUIT: CLR OK ;如果按下了"停止鍵&qu

105、ot;執(zhí)行的程序</p><p><b>  CLR RING</b></p><p>  AJMP START</p><p>  ;=====正常搶答處理程序=====</p><p>  TRUE1: ACALL BARK </p><p><b>

106、;  MOV A,R2</b></p><p>  MOV R6,A ;回答時(shí)間R2送R6</p><p>  MOV R3,#01H</p><p>  CLR OK ;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答,回答倒計(jì)時(shí)開(kāi)始.</p><

107、;p>  AJMP COUNT</p><p>  TRUE2:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#02H</p><p><b>

108、;  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE3:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3

109、,#03H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE4:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</

110、b></p><p>  MOV R3,#04H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE5: ACALL BARK</p><p><b>  MOV A,R2</b></p>

111、;<p><b>  MOV R6,A</b></p><p>  MOV R3,#05H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE6: ACALL BARK</p><p>&l

112、t;b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#06H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE7

113、: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#07H</p><p><b>  CLR OK</b></p><p>  AJ

114、MP COUNT</p><p>  TRUE8: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#08H</p><p><b>  CLR O

115、K</b></p><p>  AJMP COUNT</p><p>  ;=====犯規(guī)搶答程序=====</p><p>  ERROR: MOV R0,#00H</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H</p><p>  

116、MOV 34H,R3 ;犯規(guī)號(hào)數(shù)暫存與(34H)</p><p>  HERE: MOV A,R0</p><p>  CJNE A,#0AH,FLASH ;0.5s向下運(yùn)行->滅并停響</p><p><b>  CLR RING </b></p><p>

117、;  MOV R3,#0AH</p><p>  MOV R4,#0AH</p><p>  MOV R5,#0AH ;三燈全滅</p><p>  AJMP CHECK1</p><p>  FLASH: CJNE A,#14H,CHECK1 ;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新

118、計(jì)</p><p><b>  SETB RING</b></p><p>  MOV R0,#00H</p><p>  MOV R3,34H ;取回號(hào)數(shù)</p><p>  MOV R5,#0BH</p><p>  MOV R4,#0BH

119、 ;顯示00和號(hào)數(shù)</p><p>  AJMP CHECK1</p><p>  CHECK1: JNB P3.1,QUIT1</p><p>  ACALL DISPLAY</p><p><b>  AJMP HERE</b></p><p>  QUIT1: CLR RING

120、</p><p><b>  CLR OK</b></p><p>  AJMP START</p><p>  ;=====顯示程序=====</p><p>  DISPLAY: MOV DPTR,#DAT1 ;查表顯示程序,利用P0口做段選碼口輸出/P2口的1\3\4三位做位選碼輸出.<

121、/p><p><b>  MOV A,R3</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0feH</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p&

122、gt;  MOV DPTR,#DAT2</p><p><b>  MOV A,R5</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0fdH</p><p><b>  MOV P0,A</b></p><p>  ACALL

123、DELAY</p><p><b>  MOV A,R4</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0fbH</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p>

124、;<p><b>  RET</b></p><p>  DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H </p><p>  ;"滅","1","2","3","4","5&qu

125、ot;,"6","7","8","9","滅","P"</p><p>  DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,3fH</p><p>  ;第一個(gè)為零,最后一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄

126、滅</p><p>  ;=====延時(shí)(顯示和去抖動(dòng)用到)=====</p><p>  DELAY: MOV 32H,#12H</p><p>  LOOP: MOV 33H,#0AFH</p><p>  LOOP1: DJNZ 33H,LOOP1</p><p>  DJNZ 32H,LOOP</

127、p><p><b>  RET</b></p><p>  ;=====發(fā)聲程序=====</p><p>  BARK: SETB RING</p><p>  ACALL DISPLAY</p><p>  ACALL DISPLAY</p><p>  CLR RIN

128、G ;按鍵發(fā)聲</p><p><b>  RET</b></p><p>  ;=====TO溢出中斷(響鈴程序)=====</p><p>  T0INT: MOV TH0,#0ECH</p><p>  MOV TL0,#0FFH</p><p> 

129、 JNB RING,OUT;</p><p>  CPL P3.6 ;RING標(biāo)志位為1時(shí)候P3.6口不斷取反使喇叭發(fā)出一定頻率的聲音</p><p>  OUT: RETI</p><p>  ;=====T1溢出中斷(計(jì)時(shí)程序)=====</p><p>  T1INT: MOV TH1,#3CH&

130、lt;/p><p>  MOV TL1,#0B0H</p><p><b>  INC R0</b></p><p><b>  RETI</b></p><p>  ;========INTT0中斷服務(wù)程序============</p><p>  INTT0:MOV DAT

131、A0,P1</p><p><b>  CLR EX0</b></p><p><b>  RETI </b></p><p><b>  END</b></p><p>  g an employment tribunal claim</p><p>

132、  Employment tribunals sort out disagreements between employers and employees.</p><p>  You may need to make a claim to an employment tribunal if:</p><p>  you don't agree with the disciplin

133、ary action your employer has taken against you</p><p>  your employer dismisses you and you think that you have been dismissed unfairly.</p><p>  For more information about dismissal and unfair

134、dismissal, see Dismissal.</p><p>  You can make a claim to an employment tribunal, even if you haven't appealed against the disciplinary action your employer has taken against you. However

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論