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

正文內(nèi)容

基于單片機(jī)的八路搶答器畢業(yè)論文(編輯修改稿)

2025-04-03 11:53 本頁面
 

【文章內(nèi)容簡介】 復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動”時,對系復(fù)位 關(guān)中斷,設(shè)定堆棧 上電標(biāo)志 冷啟自檢 全面初始化 熱啟動恢復(fù)被破壞的信息部分初始化 建立上電標(biāo)志 開始運(yùn)轉(zhuǎn) 統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入 運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標(biāo)志來區(qū)分,如圖 36 所示。 圖 36 系統(tǒng)復(fù)位策略圖 第四章 軟件設(shè)計 軟件任務(wù)分析 軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計 做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量,計算,顯示,打印 [8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計方法各有特色,執(zhí)行軟件的設(shè)計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。 軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就 可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個廠長就比較難了。 軟件任務(wù)分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些 實(shí)時性要求較高的內(nèi)容,如定時系 統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序?yàn)?“ 使系統(tǒng)進(jìn)入睡眠狀態(tài) ” ,以利于系統(tǒng)節(jié)電和抗干擾。 顯示子程序的設(shè)計 顯示子程序,及部分注解如下: 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 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 第一個為零 ,其他與上相同 ,因?yàn)槭蝗绻麨榱泔@示熄滅 定時器 T0、 T1 中斷服務(wù)程序的設(shè)計 =====TO 溢出中斷 (響鈴程序 )===== T0INT: MOV TH0,0ECH MOV TL0,0FFH JNB RING,OUT。 CPL 。RING 標(biāo)志位為 1 時候 口不斷取反使喇叭發(fā)出一定頻率的聲音 OUT: RETI T1 溢出中斷 (計時程序 ): T1INT: MOV TH1,3CH MOV TL1,0B0H INC R0 RETI END 搶答器處理程序的設(shè)計 搶答器處 理程序: TRUE1: ACALL BARK。按鍵發(fā)聲 MOV A,R2 MOV R6,A。搶答時間 R2 送 R6 MOV R3,01H CLR OK。因?yàn)榇痤}的計時不再查詢搶答 ,所以就鎖了搶答 AJMP COUNT TRUE2:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,02H 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 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。搶答開始標(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è)搶答時間為 30s MOV R2,60。初設(shè)答題時間為 60s MOV TMOD,11H。設(shè)置未定時器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH。越高發(fā)聲頻率越高 ,越尖 MOV TH1,3CH MOV TL1,0B0H。50ms 為一次溢出中斷 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1。允許四個中斷 ,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0。一開始就運(yùn)行定時器 ,以開始顯示 ,重置 TH1/TL1 就可以了 。=====查詢程序 ===== START: MOV R5,0BH MOV R4,0BH MOV R3,0BH ACALL DISPLAY。未開始搶答時候顯示 FFF JB ,NEXT。ddddddd ACALL DELAY JB ,NEXT。去 抖動 ,如果 開始鍵 按下就向下執(zhí)行 ,否者跳到非法搶答查詢 ACALL BARK。按鍵發(fā)聲 MOV A,R1 MOV R6,A。送 R1R6,因?yàn)?R1 中保存了搶答時間 SETB OK。搶答標(biāo)志位 ,用于 COUNT 只程序中判斷是否查詢搶答 MOV R3,0AH。搶答只顯示計時 ,滅號數(shù) AJMP COUNT。進(jìn)入倒計時程序 ,查詢有效搶答的程序 在 COUNT 里面 NEXT: JNB ,FALSE1 JNB ,FALSE2 JNB ,FALSE3 JNB ,FALSE4 JNB ,FALSE5 JNB ,FALSE6 JNB ,TZ1 JNB ,TZ2 AJMP START TZ1:JMP FALSE7 TZ2:JMP FALSE8 。=====非法搶答處理程序 ===== FALSE1: ACALL BARK。按鍵發(fā)聲 MOV R3,01H AJMP ERROR FALSE2: ACALL BARK MOV R3,02H AJMP ERROR FALSE3: ACALL BARK MOV R3,03H AJMP ERROR FALSE4: ACALL BARK MOV R3,04H AJMP ERROR FALSE5: ACALL BARK MOV R3,05H AJMP ERROR FALSE6: ACALL BARK MOV R3,06H AJMP ERROR FALSE7: ACALL BARK MOV R3,07H AJMP ERROR FALSE8: ACALL BARK MOV R3,08H AJMP ERROR 。=====INT0(搶答時間 R1 調(diào)整程序 )===== INT0SUB:MOV A,R1 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY。先在兩個時間 LED 上顯示 R1 JNB ,INC0。 為 +1s 鍵 ,如按下跳到 INCO JNB ,DEC0。 為 1s 鍵 ,如按下跳 到 DECO JNB ,BACK0。 為確定鍵 ,如按下跳到 BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,63H,ADD0。如果不是 99,R2 加 1,如果加到 99,R1 就置 0,重新加起。 MOV R1,00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1。如果 R1 為 0, R1 就置 99, DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,63H ACALL DELAY1 AJMP INT0SUB BACK0: RETI 。=====INT1(回答時間 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 INT1SUB INC1: MOV A,R2 CJNE A,63H,ADD1 MOV R2,00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB SETR2: MOV R2,63H ACALL DELAY1 AJMP INT1SUB BACK1: RETI 。=====倒計時程序 (搶答倒計時和回答倒計時都跳到改程序 )===== COUNT: MOV R0,00H。重置定時器中斷次數(shù) MOV TH1,3CH MOV TL1,0B0H。重置定時器 RECOUNT:MOV A,R6。R6 保存了倒計時的時間 ,之前先將搶答時間或回答時間給 R6 MOV B,0AH DIV AB。除十分出個位 /十位 MOV 30H,A。十位存于 (30H) MOV 31H,B。個位存于 (31H) MOV R5,30H。取十位 MOV R4,31H。取個位 MOV A,R6 SUBB A,07H JNC LARGER。大于 5s 跳到 LARGER,小于等于 5s 會提醒 MOV A,R0
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1