51單片機實現波形發(fā)生器.doc_第1頁
51單片機實現波形發(fā)生器.doc_第2頁
51單片機實現波形發(fā)生器.doc_第3頁
51單片機實現波形發(fā)生器.doc_第4頁
51單片機實現波形發(fā)生器.doc_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要這個系統(tǒng)是基于AT89C51單片機的波形信號發(fā)生器。使用AT89C51單片機作為控制核心,該系統(tǒng)由數字/模擬轉換電路(DAC0832)、運放電路(OP07)、按鍵電路和6位數碼管等組成。通過按鍵可控制方波、三角波、正弦波的產生,并且用數碼管顯示其對應的頻率和波形的類型。這個設計方法簡單、性能良好,這個系統(tǒng)可在多種需要低頻信號的場所使用,它具有良好的實用性。關鍵詞:AT89C51 數模轉換電路 數碼管 信號發(fā)生器目 錄1 總體方案設計21.1 方案論證11.2 系統(tǒng)描述22 單元模塊設計22.1 AT89C51功能介紹32.2 時鐘電路42.3 復位電路42.4 鍵盤控制電路42.5 LED顯示電路52.5.1 數碼管功能介紹52.5.2 LED動態(tài)顯示原理及電路62.6 D/A轉換及放大電路72.6.1 DAC0832功能介紹72.6.2 D/A轉換電路83 系統(tǒng)調試93.1 軟件調試93.1.1 三角波產生93.1.2 方波產生103.1.3 正弦波產生113.1.4 鍵盤控制123.1.5 LED顯示123.2 硬件調試134 系統(tǒng)功能介紹145 設計總結15參考文獻16附錄171 總體方案設計本次設計的任務是設計制作一個波形發(fā)生器,該波形發(fā)生器能產生正弦波、方波、三角波和由用戶編輯的特定形狀波形。示意圖如下:基本要求如下:(1)具有產生正弦波、方波周期性波形的功能;(2)輸出波形的頻率范圍為100Hz20kHz(非正弦波頻率按10次諧波計算);重復頻率可調,頻率步進間隔100Hz;(3)輸出波形幅度范圍05V(峰-峰值),可按步進0.1V(峰-峰值)調整;(4)具有顯示輸出波形的類型、重復頻率(周期)和幅度的功能。1.1 方案論證方案一:采用單片函數發(fā)生器可產生正弦波、方波等,操作簡單易行,用 D/A 轉換器的輸出來改變調節(jié)電壓,可以實現數控調整頻率,但產生信號的頻率穩(wěn)定度不高。方案二:利用芯片組成的電路輸出波形,MAX038是MAXIM公司生產的一個只需要很少外部元件的精密高頻波形產生器,它能產生準確的高頻正弦波、三角波、方波。輸出頻率和占空比可以通過調整電流、電壓或電阻來分別地控制。所需的輸出波形可由在A0和A1輸入端設置適當的代碼來選擇,且具有輸出頻率范圍寬、波形穩(wěn)定、失真小、使用方便等特點。方案三:采用Atmel公司的AT89C51單片機編程方法實現,該方案可以通過編程的方法控制信號波形的頻率和幅度,而在硬件電路不便的情況下,通過程序實現頻率的變化和輸出波形的選擇,并同時在顯示器顯示相應的結果。方案一輸出信號頻率不夠穩(wěn)定;方案二成本高,程序復雜度高;方案三軟硬件結合,硬件成本低,軟件起點低,用匯編語言即可完成,優(yōu)化型相對比較好,容易實現,且滿足設計要求。綜合考慮,我們采用了方案三,用AT89C51單片機設計多功能信號發(fā)生器,能夠滿足信號的頻率穩(wěn)定性和精度的準確性。1.2 系統(tǒng)描述 本方案以AT89C51為控制核心,主要模塊包括復位電路、時鐘信號發(fā)生電路、鍵盤控制電路、D/A轉化及LED顯示電路,其原理框圖如下:圖1 系統(tǒng)原理框圖2 單元模塊設計2.1 AT89C51功能介紹AT89C51引腳圖如下:圖2 AT89C51引腳圖1. 主電源引腳Vcc和GND GND:接地。 Vcc:主電源+5V。2. 時鐘電路引腳XTAL1和XTAL2 XTAL1、XTAL2為內部振蕩器電路(反相放大器)的輸入端和輸出端,外接晶振電路。3. 控制引腳RST、ALE、PSEN、EA RST:復位引腳輸入高電平使89C51復位,返回低電平退出復位。 ALE:訪問片外存儲器時,ALE做鎖存擴展地址低位字節(jié)的控制信號。 PSEN:外部程序存儲器的讀選通信號,低電平有效。 EA:程序存儲器選擇信號,當該端口輸入高電平時,CPU執(zhí)行片內程序存儲器程序,當輸入低電平時,CPU僅訪問片外程序存儲器。4. 輸入/輸出引腳 P0P3是4個寄存器,是單片機與外界聯系的4個8位雙向并行I/O口,其中P3口還具有第二功能。2.2 時鐘電路 單片機的時鐘信號通常用兩種電路形式得到:內部振蕩和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器,構成了內部振蕩方式。由于單片機內部有一個高增益的反相放大器,當外接晶振后,就構成了自激振蕩,并產生振動時鐘脈沖。晶振通常選用 6MHZ、12MHZ、24MHZ。本設計中時鐘電路圖如下圖所示,我們選擇24MHZ晶振分別接引腳XTAL1和XTAL2,電容 C1、C2均選擇為30pF,對振蕩器的頻率有穩(wěn)定作用。圖3 時鐘電路2.3 復位電路復位引腳RST 通過一個施密特觸發(fā)器與復位電路相連,施密特觸發(fā)器用來抑制噪聲。復位電路通常采用上電自動復位和按鈕復位兩種方式。在每個機器周期的S5P2,施密特觸發(fā)器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需要的信號。本設計選擇了按鍵復位如下圖所示, 在系統(tǒng)運行時,按一下開關,就在RST斷出現一段高電平,使時鐘電路圖中器件復位。此時ALE、PSEN、P0、P1、P2、P3輸出高電平,在RST 上輸入返回低電平以后,就退出復位狀態(tài)開始工作。圖4 復位電路2.4 鍵盤控制電路鍵盤電路分為獨立式按鍵和矩陣式鍵盤,為了簡化程序,我們采用了獨立式鍵盤。獨立式按鍵是指直接用I/O口線構成的單個按鍵電路。每個獨立式按鍵單獨占有一根I/O口線,每根I/O口線的工作狀態(tài)不會影響其他I/O口線的工作狀態(tài),這是一種最簡單易懂的按鍵結構。電路圖如下所示:圖5 鍵盤輸入電路2.5 LED顯示電路2.5.1 數碼管功能介紹 數碼管的外形結構如下圖所示,由圖可見它由8個發(fā)光二極管構成,通過不同的組合用來顯示09,AF及小數點“.”等符號。數碼管通常有共陰極和共陽極兩種型號,共陰極數碼管的發(fā)光二極管陰極必須接低電平,當某發(fā)光二極管的陽極為高電平(一般為+5V)時,此二極管點亮;共陽極數碼管的發(fā)光二極管是陽極并接到高電平,對于需點亮的發(fā)光二極管使其陰極接地電平即可(一般接地)。顯然,要顯示某字形就應使此字形的相應字段點亮,實際就是送不同電平組合代表的數據至數碼管。這種裝入數碼管顯示字形的數據稱字形碼。圖6 數碼管原理圖要使數碼管顯示不同的數字或者字符,需要使端口輸出相應的字型碼,顯示器的字形與字碼關系如下圖所示:圖7 段碼表2.5.2 LED動態(tài)顯示原理及電路LED數碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms,由于人的視覺暫留現象及發(fā)光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數據,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本次設計采用6位共陰極數碼管,選取AT89C51的P0口作為信號輸出端口,并外接兩片鎖存器74HC573,用于驅動數碼管,其中一片作為數碼管的段選信號輸入端,另一片作為數碼管的位選信號輸入端,選取AT89C51的P2.6和P2.7分別作為兩片鎖存器的片選信號輸入端,電路圖如下所示:圖8 LED顯示電路2.6 D/A轉換及放大電路2.6.1 DAC0832功能介紹DAC0832是8分辨率的D/A轉換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉換控制容易等優(yōu)點,在單片機應用系統(tǒng)中得到廣泛的應用。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉換電路及轉換控制電路構成。其引腳圖如下所示:圖9 DAC0832引腳圖關于DAC0832的引腳功能如下:D0D7:數字信號輸入端。ILE:輸入寄存器允許,高電平有效。CS:片選信號,低電平有效。WR1:寫信號1,低電平有效。XFER:傳送控制信號,低電平有效。WR2:寫信號2,低電平有效。IOUT1、IOUT2:DAC電流輸出端。RFB:是集成在片內的外接運放的反饋電阻。 VREF:基準電壓(-1010V)。Vcc:是源電壓(+5+15V)。AGND:模擬地。NGND:數字地,可與AGND接在一起使用。2.6.2 D/A轉換電路由于單片機輸出的是數字信號,因此要得到模擬信號的波形就必須對其進行數模轉換。我們采用了DAC0832數模轉換器,由于其輸出為電流輸出,需要外加運算放大器OP07使之裝換為電壓輸出,最后通過示波器顯示輸出的波形。我們選取了AT89C51的P1口作為波形數字信號的輸出端口,電路圖如下所示:圖10 D/A轉換電路3 系統(tǒng)調試本次設計的系統(tǒng)仿真在Proteus軟件中進行,并采用匯編語言進行程序的編寫。3.1 軟件調試3.1.1 三角波產生(1) 輸出波形如下圖所示:圖11 三角波仿真圖(2) 三角波程序如下:TRI: CJNE R7,#0FFH,GO1 CLR 20HGO1: CJNE R7,#00H,GO2 SETB 20HGO2: JNB TF1,GO3 CLR TF1 JB 20H,GO4 DEC R7 SJMP GO6GO4: INC R7GO6: MOV P1,R7 LCALL DISPLAY GO3: MOV A,P3 ORL A,#1FH CPL A JZ GO5 LCALL DELAY MOV A,P3 ORL A,#1FH CPL A JZ GO5 LJMP CHANGESTATEGO5: LJMP TRI3.1.2 方波產生(1) 輸出波形如下圖所示:圖12 方波仿真圖(2) 方波程序如下:REC:JNB TF1,GG1 CLR TF1 DJNZ R2,GG2 MOV R2,#0FFH CPL 20HGG2:JB 20H,GG3 MOV P1,#00H SJMP GG4GG3:MOV P1,#0FFHGG4:GG1:MOV A,P3 ORL A,#0FH CPL A JZ GG5 LCALL DELAY MOV A,P3 ORL A,#0FH CPL AJZ GG5GG5:LJMP REC3.1.3 正弦波產生(1) 輸出波形如下圖所示:圖13 正弦波仿真圖(2) 程序如下:SIN: JNB TF1,G1 CLR TF1 INC R1 MOV A,R1 MOVC A,A+DPTR MOV P1,A G1: MOV A,P3 ORL A,#1FH CPL A JZ G2 MOV A,P3 ORL A,#1FH CPL A JZ G2G2: LJMP SIN3.1.4 鍵盤控制 通過按鍵的控制,可以實現波形的相互轉換和調頻的功能。P3.5和P3.6端口的鍵盤分別實現頻率的加減功能,P3.7端口的鍵盤實現波形之間的相互轉換。其仿真效果如下圖所示:圖14 波形轉換仿真圖3.1.5 LED顯示本次設計采用6位數碼管實現顯示功能,其中前3位用于顯示波形的類型,REC代表方波,SIN代表正弦波,TRI代表三角波;后3位用于顯示波形的頻率。其仿真效果如下圖所示:圖15 LED仿真圖3.2 硬件調試本次設計的硬件電路調試結果如下圖所示:圖16 硬件效果圖4 系統(tǒng)功能介紹 本次設計的電路可實現以下三大功能:(1) 波形產生 本次設計電路可產生方波、三角波、正弦波三種波形,而且通過鍵盤控制可以實現三種波形之間的相互轉換和頻率調節(jié)的功能。(2) LED顯示本次設計的顯示功能通過6位數碼管實現,可以顯示三種波形的類型和頻率。(3) 鍵盤控制本次設計的電路具有鍵盤控制功能,可以進行三種波形之間的任意轉換和波形頻率的調節(jié),并可以將改變后的結果實時地顯示在在數碼管上。5 設計總結我們小組此次的設計題目是波形發(fā)生器的設計,通過小組成員將近一個月的努力,并按照本次電子設計競賽的相關要求,最終完成此次設計。在此次設計中收獲頗多,主要有以下幾點:(1) 通過對電路的設計,對51系列單片機的原理和功能有了進一步的了解,對之前學過的書本上的電路知識有了更深刻的體會,如復位電路的原理,晶振電路的作用,上拉電阻的功能,LED顯示電路的原理等,熟悉了DAC0832芯片的原理和功能,并且能對其進行應用。(2) 通過原理圖的繪制,學會了Proteus軟件的使用,并且能用它完成一些簡單的電路設計,對常用的一些元器件有了一定的了解和認識。(3) 本次設計的硬件電路相對簡單,核心部分是程序的編寫,考慮到匯編語言與硬件電路聯系比較緊密,我們組通過討論最終選取匯編語言進行程序的編寫,方便后期調試過程查找錯誤。在軟件和硬件的調試階段遇到很多的問題,如LED顯示亂碼、閃爍、波形失真等,通過不斷的查找錯誤,對程序進行相應的修改,使其達到設計的要求,在這個過程中,認識到有時候一個簡單的錯誤就有可能造成電路無法正常工作,可謂“失之毫厘,差之千里”,培養(yǎng)了我們嚴謹細致的工作態(tài)度,同時對電路的的工作原理有了更深刻的認識。(4) 在本次電路設計的過程中,深刻體會到對于一個功能較為復雜的系統(tǒng)設計,一定要學會劃分功能模塊,逐個實現,最終再進行整合,切不可眉毛胡子一把抓,那樣不僅操作起來麻煩,效率低,而且容易出錯。(5) “紙上得來終覺淺,絕知此事要躬行”,通過本次電子設計競賽,深刻體會到理論聯系實踐的重要性,要學會活學活用。同時,在實踐的過程中,也可以加深對理論知識的認識,提高動手能力。(6) 通過本次電子設計競賽,我更加深刻的認識到團隊合作的重要性,小組成員分工合作,是設計成功的關鍵,只有大家團結一致,才能更快更好的完成任務。我們此次的設計基本滿足設計的要求,當然還是存在不足的地方,例如當頻率過小的時候波形會有些失真,波形的頻率調節(jié)范圍比較小,D/A轉換器轉換時可以加一個鎖存器,放大電路設計上還有待進一步改進,使其具有更強的輸出能力等。參考文獻1 康華光.電子技術基礎模擬部分.第五版.北京:高等教育出版社,2011.112 邱關源.電路.第五版.北京:高等教育出版社,2011.123 閻石.數字電子技術基礎.第五版.北京:高等教育出版社,2012.114 張迎新.單片微型計算機原理.第二版.國防工業(yè)出版社,2009.55 周潤景.Proteus入門實用教程.第二版.機械工業(yè)出版社,2011.11附錄1 系統(tǒng)原理圖2 主程序 ORG 0000H lJMP MAINMAIN: MOV TMOD,#20H MOV R0,#02H MOV A,#0FFH MOV P3,A MOV A,#70H MOV SP,A MOV R6,#0FFHREMAIN:CLR TR1 MOV TH1,R6 SETB TR1 LCALL JM CJNE R0,#01,SHIFT TRI: CJNE R7,#0FFH,GO1 CLR 20HGO1: CJNE R7,#00H,GO2 SETB 20HGO2: JNB TF1,GO3 CLR TF1 JB 20H,GO4 DEC R7 SJMP GO6GO4: INC R7GO6: MOV P1,R7 LCALL DISPLAY GO3: MOV A,P3 ORL A,#1FH CPL A JZ GO5 LCALL DELAY MOV A,P3 ORL A,#1FH CPL A JZ GO5 LJMP CHANGESTATEGO5: LJMP TRISHIFT:JC SIN1REC:JNB TF1,GG1 CLR TF1 DJNZ R5,GG2 MOV R5,#0FFH CPL 20HGG2:JB 20H,GG3 MOV P1,#00H SJMP GG4GG3:MOV P1,#0FFHGG4:LCALL DISPLAY GG1:MOV A,P3 ORL A,#1FH CPL A JZ GG5 LCALL DELAY MOV A,P3 ORL A,#1FH CPL A JZ GG5 LCALL CHANGESTATEGG5:LJMP RECSIN1:NOPMOV DPTR,#TABSINSIN: JNB TF1,G1 CLR TF1 INC R1 MOV A,R1 MOVC A,A+DPTR MOV P1,A LCALL DISPLAYG1: MOV A,P3 ORL A,#1FH CPL A JZ G2 LCALL DELAY MOV A,P3 ORL A,#1FH CPL A JZ G2 LCALL CHANGESTATEG2: LJMP SIN CHANGESTATE: JB P3.7,GOTO1 INC R0 CJNE R0,#03H,GOTO1 MOV R0,#00HGOTO1: JB P3.6,GOTO2 INC R6GOTO2: JB P3.5,GOTO3 DEC R6 GOTO3: MOV A,P3 CPL A JNZ GOTO3 LJMP REMAINJM:MOV DPTR,#TABNUM MOV A,R6 MOV B,#100 DIV AB MOVC A,A+DPTR MOV 14H,A MOV A,B MOV B,#10 DIV AB MOVC A,A+DPTR MOV 15H,A MOV A,B MOVC A,A+DPTR MOV 16H,A MOV DPTR,#TABWM MOV A,R0 MOV B,#03H MUL AB MOV 10H,A MOVC A,A+DPTR MOV 11H,A INC DPTR MOV A,10H MOVC A,A+DPTR MOV 12H,A MOV A,10H INC DPTR MOVC A,A+DPTR MOV 13H,A RETDISPLAY: SETB P2.6 MOV P0,11H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0FEH CLR P2.7 MOV P0,#0FFH LCALL DELAY SETB P2.6 MOV P0,12H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0FDH CLR P2.7 MOV P0,#0FFH LCALL DELAY SETB P2.6 MOV P0,13H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0FBH CLR P2.7 MOV P0,#0FFH LCALL DELAY SETB P2.6 MOV P0,14H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0F7H CLR P2.7 MOV P0,#0FFH LCALL DELAY SETB P2.6 MOV P0,15H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0EFH CLR P2.7 MOV P0,#0FFH LCALL DELAY SETB P2.6 MOV P0,16H CLR P2.6 MOV P0,#0FFH SETB P2.7 MOV P0,#0DFH CLR P2.7 MOV P0,#0FFH LCALL DELAY RETDELAY:MOV R2,#0FFH MOV R3,#1LOOP: DJNZ R3,LOOP MOV R3,#2 DJNZ R2,LOOP RETTABNUM: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHTABWM: DB 6DH,06H,37H,07H,77H DB 30H,77H,79H,39HTABSIN: DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB 0FDH,0FE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論