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

正文內容

精品--基于at89s51單片機的八路搶答器設計(編輯修改稿)

2025-01-11 03:27 本頁面
 

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