【正文】
為點越少,其頻率達到的值就會越大;合成時就是對幅值點進行一個疊加后賦給DAC0832輸出一組波形。根據(jù)題目的要求,經(jīng)過仔細的考慮各種要素,制定了整體方案:以AT89C51單片機為控制核心,P0口接DAC0832信號輸入并進行數(shù)模轉(zhuǎn)換,P1口接矩陣鍵盤,P2口接液晶顯示器LCD1602,由程序控制P0口產(chǎn)生波形(分別是正弦波、方波、三角波),再由按鍵及按鍵次數(shù)控制產(chǎn)生波形的種類及頻率和幅值在一定范圍內(nèi)可調(diào),并且能夠按任意鍵實現(xiàn)波形頻率和幅值的設(shè)定(不通過步進按鍵設(shè)定來控制)。~5V(峰—峰值),(峰—峰值)調(diào)整。 Using the interrupt for scanning array. The frequency of mediation is to adjust one interval time, amplitude is adjusting the size of its digital (multiplied by a certain number of less than 1) at the same time. For the waveform synthesis, we adopt the number of points is 20.Keywords:AT89C51 DAC0832 Separate button OP07一、題目要求及分析設(shè)計任務(wù):設(shè)計制作一個波形發(fā)生器,該波形發(fā)生器能產(chǎn)生正弦波、方波、三角波和由用戶編輯的特定形狀波形。其頻率的調(diào)解就是調(diào)節(jié)其中斷間隔的時間,幅值就是調(diào)節(jié)其數(shù)字的大?。ㄍ瑫r乘以某個小于1的數(shù))。但是輸出的是電流,需要用運放(OP07),把電流轉(zhuǎn)換成電壓量。顯示利用的是LCD1602的液晶,顯示其波形,幅值。為了波形的合成,我們采用的點的個數(shù)都是20個。示意圖如下:圖1 設(shè)計要求圖設(shè)計要求:、方波、三角波三種周期性波形的功能;(同周期)的線性組合波形,以及由基波及其諧波(5次以下)線性組合的波形。、重復(fù)頻率(周期)和幅度的功能。由運放OP07實現(xiàn)DAC0832輸出電流到電壓的轉(zhuǎn)換,即實現(xiàn)數(shù)字信號到模擬信號的轉(zhuǎn)換。紅外,通過外部中斷高低電平的延時的時間來進行解碼。波形的產(chǎn)生是通過AT89C51執(zhí)行方波波形程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在DA轉(zhuǎn)換電路輸出端得到相應(yīng)的電壓波形。在本設(shè)計的基礎(chǔ)上,加上LCD顯示器,則可以通過按鍵設(shè)定波形頻率,并在LCD顯示頻率、幅值電壓。方案二:LED點陣顯示,LED點陣顯示雖然能夠顯示數(shù)字和字符,但是顯示的效果不好,而且不易編程。經(jīng)對比,由于我們需求的按鍵比較少,但是對執(zhí)行的效率比較高,所以采用獨立按鍵。復(fù)位電路采用上電復(fù)位,其工作原理是,當通電時,電容兩端相當于短路,于是TST引腳為高電平,然后對電容充電。軟、硬件設(shè)計是比不可少的,為了滿足功能和指標的要求,資源分配為:單片機用12MHz晶振,P0口與DAC0832相連;P1口接矩陣按鍵,實現(xiàn)頻率、幅值以及波形的選擇;P2口接LCD1602液晶顯示器,實時顯示波形的頻率、幅值、類型。掃描利用軟件程序?qū)崿F(xiàn),當某一按鍵按下時,掃描立即檢測到,隨即調(diào)用子程序,執(zhí)行相應(yīng)的功能。目前生產(chǎn)的DAC芯片分為兩類,一類芯片內(nèi)部設(shè)置有數(shù)據(jù)寄存器,不需要外加電路就可以直接與微型計算機接口。單片機想DAC0832發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。利用單片機的晶振控制輸出周期的速度,也就是控制輸出的波形的頻率。他是發(fā)送一連串的數(shù)據(jù)幀,這個數(shù)據(jù)幀就是一連串的二進制代碼,單片機通過區(qū)分高電平的持續(xù)時間來區(qū)別紅外編碼的。根據(jù)各部分的功能。由圖2分析可以得到.引導(dǎo)碼高電平為4.5ms,低電平為4.5ms。主要是加強遙控器的可靠性.如果兩次地址碼不相同.則說明本幀數(shù)據(jù)有錯.應(yīng)丟棄。數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實際所按下的鍵。在圖2中,數(shù)據(jù)碼為十六進制的0CH,數(shù)據(jù)反碼為十六進制的0F3H(注意低位在前).兩者之和應(yīng)為0FFH。圖9LCD液晶顯示電路本電源設(shè)計了兩個接口,方便不同接口的電源接入,并且在電源部分加上濾波電容,起過濾接入電源的雜波的作用,為了電路中得到+12V、12V和+5V的直流工作電壓,用變壓器變壓后再通過芯片和電容設(shè)計出所需要的電路。因此設(shè)計串口通信電路就是讓這兩種電平統(tǒng)一。:完成全部硬件和軟件過后,將程序下載到單片機中進行測試,通過反復(fù)測試,反復(fù)的修改函數(shù)的功能,同時完善硬件的功能,使系統(tǒng)達到最優(yōu)控制。(2)當幅值和顯示調(diào)試成功后,寫調(diào)頻程序時,在硬件電路中調(diào)試時發(fā)現(xiàn),三種波形融合到一起出現(xiàn),在經(jīng)過添加定時器中斷的方法,結(jié)果使P0口不能夠輸出模擬信號,經(jīng)過努力,最后終于解決了這個問題。(3)通過元器件的購買和電路板的焊接,增強了自身的實踐動手能力,對電路原理的應(yīng)用有了更深刻的認識。在這段時間里,不僅大大提高了我的實踐經(jīng)驗,也使我學到了許多書本上不曾接觸的只是,開拓了視野,增廣了知識面,醉重要的是學會了如何利用信息資源幫助自己尋早資料,提高了自己的徐學能力。指向主程序 ORG 0003H 。主程序 MOV P2,00H 。將外部中斷0設(shè)置為下降沿有效 MOV DPTR,00FFH 。將鍵碼送累加器ACJNE A,00H,W1 。判斷01鍵是否按下 MOV JUCHI,00H 。屏蔽其他波形 MOV SAN