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

正文內容

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

2025-08-14 19:10 本頁面
 

【文章內容簡介】 監(jiān)控循環(huán)或時鐘中斷子程序)中。當監(jiān)控程序(鍵盤 解釋程序)安排在時鐘中斷子程序中時,處理比較方便,只要在監(jiān)控程序的匯合處調用顯示模塊就可以了。 這里將顯示功能集中到一起,作為一個功能模塊,就要求它的功能全面,能根據系統(tǒng)軟件提供的信息自動完成顯示內容的查找,變換和輸出驅動。這樣設計使得各功能模塊都不必考慮顯示問題,只要給出一個簡單的信息(如顯示格式編碼)甚至不用再提供額外信息,直接利用當前狀態(tài)變量和軟件標志就可以完成所需的顯示要求。 如果編寫這樣一個集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內容輸出到顯示器件上的工作。這時各功能模塊在 提出顯示申請時,還需要將顯示內容按需要的格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。例如后臺程序需要調用顯示,將有關信息送入到現(xiàn)實緩沖區(qū)進行顯示;中斷返回后,后臺程序繼續(xù)送完后半部分顯示內容,但前半部分內容已經變了,這樣就出現(xiàn)了顯示錯誤。解決的辦法是,在申請顯示前,先檢查是否已經有顯示申請,如果有,就不再申請,等待下次機會;如果沒有,則先申請標志位,再將顯示內容送入顯示緩沖區(qū)。這時就不必擔心其他前臺模塊來打擾了,就可以得到一次完整的顯示機會。 在這里我們使用的是七段數碼管顯示,通常 在顯示 [6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設計中根據實際情況采用的是動態(tài)顯示方法。 并通過查表法,將其在數碼管上顯示出來,其中 P0 口為字型碼輸入端, P2口低 3位為字選段輸入端。在這里我們通過查表將字型碼送給 7段數碼管顯示的數字,數碼管顯示原理如下: MOV A,R5 MOVC A,@A+DPTR ;查字 型碼 MOV P2,01H ;送位選碼 17 MOV P0,A ;送字型碼 ACALL DELAY ;調延時,去閃爍 在七段數碼管顯示中可分為共陽極和共陰極兩種類型極 。 以共陰為例,要想a 段亮,向 a 段送 1 就是,返之送 0,共陽剛好相反。 掃描電路的實現(xiàn) 鍵盤是人與微機系統(tǒng)打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序 。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤 。 它們各有自己的特點 , 其中獨立鍵盤硬件電路簡單 , 而且在程序設計上也不復雜 , 一般用在對硬件電路要求不高的簡單電路中 ; 矩陣鍵盤與獨立鍵盤有很大區(qū)別 , 首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵 過程中產生 的“毛刺” 現(xiàn)象 。這里采用最常用的方法,即延時重復掃描法,延時法的原理為 : 因為 “ 毛刺 ” 脈沖一般持續(xù)時間短 , 約為幾 ms, 而我們按鍵的時間一般遠遠大于這個時間 ,所以當單片機檢測到有按鍵動靜后再延時一段時間 (這里我們取 10ms)后再判斷此電平是否保持原狀態(tài) ,如果是則為有效按鍵 , 否則無效。 按鈕輸入的硬件處理 按鈕的觸點在閉合和斷開時均會產生抖動,這是觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大 于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插 入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。 發(fā)聲 18 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲 [7],若能利用程序來控制單片 機某個口線的 “ 高 ” 電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時間,就能改變輸出頻率,從而改變 音調,使喇叭發(fā)出不同的聲音。 系統(tǒng)復位 使 CPU 進入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復位。從實現(xiàn)系統(tǒng)復位的方法來看,系統(tǒng)復位可分為硬件復位和軟件復位。硬件復位必須通過 CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時間的高電位才能實現(xiàn)。上電復位,人工按鈕復位和硬件看門狗復位均為硬件復位。硬件復位后,各專用寄存器的狀態(tài)均被初始化,且對片內通用寄存器的內容沒有影響。但是,硬件復位還能自動清除中斷激活標志,使中斷系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復位就是用一 系列指令來模擬硬件復位功能,最后通過轉移指令使程序從 0000H 地址開始執(zhí)行。對各專用寄存器的復位操作是容易的,也沒有必要完全模擬,可根據實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用 020xx0( LJMP 0000H)作為軟件陷阱,認為直接轉向 0000H 地址就完成了軟件復位,就是這類錯誤的典型代表。軟件復位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應。由 于軟件看門是高級中斷,它將阻止說要中斷響應,由此可見清除中斷激活標志的重要性。 在所有的指令中,只有 RETI 指令能夠清除中斷激活標志。前文各處提案到的出錯處理程序 ERR 主要完成這一功能,其他的善后工作交由復位后的系統(tǒng)去完成。 有復位時系統(tǒng)的歷史狀況,可將復位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當前狀態(tài)進行修復和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”初次上電投入運行時, 必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”。 19 復位 關 中斷,設定堆棧 上電標志 冷啟自檢 全面初始化 熱啟動恢復被破壞的信息部分初始化 建立上電標志 開始運轉 為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標志來區(qū)分,如圖 36 所示。 圖 36 系統(tǒng)復位策略圖 第四章 軟件設計 軟件任務分析 軟件任務分析和硬件電路設計結合進行,哪些功能由硬件完成,哪些任務由 20 軟件完成,在硬件電路設計基本定型后,也就基本上決定下來了。 軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質性的功能,如測量 ,計算,顯示,打印 [8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調各執(zhí)行模塊和操作者的關系,在系統(tǒng)軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟件的設計偏重算法效率,與硬件關系密切,千變萬化。 顯示子程序的設計 顯示子程序,及部分注解如下: 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 21 第一個為零 ,其他與上相同 ,因為十位如果為零顯示熄滅 定時器 T0、 T1 中斷服務程序的設計 =====TO溢出中斷 (響鈴程序 )===== T0INT: MOV TH0,0ECH MOV TL0,0FFH JNB RING,OUT。 CPL 。RING 標志位為 1 時候 口不斷取反使喇叭發(fā)出一定頻率的聲音 OUT: RETI T1 溢出中斷 (計時程序 ): T1INT: MOV TH1,3CH MOV TL1,0B0H INC R0 RETI END 搶答器處理程序的設計 搶答器處理程序: TRUE1: ACALL BARK。按鍵發(fā)聲 MOV A,R2 MOV R6,A。搶答時間 R2 送 R6 MOV R3,01H CLR OK。因為答題的計時不再查詢搶答 ,所以就鎖了搶答 AJMP COUNT TRUE2:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,02H CLR OK AJMP COUNT TRUE3:ACALL BARK。 22 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。 23 MOV A,R2 MOV R6,A MOV R3,08H CLR OK AJMP COUNT 程序及分析 單片機控制 8 路搶答器程序 OK EQU 20H。搶答開始標志位 RING EQU 22H。響鈴標志位 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。初設搶答時間為 30s MOV R2,60。初設答題 時間為 60s MOV TMOD,11H。設置未定時器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH。越高發(fā)聲頻率越高 ,越尖 MOV TH1,3CH MOV TL1,0B0H。50ms 為一次溢出中斷
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1