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

正文內(nèi)容

基于at89c51的八路搶答器畢業(yè)論文(編輯修改稿)

2025-07-24 17:53 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1 , C2 的典型值為 20PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱(chēng)為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用 fosc 表示。圖中時(shí)鐘頻率為 12MHz,即 fosc=12MHz,則時(shí)鐘周期為 1/12181。s。 復(fù)位電路的設(shè)計(jì)單片機(jī)的第 9 腳 RST 為硬件復(fù)位端,只要將該端持續(xù) 4 個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖 6 所示:13圖 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)過(guò)一段時(shí)間后,單片機(jī)的 9 腳處于穩(wěn)定的低電平狀態(tài),此時(shí)單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從 0000H 開(kāi)始執(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í)行完畢之后,將程序指針通過(guò)一條跳轉(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)定不閃爍,程序編寫(xiě)簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫(xiě)復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。14通過(guò)查表法,將其在數(shù)碼管上顯示出來(lái),其中 P0 口為字型碼輸入端,P2 口低 3 位為字選段輸入端。在這里我們通過(guò)查表將字型碼送給 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 RET4 位七段數(shù)碼管顯示電路如圖 7 所示。15圖 7 共陰極數(shù)碼管圖 7 中數(shù)碼管采用的是 4 位七段共陰數(shù)碼管,其中 A~H 段分別接到單片機(jī)的 P0 口,由單片機(jī)輸出的 P0 口數(shù)據(jù)來(lái)決定段碼值,位選碼 COMCOMCOM4 分別接到單片機(jī)的 、 、由單片機(jī)來(lái)決定當(dāng)前該顯示的是哪一位。在圖中還有八個(gè) 1K的電阻,連接在 P0 口上,用作 P0 口的上拉電阻,保證 P0 口沒(méi)有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。 鍵盤(pán)掃描電路的設(shè)計(jì)鍵盤(pán)是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。站在系統(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)象。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán)。它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過(guò)程中產(chǎn)生的16“毛刺”現(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ú)立鍵盤(pán)的方式,本設(shè)計(jì)中有 8 個(gè)搶答按鍵輸入,一個(gè)開(kāi)始按鍵、一個(gè)結(jié)束按鍵,此外還有搶答時(shí)間調(diào)整鍵、回答時(shí)間調(diào)整鍵,加一按鍵、減一按鍵各一個(gè)。如圖 8 所示。 17圖 8 搶答按鍵及調(diào)整按鍵在圖 8 中 8 個(gè)搶答按鍵分別接入單片機(jī)的 ~ 端口,單片機(jī)通過(guò)讀取 ~的值來(lái)判斷當(dāng)前輸入的是 8 個(gè)搶答按鍵中的哪一個(gè)。搶答時(shí)間調(diào)整和回答時(shí)間調(diào)整接到單片機(jī)的 和 接口,加一及減一按鍵接到單片機(jī)的 和 接口。圖 9 開(kāi)始、結(jié)束按鍵在圖 9 中,開(kāi)始及結(jié)束按鍵接到單片機(jī)的 11 腳,這里用到了單片機(jī) 11 腳復(fù)合功能中的 IO 端口功能,單片機(jī)通過(guò)讀取 11 腳的 、 的 IO 端口值來(lái)判斷當(dāng)前是否處于搶答開(kāi)始狀態(tài)或搶答結(jié)束狀態(tài)。按鍵的觸點(diǎn)在閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。現(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于 5ms,例如取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤(pán)中斷(外部中斷)子程序中,則該延時(shí)子程序便可直接插入讀鍵過(guò)程中。如果讀鍵過(guò)程安排在定時(shí)中斷子程序中,就可省去專(zhuān)門(mén)的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。K1~K8 八個(gè)按鍵的輸入電平靠 74HC30 輸入與非門(mén)和 74LS04 反向器組成的電路改變輸入電平。圖 10 中電路就是由一個(gè) 74HC30 輸入與非門(mén)和 74LS04 反向器組成的去抖電路。18圖 10 去抖電路 發(fā)聲電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高” “低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。本文設(shè)計(jì)如圖 11 所示。圖中單片機(jī)的 14 腳輸出具有復(fù)合功能,此處用到了單片機(jī)17 腳的 IO 端口功能,單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。圖 11 發(fā)聲電路19 系統(tǒng)復(fù)位使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過(guò) CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門(mén)狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專(zhuān)用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從 0000H 地址開(kāi)始執(zhí)行。對(duì)各專(zhuān)用寄存器的復(fù)位操作是容易的,也沒(méi)有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過(guò)程中完成。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。有的編程人員用 020220(LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H地址就完成了軟件復(fù)位,就是這類(lèi)錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng)。由于軟件看門(mén)是高級(jí)中斷,它將阻止說(shuō)要中斷響應(yīng),由此可見(jiàn)清除中斷激活標(biāo)志的重要性。在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。出錯(cuò)處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。程序一般先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個(gè) RETI 指令代替兩個(gè)LJMP 指令,從而清除了兩級(jí)中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來(lái)的程序可能沒(méi)有全部激活兩個(gè)標(biāo)志,這也無(wú)妨。有復(fù)位時(shí)系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動(dòng)”和“熱啟動(dòng)” 。 “冷啟動(dòng)”時(shí),系統(tǒng)的狀態(tài)全部無(wú)效,進(jìn)行徹底的初始化操作;而“熱啟動(dòng)”時(shí),對(duì)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時(shí),必須是“冷啟動(dòng)” ,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”初次上電投入運(yùn)行時(shí),必須是“冷啟動(dòng)” ,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)” 。為了使系統(tǒng)能正確決定采用何種啟動(dòng)方式,常用上電標(biāo)志來(lái)區(qū)分,如圖 12 所示。20復(fù)位關(guān)中斷,設(shè)定堆棧上電標(biāo)志冷啟自檢全面初始化熱啟動(dòng)恢復(fù)被破壞的信息部分初始化建立上電標(biāo)志開(kāi)始運(yùn)轉(zhuǎn)圖 12 系統(tǒng)復(fù)位策略圖 本章小結(jié)本章詳細(xì)講述了以 AT89C51 為核心元件的搶答器的硬件電路具體設(shè)計(jì)過(guò)程,分析了具體電路。在設(shè)計(jì)過(guò)程中,實(shí)現(xiàn)搶答功能的是通過(guò)編寫(xiě)程序的方法集成在 AT89C51內(nèi)部。接著將程序下載到硬件電路中,配合周邊的時(shí)鐘電路,復(fù)位電路等,制作出符合設(shè)計(jì)要求的搶答器。4 軟件設(shè)計(jì) 主程序系統(tǒng)結(jié)構(gòu)圖21系統(tǒng)初始化模塊按鍵模塊非法搶答模塊正確搶答模塊調(diào)整搶答時(shí)間調(diào)整回答時(shí)間模塊數(shù)碼顯示模塊圖 13軟件系統(tǒng)結(jié)構(gòu)圖 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了 [9]。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類(lèi):一類(lèi)是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制和通信等,另一類(lèi)是監(jiān)控軟件,它是專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類(lèi)軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義) 。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類(lèi)型問(wèn)題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤(pán)設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程22序較易出問(wèn)題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類(lèi)程序?qū)?shí)時(shí)性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤(pán)解釋程序) ,顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷) 。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)” ,以利于系統(tǒng)節(jié)電和抗干擾。 程序流程圖在本設(shè)計(jì)中包括了以下主要的程序:主程序,查詢(xún)程序,非法搶答程序,搶答時(shí)間調(diào)整程序,回答時(shí)間調(diào)整程序,倒計(jì)時(shí)程序,正常搶答處理程序,犯規(guī)處理程序,顯示及發(fā)聲程序。主流程圖如 14 所示:23顯示 FFF開(kāi)始鍵加一鍵減一鍵回答時(shí)間 調(diào)整搶答時(shí)間去抖動(dòng)非法搶答處理顯示犯規(guī)正常搶答 顯示搶答號(hào)并倒計(jì)時(shí)Y YY 初始化圖 14 程序設(shè)計(jì)流程圖 主要程序分析主程序: OK EQU 20H 。搶答開(kāi)始標(biāo)志位 RING EQU 22H 。響鈴標(biāo)志位 DATA0 EQU 36H 。搶答按鍵口數(shù)據(jù)存放地址 ORG 0000H AJMP MAIN ORG 0003H 24 AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,20 。初設(shè)搶答時(shí)間為 20s MOV R2,30 。初設(shè)答題時(shí)間為 30s mov 38h,60
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1