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

正文內(nèi)容

基于單片機的八路搶答器畢業(yè)論文-在線瀏覽

2025-05-01 11:53本頁面
  

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