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

正文內(nèi)容

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

2025-05-06 07:03本頁(yè)面
  

【正文】 以,用戶(hù)編程時(shí)不應(yīng)該將數(shù)據(jù)寫(xiě)入這些未確定的地址單元,它們是公司留待將來(lái)開(kāi)發(fā)新產(chǎn)品時(shí)使用的 表 22 AT89S51特殊功能寄存器列表 符 號(hào) 地 址 注 釋 *ACC E0H 累加器 *B F0H 乘法寄存器 *PSW D0H 程序狀態(tài)字 SP 81H 堆棧指針 DPL 82H 數(shù)據(jù)存儲(chǔ)器指針低 8位 DPH 83H 數(shù)據(jù)存儲(chǔ)器指針高 8位 *IE A8H 中斷允許控制器 *IP D8H 中斷優(yōu)先控制器 *P0 80H 端口 0 *P1 90H 端口 1 *P2 A0H 端口 2 器件名稱(chēng) 規(guī)格型號(hào) 數(shù)量 微處理器 AT89S51 1 電阻 3WTT10K 8 電容 30PF 3 晶振 12MHZ 1 按鈕 11 反相器 3 7段數(shù)碼管 7SEGMPX4CC 4 揚(yáng)聲器 1 外部定 時(shí)元件 復(fù)位 中斷 電源 系統(tǒng)時(shí)鐘 ROM CPU 定時(shí) /計(jì)數(shù)器 串行 I/O口 并行 I/O口 RAM *P3 B0H 端口 3 PCON 87H 電源控制及波特率選擇 *SCON 98H 串行口控制器 SBUF 99H 串行數(shù)據(jù)緩沖器 *TCON 88H 定時(shí)器控制 TMOD 89H 定時(shí)器方式選擇 TL0 8AH 定時(shí)器 0低 8位 TL1 8BH 定時(shí)器 1低 8位 TH0 8CH 定時(shí)器 0低 8位 TH1 8DH 定時(shí)器 1高 8位 注:帶 *號(hào)的特殊功能寄存器都是可以位尋址的寄存器 AT89S51 單片機(jī)的內(nèi)部結(jié)構(gòu) AT89S51 單片機(jī)內(nèi)部由 CPU、 4KB 的 FPEROM , 128B 的 RAM,兩個(gè) 16位的定時(shí) /計(jì)數(shù)器 T0 和 T1, 4 個(gè) 8 位的 I/O 端 P0、 P P P3 等組成。 CPU 主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入 /輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等, CPU 按其功能可分為運(yùn)算器和控制器兩部分。它的功能是對(duì)來(lái)自存儲(chǔ)器中的指令進(jìn)行譯碼,通過(guò)實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào) 工作,完成指令所規(guī)定的操作。 圖 23 AT89S51 單片機(jī)的內(nèi)部結(jié)構(gòu)圖 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器 B 和一些專(zhuān)用寄存器,還增加了位處理邏輯電路的功能 [3]。 第三章 硬件電路的設(shè)計(jì) 總電路原理 為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面: (1) 盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn) 工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。在設(shè)計(jì)硬件電路時(shí),要考慮到將來(lái)修改擴(kuò)展的方便。 (3) 程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用 AT89C51單片機(jī)。如果系統(tǒng)配置了外部 RAM,則建議多留一些空間。隨著軟件設(shè)計(jì)水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級(jí)換代。 (5) I/O 端口:在樣機(jī)研制出來(lái)后進(jìn)行現(xiàn)場(chǎng)試用時(shí),往往會(huì)發(fā)現(xiàn)一些被忽視的問(wèn)題,而這些問(wèn)題不是靠單純的軟件措施來(lái)解決的。如果在硬件電路設(shè)計(jì)就預(yù)留出一些 I/O 端口,雖然當(dāng)時(shí)空著沒(méi)用,那么用的時(shí)候就派上用場(chǎng)了。 時(shí)鐘頻率電路的設(shè)計(jì) 時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。 晶振的選擇: 6MHz 的晶振,其機(jī)器周期是 2us。為了提高整個(gè)系統(tǒng)的性能我選擇了12MHz 的晶振。這樣就構(gòu)成了內(nèi)部振蕩方式 外部振蕩方式是把已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。 在我的這個(gè)設(shè)計(jì)中沒(méi)有也無(wú)需與外部時(shí)鐘信號(hào)一致,所以我選擇了內(nèi)部振蕩方式,由于單片機(jī) 內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。電容器 C C2 起穩(wěn)定振蕩頻率、快速起振的作用,電容值我選擇了 30pF。 C130pFC230pFY112MX1X2 圖 32 時(shí)鐘電路的設(shè)計(jì) 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作 .在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路 ,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元 ,決定單片機(jī)的工作速度。此電路在加電 大約延遲 10ms 后振蕩器起振 ,在 XTAL2 引腳產(chǎn)生幅度為 3V 左右的正弦波時(shí)鐘信號(hào) ,其振蕩頻率主要由石英晶振的頻率確定。二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。 單片機(jī)在工作時(shí) ,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱(chēng)為時(shí)鐘周期。如時(shí)鐘頻率為 12MHz,即 fosc=12MHz,則時(shí)鐘周期為 1/12181。 復(fù)位電路的設(shè)計(jì) 復(fù)位電路的可靠性設(shè)計(jì) 計(jì)算 機(jī)在啟動(dòng)運(yùn)行是都需要復(fù)位,使中央處理器 CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。只要 RST 保持高電平,則 MCS51循環(huán)復(fù)位。本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。使器件復(fù)位,只要 RST 保持高電平, MCS51 保持復(fù)位狀態(tài)。 RST 變?yōu)榈碗娖胶?,退出?fù)位, CPU 從初始狀態(tài)開(kāi)始工作。在 RST 復(fù)位端接一個(gè)電容至 VccHE 一個(gè)電阻至 Vss,就能實(shí)現(xiàn)上電自動(dòng)復(fù)位,對(duì)于 CMOS 單片機(jī)只要接一個(gè)電容至 Vcc 即可。 RST 端在加電時(shí)應(yīng)保持的高電平時(shí)間包括Vcc 的上升時(shí)間和振蕩器起振時(shí)間, Vcc 上升時(shí)間若為 10ms,振蕩器起振時(shí)間和頻率有關(guān)。圖 中, RC 時(shí)間常數(shù)越大,上電時(shí)RST 端保持高電平的時(shí)間越長(zhǎng)。如圖所示 圖 34上電和開(kāi)關(guān)復(fù)位 而我們?cè)谶@次的畢業(yè)設(shè)計(jì)中運(yùn)用的人工復(fù)位電路 . 其中電平復(fù)位是通過(guò) RST 端經(jīng)電阻和電源 Vcc接通而實(shí)現(xiàn)的,按鍵手動(dòng)電平復(fù)位電路如圖。 顯示電路的設(shè)計(jì) 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。這說(shuō)明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯示模塊。另一方面,在操作者沒(méi)有進(jìn)行操作時(shí),顯示內(nèi)容 也是變化的,如顯示現(xiàn)場(chǎng)各物理量的變化情況。自動(dòng)執(zhí)行的各類(lèi)模塊在安排在各種中斷子程序中,這就是說(shuō),各種中斷子程序也要調(diào)用顯示模塊。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請(qǐng)顯示。由于一處調(diào)用顯示模塊,故不會(huì)發(fā)生沖突。當(dāng)監(jiān)控程序(鍵盤(pán)解釋程序)安排在時(shí)鐘中斷子程序中時(shí),處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示模塊就可以了。這樣設(shè)計(jì)使得各功能模塊都不必考慮顯示問(wèn)題,只要給出一個(gè)簡(jiǎn)單的信息(如顯示 格式編碼)甚至不用再提供額外信息,直接利用當(dāng)前狀態(tài)變量和軟件標(biāo)志就可以完成所需的顯示要求。這時(shí)各功能模塊在提出顯示申請(qǐng)時(shí),還需要將顯示內(nèi)容按需要的格式送入顯示緩沖區(qū)中。例如后臺(tái)程序需要調(diào)用顯示,將有關(guān)信息送入到現(xiàn)實(shí)緩沖區(qū)進(jìn)行顯示;中斷返回后,后臺(tái)程序繼續(xù)送完后半部分顯示內(nèi)容,但前半部分內(nèi)容已經(jīng)變了,這樣就出現(xiàn)了顯示錯(cuò)誤。這時(shí)就不必?fù)?dān)心其他前臺(tái)模塊來(lái)打擾了,就可以得到一次完整的顯示機(jī)會(huì)。其中靜態(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)顯示而言占用端口資源少。 并通過(guò)查表法,將其在數(shù) 碼管上顯示出來(lái),其中 P0 口為字型碼輸入端, P2口低 3位為字選段輸入端。 以共陰為例,要想a 段 亮,向 a 段送 1 就是,返之送 0,共陽(yáng)剛好相反。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán) 。其次就是消除在按鍵過(guò)程中產(chǎn)生 的“毛刺” 現(xiàn)象 。 按鈕輸入的硬件處理 按鈕的觸點(diǎn)在閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這是觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤(pán)中斷(外部中斷) 子程序中,則該延時(shí)子程序便可直接插 入讀鍵過(guò)程中。 發(fā)聲 我們知道,聲音的頻譜范圍約在幾十 到幾千赫茲 [7],若能利用程序來(lái)控制單片 機(jī)某個(gè)口線的 “ 高 ” 電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。上電復(fù)位,人工按鈕復(fù)位和硬件看門(mén) 狗復(fù)位均為硬件復(fù)位。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。對(duì)各專(zhuān)用寄存器的復(fù)位操作是容易的,也沒(méi)有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過(guò)程中完成。有的編程人員用 020210( LJMP 0000H)作為 軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H 地址就完成了軟件復(fù)位,就是這類(lèi)錯(cuò)誤的典型代表。由于軟件看門(mén)是高級(jí)中斷,它將阻止說(shuō)要中斷響應(yīng),由此可見(jiàn)清除中斷激活標(biāo)志的重要性。前文各處提案到的出錯(cuò)處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 “冷啟動(dòng) ”時(shí),系統(tǒng)的狀態(tài)全部無(wú)效,進(jìn)行徹底的初始化操作;而“熱啟動(dòng)”時(shí),對(duì)系復(fù)位 關(guān)中斷,設(shè)定堆棧 上電標(biāo)志 冷啟自檢 全面初始化 熱啟動(dòng)恢復(fù)被破壞的信息部分初始化 建立上電標(biāo)志 開(kāi)始運(yùn)轉(zhuǎn) 統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。為了使系統(tǒng)能正確決定采用何種啟動(dòng)方式,常用上電標(biāo)志來(lái)區(qū)分,如圖 36 所示。 軟件任務(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 低三位做位選碼輸出 , MOV A,R3 MOVC A,A+DPTR MOV P2,0feH MOV P0,A ACALL DELAY MOV DPTR,DAT2 MOV A,R5 MOVC A,A+D
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1