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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的八路智能搶答器系統(tǒng)設(shè)計(jì)-在線(xiàn)瀏覽

2024-08-01 02:31本頁(yè)面
  

【正文】 ,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。 搶答器的需求分析 在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效。 可以顯示是哪位選手有效搶答和無(wú)效搶答,正確按鍵后有音樂(lè)提示。 按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法。我們常說(shuō)的已經(jīng)停產(chǎn)的 89C51 指的是 ATMEL 公司的 AT 89C51 單片機(jī),同時(shí)是在原基礎(chǔ)上增強(qiáng)了許多特性,如時(shí)鐘,更優(yōu)秀的是由 Flash(程序存儲(chǔ)器的內(nèi)容至少可以改寫(xiě) 1000 次)存儲(chǔ)器取帶了原來(lái)的 ROM(一次性寫(xiě)入), AT89C51 的性能 相對(duì)于 8051 已經(jīng)算是非常優(yōu)越的了。 89S51 就是在這樣的背景下取代 89C51 的,現(xiàn)在, 89S51 目前已經(jīng)成為了實(shí)際應(yīng)用市場(chǎng)上新的寵兒,作為市場(chǎng)占有率第一的 Atmel 目前公司已經(jīng)停產(chǎn) AT89C51,將用 AT89S51 代替。 89SXX 可以像下兼容 89CXX 等 51 系列芯片。如果市場(chǎng)需要, Atmel 當(dāng)然也可以再恢復(fù)生產(chǎn) AT89C51。它與通用 80C51 系列單片機(jī)的指令系統(tǒng)和引腳兼容。他將通用 CPU和在線(xiàn)可編程 Flash 集成在一個(gè)芯片上,形成了功能強(qiáng)大、使用靈活和具有較高性能性?xún)r(jià)比的微控制器。單片微機(jī)內(nèi)部最核心的部分是 CPU??刂破饔沙绦蛴?jì)數(shù)器 PC、指令儲(chǔ)存器、指令譯碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。運(yùn)算器由算術(shù)邏輯器部件 ALU、累加器 ACC、暫存器、程序狀態(tài)字寄存器 PSW, BCD 碼運(yùn)算調(diào)整電路等組成。其內(nèi)部結(jié)構(gòu)如圖 23 所示 。 搶答器原理框圖如圖 所示。單元電路設(shè)計(jì)分為電源電路設(shè)計(jì)、時(shí)鐘和復(fù)位電路、鍵盤(pán)電路、顯示報(bào)警電路等。 (2) 留有設(shè)計(jì)余地。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì), 如果現(xiàn)在不留余地,將來(lái)可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。 (4) RAM 空間, AT89S51 內(nèi)部 RAM 不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時(shí),往往覺(jué)得不足。如選用 8155時(shí)鐘電路單片機(jī)復(fù)位電路驅(qū)動(dòng)限流顯示鍵盤(pán) 2 31 作 I/O 接口,就可以增強(qiáng) 256 字節(jié) ,則應(yīng)配置足夠的 RAM,如 6264, 62256 等。只要在硬件電路設(shè)計(jì)初期考慮到這一點(diǎn),就應(yīng)該為系統(tǒng)將來(lái)升級(jí)留足夠的 RAM 空間,哪怕多設(shè)計(jì)一個(gè) RAM 的插座,暫不插芯片也好。如有些新的信號(hào)需要采集,就必須增加輸入檢測(cè)端;有些物理量需要控制,就必須增加輸出端。 為開(kāi)始搶答 [9], 為加分, 為減分, 為六八搶答輸入,數(shù)碼管段選 P0 口,位選 P2 口低 3位,蜂鳴器輸出為 口。 MCS51 單片機(jī)允第三章硬件電路的設(shè)計(jì) 2 31 許的時(shí)鐘頻率是因型號(hào)而異的。 12MHz 的晶振,其機(jī)器周期是 1us, 也就是說(shuō)在執(zhí)行同一條指令時(shí)用 6MHz的晶振所用的時(shí)間是 12MHz 晶振的兩倍。 振蕩方式的選擇: 內(nèi)部振蕩方式, MCS51 內(nèi)部都有 一個(gè)反相放大器, XTAL XTAL2 分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。這種方式適合用來(lái)使單片機(jī)的時(shí)鐘與外部信號(hào)一致。晶振我選擇了 12MHz,相對(duì)于 6MHz 的晶振,整個(gè)系統(tǒng)的運(yùn)行速度更快了。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)穩(wěn)定性高。 第三章硬件電路的設(shè)計(jì) 2 31 一般選用石英晶體振蕩器。電路中兩個(gè)電容 C1,C2 的作用有兩個(gè) :一是幫助振蕩器起振 。 C1,C2 的典型值為 30PF。其大小是時(shí)鐘信號(hào)頻率的倒數(shù) ,常用 fosc表示。s。 MCS51 的復(fù)位輸入引腳 RST為 MCS51提供了初始化的手段,可以使程序從指定處 開(kāi)始執(zhí)行,在 MCS51的時(shí)鐘電路工作后,只要 RST 引腳上出現(xiàn)超過(guò)兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作。只有當(dāng) RST由高電平變低電平以后, MCS51 才從 0000H 地址開(kāi)始執(zhí)行程序。 MCS51單片機(jī)有一個(gè)復(fù)位引腳 RST,它是施密特觸發(fā)輸入,當(dāng)振蕩器起振后,該引腳上出現(xiàn) 2個(gè)機(jī)器周期(即 24個(gè)時(shí)鐘周期)以上的高電平。此時(shí) ALE、 /PSEN、 P0、 PP P3 口都輸出高電平。復(fù)位以后內(nèi)部寄存器的初始狀態(tài)為( SP=07, P0、 P P P3為 0FFH 外,其它寄存器都為 0。如圖,在加電瞬間,電容通過(guò)電阻充電,就在 RST 端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使 MCS51有效地復(fù)位。 10MHz 時(shí)間約為 1ms, 1MHz 時(shí)約為 10ms,所以一般為了可靠地復(fù)位, RST 在上電時(shí)應(yīng)保持 20ms 以上的高電平。當(dāng)振蕩頻率為 12MHZ 時(shí),典型值為 2 31 C=10uF,R= . 圖 33上電復(fù)位電路 人工復(fù)位 除上電自動(dòng)復(fù)位以外,常常需要人工復(fù)位,將一個(gè)按鈕開(kāi)關(guān)并聯(lián)于上電自動(dòng)復(fù)位電路,按一下開(kāi)關(guān)就 RST 端出現(xiàn)一段時(shí)間的高電平,即使器件復(fù)位。當(dāng)時(shí)鐘頻率選用 12MHz 時(shí), C 選取 10uF, R 選擇 1000 歐。 顯示模塊在系統(tǒng)硬件中的安 排 操作者主要設(shè)計(jì)從顯示設(shè)備上獲取微機(jī)系統(tǒng)的信息的,因此,操作者每操作一下,顯示設(shè)備商都應(yīng)該有一定的反應(yīng)。不同的操作需要顯示不同的內(nèi)容,這又說(shuō)明各執(zhí)行模塊對(duì)顯示模塊的驅(qū)動(dòng)方式是不同的。這時(shí)顯示模塊不是由操作者通過(guò)命令鍵來(lái)驅(qū)動(dòng),而是由各類(lèi)自動(dòng)執(zhí)行的功能模塊來(lái)驅(qū)動(dòng)。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問(wèn)題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過(guò)程中發(fā)生了中斷,中斷子程序也調(diào)用顯示模塊,這時(shí)就容易出問(wèn)題。這就要設(shè)置一個(gè)顯示申請(qǐng)標(biāo)志,當(dāng)某模塊需要顯示時(shí),將申請(qǐng)標(biāo)志置位,同時(shí)設(shè)定有關(guān)顯示內(nèi)容(或指針)。為了使顯示模塊能及時(shí)反應(yīng)系統(tǒng)需要,應(yīng)將顯示模塊安排在一個(gè)重復(fù)執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時(shí)鐘中 斷子程序)中。 這里將顯示功能集中到一起,作為一個(gè)功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動(dòng)完成顯示內(nèi)容的查找,變換和輸出驅(qū)動(dòng)。 如果編寫(xiě)這樣一個(gè)集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示 器件上的工作。這樣分而治之比 2 31 較容易編程,但要小心出現(xiàn)顯示混亂。解決的辦法是,在申請(qǐng)顯示前,先檢查是否已經(jīng)有顯示申請(qǐng),如果有,就不再申請(qǐng),等待下次機(jī)會(huì);如果沒(méi)有,則先申請(qǐng)標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。 在這里我 們使用的是七段數(shù)碼管顯示,通常在顯示 [6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。在這里我們通過(guò)查表將字型碼送給 7 段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下: MOV A,R5 MOVC A,A+DPTR ;查字型MOV P2,01H ;送位選碼 MOV P0,A ;送字型碼 ACALL DELAY ;調(diào)延時(shí),去閃爍 在七段數(shù)碼管顯示中可分為共陽(yáng)極和共陰極兩種類(lèi)型極 。 掃描電路的實(shí)現(xiàn) 鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。站在系統(tǒng)監(jiān)控軟 件設(shè)計(jì)的立場(chǎng)上來(lái)看,僅僅完成鍵盤(pán)掃描,讀取當(dāng)前時(shí)刻的鍵盤(pán)狀態(tài)是不夠的,還有不少問(wèn)題需要妥善解決,否則,人們?cè)诓僮麈I盤(pán)就容易引起誤操作和操作失控現(xiàn)象。 它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般 掃描電路的實(shí)現(xiàn) 2 31 用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。這里采用最常用的方法,即延時(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ú)效?,F(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于 5ms,例如取 1020ms。如果讀鍵過(guò)程安排在定時(shí)中斷子程序中,就可省去專(zhuān)門(mén)的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。 系統(tǒng)復(fù)位 使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。硬件復(fù)位必 發(fā)聲 2 31 須通過(guò) CPU外部的硬件電路給 CPU的 RESET端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。硬件復(fù)位后,各專(zhuān)用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。軟件復(fù)位就是 用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從 0000H 地址開(kāi)始執(zhí)行。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng) 。 在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。 有復(fù)位時(shí)系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動(dòng)”和“熱啟動(dòng)”。系統(tǒng)初次上電投入運(yùn)行時(shí),必須是“冷啟動(dòng)”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”初次上電投入運(yùn)行 時(shí),必須是“冷啟動(dòng)”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。這兩類(lèi)軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類(lèi)型問(wèn)題也一并規(guī)劃好。首先根據(jù)系統(tǒng)功能和鍵盤(pán)設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。也可以將全部 程序均安排在前臺(tái),后臺(tái)程序?yàn)?“ 使系統(tǒng)進(jìn)入睡眠狀態(tài) ” ,以利于系統(tǒng)節(jié)電和抗干擾。 查表顯示程序 ,利用 P0口做段選碼口輸出P2 低 三位做位選碼輸出 軟件設(shè)計(jì) 2 31 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 DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H 。 CPL 。按鍵發(fā) 聲 MOV A,R2 MOV R6,A。因?yàn)榇痤}的計(jì)時(shí)不再查詢(xún)搶答 ,所以就鎖了搶答 AJMP COUNT TRUE2:ACALL BARK。 MOV A,R2 MOV R6,A 軟件設(shè)計(jì) 2 31 MOV R3,03H CLR OK AJMP COUNT TRUE4:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,05H CLR OK AJMP COUNT TRUE6: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,07H CLR OK AJMP COUNT TRUE8: ACALL BARK。搶答開(kāi)始標(biāo)志位 RING EQU 22H
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1