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

正文內(nèi)容

基于單片機(jī)的智能搶答器的設(shè)計(jì)與制作畢業(yè)論文-在線瀏覽

2025-08-07 14:53本頁(yè)面
  

【正文】 位微處理器 CPU、振蕩電路、總線控制部件、中斷控制部件、片內(nèi) Flash 存儲(chǔ)器、片內(nèi) RAM、并行 I/O 接口、定時(shí)器和串行 I/O接口。單片微機(jī)內(nèi)部最核心的部分是 CPU, CPU 按其功能可分為運(yùn)算器和控制器兩部分。它的功能是對(duì)來(lái)自存儲(chǔ)器中的指令進(jìn)行譯碼,通過(guò)實(shí)時(shí)控制電路,在規(guī) 定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器 B 和一些專用寄存器,還增加了位處理邏輯電路的功能。 STC89C51 引腳圖如圖21所示。當(dāng) P1口的管腳第一次寫 1時(shí),被定義為高阻輸入。在 FIASH 編程時(shí), P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí), P0輸出原碼,此時(shí) P0外部必須被拉高。 P1口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口: P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 口緩沖器可接收,輸出 4個(gè) TTL 門電流,當(dāng) P2口被 寫“ 1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。這是由于內(nèi)部上拉的緣故。在給出地址“ 1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí), P2口輸出其特殊功能寄存器的內(nèi)容。當(dāng) P3 口寫入“ 1”后,它們被內(nèi)部上拉為高電 平,并用作輸入。 P3 口也可作為 STC89C51的一些特殊功能口,同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。在 FLASH 編程期間,此引腳用于輸入編程脈沖。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 PSEN 有效。 EA/VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器( 0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL2:來(lái)自反 向振蕩器的輸出。 AT89C51 單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。 外部時(shí)鐘方式就是直接將外部的振蕩脈沖通過(guò) XTALl 或 XTAL2 接入單片機(jī),外部時(shí)鐘方式多用于多機(jī)系統(tǒng),以便各個(gè)單片機(jī)能夠同時(shí)工作。 內(nèi)部時(shí)鐘方式就是利用單片機(jī)芯片內(nèi)部的振蕩器,通過(guò)在引腳 XTALl 和 XTAL2 兩端跨接晶體 振蕩器,構(gòu)成穩(wěn)定的自激振蕩器的方法,再由獲得的自激振蕩器發(fā)出穩(wěn)定的脈沖,直接送入芯片內(nèi)部的時(shí)鐘電路的方式。自激振蕩器的頻率取決于晶體振蕩器的頻率,常見(jiàn)的晶體振蕩器頻率有 6MHz 和 12MHz。 本系統(tǒng)中采用的是內(nèi)部時(shí)鐘方式。 圖 22 振蕩電路 復(fù)位電路設(shè)計(jì) 單片機(jī)系統(tǒng)在啟動(dòng)運(yùn)行時(shí),首先完成的復(fù)位操作,即上電復(fù)位。復(fù)位很重要,單片機(jī)有多種復(fù)位方式。 上電復(fù)位常用的方法是使用電容器。 單片機(jī)的第 9腳 RST 為硬件復(fù)位端,只要將該端持續(xù) 4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖 23所示。 值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過(guò)一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。編碼鍵盤即鍵盤上閉合鍵的識(shí)別有專用的硬件來(lái)實(shí)現(xiàn), 由硬件邏輯電路完成必要的鍵識(shí)別工作與可靠性措施。這種鍵盤易于使用,但硬件比較復(fù)雜,對(duì) 于主機(jī)任務(wù)繁重之情況,采用 8279可編程鍵盤管理接口芯片構(gòu)成編碼式鍵盤系統(tǒng)是很實(shí)用的方案。 只簡(jiǎn)單地提供鍵盤的行列與矩陣,其他操作如鍵的識(shí)別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡(jiǎn)單,但占用 CPU較多時(shí)間。如圖 24所示。按鍵如圖 25所示, 圖 25 按鍵圖 當(dāng)開(kāi)關(guān) S1斷開(kāi)時(shí),單片機(jī)接入口輸入為高電平, S1閉合時(shí),單片機(jī)接入口輸入為低電平。 圖 26 抖動(dòng)波形圖 這種抖動(dòng)對(duì)于人來(lái)說(shuō)是感覺(jué)不到的,但對(duì)單片機(jī)來(lái)說(shuō),則是完全可以感應(yīng)到的,因?yàn)閱纹瑱C(jī)處理的速度是在微秒級(jí),而機(jī)械抖動(dòng)的時(shí)間至少是毫秒級(jí),對(duì)單片機(jī)而言,這已是一段“漫長(zhǎng)”的時(shí)間了。而如果鍵處理程序采用查詢方式的話也會(huì)存在響應(yīng)按鍵遲鈍的現(xiàn)象,甚至可能會(huì)漏掉信號(hào)。 常用的去抖動(dòng)的方法有兩種:硬件方法和軟件方法。軟件去除抖動(dòng)其實(shí)很簡(jiǎ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ú)效。當(dāng)然,實(shí)際應(yīng)用中,對(duì)按鍵的要求也是千差萬(wàn)別,要根據(jù)不同的需要來(lái)編制處理程序。數(shù)碼管發(fā)光原理分兩種情況:共陰極型 a、 b、 c、 d、 e、 f、 g 各引腳輸入高電平有效。只要哪個(gè)引腳輸入低電平,對(duì)應(yīng)的二極管就會(huì)發(fā)亮。輸入到數(shù)碼管 dp 、 g、 f、 e、 d、 c、b、 a 的二進(jìn)制碼稱為字段碼(或稱字形碼),數(shù)碼管顯示的結(jié)果為字形。 表 21 顯示字形 字段碼對(duì)應(yīng)關(guān)系 (字體 ) 顯示字型 共陽(yáng)極段選碼 共陰極段選碼 0 C0H 3FH 1 F9H 06H 2 A4H 5BH 3 B0H 4FH 4 99H 66H 5 92H 6DH 6 82H 7DH 11 顯示字型 共陽(yáng)極段選碼 共陰極段選碼 7 F8H 07H 8 80H 7FH 9 90H 6FH A 88H 77H B 83H 7CH C C6H 39H D A1H 5EH E 86H 79H F 8EH 71H “滅” FFH 00H 表 21中,各發(fā)光段 a、 b、 c、 d、 e、 f、 g 及 dp 與數(shù)據(jù)線的對(duì)應(yīng)關(guān)系是 D0~ D7,即 a 對(duì)應(yīng) D0、 b 對(duì)應(yīng) D?、依次類推,而 dp 對(duì)應(yīng) D7。例如 MOV P0,3FH,若采用共陰的數(shù)碼管,則數(shù)碼管顯示“ 0”; 若采用共陽(yáng)型數(shù)碼管, MOV P0, 88H 則顯示“ A ” 顯示功能與硬件關(guān)系極大,當(dāng)硬件固 定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。 靜態(tài)顯示就是顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,這種方法,每一顯示位都需要一個(gè) 8位的輸出口控制,一般僅用于顯示位數(shù)較少的場(chǎng)合,其特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多; 動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各位顯示器,對(duì)每一位顯示器而言,每隔一段時(shí)間點(diǎn)亮一次,利用人的視覺(jué)留感達(dá)到顯示的目的,顯示器的亮度跟導(dǎo)通的電流有關(guān),也和點(diǎn)亮 的時(shí)間與間隔的比例有關(guān),其的特點(diǎn)是顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用 端口資源少,硬件成本較低。 4位七段數(shù)碼管顯示電路如圖 27所示。 74HC573包含八路 D 型透明鎖存器,每個(gè)鎖存器具有獨(dú)立的 D 型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。 當(dāng) LE 為高時(shí),數(shù)據(jù)從 Dn 輸入到鎖存器,在此條件下,鎖存器進(jìn)入透明模式,也就是說(shuō),鎖存器的輸出狀態(tài)將會(huì)隨著對(duì)應(yīng)的 D輸入每次的變化而改變。 當(dāng) OE 為低時(shí), 8個(gè)鎖存器的內(nèi)容可被正常輸出;當(dāng) OE為高時(shí),輸出進(jìn)入高阻態(tài)。 報(bào)警電路設(shè)計(jì) 報(bào)警信號(hào)通常有三種類型:一是閃光報(bào)警,因?yàn)殚W動(dòng)的指示燈更能提醒人們注意;二是鳴音報(bào)警,發(fā)出特定的音響,作用于人的聽(tīng)覺(jué)器官,易于引起和加強(qiáng)警覺(jué);三是語(yǔ)音報(bào)警,不僅能起到報(bào)警作用,還能直接給出警報(bào)種類的信息中。 發(fā)聲 電路用于報(bào)警,當(dāng)遇到 發(fā)聲 信號(hào)時(shí),發(fā)出警報(bào)。 搶答器發(fā)聲電路設(shè)計(jì)如圖 28所示。 圖 28 發(fā)聲電路 在圖 28 中, P 接三極管基極輸入端,當(dāng) P 輸出高電平“ 1”時(shí) , 三極管導(dǎo)通,蜂鳴器的通電而發(fā)音,當(dāng) P 輸出低電平“ 0”時(shí),三極管截止,蜂鳴器停止發(fā)音。 14 3 軟件設(shè)計(jì) 搶答 器主 程序設(shè)計(jì) 子 程 序 入 口初 始 化答 題 開(kāi) 始對(duì) 應(yīng) LED至 1判 斷 0分 數(shù)98主 持 人 加 減分返 回選 手 搶 答 圖 31 主程序流程圖 void Compere_key_function(void){ if(have_key == 0) return。 switch (key_value){ case start_all_key: answer_statu = 0。 score[1] = 0。 score[3] = 0。 15 break。 answer_time[1] = 0。 answer_time[3] = 0。 /* = 1 Led_Off_All()。 break。 if(score[answer_group] = 97) score[answer_group] = score[answer_group] + 2。 case answer_error_key: if(answer_statu == 2){ answer_statu = 0。 } break。 } } 16 報(bào)警程序設(shè)計(jì) 子 程 序 入 口P 2 .2至 高 電平延 時(shí)延 時(shí)P 2 .2至 低 電平 圖 32 主程序子程序流程圖 void En_beep(void) { unsigned char i。i100。 BEEP=!BEEP。 } void Cheak_Answer_time_over(void) { if(Answer_time_over == 1 || answer_statu == 1){ En_beep()。 Delay(250)。 Delay(250)。 En_beep()。 unsigned char Temp_score,Display_score。 Display_time = 0。 18 P0 = 0xff。 Delay(1)。 switch (Witch_isplay){ case 0: P0 = 0x01^0xff。 case 1: P0 = 0x02^0xff。 case 2: P0 = 0x04^0xff。 case 3: P0 = 0x08^0xff。 case 4: P0 = 0x10^0xff。 case 5:
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1