![基于MCS-51單片機的可調(diào)頻率方波發(fā)生器課程設(shè)計報告[1]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/cc4b6972-d44a-4e92-be0b-b2b84d0ac483/cc4b6972-d44a-4e92-be0b-b2b84d0ac4831.gif)
![基于MCS-51單片機的可調(diào)頻率方波發(fā)生器課程設(shè)計報告[1]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/cc4b6972-d44a-4e92-be0b-b2b84d0ac483/cc4b6972-d44a-4e92-be0b-b2b84d0ac4832.gif)
![基于MCS-51單片機的可調(diào)頻率方波發(fā)生器課程設(shè)計報告[1]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/cc4b6972-d44a-4e92-be0b-b2b84d0ac483/cc4b6972-d44a-4e92-be0b-b2b84d0ac4833.gif)
![基于MCS-51單片機的可調(diào)頻率方波發(fā)生器課程設(shè)計報告[1]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/cc4b6972-d44a-4e92-be0b-b2b84d0ac483/cc4b6972-d44a-4e92-be0b-b2b84d0ac4834.gif)
![基于MCS-51單片機的可調(diào)頻率方波發(fā)生器課程設(shè)計報告[1]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/cc4b6972-d44a-4e92-be0b-b2b84d0ac483/cc4b6972-d44a-4e92-be0b-b2b84d0ac4835.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機課程設(shè)計報告設(shè)計題目:頻率可調(diào)方波發(fā)生器專業(yè)班級: 生物醫(yī)學(xué)工程09班 組長 : 李建華 組員 : 梁國鋒,賴水兵,郭萬勁,李建華 2010 年 06 月 16日摘要本實驗是基于PHILIPS AT89C51 單片機所設(shè)計的,可以實現(xiàn)鍵位與數(shù)字動態(tài)顯示的一種頻率可調(diào)方波發(fā)生器。通過鍵盤鍵入(10HZ-9999HZ)隨機頻率,使用七段數(shù)碼管顯示,每一個數(shù)碼管對應(yīng)一個鍵位。單片機對各個鍵位進行掃描,確定鍵位的輸入,然后數(shù)碼管顯示輸入的數(shù)值,方波發(fā)生器輸出以數(shù)碼管顯示的數(shù)值為頻率的方波。關(guān)鍵詞:單片機 七段數(shù)碼管 鍵盤電路 頻率可調(diào)方波發(fā)生器一、目的和功能1.1 目的:設(shè)計一種頻率范圍限定且可
2、調(diào)的方波發(fā)生器,志在產(chǎn)生特定頻率的方波。1.2功能:假設(shè)鍵盤是4*4的鍵盤,當(dāng)鍵盤輸入范圍在10hz-9999hz的數(shù)字,單片機控制數(shù)碼管顯示該數(shù)值,并把該數(shù)值當(dāng)做方波發(fā)生器的輸入頻率,單片機控制該方波發(fā)生器以該數(shù)值作為頻率顯示方波,從而得到我們想要頻率的方波。二、硬件設(shè)計2.1 硬件設(shè)計思想鍵盤的數(shù)字和鍵位關(guān)系固定,通過鍵盤輸入產(chǎn)生頻率,通過LED數(shù)碼管顯示出來,每一個數(shù)碼管對應(yīng)一個鍵位?;驹O(shè)備是基于PHILIPS AT89C51單片機,外圍設(shè)備采用的是4個七段數(shù)碼管,PHILIPS AT89C51單片機,1個OSCILLOSCOPE 方波發(fā)生器,16個Button,若干電阻,電源電池。2
3、.2 部分硬件方案論述 七段數(shù)碼管掃描顯示方式的方案比較方案一: 靜態(tài)顯示方式:靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時,七段數(shù)碼管的每段發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個8位的輸出口進行控制。靜態(tài)顯示主要的優(yōu)點是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度大,系統(tǒng)運行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了CPU的工作效率。其不足之處是占用硬件資源較多,每個LED數(shù)碼管需要獨占8條輸出線。隨著顯示器位數(shù)的增加,需要的I/O口線也將增加。方案二: 動態(tài)顯示方式:動態(tài)顯示方式是指一位一位地
4、輪流點亮每位顯示器(稱為掃描),即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對位選選中的數(shù)碼管有效。對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。通過調(diào)整電流和時間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則顯示器的公共端只需一個8位I/O口進行動態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。動態(tài)顯示器的優(yōu)點是節(jié)省硬件資源,成本較低。但在控制系統(tǒng)運行過程中,要保證顯示器正常顯示,CPU必需每隔一段時間執(zhí)行一次顯示子程序,占用CPU大量時間,降低了CPU的工作效率
5、,同時顯示亮度較靜態(tài)顯示器低。由于PHILIPS AT89C51單片機本身提供的I/O口有限,因此我們選擇方案二動態(tài)掃描方式。掃描方式中在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間是極為短暫的約1ms,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。節(jié)約了電能,節(jié)省 了I/O口。 鍵盤連接方式方案比較方案一:獨立式鍵盤一個具有4個按鍵的獨立式鍵盤,每一個按鍵的一端都接地,另一端接mega16的I/O口。獨立式鍵盤每一按鍵都需要一根I/O線,占用mega16的硬件資源較多。因此獨立式鍵盤只適合按
6、鍵較少的場合。鍵盤是一組按鍵或開關(guān)的集合,鍵盤接口向計算機提供被按鍵的代碼。特點:使用方便、結(jié)構(gòu)復(fù)雜、成本高。方案二:矩陣式鍵盤我們采用4×4矩陣式鍵盤,鍵盤的行線X0X3通過電阻接+5V,當(dāng)鍵盤沒有鍵閉合時,所有的行線和列線斷開,行線X0X3均呈高電平。當(dāng)鍵盤上某一鍵閉合時,該鍵所對應(yīng)的行線與列線短路,此時該行線的電平將由被短路的列線電平所決定。如果將行線接至單片機的輸入端口,列線接至單片機的輸出端口,則在單片機的控制下使列線Y0為低電平,其余三根列線Y1、Y2、Y3均為高電平,然后單片機讀輸入口狀態(tài)(即鍵盤行線狀態(tài)),若X0、X1、X2、X3均為高電平,則Y0這一列上沒有鍵閉合,
7、如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和0相交的鍵處于閉合狀態(tài)。如果Y0這一列沒有鍵閉合,緊接著使列線Y1為低電平,其余列線為高電平,用同樣的方法檢查Y1這一列有無鍵閉合,如此類推。這種逐行逐列地檢查鍵盤狀態(tài)的過程稱為對鍵盤的掃描。CPU對鍵盤的掃描可以采取程序控制的隨機方式,CPU空閑時才掃描鍵盤;也可以采取定時控制方式,每隔一段時間,CPU對鍵盤掃描一次;還可以采用中斷方式,當(dāng)鍵盤上有鍵閉合時,向CPU請求中斷,CPU響應(yīng)鍵盤發(fā)出的中斷請求,對鍵盤進行掃描,以識別哪一個鍵處于閉合狀態(tài),并對鍵輸入信息作相應(yīng)處理。因為如果采用獨立式鍵盤PHILIPS AT89C51的I/O口對于方案
8、一來說將是遠遠不夠用的,為了節(jié)省I/O口,使我們的設(shè)計能夠順利進行,我們選用方案二矩陣連接式鍵盤。為了能夠較為簡單的編程,和節(jié)省CPU的資源,我們采用定時掃描,每隔一段時間,CPU對鍵盤掃描一次,并將鍵值讀入。2.3 硬件電路圖三、軟件3.1 軟件設(shè)計基本思想:鍵盤的不間斷掃描。4個八段數(shù)碼管的動態(tài)顯示。方波發(fā)生器方波的輸出3.2 程序框圖產(chǎn)生初值是否有按鍵按下初始化8端數(shù)碼管的顯示鍵值讀取鍵值顯示方波顯示3.3 程序功能初始化后單片機產(chǎn)生初值,將初值以動態(tài)掃描的方式顯示于八段數(shù)碼管 ,同時還對鍵盤進行實時掃描,在掃描后,單片機讀取鍵值,并將鍵值通過數(shù)碼管模塊顯示出來,方波發(fā)生器輸出該頻率的方
9、波。四、總結(jié)4.1 已達到的成果:硬件電路圖和鍵盤及顯示的程序。4.2 未完成的部分:軟件關(guān)于實行初值計算部分以及仿真。4.3 設(shè)計感悟:這一次課程設(shè)計遇到了很多問題。硬件基本上是沒有問題的,每個人都會做;但是程序是我們的弱點,還有就是分工合作,很多時候都是有分歧,還好最后還有水兵幫忙,使得我們的程序進一步完善。做完這個程序只是我們學(xué)做程序的開始吧,今后會繼續(xù)加強我們在做程序上的功力。附錄一 程序代碼DISBUF EQU 30HSEGBUF EQU 34HLEDSP EQU 37H ORG 0000H LJMP MAIN ORG 001BH LJMP TIMER1 ORG 000BH LJMP
10、 TIMER0 ORG 0030HMAIN: MOV SP,#5FH LCALL SCAN ;跳轉(zhuǎn)到鍵盤控制電路子程序 LCALL FT0TH ;利用頻率求初值程序 MOV T2CON,#04H MOV TH2,S1 MOV TL2,S0 MOV RCAP2H,S1 MOV RCAP2L,S0 SETB ET2 SETB EA ANL TMOD,#0F0H ORL TMOD,#10H MOV TH0,#8AH MOV TL0,#0D0H SETB ET1 SETB TR1 SETB EAFT0TH: MOV R0,#DIVBUF1 ;|除數(shù)賦值 10進制轉(zhuǎn)換為16進制 MOV R1,#DIVB
11、UF2MOV A,R0ADD A,#3;|53HMOV R0,AMOV R1,#0INC R1MOV A,R0MOV R1,ADEC R0 ;| 52HMOV A,R0MOV B,#10MUL ABCLR CADDC A,R1MOV R1,ADEC R0 ;| 51HMOV A,R0MOV B,#100MUL ABADDC A,R1MOV R1,ADEC R1MOV A,R1ADDC A,BMOV R1,ADEC R0 ;| 50HINC R1MOV A,R0MOV B,#10MUL ABMOV B,#100MUL ABADDC A,R1MOV R1,ADEC R1MOV A,R1ADDC A
12、,BMOV R1,A ;|CHOICE:MOVR0,#DIVAMOV R0,#00H;|被除數(shù)為5*105 = 0007A120H INC R0MOV R0,#07HINC R0MOV R0, #0A1HINC R0MOV R0, #20HDIV3216:MOV 40H,#0 ;|除法運算MOV 41H,#0MOV R7,#32;鍵盤部分SCAN: JNB KEYVALED,$CLR KEYVALEDLCALL KEYSCANMOV A,KEYNAMETIMER1:PUSH PSWPUSH AWSETB RS1CLR RS0MOV TH1,#8AHMOV TL1,#0D0HMOV P3,#0F
13、HMOV A,P3ANL A,#0FHCJNE A,#0FH,NEXT21SETB CJMP NEXT22NEXT21:CLR CNEXT22:MOV A,KEYSTURLC A MOV KEYSTU,AANL A,#07HCJNE A,#2,NEXT23ANL KEYSTU,#00H JMP EXIT2NEXT23: CJNE A,#4,NEXT24SETB KEYVALEDJMP EXIT2NEXT24:CJNE A,#5,EXIT2ORL KEYSTU,#07HEXIT2:POP ACCPOP PWERETIKEYSCAN:MOV R7,#4MOV R5,#0MOV R6,#111101
14、11BOP1:MOV A,R6RL A MOV R6,AMOV P3,AMOV A,P3ANL A,#0FHRL A,#0FHJNZ NEXT31INC R5DJNZ R7,LOOP1SJMP EXIT3NEXT31:JNE Acc.0,NEXT32MOV R4,#0SJMP NEXT35NEXT32:JNB Acc.1,NEXT33MOV R4,#1SJMP NEXT35NEXT33:JNB Acc.2,NEXT34MOV R4,#2SJMP NEXT35NEXT 34:MOV R4,#3NEXT35:MOV A,R4RL A RL AADD A,R5MOV DPTP,#KEYTABMOVC
15、 A,A+DPTPMOV KEYNAME,AEXIT3:RETDISPLAY:MOV LEDSP,#00HLCALL BIN T0BCDLCALL BCD T0SEGLJMP LOOPTIME R0:PUSH PSWPUSH AccSETB RS0CLR RS1MOV TH0,#0E4AMOV TL0,#0A8HANL A,#04HCJNE A,#0,NEXT11MOV P2,#00001D00BADD A#SEGBUFMOV R0,AMOV P0,AMOV P0,R0CJMP EXIT1NEXT11:CJNE A,#2,NEXT12MOV P2,#00000100BADD A,#SEGBUF
16、MOV R0,AMOV P0,R0LKMP EXIT1NEXT12:CJNE A,#1,NEXT13MOV P2,#00000010BADD A,#SEGBUFMOV R0,AMOV P0,R0LJMP EXIT1NEXT13:MOV P2,300000001BAD A,#SEGBUFMOV R0,AMOV P0,R0EXIT1:INC LEDSPMOV A,LEDSPANL A,#01ACJNE A,#04A,BELOWBELOW:JC RETUNMOV LEDSP,#00HRETURN:POP AccPOP PSWRETIBIN T0BCD:MOV R0,3DISBUF+3MOV A,KEYNAMEMOV B,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 暖通工程建筑冷熱源系統(tǒng)設(shè)計考核試卷
- 合成氣制清潔能源考核試卷
- 海底隧道工程消防系統(tǒng)設(shè)計與施工考核試卷
- 珠寶首飾環(huán)保責(zé)任履行考核試卷
- 漁業(yè)資源養(yǎng)護與漁業(yè)經(jīng)濟發(fā)展考核試卷
- 聚合纖維的環(huán)境監(jiān)測與污染控制考核試卷
- 航空運動飛行器飛行性能分析考核試卷
- 礦石性質(zhì)與選礦工藝設(shè)計-石墨滑石考核試卷
- 珠海市高三月摸底考試物理試題
- 江蘇省揚州市江都區(qū)江都區(qū)實驗初級中學(xué)2025年初三下學(xué)期期末五校聯(lián)考試題含解析
- 2025年四川省成都市高新區(qū)中考數(shù)學(xué)二診試卷
- 2024年新疆喀什地區(qū)兩級法院機關(guān)招聘聘用制書記員考試真題
- 2025年上海市松江區(qū)中考數(shù)學(xué)二模試卷(含解析)
- 第03講 實際問題與二元一次方程組(知識解讀+達標(biāo)檢測)(原卷版)
- 2024年全球及中國法務(wù)和估價服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 高考數(shù)學(xué)總復(fù)習(xí)第九章概率9.1隨機事件的概率
- 招商崗位測試題及答案
- 中國科學(xué)技術(shù)交流中心招聘筆試真題2024
- 創(chuàng)新獎申請材料撰寫指南與范文
- 中華人民共和國學(xué)前教育法解讀
- 美容師考試相關(guān)法律法規(guī)的知識要點試題及答案
評論
0/150
提交評論