freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的搶答器設(shè)計(jì)畢業(yè)論文-畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-02-24 08:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。 并 通過(guò)查表法,將其在數(shù)碼管上顯示出來(lái),其中 P0 口為字型碼輸入端, P2口低 3位為字選段輸入端。在這里我們通過(guò)查表將字型碼送給 7段數(shù)碼管顯示的 16 數(shù)字,數(shù)碼管顯示原理如下: MOV A,R5 MOVC A,@A+DPTR ;查字型碼 MOV P2,01H ;送位選碼 MOV P0,A ;送字型碼 ACALL DELAY ;調(diào)延時(shí),去閃爍 在七段數(shù)碼管顯示中可分為共陽(yáng)極和共陰極兩種類(lèi)型極 。 以共陰為例,要想a 段亮,向 a 段送 1 就是,返之送 0,共陽(yáng)剛好相反。 掃描電路的實(shí)現(xiàn) 鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來(lái)看,僅僅完成鍵盤(pán)掃描,讀取當(dāng)前時(shí)刻的鍵盤(pán)狀態(tài)是不夠的,還有不少問(wèn)題需要妥善解決,否則,人們?cè)诓僮麈I盤(pán)就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán) 。 它們各有自己的特點(diǎn) , 其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單 , 而且 在程序設(shè)計(jì)上也不復(fù)雜 , 一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中 ; 矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別 , 首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過(guò)程中產(chǎn)生 的“毛刺” 現(xiàn)象 。這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為 : 因?yàn)?“ 毛刺 ” 脈沖一般持續(xù)時(shí)間短 , 約為幾 ms, 而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間 ,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后再延時(shí)一段時(shí)間 (這里我們?nèi)?10ms)后再判斷此電平是否保持原狀態(tài) ,如果是則 為有效按鍵 , 否則無(wú)效。 按鈕輸入的硬件處理 按鈕的觸點(diǎn)在閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這是觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤(pán)中斷(外部中斷) 17 子程序中,則該延時(shí)子程序便可直接插 入讀鍵過(guò)程中。如果讀鍵過(guò)程安排在定時(shí)中斷子程序中,就可省去專(zhuān)門(mén)的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。 發(fā)聲 我們知道,聲 音的頻譜范圍約在幾十到幾千赫茲 [7],若能利用程序來(lái)控制單片 機(jī)某個(gè)口線(xiàn)的 “ 高 ” 電平或低電平,則在該口線(xiàn)上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 系統(tǒng)復(fù)位 使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過(guò) CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人 工按鈕復(fù)位和硬件看門(mén)狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專(zhuān)用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從 0000H 地址開(kāi)始執(zhí)行。對(duì)各專(zhuān)用寄存器的復(fù)位操作是容易的,也沒(méi)有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過(guò)程中完成。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。有的編程人員用 020210( LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H 地址就完成了軟件復(fù)位,就是這類(lèi)錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng)。由于軟件看門(mén)是高級(jí)中斷,它將阻止說(shuō)要中斷響應(yīng),由此可見(jiàn)清除中斷激活標(biāo)志的重要性。 在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯(cuò)處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 有復(fù)位時(shí)系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動(dòng)”和“ 熱啟動(dòng)”。 “冷啟動(dòng)”時(shí),系統(tǒng)的狀態(tài)全部無(wú)效,進(jìn)行徹底的初始化操作;而“熱啟動(dòng)”時(shí),對(duì)系 18 復(fù)位 關(guān)中斷,設(shè)定堆棧 上電標(biāo)志 冷啟自檢 全面初始化 熱啟動(dòng)恢復(fù)被破壞的信息部分初始化 建立上電標(biāo)志 開(kāi)始運(yùn)轉(zhuǎn) 統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時(shí),必須是“冷啟動(dòng)”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”初次上電投入運(yùn)行時(shí),必須是“冷啟動(dòng)”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”。為了使系統(tǒng)能正確決定采用何種啟動(dòng)方式,常用上電標(biāo)志來(lái)區(qū)分,如圖 36 所示。 圖 36 系統(tǒng)復(fù)位策略圖 19 第四章 軟件設(shè)計(jì) 軟件任務(wù)分析 軟件任務(wù)分析 和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類(lèi):一類(lèi)是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印 [8],輸出控制和通信等,另一類(lèi)是監(jiān)控軟件,它是專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類(lèi)軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。 顯示子程序的設(shè)計(jì) 顯示子程序,及部分注解如下: DISPLAY:MOV DPTR,DAT1。查表顯示程序 ,利用 P0口做段選碼口輸出 /P2 低三位做位選碼輸出 , MOV A,R3 MOVC A,@A+DPTR MOV P2,0feH MOV P0,A ACALL DELAY MOV DPTR,DAT2 MOV A,R5 MOVC A,@A+DPTR MOV P2,0fdH MOV P0,A ACALL DELAY MOV A,R4 MOVC A,@A+DPTR MOV P2,0fbH MOV P0,A ACALL DELAY RET 20 DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H 。滅 ,1,2,3,4,5,6,7,8,9,滅 ,F DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H 第一個(gè)為零 ,其他與上相同 ,因?yàn)槭蝗绻麨榱泔@示熄滅 定時(shí)器 T0、 T1 中斷服務(wù)程序的設(shè)計(jì) =====TO 溢出中斷 (響鈴程序 )===== T0INT: MOV TH0,0ECH MOV TL0,0FFH JNB RING,OUT。 CPL 。RING 標(biāo)志位為 1 時(shí)候 口不斷取反使喇叭發(fā)出一定頻率的聲音 OUT: RETI T1 溢出中斷 (計(jì)時(shí)程序 ): T1INT: MOV TH1,3CH MOV TL1,0B0H INC R0 RETI END 搶答器處理程序的設(shè)計(jì) 搶答器處理程序: TRUE1: ACALL BARK。按鍵發(fā)聲 MOV A,R2 MOV R6,A。搶答時(shí)間 R2 送 R6 MOV R3,01H CLR OK。因?yàn)榇痤}的計(jì)時(shí)不再查詢(xún)搶答 ,所以就鎖了搶答 AJMP COUNT TRUE2:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,02H 21 CLR OK AJMP COUNT TRUE3:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,03H CLR OK AJMP COUNT TRUE4:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,04H CLR OK AJMP COUNT TRUE5: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,05H CLR OK AJMP COUNT TRUE6: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,06H CLR OK AJMP COUNT TRUE7: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,07H 22 CLR OK AJMP COUNT TRUE8: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,08H CLR OK AJMP COUNT 程序及分析 單片機(jī)控制 8 路搶答器程序 OK EQU 20H。搶答開(kāi)始標(biāo)志位 RING EQU 22H。響鈴標(biāo)志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,30。初設(shè)搶答時(shí)間為 30s MOV R2,60。初設(shè)答題時(shí)間為 60s MOV TMOD,11H。設(shè)置未定時(shí)器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH。越高發(fā)聲頻率越高 ,越尖 MOV TH1,3CH 23 MOV TL1,0B0H。50ms 為一次溢出中斷 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1。允許四個(gè)中斷 ,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0。一開(kāi)始就運(yùn)行定時(shí)器 ,以開(kāi)始顯示 ,重置 TH1/TL1 就可以了 。=====查詢(xún)程序 ===== START: MOV R5,0BH MOV R4,0BH MOV R3,0BH ACALL DISPLAY。未開(kāi)始搶答時(shí)候顯示 FFF JB ,NEXT。ddddddd ACALL DELAY JB ,NEXT。去抖動(dòng) ,如果 開(kāi)始鍵 按下就向下執(zhí)行 ,否者跳到非法搶答查詢(xún) ACALL BARK。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1