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

正文內(nèi)容

單片機課程設計八路搶答器設計(編輯修改稿)

2024-07-23 10:15 本頁面
 

【文章內(nèi)容簡介】 升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統(tǒng)將來升級留足夠的 RAM 空間,哪怕多設計一個 RAM 的插座,暫不插芯片也好。(5) I/O 端口:在樣機研制出來后進行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些 I/O 端口,雖然當時空著沒用,那么用的時候就派上用場了。單片機課程設計11 總體原理圖 本原理圖是利用 Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA 工具(仿真軟件 )。它不僅具有其它仿真軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機的工具。雖然目前國內(nèi)推廣剛起步,但已受到從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者和單片機愛好者的青睞。在編譯方面,它支持 IAR、Keil 和 MPLAB 等多種編譯器[9]。Proteus 軟件除了可以編輯設計電路原理圖,還可以進行電路仿真。首先在畫好的電路原理圖中選中需要編寫程序的芯片,并單擊鼠標左鍵,打開 Edition Component 對話框,設置單片機晶振頻率為 12MHZ,在此窗口中的 program file 欄中,選擇之前用keil 軟件生成的 KEIL 生成的 HEX 文件。在 Proteus 的菜單欄中選擇 file 并 Save Desig選項,保存設計。在 Proteus 的菜單欄中,打開 Debug 下拉菜單,在菜單中選中 Use start/restart debugging 選項,這樣 proteus 中繪制的電路原理圖就可以鏈接上, keil 中生成的 HEX 文件進行仿真了。打開 proteus 軟件,在 File 的下拉菜單中找到 New Design 新建 Proteus 并選擇 A4版面,然后保存,這樣就完成 proteus 的新建了。把元件排布好后,使用導線將各個元件連接起來,最后繪制完成八路掃描式搶答器電路原理圖。單片機課程設計12圖 系統(tǒng)仿真原理圖圖中 U1 為單片機 AT89C51,U2 為芯片 74HC30,U3 為芯片 74LS04。K1~K8 分別為 8 路搶答按鍵,分別接到單片機的~ 中。開始按鍵與結束按鍵分別接到單片機的11 腳,由于單片機的 11 腳既有串行接口RXD、TXD 功能,又有 、的 IO 端口功能,此處按鍵用到單片機 11 腳的 IO端口功能。搶答時間調(diào)整按鍵和回答時間調(diào)整按鍵分別接到單片機的114 管腳,加一按鍵和減一按鍵分別接到單片機的116 管腳。4 位七段數(shù)碼管段選P0 口。4 位七段數(shù)碼管的位選接 P2口低 3 位,蜂鳴器輸出為 口 [8]。XTAL2 18XTAL1 19ALE 30EA 31PSEN 29RST 9P0./AD039 1P1. 4 8U1AT89C51X1CRYSTALC13p C23pC310uR120RR2510RLS1 SPEAKER12U2:A74LS04 1234561128U474S30R310kR410kR510kR610kR710kR810kR910k單片機課程設計13 時鐘頻率電路的設計單片機必須在時鐘的驅(qū)動下才能工作。在單片機內(nèi)部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。時鐘電路如圖 所示。圖 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在 XTAL2引腳產(chǎn)生幅度為 3V 左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2 的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。C1 , C2 的典型值為 20PF。單片機在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用 fosc 表示。圖中時鐘頻率為 12MHz,即 fosc=12MHz,則時鐘周期為 1/12181。s。 復位電路的設計單片機的第 9 腳 RST 為硬件復位端,只要將該端持續(xù) 4 個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖 所示:單片機課程設計14圖 復位電路圖 中由按鍵 RESET1 以及電解電容 C電阻 R2 構成按鍵及上電復位電路。由于單片機是高電平復位,所以當按鍵 RESET1 按下時候,單片機的 9 腳 RESET 管腳處于高電平,此時單片機處于復位狀態(tài)。當上電后,由于電容的緩慢充電,單片機的 9 腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機的 9 腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復位完畢,系統(tǒng)程序從 0000H 開始執(zhí)行。值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。 顯示電路的設計顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設計中根據(jù)實際情況采用的是動態(tài)顯示方法。通過查表法,將其在數(shù)碼管上顯示出來,其中 P0 口為字型碼輸入端,P2 口低 3 位為字選段輸入端。在這里我們通過查表將字型碼送給 7 段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下: 單片機課程設計15 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 RET4 位七段數(shù)碼管顯示電路如圖 7 所示。圖 共陰極數(shù)碼管圖 中數(shù)碼管采用的是 4 位七段共陰數(shù)碼管,其中 A~H 段分別接到單片機的 P0口,由單片機輸出的 P0 口數(shù)據(jù)來決定段碼值,位選碼 COMCOMCOM4 分別接單片機課程設計16到單片機的 、 、 ,由單片機來決定當前該顯示的是哪一位。在圖中還有八個 1K 的電阻,連接在 P0 口上,用作 P0 口的上拉電阻,保證 P0 口沒有數(shù)據(jù)輸出時候處于高電平狀態(tài)。 鍵盤掃描電路的設計鍵盤是人與單片機打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾 ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。在本文設計中采用了獨立鍵盤的方式,本設計中有 8 個搶答按鍵輸入,一個開始按鍵、一個結束按鍵,此外還有搶答時間調(diào)整鍵、回答時間調(diào)整鍵,加一按鍵、減一按鍵各一個。如圖 所示。 單片機課程設計17圖 搶答按鍵及調(diào)整按鍵在圖 中 8 個搶答按鍵分別接入單片機的 ~ 端口,單片機通過讀取~ 的值來判斷當前輸入的是 8 個搶答按鍵中的哪一個。搶答時間調(diào)整和回答時間調(diào)整接到單片機的 和 接口,加一及減一按鍵接到單片機的 和 接口。圖 開始、結束按鍵在圖 中,開始及結束按鍵接到單片機的 11 腳,這里用到了單片機 11腳復合功能中的 IO 端口功能,單片機通過讀取 11 腳的 、 的 IO 端口值來判斷當前是否處于搶答開始狀態(tài)或搶答結束狀態(tài)。按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行。現(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。K1~K8 八個按鍵的輸入電平靠 74HC30 輸入與非門和 74LS04 反向器組成的電路改變輸入電平。圖 中電路就是由一個 74HC30 輸入與非門和 74LS04 反向器組成的去抖電路。單片機課程設計18圖 去抖電路 發(fā)聲電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高” “低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。本文設計如圖 所示。圖中單片機的 14 腳輸出具有復合功能,此處用到了單片機 17 腳的 IO 端口功能,單片機通過內(nèi)部定時器的操作實現(xiàn)交替變換的波形輸出驅(qū)動揚聲器發(fā)聲。圖 發(fā)聲電路單片機課程設計19 系統(tǒng)復位使 CPU 進入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復位。從實現(xiàn)系統(tǒng)復位的方法來看,系統(tǒng)復位可分為硬件復位和軟件復位。硬件復位必須通過 CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時間的高電位才能實現(xiàn)。上電復位,人工按鈕復位和硬件看門狗復位均為硬件復位。硬件復位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復位還能自動清除中斷激活標志,使中斷系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復位就是用一系列指令來模擬硬件復位功能,最后通過轉(zhuǎn)移指令使程序從 0000H 地址開始執(zhí)行。對各專用寄存器的復位操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用 020220(LJMP 0000H)作為軟件陷阱,認為直接轉(zhuǎn)向 0000H地址就完成了軟件復位,就是這類錯誤的典型代表。軟件復位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應。由于軟件看門是高級中斷,它將阻止說要中斷響應,由此可見清除中斷激活標志的重要性。在所有的指令中,只有 RETI 指令能夠清除中斷激活標志。出錯處理程序 ERR 主要完成這一功能,其他的善后工作交由復位后的系統(tǒng)去完成。程序一般先關中斷,以便后續(xù)處理能順利進行,然后用兩個 RETI 指令代替兩個LJMP 指令,
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1