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

正文內(nèi)容

單片機(jī)搶答器畢業(yè)論文-閱讀頁(yè)

2025-02-02 14:07本頁(yè)面
  

【正文】 18圖 33 復(fù)位電路值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。 顯示電路的設(shè)計(jì)顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。這說(shuō)明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯示模塊。另一方面,在操作者沒(méi)有進(jìn)行操作時(shí),顯示內(nèi)容也是變化的,如顯示現(xiàn)場(chǎng)各物理量的變化情況。自動(dòng)執(zhí)行的各類(lèi)模塊在安排在各種中斷子程序中,這就是說(shuō),各種中斷子程序也要單片機(jī)搶答器畢業(yè)論文 19調(diào)用顯示模塊。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請(qǐng)顯示。由于一處調(diào)用顯示模塊,故不會(huì)發(fā)生沖突。當(dāng)監(jiān)控程序(鍵盤(pán)解釋程序)安排在時(shí)鐘中斷子程序中時(shí),處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示模塊就可以了。這里將顯示功能集中到一起,作為一個(gè)功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動(dòng)完成顯示內(nèi)容的查找,變換和輸出驅(qū)動(dòng)。如果編寫(xiě)這樣一個(gè)集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。解決的辦法是,在申請(qǐng)顯示前,先檢查是否已經(jīng)有顯示申請(qǐng),如果有,就不再申請(qǐng),等待下次機(jī)會(huì);如果沒(méi)有,則先申請(qǐng)標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示 [6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。在這里我們通過(guò)查表將字型碼送給 7 段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下: MOV A,R5 MOVC A,A+DPTR ;查字型碼 MOV P2,01H ;送位選碼 MOV P0,A ;送字型碼ACALL DELAY ;調(diào)延時(shí),去閃爍圖 34 共陰極數(shù)碼管單片機(jī)搶答器畢業(yè)論文 21在七段數(shù)碼管顯示中可分為共陽(yáng)極和共陰極兩種類(lèi)型極。 鍵盤(pán)掃描電路的設(shè)計(jì)鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。站在系統(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)象。圖 35 獨(dú)立鍵盤(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ì)得多,因此它更適合于多按鍵電路。這里采用最常用的方法,即延時(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),如 單片機(jī)搶答器畢業(yè)論文 22果是則為有效按鍵,否則無(wú)效?,F(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于 5ms,例如取 1020ms。如果讀鍵過(guò)程安排在定時(shí)中斷子程序中,就可省去專門(mén)的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。 系統(tǒng)復(fù)位使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。硬件復(fù)位必須通過(guò) CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從 0000H 地址開(kāi)始執(zhí)行。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng)。在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。這部分程序如下:POWER DATA 67H ;上電標(biāo)志存放單元 ERR: CLR EA ;關(guān)中斷 MOV DPTR,ERR1 ;準(zhǔn)備返回地址PUSH DPLPUSH DPHRETI ;清除高級(jí)中斷激活標(biāo)志ERR1: MOV POWER,0AAH;重建上電標(biāo)志 CLR A ;準(zhǔn)備復(fù)位地址 PUSH ACC ;壓入復(fù)位地址 0000HPUSH ACCRETI ;清除低級(jí)中斷激活標(biāo)志,從程序 0000H 開(kāi)始執(zhí)行。有相應(yīng)軟件陷阱捕捉來(lái)的程序可能沒(méi)有全部激活兩個(gè)標(biāo)志,這也無(wú)妨。 “冷啟動(dòng)”時(shí),系統(tǒng)的狀態(tài)全部無(wú)效,進(jìn)行徹底的初始化操作;而“熱啟動(dòng)”時(shí),單片機(jī)搶答器畢業(yè)論文 24復(fù)位關(guān)中斷,設(shè)定堆棧上電標(biāo)志冷啟自檢全面初始化熱啟動(dòng)恢復(fù)被破壞的信息部分初始化建立上電標(biāo)志開(kāi)始運(yùn)轉(zhuǎn)對(duì)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。為了使系統(tǒng)能正確決定采用何種啟動(dòng)方式,常用上電標(biāo)志來(lái)區(qū)分,如圖 36 所示。這時(shí)復(fù)位后的主程序如下:MAIN: CLR EA ;關(guān)中斷 MOV SP,67H ;設(shè)定堆棧 MOV PSW,0 ;設(shè)定 0 區(qū)工作寄存器 MOV A,0AAH,MAIN0單片機(jī)搶答器畢業(yè)論文 25 SJMP MAIN ;有上電標(biāo)志,進(jìn)行熱啟動(dòng)MAIN0: ;無(wú)上電標(biāo)志,進(jìn)行冷啟動(dòng) ;自檢,全面初始化 SJMP MAIN3MAINH: ;熱啟動(dòng)過(guò)程,恢復(fù)現(xiàn)場(chǎng) ;部分初始化MAIN3: MOV POWER,0AAH。在設(shè)計(jì)過(guò)程中,實(shí)現(xiàn)搶答功能的是通過(guò)編寫(xiě)程序的方法集成在 AT89C51 內(nèi)部。單片機(jī)搶答器畢業(yè)論文 26系統(tǒng)初始化模塊按鍵模塊非法搶答模塊正確搶答模塊調(diào)整搶答時(shí)間調(diào)整回答時(shí)間模塊數(shù)碼顯示模塊4 軟件設(shè)計(jì) 主程序系統(tǒng)結(jié)構(gòu)圖圖 41 軟件系統(tǒng)結(jié)構(gòu)圖 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了。從軟件的功能來(lái)看可分為兩大類(lèi):一類(lèi)是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印 [8],輸出控制和通信等,另一類(lèi)是監(jiān)控軟件,它是專門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義) 。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問(wèn)題。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。后臺(tái)程序指主程序及其調(diào)用的子程序,這類(lèi)程序?qū)?shí)時(shí)性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤(pán)解釋程序) ,顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷) 。 程序流程圖在本設(shè)計(jì)中包括了以下八個(gè)主要的程序:主程序;非法搶答序;搶答時(shí)間調(diào)整程序;回答時(shí)間調(diào)整程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序 [9]。50ms 為一次溢出中斷 [10] SETB EA SETB ET0單片機(jī)搶答器畢業(yè)論文 29 SETB ET1 SETB EX0 SETB EX1 CLR OK CLR RING SETB TR1 SETB TR0非法搶答處理程序:FALSE1: ACALL BARK MOV R3,01H AJMP ERRORFALSE2: ACALL BARK MOV R3,02H AJMP ERRORFALSE3: ACALL BARK MOV R3,03H AJMP ERRORFALSE4: ACALL BARK MOV R3,04H AJMP ERRORFALSE5: ACALL BARK MOV R3,05H AJMP ERRORFALSE6: ACALL BARK MOV R3,06H AJMP ERROR搶答時(shí)間調(diào)整程序:。 為+1s 鍵,如按下跳到 INCO JNB ,DEC0。 為確定鍵,如按下跳到 BACKO AJMP INT0SUBINC0: MOV A,R1 CJNE A,63H,ADD0。 MOV R1,00H ACALL DELAY1 AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1。=====INT1(回答時(shí)間 R2 調(diào)整程序)=====INT1SUB:MOV A,R2 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY JNB ,INC1 JNB ,DEC1 JNB ,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,63H,ADD1 MOV R2,00H ACALL DELAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUBDEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,63H單片機(jī)搶答器畢業(yè)論文 32 ACALL DELAY1 AJMP INT1SUBBACK1: RETI倒計(jì)時(shí)程序:COUNT: MOV R0,0000 MOV TH1,3CH MOV TL1,0B0HRECOUNT:MO
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1