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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機(jī)的八路智能搶答器系統(tǒng)設(shè)計(編輯修改稿)

2024-07-11 02:31 本頁面
 

【文章內(nèi)容簡介】 2 31 須通過 CPU外部的硬件電路給 CPU的 RESET端加上足夠時間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是 用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從 0000H 地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。有的編程人員用 020210( LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H 地址就完成了軟件復(fù)位,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響應(yīng) 。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。 在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運(yùn)行 時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標(biāo)志來區(qū)分,如圖 36 所示: 發(fā)聲 2 31 復(fù)位 關(guān)中斷,設(shè)定堆棧 上電標(biāo)志 冷啟自檢 全面初始化 熱啟動恢復(fù)被破壞的信息部分初始化 建立上電標(biāo)志 開始運(yùn)轉(zhuǎn) 圖 36 系統(tǒng)復(fù)位策略圖 第四章 軟件設(shè)計 軟件任務(wù)分析 軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù) 軟件設(shè)計 2 31 由軟件完成,在硬件電路設(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 低 三位做位選碼輸出 軟件設(shè)計 2 31 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 軟件設(shè)計 2 31 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 軟件設(shè)計 2 31 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 軟件設(shè)計 2 31 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 程序分析 2 31 SETB TR0 。一開始就運(yùn)行定時器 ,以開始顯示 FFF. 如果想重新計數(shù) ,重置 TH1/TL1 就可以了 查詢程序 START: MOV R5,0BH MOV R4,0BH MOV R3,0BH ACALL DISPLAY 。未開始搶答時候顯示 FFF JB ,NEXT 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 程序分析 2 31 FALSE4: ACALL BARK MOV R3,04H AJMP ERROR FALSE5: ACALL BARK MOV R3,05H AJMP ERROR FALSE6: ACALL BARK MOV R3,0
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1