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

正文內(nèi)容

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

2024-07-22 14:15 本頁面
 

【文章內(nèi)容簡介】 通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用020000(LJMP 0000H)作為軟件陷阱,認為直接轉(zhuǎn)向0000H地址就完成了軟件復(fù)位,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標志的重要性。在所有的指令中,只有RETI指令能夠清除中斷激活標志。前文各處提案到的出錯處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當前狀態(tài)進行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。復(fù)位關(guān)中斷,設(shè)定堆棧上電標志冷啟自檢全面初始化熱啟動恢復(fù)被破壞的信息部分初始化建立上電標志開始運轉(zhuǎn)為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標志來區(qū)分,如圖36所示。圖36 系統(tǒng)復(fù)位策略圖第四章 軟件設(shè)計 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量,計算,顯示,打印[8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當組織調(diào)度角色的軟件。這兩類軟件的設(shè)計方法各有特色,執(zhí)行軟件的設(shè)計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數(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)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。軟件任務(wù)分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)崟r性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內(nèi)容,如定時系 統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。 顯示子程序的設(shè)計顯示子程序,及部分注解如下:DISPLAY:MOV DPTR,DAT1。查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出,MOV A,R3MOVC A,@A+DPTRMOV P2,0feHMOV P0,AACALL DELAYMOV DPTR,DAT2MOV A,R5MOVC A,@A+DPTRMOV P2,0fdHMOV P0,AACALL DELAYMOV A,R4MOVC A,@A+DPTRMOV P2,0fbHMOV P0,AACALL DELAYRETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H 。滅,1,2,3,4,5,6,7,8,9,滅,FDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H第一個為零,其他與上相同,因為十位如果為零顯示熄滅 定時器T0、T1中斷服務(wù)程序的設(shè)計=====TO溢出中斷(響鈴程序)=====T0INT: MOV TH0,0ECHMOV TL0,0FFHJNB RING,OUT。CPL 。OUT: RETIT1溢出中斷(計時程序):T1INT: MOV TH1,3CHMOV TL1,0B0HINC R0RETIEND 搶答器處理程序的設(shè)計搶答器處理程序:TRUE1: ACALL BARK。按鍵發(fā)聲MOV A,R2MOV R6,A。搶答時間R2送R6MOV R3,01HCLR OK。因為答題的計時不再查詢搶答,所以就鎖了搶答AJMP COUNTTRUE2:ACALL BARK。MOV A,R2MOV R6,AMOV R3,02HCLR OKAJMP COUNTTRUE3:ACALL BARK。MOV A,R2MOV R6,AMOV R3,03HCLR OKAJMP COUNTTRUE4:ACALL BARK。MOV A,R2MOV R6,AMOV R3,04HCLR OKAJMP COUNTTRUE5: ACALL BARK。MOV A,R2MOV R6,AMOV R3,05HCLR OKAJMP COUNTTRUE6: ACALL BARK。MOV A,R2MOV R6,AMOV R3,06HCLR OKAJMP COUNTTRUE7: ACALL BARK。MOV A,R2MOV R6,AMOV R3,07HCLR OKAJMP COUNTTRUE8: ACALL BARK。MOV A,R2MOV R6,AMOV R3,08HCLR OKAJMP COUNT 程序及分析單片機控制8路搶答器程序OK EQU 20H。搶答開始標志位RING EQU 22H。響鈴標志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: 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 ET1SETB EX0SETB EX1。允許四個中斷,T0/T1/INT0/INT1 CLR OKCLR RING SETB TR1 SETB TR0。一開始就運行定時器,重置TH1/TL1就可以了。=====查詢程序=====START: MOV R5,0BH MOV R4,0BH MOV R3,0BHACALL DISPLAY。未開始搶答時候顯示FFF JB ,NEXT。ddddddd ACALL DELAY JB ,NEXT。去抖動,如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL BARK。按鍵發(fā)聲 MOV A,R1 MOV R6,A。送R1R6,因為R1中保存了搶答時間 SETB OK。搶答標志位,用于COUNT只程序中判斷是否查詢搶答 MOV R3,0AH。搶答只顯示計時,滅號數(shù) AJMP COUNT。進入倒計時程序,查詢有效搶答的程序在COUNT里面NEXT: JNB ,FALSE1 JNB ,FALSE2 JNB ,FALSE3 JNB ,FALSE4 JNB ,FALSE5 JNB ,FALSE6 JNB ,TZ1 JNB ,TZ2 AJMP STARTTZ1:JMP FALSE7TZ2:JMP FALSE8。=====非法搶答處理程序=====FALSE1: ACALL BARK。按鍵發(fā)聲MOV R3,01H AJMP ERRORFALSE2: ACALL BARKMOV R3,02H AJMP ERRORFALSE3: ACALL BARKMOV R3,03H AJMP ERRORFALSE4: ACALL BARKMOV R3,04H AJMP ERRORFALSE5: ACALL BARKMOV R3,05H AJMP ERRORFALSE6: ACALL BARKMOV R3,06H AJMP ERRORFALSE7: ACALL BARKMOV R3,07H AJMP ERRORFALSE8: ACALL BARKMOV 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上顯示R116
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1