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

正文內(nèi)容

單片機基于fpga的電子搶答器的設計(編輯修改稿)

2024-08-23 03:45 本頁面
 

【文章內(nèi)容簡介】 ROM,故內(nèi)部程序不能改寫,不用于實驗開發(fā)。87C51 具有片內(nèi) EPROM,是真正的單片微機,但由于價格較貴,且程序改寫時要用紫外線擦除,時間較長,所以用得較少。80C31 在市場上的價格很低,但片內(nèi)沒有 ROM,必須在片外擴展一片 EPROM,非常不便。AT89C51 片內(nèi)具有可電擦除的 FPEROM,可以快速、多次地編程,且價格不高,所以用得非常廣泛,目前開發(fā)用的 MCS—51 產(chǎn)品絕大多數(shù)用 89C51[4]。表 23 單片機主要性能的比較型號 ROM形式片內(nèi)ROM片內(nèi)RAM尋址范圍定時計數(shù)I/O口串行I/O 口外部中斷80C31 接ROM4K 128 2*64 K2*16 4 UART 280C51 ROM 4K 128 2*64 K2*16 4 UART 287C51 EPROM4K 128 2*64 K2*16 4 UART 289C51 FPEROM4K 128 2*64 K2*16 4 UART 2 AT89C51 單片機AT89C51 是一種低功耗、高性能的含有 4KB 閃速可編程電擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的 8 位CMOS 微控制器,使用高密度、非易失存儲技術制造,并且與 80C51 指令系統(tǒng)和引腳完成兼容。芯片上的 FPEROM 允許在線或采用通用的非易失存儲編程器對程序存儲器重復編程。(1)AT89C51 的主要性能包括:AT89C51 與 MCS—51 控制器系列產(chǎn)品兼容,片內(nèi)有 4K 可在線重復編程閃速電擦除存儲器(Flash Memory) ,存儲器可循環(huán)寫入/擦除 1000 次;存儲器數(shù)據(jù)保存時間可達 10 年;工作電壓范圍寬:Vcc可由 到 6V;全靜態(tài)工作可由 0Hz 到 16MHz;程序存儲器具有 3 級鎖存保護;128*8 位內(nèi)部 RAM;32 條可編程 I/O 線;兩個 16 位定時器/計數(shù)器;中斷結構具有 5 個中斷源和 2 個中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。(2)FPEROM 的編程:AT89C51 的 I/O 口 P0、PP2 和 P3 除具有與 80C51相同的一些性能和用途外,在 FPEROM 編程時,P0 口接收代碼字節(jié),并在程序檢驗時輸出代碼字節(jié),但在程序校驗時需要外部上拉負載電阻,在 FPEROM 編程和程序校驗期間,P1 口接收低位地址字節(jié),P2 口接收高位地址字節(jié)和一些控制信號,P3 口也接收一些 FPEROM 編程和校驗用的信號,此時 ALE/PROG 引腳是編程脈沖輸入(PROG)端,在 FPEROM 編程期間,如果選擇 12V 編程電壓、那么 EA/Vpp 引腳也允許接受 12V 編程電壓(Vpp) 。 搶答器的優(yōu)點及組成在知識比賽中,特別是做搶答題目的時候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設計一個系統(tǒng)來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。系統(tǒng)工作原理本系統(tǒng)采用 AT89C51 單片機作為核心。控制系統(tǒng)的四個模塊分別為:存儲模塊、顯示模塊、語音模塊、搶答開關模塊。該搶答器系統(tǒng)通過開關電路六個按鍵輸入搶答信號;利用存儲程序來完成軟件的設計;利用一個數(shù)碼管來完成顯示功能。工作時,用按鍵通過開關電路輸入各路的搶答信號,經(jīng)單片機的處理,輸出控制信號,控制數(shù)碼管和語音芯片工作。在數(shù)碼管上顯示哪一組先答題,并通過語音系統(tǒng)讀出第 N 組請答題,從而實現(xiàn)整個搶答過程。第三章 系統(tǒng)總體方案的設計 硬件電路的設計與原理圖本設計分為硬件設計和軟件設計 [5],這兩者相互結合,不可分離;從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務,隨著集成電路技術的飛速發(fā)展,各種功能很強的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設計的工作量在整個項目中的所占的比重逐漸下降。為使硬件電路設計盡可能合理,應注意以下幾方面:(1) 盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。(2) 留有設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。(3) 程序空間,選用片內(nèi)程序空間足夠大的單片機,本設計采用 AT89C51單片機。(4) RAM 空間,AT89C51 內(nèi)部 RAM 不多,當要增強軟件數(shù)據(jù)處理功能時,往往覺得不足。如果系統(tǒng)配置了外部 RAM,則建議多留一些空間。如選用 8155作 I/O 接口,就可以增強 256 字節(jié) ,則應配置足夠的 RAM,如 6264,62256 等。隨著軟件設計水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統(tǒng)將來升級留足夠的 RAM 空間,哪怕多設計一個 RAM 的插座,暫不插芯片也好。(5) I/O 端口:在樣機研制出來后進行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些 I/O 端口,雖然當時空著沒用,那么用的時候就派上用場了。圖 31 系統(tǒng)原理圖 為開始搶答 [9], 為停止, 為六路搶答輸入,數(shù)碼管段選 P0 口,位選 P2 口低 3 位,蜂鳴器輸出為 口。 為時間加 1 調(diào)整, 為時間減 1 調(diào)整。 時鐘頻率電路的設計,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。圖 32 為外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在XTAL2 引腳產(chǎn)生幅度為 3V 左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2 的作用有兩個:一是幫助振蕩器起振。二是對振蕩器的頻率進行微調(diào)。C1,C2 的典型值為 30PF。單片機在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用 fosc表示。如時鐘頻率為 12MHz,即 fosc=12MHz,則時鐘周期為 1/12181。s。 復位電路與顯示電路的設計單片機的第 9 腳 RST 為硬件復位端,只要將該端持續(xù) 4 個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖4 所示:圖 33 復位電路值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。顯示模塊在系統(tǒng)軟件中的安排操作者主要設計從顯示設備上獲取微機系統(tǒng)的信息的,因此,操作者每操作一下,顯示設備商都應該有一定的反應。這說明,顯示模塊與操作有關,即監(jiān)控程序是需要調(diào)用顯示模塊。不同的操作需要顯示不同的內(nèi)容,這又說明各執(zhí)行模塊對顯示模塊的驅(qū)動方式是不同的。另一方面,在操作者沒有進行操作時,顯示內(nèi)容也是變化的,如顯示現(xiàn)場各物理量的變化情況。這時顯示模塊不是由操作者通過命令鍵來驅(qū)動,而是由各類自動執(zhí)行的功能模塊來驅(qū)動。自動執(zhí)行的各類模塊在安排在各種中斷子程序中,這就是說,各種中斷子程序也要調(diào)用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過程中發(fā)生了中斷,中斷子程序也調(diào)用顯示模塊,這時就容易出問題。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權申請顯示。這就要設置一個顯示申請標志,當某模塊需要顯示時,將申請標志置位,同時設定有關顯示內(nèi)容(或指針) 。由于一處調(diào)用顯示模塊,故不會發(fā)生沖突。為了使顯示模塊能及時反應系統(tǒng)需要,應將顯示模塊安排在一個重復執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時鐘中斷子程序)中。當監(jiān)控程序(鍵盤解釋程序)安排在時鐘中斷子程序中時,處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示模塊就可以了。例如用 DISP 作顯示申請標志,就可以這樣安排顯示模塊的調(diào)用,即DISP BIT ;顯示申請標志SKEYEND: JNB DISP,RETI0 ;有顯示申請否? LCALL DISPLAY ;調(diào)用顯示模塊,更新顯示內(nèi)容 CLR DISP ;清除申請RETI0: .. RETI ;中斷返回KEYEND 為鍵盤解釋程序的最后匯集點,這時如果發(fā)現(xiàn)有顯示申請,就進行集中操作,更新顯示內(nèi)容,否則就跳過這一步。這里將顯示功能集中到一起,作為一個功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動完成顯示內(nèi)容的查找,變換和輸出驅(qū)動。這樣設計使得各功能模塊都不必考慮顯示問題,只要給出一個簡單的信息(如顯示格式編碼)甚至不用再提供額外信息,直接利用當前狀態(tài)變量和軟件標志就可以完成所需的顯示要求。如果編寫這樣一個集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這時各功能模塊在提出顯示申請時,還需要將顯示內(nèi)容按需要的格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。例如后臺程序需要調(diào)用顯示,將有關信息送入到現(xiàn)實緩沖區(qū)進行顯示;中斷返回后,后臺程序繼續(xù)送完后半部分顯示內(nèi)容,但前半部分內(nèi)容已經(jīng)變了,這樣就出現(xiàn)了顯示錯誤。解決的辦法是,在申請顯示前,先檢查是否已經(jīng)有顯示申請,如果有,就不再申請,等待下次機會;如果沒有,則先申請標志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。這時就不必擔心其他前臺模塊來打擾了,就可以得到一次完整的顯示機會。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示 [6]上我們采用的方法一般包括兩種:一種是靜態(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ù)碼管顯示原理如下: MOV A,R5 MOVC A,@A+DPTR ;查字型碼MOV P2,01H ;送位選碼MOV P0,A ;送字型碼ACALL DELAY ;調(diào)延時,去閃爍圖 34 共陰極數(shù)碼管在七段數(shù)碼管顯示中可分為共陽極和共陰極兩種類型極。以共陰為例,要想 a 段亮,向 a 段送 1 就是,返之送 0,共陽剛好相反。 鍵盤掃描電路的設計鍵盤是人與微機系統(tǒng)打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。圖 35 獨立鍵盤它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾 ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。鍵盤抖動的軟件處理:按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,這是觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行。現(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1