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

正文內(nèi)容

單片機(jī)八路搶答器設(shè)計(jì)-文庫(kù)吧

2024-11-16 09:10 本頁(yè)面


【正文】 位 TL1 8BH 定時(shí)器 1 低 8 位 TH0 8CH 定時(shí)器 0 低 8 位 TH1 8DH 定時(shí)器 1 高 8 位 注:帶 *號(hào)的特殊功能寄存器都是可以位尋址的寄存器 AT89C51 單片機(jī)內(nèi)部由 CPU、 4KB 的 FPEROM , 128B 的 RAM,兩個(gè) 16 位的定時(shí) /計(jì)數(shù)器 T0 和 T1, 4 個(gè)8 位的 I/O 端 P0、 P P P3 等組成。單片微機(jī)內(nèi)部最核心的部分是 CPUCPU 主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入 /輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等, CPU 按其功能可分為運(yùn)算器和控制器兩部分。控制器由程序計(jì)數(shù)器 PC、指令儲(chǔ)存器、指令譯碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對(duì)來(lái)自存儲(chǔ)器中的指令進(jìn)行譯碼,通過實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器由算術(shù)邏輯器部件 ALU、累加器 ACC、暫存器 、程序狀態(tài)字寄存器 PSW, BCD 碼運(yùn)算調(diào)整電路等組成。 圖 3 AT89C51 單片機(jī)的內(nèi)部結(jié)構(gòu)圖 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器 B 和一些專用寄存器,還增加了位處理邏輯電路的功能。其內(nèi)部結(jié)構(gòu)如圖所示 AT89C51 的主要性能包括: AT89C51 與 MCS― 51 控制器系列產(chǎn)品兼容,片內(nèi)有 4K 可在線重復(fù)編程閃速電擦除存儲(chǔ)器( Flash Memory),存儲(chǔ)器可循環(huán)寫入 /擦除 1000 次;存儲(chǔ)器數(shù)據(jù)保存時(shí)間可達(dá) 10 年;工作電壓范圍寬: Vcc 可由 到 6V;全靜態(tài)工作可由 0H 到 16MH;程序存 儲(chǔ)器具有 3 級(jí)鎖存保護(hù); 1288 位內(nèi)部 RAM; 32 條可編程I/O 線;兩個(gè) 16 位定時(shí)器 /計(jì)數(shù)器;中斷結(jié)構(gòu)具有 5 個(gè)中斷源和 2 個(gè)中斷優(yōu)先級(jí);可編程全雙工串行通信;空閑狀態(tài)低功耗和掉電狀態(tài)保存存儲(chǔ)內(nèi)容。 在知識(shí)比賽中,特別是做搶答題目的時(shí)候在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來(lái)完成這個(gè)任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來(lái)設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際 用途。系統(tǒng)工作原理本系統(tǒng)采用89C51 單片機(jī)作為核心。控制系統(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過個(gè)按鍵輸入搶答信號(hào);利用存儲(chǔ)程序;利用一個(gè)數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過開關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),控制數(shù)碼管和工作。在數(shù)碼管上顯示哪一組先答題,從而實(shí)現(xiàn)整個(gè)搶答過程。 圖 5 外部振蕩源電路 一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在XTAL2 引腳產(chǎn)生幅度為 3V 左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的 頻率確定。電路中兩個(gè)電容 C1, C2 的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。 C1, C2 的典型值為 20PF。 單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用 fosc表示。圖中時(shí)鐘頻率為 12MHz,即 fosc 12MHz,則時(shí)鐘周期為 1/12μ s。 復(fù)位電路的設(shè)計(jì) 單片機(jī)的第 9 腳 RST 為硬件復(fù)位端,只要將該端持續(xù) 4 個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖 6所示: 圖 6 復(fù)位電路 圖 6 中由按鍵 RESET1 以及電解電容 C電阻 R2 構(gòu)成按鍵及上電復(fù)位電路。由于單片機(jī)是高電平復(fù)位,所以當(dāng)按鍵 RESET1 按下時(shí)候,單片機(jī)的 9 腳 RESET管腳處于高電平,此時(shí)單片機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,由于電容的緩慢充電,單片機(jī)的 9 腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時(shí)間后,單片機(jī)的 9 腳處于穩(wěn)定的低電平狀態(tài),此時(shí)單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從 0000H 開始執(zhí)行。 值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的 功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。 顯示電路的設(shè)計(jì) 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。 在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示 的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。 通過查表法,將其在數(shù)碼管上顯示出來(lái),其中 P0 口為字型碼輸入端, P2 口低 3 位為字選段輸入端。在這里我們通過查表將字型碼送給 7 段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下: 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 4 位七段數(shù)碼管顯示電路如圖 7 所示。 圖 7 共陰極數(shù)碼管 圖 7 中數(shù)碼管采用的是 4 位七段共陰數(shù)碼管,其中 A~H 段分別接到單片機(jī)的P0 口,由單片機(jī)輸出的 P0 口數(shù)據(jù)來(lái)決定段碼值,位選碼 COM COM COM4 分別接到單片機(jī)的 、 、 ,由單片機(jī)來(lái)決定當(dāng)前該顯示的是哪一位。在圖中還有八個(gè) 1K 的電阻,連接在 P0 口上,用作 P0 口的上拉電阻,保證 P0口沒有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。 鍵盤掃描電路的設(shè)計(jì) 鍵盤是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的 立場(chǎng)上來(lái)看,僅僅完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們?cè)诓僮麈I盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。 它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里 采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾 ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間 ,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后再延時(shí)一段時(shí)間 這里我們?nèi)?10ms 后再判斷此電平是否保持原狀態(tài) ,如果是則為有效按鍵,否則無(wú)效。 在本文設(shè)計(jì)中采用了獨(dú)立鍵盤的方式,本設(shè)計(jì)中有 8 個(gè)搶答按鍵輸入,一個(gè)開始按鍵、一個(gè)結(jié)束按鍵,此外還有搶答時(shí)間調(diào)整鍵、回答時(shí)間調(diào)整鍵,加一按鍵、減一按鍵各一個(gè)。如圖 8 所示。 圖 8 搶答按鍵及調(diào)整按鍵 在圖 8 中 8 個(gè)搶答按鍵分別接入單片機(jī)的 ~ 端口,單片機(jī)通過讀取~ 的值來(lái)判斷當(dāng)前輸入的是 8 個(gè)搶答按鍵中的哪一個(gè)。搶答時(shí)間調(diào)整和回答時(shí)間調(diào)整接到單片,加一及減一按鍵接到單片。 圖 9 開始、結(jié)束按鍵 在圖 9 中,開始及結(jié)束按鍵接到單片機(jī)的 11 腳,這里用到了單片機(jī) 11 腳復(fù)合功能中的 IO 端口功能,單片機(jī)通過讀取 11 腳的 、 的 IO端口值來(lái)判斷當(dāng)前是否處于搶答開始狀態(tài)或搶答結(jié)束狀態(tài)。 按鍵的觸點(diǎn)在閉合和斷開時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開抖動(dòng)階段,這一延時(shí)過程一般大于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤中斷(外部中斷)子程序中,則該延時(shí)子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時(shí)中斷子程序中,就可省去專門的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。 K1~ K8 八個(gè)按鍵的輸入電平靠 74HC30 輸入與非門和 74LS04 反向器組成的電路改變輸入電平。圖 10 中電路就是由一個(gè) 74HC30 輸入與非門和 74LS04 反向器組成的去抖電路。 圖 10 去抖電路 發(fā)聲電路 我們 知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 圖 11 發(fā)聲電路 系統(tǒng)復(fù)位 使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過 CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上 電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從 0000H 地
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1