第一篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)——中低頻信號(hào)發(fā)生器設(shè)計(jì)(范文模版)
中低頻信號(hào)發(fā)生器設(shè)計(jì)
一、方案設(shè)計(jì):
使用單片機(jī)控制DA芯片產(chǎn)生模擬波形是一種產(chǎn)生所需信號(hào)的簡(jiǎn)單方式,但由于受到普通DA芯片的設(shè)置時(shí)間以及單片機(jī)自身晶振頻率的限制,產(chǎn)生的波形頻率往往難以超過(guò)10khz,本設(shè)計(jì)不使用傳統(tǒng)DA芯片而使用模電知識(shí)設(shè)計(jì)頻率可變的波形發(fā)生器電路,額外添加一個(gè)乘法器實(shí)現(xiàn)AM調(diào)制功能,并使用單片機(jī)控制其頻率切換。
本設(shè)計(jì)從總體上可分為三個(gè)模塊:(1)單片機(jī)控制部分(2)波形發(fā)生模塊(3)AM調(diào)制模塊
由于大部分工作使用模電完成了,所以單片機(jī)部分就相對(duì)簡(jiǎn)單,只需最基本的用于維持單片機(jī)工作的分立元件,使用IO口控制模擬部分產(chǎn)生所需波形。
波形發(fā)生器模塊分為兩部分,一部分為正弦波、方波、三角波產(chǎn)生電路,另一部分設(shè)計(jì)為提供單片機(jī)控制上述波形發(fā)生電路中的振蕩回路中的RC值的接口,以實(shí)現(xiàn)對(duì)其的頻率進(jìn)行控制。
AM調(diào)制模塊使用市場(chǎng)上現(xiàn)有的乘法器芯片mc1496,使用該芯片文檔中的AM調(diào)制電路并適當(dāng)調(diào)節(jié)電路參數(shù),即可實(shí)現(xiàn)AM調(diào)制功能。
二、方案仿真與實(shí)現(xiàn):
(一)AM調(diào)制模塊
Mc1496芯片手冊(cè)中的AM調(diào)制電路:
該電路在仿真和實(shí)際電路中都無(wú)法實(shí)現(xiàn)所需功能,經(jīng)過(guò)反復(fù)實(shí)驗(yàn)結(jié)合網(wǎng)上的資源,得出了如下圖的電路,在仿真中該電路載波輸入小于100mv時(shí)可以輸出比較良好的AM調(diào)制波形(調(diào)制信號(hào)不能大于該幅值的1/2),在實(shí)際電路中載波輸入的峰峰值必須小于70mV。仿真電路:
0R51kΩJ1XFG1Key = A 11J209XFG2C3Key = A 10μF173C2100nF18R121kΩ0R9750ΩR85R10750ΩC4100nFR111kΩ1080VDD5VR1351Ω2IO2IO3IO8IO10IO1IO4IO6IO12R420kΩC110nFR15131kΩ14u26V112 V 0R620kΩR720kΩXSC1Ext Trig+164A+_+_B_IO14IO512mc1496_1R1414kΩ050kΩ6Key=A50%7V28 V 仿真結(jié)果:
(二)正弦波發(fā)生模塊
使用文氏橋式振蕩電路輸出正弦波,使用八路模擬開(kāi)關(guān)CD4051實(shí)現(xiàn)振蕩回路頻率的調(diào)節(jié),具體電路見(jiàn)下圖:
R2100kΩ50%V2Key=A5 V D11N4002GPR3120kΩD2112U1A11N4002GPXSC1Ext Trig+R533kΩ34LM324DR41kΩC2100nFV15 V C1100nFR11kΩ+_A_+B_ 仿真結(jié)果:
R2100kΩ50%V2Key=A5 V D11N4002GPR3120kΩD2112U1A11N4002GPR533kΩCD4051INPUT34CD4051OUTPUTXSC1Ext Trig+LM324DR41kΩC2100nFV15 V C1100nFR11kΩ+_A_+B_CD4051INPUTJ1AKey = A J2BKey = A J3CKey = A J4DKey = A J6FKey = A J7GKey = A J5EKey = A C3100nFR61kΩC4100nFR71kΩC5100nFR81kΩC6100nFR91kΩC7100nFR101kΩC8100nFR111kΩC9100nFR121kΩ1J8AKey = A J9BKey = A J10CKey = A J11DKey = A J13FKey = A J14GKey = A J12EKey = A C10100nFR131kΩC11100nFR141kΩC12100nFR151kΩC13100nFR161kΩC14100nFR171kΩC15100nFR181kΩC16100nFR191kΩ30
因?yàn)镃D4051在Mutisim仿真庫(kù)中沒(méi)有,只好使用開(kāi)關(guān)表示CD4051的功能,使用單片機(jī)控制CD4051的A、B、C三個(gè)引腳選擇0~7八個(gè)開(kāi)關(guān)閉合,使得RC振蕩回路的頻率可以被 當(dāng)輸出頻率較高時(shí)波形會(huì)產(chǎn)生比較明顯的失真,可以使用可編程濾波器改善波形,但考慮到成本因素,在本設(shè)計(jì)中沒(méi)有采用這種方案(以上電阻電容和實(shí)際電路中的值不同)。正弦波頻率的計(jì)算公式:
f?1/(2?RC)
方波和三角波產(chǎn)生電路:
R110kΩC124V25 V R250kΩ40%Key=AU1AR313XSC1Ext Trig+_A+_+B_50nFR410kΩ81kΩLM358ADR5V15 V 10kΩD11N5759A
方波和三角波頻率計(jì)算公式: f?1/(2*(R1?R2)*C1*ln(1?2*R4/R5))
正弦波電路中的頻率調(diào)節(jié)電路也可以適用于方波和三角波發(fā)生器上,實(shí)現(xiàn)利用單片機(jī)控制輸出頻率的目的。
(三)單片機(jī)控制模塊: 本設(shè)計(jì)側(cè)重于使用廉價(jià)的模擬電路代替高昂的DA芯片實(shí)現(xiàn)較高頻率波形發(fā)生器的功能,對(duì)于單片機(jī)的控制作用并不是十分依賴(lài),使用單片機(jī)可以使得頻率的調(diào)節(jié)更加簡(jiǎn)單,也可以為進(jìn)一步開(kāi)發(fā)提供幫助,單片機(jī)仿真電路:
C2U122pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617SINASINBSINCSININHSQU_TRI_ASQU_TRI_BSQU_TRI_CSQU_TRI_INHX1CRYSTAL18C122pFXTAL2C3910uFRSTR110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 SINA、SINB、SINC為正弦波發(fā)生電路中用到的CD4051的3位地址,用于選擇某一個(gè)RC回路作為振蕩回路,SININH為正弦波發(fā)生電路中用到的CD4051芯片的片選。
SQU_TRI_A、SQU_TRI_B、SQU_TRI_C為方波和三角波發(fā)生電路中用到的CD4051的3位地址,用于選擇某一個(gè)RC回路作為振蕩回路,SQU_TRI_INH為為方波和三角波發(fā)生電路中用到的CD4051芯片的片選。
用以上八個(gè)腳控制輸出的正弦波、方波、三角波的頻率。
P1.0~P1.3為用戶(hù)改變電路運(yùn)行狀態(tài)的按鍵,分別為:改變輸出波形類(lèi)型、增大輸出頻率、降低輸出頻率、改變AM調(diào)制波形輸出信號(hào)的載波頻率。
三、課程設(shè)計(jì)感想
正如方案設(shè)計(jì)中所述,這個(gè)課程設(shè)計(jì)的目的是為了克服普通DA+單片機(jī)構(gòu)成的波形發(fā)生器電路只能輸出低頻信號(hào)的障礙,在實(shí)驗(yàn)中,我發(fā)現(xiàn)使用文氏振蕩器產(chǎn)生正弦波可以輸出頻率100khz以上的信號(hào),可以滿足本設(shè)計(jì)要求,但當(dāng)其輸出頻率較高時(shí)會(huì)出現(xiàn)比較明顯的失真,這個(gè)問(wèn)題可以使用可編程濾波器濾出所需頻率來(lái)解決,也可以自建中心頻率可變的帶通濾波器濾出所需頻率,雖然最后由于時(shí)間和成本的限制沒(méi)能夠設(shè)計(jì)出一個(gè)符合要求的濾波器,但我找到了一款非常人性化的濾波器設(shè)計(jì)軟件FWP3232,使用該軟件可以方便的設(shè)計(jì)有源濾波器,但要實(shí)現(xiàn)中心頻率可變需要的模擬開(kāi)關(guān)數(shù)目太多(我目前只想到這種使用模擬開(kāi)關(guān)的解決辦法),只好放棄這個(gè)想法。單片機(jī)的設(shè)計(jì)比較簡(jiǎn)單,只要在主程序中不斷查詢(xún)幾個(gè)按鍵,根據(jù)用戶(hù)的按鍵操作改變控制模擬開(kāi)關(guān)的管腳電平實(shí)現(xiàn)對(duì)輸出波形頻率、類(lèi)型的控制即可。最麻煩的是乘法器的制作,因?yàn)槲易铋_(kāi)始不知道使用mc1496構(gòu)成的乘法器用于實(shí)現(xiàn)AM調(diào)制時(shí)載波的峰峰值不能大于70mv,連續(xù)兩天都看不到AM調(diào)制波形還十分匪夷所思的看到類(lèi)似載波和調(diào)制信號(hào)疊加的波形;另外,我最開(kāi)始不知道m(xù)c1496的輸出幅值和那些參數(shù)有關(guān),只是單純的使用了pdf中的電路,結(jié)果怎么也看不到,后來(lái)在網(wǎng)上搜集了一些資料才知道我放置在管腳5上的電阻太大了,導(dǎo)致mc1496芯片中的三極管射級(jí)輸出電流太小,乘法器無(wú)法起到相乘的作用,自然無(wú)法實(shí)現(xiàn)調(diào)制。本次課程設(shè)計(jì)最大的收獲在于深化了我對(duì)單片機(jī)在控制系統(tǒng)中的作用的理解,單片機(jī)不一定要承擔(dān)所有的功能(輸出波形、提供菜單、控制外圍器件),使用輔助的外圍模塊實(shí)現(xiàn)主要功能,使用單片機(jī)提供操作接口,則更可以滿足性能需求又可以提供實(shí)時(shí)高效的服務(wù)。
第二篇:函數(shù)信號(hào)發(fā)生器課程設(shè)計(jì)
一 緒論
1.1 函數(shù)信號(hào)發(fā)生器的應(yīng)用意義
函數(shù)發(fā)生器一般是指能自動(dòng)產(chǎn)生正弦波、三角波、方波及鋸齒波、階梯波等電壓波形的電路或儀器。根據(jù)用途不同,有產(chǎn)生三種或多種波形的函數(shù)發(fā)生器,使用的器件可以是分立器件也可以是集成電路。為進(jìn)一步掌握電路的基本理論及實(shí)驗(yàn)調(diào)試技術(shù),本課題采用有集成運(yùn)算放大器與晶體差分放大器共同組成的方波—三角波—正弦波函數(shù)發(fā)生器的設(shè)計(jì)方法。具體方法是由比較器和積分器組成方波—三角波產(chǎn)生電路,比較器輸出的方波經(jīng)積分器得到三角波,三角波到正弦波的變換電路主要由差分放大器來(lái)完成。差分放大器具有工作點(diǎn)穩(wěn)定,輸入阻抗高,抗干擾能力較強(qiáng)等優(yōu)點(diǎn)。特別是作為直流放大器時(shí),可以有效地抑制零點(diǎn)漂移,因此可將頻率很低的三角波變換成正弦波。波形變換的原理是利用差分放大器傳輸特性曲線的非線性。
通過(guò)此次設(shè)計(jì),我們能將理論知識(shí)很好的應(yīng)用于實(shí)踐,不僅鞏固了書(shū)本上的理論知識(shí),而且鍛煉了我們獨(dú)立查閱資料、設(shè)計(jì)電路、獨(dú)立思考的能力
1.2設(shè)計(jì)任務(wù)
設(shè)計(jì)能產(chǎn)生方波、三角波、正弦波的函數(shù)信號(hào)發(fā)生器電路
1.3設(shè)計(jì)要求
1)輸出各種波形工作頻率范圍:10—100Hz,100—1KHz,1K—10KHz。
2)輸出電壓:正弦波U=3V , 三角波U=5V , 方波U=14V。3)波形特征:幅度連續(xù)可調(diào),線性失真小。
4)選擇電路方案,完成對(duì)確定方案電路的設(shè)計(jì);計(jì)算電路元件參數(shù)與元件選擇、并畫(huà)出各部分原理圖,闡述基本原理。
1.4設(shè)計(jì)方案
函數(shù)信號(hào)發(fā)生器是是由基礎(chǔ)的非正弦信號(hào)發(fā)生電路和正弦波形發(fā)生電路組合而成。由運(yùn)算放大器單路及分立元件構(gòu)成,方波——三角波——正弦波函數(shù)信號(hào)發(fā)生器一般基本組成框圖如圖1所示。
圖1 函數(shù)信號(hào)發(fā)生器框圖
1、方波—三角波—正弦波信號(hào)發(fā)生器電路有運(yùn)算放大器及分立元件構(gòu)成,其結(jié)構(gòu)如圖1所示。他利用比較器產(chǎn)生方波輸出,方波通過(guò)積分產(chǎn)生三角波輸出,三角波通過(guò)差分放大電路產(chǎn)生正弦波輸出。
2、利用差分放大電路實(shí)現(xiàn)三角波—正弦波的變換
波形變換原理是利用差分放大器傳輸特性曲線的非線性,波形變換過(guò)程如圖2所示
圖 2 三角波和正弦波得轉(zhuǎn)換示意圖
由圖2可以看出,傳輸特性曲線越對(duì)稱(chēng),線性區(qū)域越窄越好;三角波的幅度Uim應(yīng)正好使晶體接近飽和區(qū)域或者截至區(qū)域。
二
函數(shù)信號(hào)發(fā)生器各單元電路的設(shè)計(jì)
2.1方波產(chǎn)生電路圖及元件參數(shù)的確定
2.1.1 方波產(chǎn)生電路 如圖3所示
圖 3 方波發(fā)生電路
2.1.2 元件參數(shù)的確定
圖3中U2構(gòu)成同相輸入遲滯比較器電路,用于產(chǎn)生輸出方波??勺冸娙軨1具有調(diào)頻作用,可用于調(diào)節(jié)方波的頻率。使產(chǎn)生的頻率范圍在10~~100Hz。方波振蕩周期
T = 2 R1 C1 ln(1+2R4/R3)。
C1的值可以改變電 R1=7K,R3=7K,R4=7K。
振蕩頻率 f = 1/T??梢?jiàn),f與C1成反比,調(diào)整電容路的振蕩頻率。圖中穩(wěn)壓管 D1 D2 為調(diào)整方波幅值,UP-P = D1 +D2。
2.2方波—三角波轉(zhuǎn)換電路圖及元件參數(shù)確定
2.2.1 方波—三角波轉(zhuǎn)換電路 如圖 4 所示
圖 4 方波-三角波電路圖
2.2.2 方波→三角波的參數(shù)確定
圖4中U2構(gòu)成同相輸入遲滯比較器電路,用于產(chǎn)生輸出方波??勺冸娙軨1具有調(diào)頻作用,可用于調(diào)節(jié)方波的頻率。運(yùn)算放大器U1與電阻R5及電容C2構(gòu)成積分電路,用于將U2電路輸出的方波作為輸入,產(chǎn)生輸出三角波。
圖中R6在調(diào)整方波—三角波的輸出頻率時(shí),不會(huì)影響輸出波形的幅度。若要求三角波的幅值,可以調(diào)節(jié)可變電容C2。
三角波部分參數(shù)設(shè)定如下:
對(duì)于輸出三角波 其振蕩周期
T =(4 R5 R6 C2)/ R3,f = 1/T。而要調(diào)整輸出三角波的振幅,則需要調(diào)整可變電容C2的值。以使三角波UP-P = 5V。
2.3正弦波參數(shù)電路及元件參數(shù)確定
2.3.1 正弦波參數(shù)電路 如圖 5 所示
圖 5 三角波-正弦波電路圖
2.3.2正弦波的參數(shù)確定
.改變輸入頻率,是電路中的頻率一定時(shí)三角波頻率為固定或變化范圍很小。加入低通濾波器,而將三角波轉(zhuǎn)化為正弦波。在圖5中當(dāng)改變輸入頻率后,三角波與正弦波的幅度將發(fā)生相應(yīng)改變。由于
振蕩周期
T =(4 R5 R6 C2)/ R3,C2為調(diào)節(jié)三角波的幅度使UP-P = 5V,R10調(diào)節(jié)輸出正弦波得幅值UP-P = 3V。三角波→正弦波的變換主要用差分放大器來(lái)完成。差分放大器具有工作點(diǎn)穩(wěn)定,輸入阻抗高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。特別是做直流放大器時(shí),可以有效的抑制零點(diǎn)漂移,因此可將頻率很低的三角波變換成正弦波。波形變換的原理是利用差分放大器傳輸特性的非線性。
2.4方波-三角波-正弦波函數(shù)發(fā)生器整體電路圖
根據(jù)以上設(shè)計(jì),畫(huà)出方波-三角波-正弦波函數(shù)發(fā)生器電路圖如圖 6 所示。
圖 6
方波-三角-正弦波函數(shù)發(fā)生器電路圖
3、電路的仿真調(diào)試
3.1 利用Multisim軟件畫(huà)出電路圖,模擬電路結(jié)果,觀察各波形的輸出。
3.1.1 方波、三角波產(chǎn)生電路的仿真波形如圖7所示
圖7 方波、三角波仿真圖形
3.1.2 方波—三角波轉(zhuǎn)換電路的仿真 如圖 8 所示
圖 8 方波—三角波仿真圖形
3.1.3三角波—正弦波轉(zhuǎn)換電路仿真
圖
三角波—正弦波仿真圖形
3.1.4 方波—三角波—正弦波轉(zhuǎn)換電路仿真
圖
方波—三角波—正弦波仿真圖形
3.1.4結(jié)果分析
輸出電壓
方波信號(hào)接入示波器仿真,調(diào)節(jié)C1,得方波峰峰Vpp=14 V;撤除方波信號(hào)并接入三角波信號(hào),調(diào)節(jié)C2,測(cè)得三角波峰峰值Upp=5 V;將正弦波信號(hào)接入示波器,調(diào)節(jié)R10,測(cè)得正弦波峰峰值Upp=3V。
第三篇:課程設(shè)計(jì)任務(wù)書(shū)-6基于單片機(jī)的多功能信號(hào)發(fā)生器的設(shè)計(jì)
課程設(shè)計(jì)任務(wù)書(shū)
學(xué)生姓名:專(zhuān)業(yè)班級(jí):指導(dǎo)教師:工作單位:
題目: 基于單片機(jī)的多功能信號(hào)發(fā)生器的設(shè)計(jì)初始條件:
1.運(yùn)用所學(xué)的單片機(jī)原理與接口技術(shù)知識(shí)和數(shù)字電路知識(shí);
2.51單片機(jī)應(yīng)用開(kāi)發(fā)系統(tǒng)一套;
3.PC機(jī)及相關(guān)應(yīng)用軟件;
要求完成的主要任務(wù):
多功能信號(hào)發(fā)生器是工業(yè)測(cè)量領(lǐng)域使用廣泛的測(cè)量設(shè)備,要求能夠輸出方波、正弦波、鋸齒波;其輸出頻率可調(diào)、輸出幅度可調(diào),要求該設(shè)備采用單片機(jī)實(shí)現(xiàn),可調(diào)部分具備粗調(diào)和細(xì)調(diào)功能并具備一定功率輸出。
1.完成多功能信號(hào)發(fā)生器的設(shè)計(jì)和調(diào)試。
2.撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū),說(shuō)明書(shū)使用A4打印紙計(jì)算機(jī)打印,用Protel等繪圖軟件繪制電子線路圖紙。
時(shí)間安排:
第1周 下達(dá)課程設(shè)計(jì)任務(wù)書(shū)和日程安排,調(diào)研和查找資料,明確設(shè)計(jì)任務(wù)要求; 第2周 完成方案論證、總體設(shè)計(jì)和硬件設(shè)計(jì);
第3周 完成軟件設(shè)計(jì)和程序的編寫(xiě);
第4周 調(diào)試硬件系統(tǒng)和軟件程序,完成整個(gè)系統(tǒng)的設(shè)計(jì)和調(diào)試;
第5周 結(jié)果分析整理、撰寫(xiě)課程設(shè)計(jì)報(bào)告,驗(yàn)收和答辯。
指導(dǎo)教師簽名:2010 年 12 月 15 日 系主任(或責(zé)任教師)簽名:2010 年 12 月 16 日
第四篇:基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì).
摘 要: 本系統(tǒng)利用單片機(jī)AT89S52采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波三種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),能產(chǎn)1Hz—3kHz的波形。通過(guò)鍵盤(pán)來(lái)控制三種波形的類(lèi)型選擇、頻率變化,并通過(guò)液晶屏1602顯示其各自的類(lèi)型以及數(shù)值,系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,其中尤其對(duì)數(shù)/模轉(zhuǎn)換部分和波形產(chǎn)生和變化部分進(jìn)行詳細(xì)論述。
關(guān)鍵詞:?jiǎn)纹瑱C(jī)AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile.In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave.Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules.They are D/A conversion module, wave generate module and liquid crystal display of LED module.In this design, the wave generator into wave form module and D/A conversion module are discussed in detail.key word: AT89S52, DAC0832, liquid crystal 1602.目錄
1.系統(tǒng)設(shè)計(jì)
1.1 設(shè)計(jì)要求
1.2方案設(shè)計(jì)與論證
1.2.1 信號(hào)發(fā)生電路方案論證 1.2.2 單片機(jī)的選擇論證 1.2.3 顯示方案論證 1.2.4 鍵盤(pán)方案論證 1.3 總體系統(tǒng)設(shè)計(jì) 1.4 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì) 1.4.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)
1.4.2 波形產(chǎn)生模塊設(shè)計(jì) 1.4.3 顯示模塊的設(shè)計(jì) 1.4.4 鍵盤(pán)模塊的設(shè)計(jì)
1.5 軟件設(shè)計(jì)流程 1.6 源程序
2.輸出波形的種類(lèi)與頻率的測(cè)試
2.1 測(cè)試儀器及測(cè)試說(shuō)明
2.2 測(cè)試結(jié)果 3.設(shè)計(jì)心的及體會(huì) 4.附錄 4.1 參考文獻(xiàn) 4.2 附圖
1、系統(tǒng)設(shè)計(jì)
經(jīng)過(guò)考慮,我們確定方案如下:利用AT89S52單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波三種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),通過(guò)鍵盤(pán)來(lái)控制三種波形的類(lèi)型選擇、頻率變化,最終輸出顯示其各自的類(lèi)型以及數(shù)值。
1.1、設(shè)計(jì)要求
1、利用單片機(jī)采用軟件設(shè)計(jì)方法產(chǎn)生三種波形 2)、三種波形可通過(guò)鍵盤(pán)選擇 3)、波形頻率可調(diào)
4)、需顯示波形的種類(lèi)及其平率
1.2方案設(shè)計(jì)與論證
1.2.1 信號(hào)發(fā)生電路方案論證
方案一:通過(guò)單片機(jī)控制D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾能力弱,不易調(diào)節(jié)。但此方案電路簡(jiǎn)單、成本低。
方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過(guò)芯片IC145152,壓控振蕩器搭接的鎖相環(huán)電路輸出穩(wěn)定性極好的正弦波,再利用過(guò)零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。
方案三:利用MAX038芯片組成的電路輸出波形。MAX038是精密高頻波形產(chǎn)生電路,能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形。但此方案成本高,程序復(fù)雜度高。
以上三種方案綜合考慮,選擇方案一。
1.2.2 單片機(jī)的選擇論證
方案一:AT89S52單片機(jī)是一種高性能8位單片微型計(jì)算機(jī)。它把構(gòu)成計(jì)算機(jī)的中央處理器CPU、存儲(chǔ)器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計(jì)算機(jī)、而且其價(jià)格便宜。
方案二:C8051F005單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,而且執(zhí)行速度快。但其價(jià)格較貴
以上兩種方案綜合考慮,選擇方案一
1.2.3 顯示方案論證
方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺(jué)暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺(jué)不到閃動(dòng),看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容多,而且數(shù)碼管不能顯示字母。
方案二:采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。
以上兩種方案綜合考慮,選擇方案二。
1.2.4 鍵盤(pán)方案論證
方案一:矩陣式鍵盤(pán)。矩陣式鍵盤(pán)的按鍵觸點(diǎn)接于由行、列母線構(gòu)成的矩陣電路的交叉處。當(dāng)鍵盤(pán)上沒(méi)有鍵閉合時(shí),所有的行和列線都斷開(kāi),行線都呈高電平。當(dāng)某一個(gè)鍵閉合時(shí),該鍵所對(duì)應(yīng)的行線和列線被短路。
方案二:編碼式鍵盤(pán)。編碼式鍵盤(pán)的按鍵觸點(diǎn)接于74LS148芯片。當(dāng)鍵盤(pán)上沒(méi)有閉合時(shí),所有鍵都斷開(kāi),當(dāng)某一鍵閉合時(shí),該鍵對(duì)應(yīng)的編碼由74LS148輸出。
以上兩種方案綜合考慮,選擇方案一。
1.3總體系統(tǒng)設(shè)計(jì)
該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號(hào)的采集分析以及信號(hào)的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。將設(shè)計(jì)任務(wù)分解為按鍵電路、液晶顯示電路等模塊。圖(1)為系統(tǒng)的總體框圖
圖(1)總體方框圖
1.4硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)
1.4.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)
89C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單﹑可靠。用80C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,如圖(2)89C51單片機(jī)最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn):
(1 有可供用戶(hù)使用的大量I/O口線。(2 內(nèi)部存儲(chǔ)器容量有限。(3 應(yīng)用系統(tǒng)開(kāi)發(fā)具有特殊性。
圖(2)89C51單片機(jī)最小系統(tǒng)
1.4.2 波形產(chǎn)生模塊設(shè)計(jì)
由單片機(jī)采用編程方法產(chǎn)生三種波形、通過(guò)DA轉(zhuǎn)換模塊DAC0832在進(jìn)過(guò)濾波放大之后輸出。其電路圖如下:
圖(3)波形產(chǎn)生電路
如上圖所示,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過(guò)放大后輸出所要的波形。DAC0832的為八位數(shù)據(jù)并行輸入的,其結(jié)構(gòu)圖如下:
圖(4)DAC0832的內(nèi)部結(jié)構(gòu)
1.4.3 顯示模塊的設(shè)計(jì)
通過(guò)液晶1602顯示輸出的波形、頻率,其電路圖如下:
圖(5)液晶顯示
如上圖所示,1602的八位數(shù)據(jù)端接單片機(jī)的P1口,其三個(gè)使能端RS、RW、E分別接單片機(jī)的P3.2—P3.4。通過(guò)軟件控制液晶屏可以顯示波形的種類(lèi)以及波形的頻率。
1.4.4 鍵盤(pán)顯示模塊的設(shè)計(jì)
本系統(tǒng)采用獨(dú)立鍵盤(pán),其連接電路圖如下:
圖(6)鍵盤(pán)
圖中鍵盤(pán)獨(dú)立鍵盤(pán)引出的八跟線分別接單片機(jī)的P2口,只用其第四列,因此在程序初始化時(shí)P2.7腳給低電平。如圖開(kāi)關(guān)3用來(lái)切換輸出波形、開(kāi)關(guān)7和8用
來(lái)調(diào)節(jié)頻率的加減。當(dāng)按開(kāi)關(guān)7時(shí)輸出波形的頻率增加,按開(kāi)關(guān)8時(shí)輸出波形的頻率減小。
1.5 軟件設(shè)計(jì)流程
本系統(tǒng)采用AT89S52單片機(jī),用編程的方法來(lái)產(chǎn)生三種波形,并通過(guò)編程 來(lái)切換三種波形以及波形頻率的改變。
具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。
軟件調(diào)通后,通過(guò)編程器下載到AT89S52芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。
軟件的流程圖如下:
圖(7)程序流程圖
1.6源程序
#include #define uchar unsigned char #define uint unsigned int
sbit lcdrw=P3^3;sbit lcdrs=P3^2;sbit lcde=P3^4;sbit d=P2^7;sbit s1=P2^0;sbit s2=P2^1;sbit s3=P2^2;sbit cs=P3^5;sbit wr=P3^6;uchar s1num,a,ys,j;uint fre;uchar code tosin[256]={ 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 };/*正弦波碼 */ void delay(uint z //延時(shí)子程序 { uchar i,j;for(i=z;i>0;i--for(j=110;j>0;j--;} void delay1(uint y { uint i;for(i=y;i>0;i--;} void write_com(uchar com //1602寫(xiě)指令
{ lcdrs=0;P1=com;delay(5;lcde=1;delay(5;lcde=0;} void write_data(uchar date //1602數(shù)據(jù) { lcdrs=1;P1=date;delay(5;lcde=1;delay(5;lcde=0;} void init(//初始化 { lcdrw=0;lcde=0;wr=0;cs=0;
write_com(0x38;write_com(0x0c;write_com(0x06;write_com(0x01;write_com(0x80+0x00;write_data(0x77;//寫(xiě)wave: write_data(0x61;write_data(0x76;write_data(0x65;write_data(0x3a;write_com(0x80+0x40;//寫(xiě) f: write_data(0x66;write_data(0x3a;} void write_f(uint date //寫(xiě)頻率 { uchar qian,bai,shi,ge;qian=date/1000;bai=date/100%10;shi=date/10%10;ge=date%10;write_com(0x80+0x42;write_data(0x30+qian;
write_data(0x30+bai;write_data(0x30+shi;write_data(0x30+ge;write_data(0x48;write_data(0x5a;} void xsf(//顯示頻率 { if(s1num==1 { fre=(1000/(9+3*ys;write_f(fre;} if(s1num==2 { fre=(100000/(3*ys;write_f(fre;} if(s1num==3 { fre=(1000/(15+3*ys;write_f(fre;}
} void keyscanf({ d=0;if(s1==0 { delay(5;if(s1==0 { while(!s1;s1num++;if(s1num==1 { ys=0;write_com(0x80+0x05;write_data(0x73;//寫(xiě)sine: write_data(0x69;write_data(0x6e;write_data(0x65;write_data(0x20;write_data(0x20;} if(s1num==2
{ ys=10;write_com(0x80+0x05;write_data(0x73;//寫(xiě)squrae write_data(0x71;write_data(0x75;write_data(0x61;write_data(0x72;write_data(0x65;} if(s1num==3 { ys=0;write_com(0x80+0x05;//train write_data(0x74;write_data(0x72;write_data(0x61;write_data(0x69;write_data(0x6e;write_data(0x20;} if(s1num==4 {
s1num=0;P1=0;write_com(0x80+0x05;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_com(0x80+0x42;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;write_data(0x20;} } } if(s2==0 { delay(5;if(s2==0
{ while(!s2;ys++;} } if(s3==0 { delay(5;if(s3==0 { while(!s3;ys--;} } } void main({ init(;while(1 { keyscanf(;if(s1num==1 //正弦波// {
for(j=0;j<255;j++ { P0=tosin[j];delay1(ys;} } if(s1num==2 //方波// { P0=0xff;delay1(ys;P0=0;delay1(ys;} if(s1num==3 //三角波// { if(a<128 { P0=a;delay1(ys;} else { P0=255-a;
delay1(ys;} a++;}
if(!(s1&s2&s3 { xsf(;} } }
2、輸出波形的種類(lèi)與頻率的測(cè)試
2.1、測(cè)量?jī)x器及測(cè)試說(shuō)明
測(cè)量?jī)x器:穩(wěn)壓電源、示波器、數(shù)字萬(wàn)用表。
測(cè)量說(shuō)明:正弦波、矩形波、三角波信號(hào)的輸出,通過(guò)對(duì)獨(dú)立鍵盤(pán)來(lái)實(shí)現(xiàn)其的不同波形的輸出以及其頻率的改變。
2.2測(cè)試過(guò)程
當(dāng)程序下進(jìn)去時(shí)經(jīng)過(guò)初始化,液晶屏的上只顯示“wave:”和“f:“,當(dāng)開(kāi)關(guān)三按一下是此時(shí)輸出波形為正弦波,按兩下時(shí)輸出為方波,按三下時(shí)輸出為三角波。另外兩個(gè)開(kāi)關(guān)可以調(diào)節(jié)頻率,三種波形的頻率可調(diào)范圍不同,分別如下: 正弦波:1—180HZ 方 波:1——3.3KHZ 三角波:1——180HZ
根據(jù)示波器的波形頻率的顯示計(jì)算出三種波形的頻率計(jì)算公式如下: 正弦波:f=(1000/(9+3*ys 方 波:f=(100000/(3*ys 三角波:f=(1000/(15+3*ys 其中ys為延時(shí)的變量。三種波形的仿真波形圖如下:
圖(8)正弦波圖形
圖(9)方波圖形
圖(10)三角波圖行
2.3、測(cè)試結(jié)果
各項(xiàng)指標(biāo)均達(dá)到要求。
測(cè)試數(shù)據(jù)如下:
1)、產(chǎn)生正弦波、方波、三角波基本實(shí)現(xiàn)
2)、三種波形的頻率都可調(diào),但不能步進(jìn)的調(diào)節(jié),其中方波的可調(diào)范圍最廣為1—3.3KHZ,其他兩種波形的頻率范圍不大1—180HZ 3)、顯示部分基本實(shí)現(xiàn) 4)、鍵盤(pán)功能實(shí)現(xiàn)
3、設(shè)計(jì)心的及體會(huì)
通過(guò)這次畢業(yè)設(shè)計(jì),使我深刻地認(rèn)識(shí)到學(xué)好專(zhuān)業(yè)知識(shí)的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)三年的學(xué)習(xí)成果,進(jìn)一步加深了我對(duì)專(zhuān)業(yè)知識(shí)的了解和認(rèn)識(shí)以及動(dòng)手的能力。雖然在這次設(shè)計(jì)中對(duì)于所學(xué)知識(shí)的運(yùn)用和銜接還不夠熟練,作品完成的還不是很出色。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這個(gè)設(shè)計(jì)是對(duì)我們過(guò)去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過(guò)程,為今后的發(fā)展打下了良好的基礎(chǔ)。
4、附錄
4.1 參考文獻(xiàn)
[1] 戴仙金主編 51單片機(jī)及其C語(yǔ)言匯編程序開(kāi)發(fā)實(shí)例 清華大學(xué)出版社,2008 [2] 高吉祥主編 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)系列教程 電子工業(yè)出版社,2007 [3] 楊素行主編 模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程 高等教育出版社,2007 [4] 蔣輝平主編 單片機(jī)原理與應(yīng)用設(shè)計(jì) 北京航空航天大學(xué)出版社 2007 4.2 附圖
圖(11)總體原理設(shè)計(jì)圖
第五篇:基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
湘南學(xué)院
電子工程設(shè)計(jì)
題 目: 基于51單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
學(xué)院(系): 電子信息與電氣工程學(xué)院 年級(jí)專(zhuān)業(yè): 2013級(jí)電子信息科學(xué)與技術(shù) 學(xué) 號(hào): 201314110144,201314110106 學(xué)生姓名: 周 慧 程迅 指導(dǎo)教師: 王 龍
2016年 4 月 1 日
課程設(shè)計(jì)任務(wù)書(shū)
學(xué)生姓名:程迅 周慧
專(zhuān)業(yè)班級(jí):電子信息科學(xué)與技術(shù)
(一)班 指導(dǎo)教師:王 龍 工作單位:電子信息與電氣工程學(xué)院
題 目:
基于51單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì) 初始條件:
1.運(yùn)用所學(xué)的單片機(jī)原理與接口技術(shù)知識(shí)和數(shù)字電路知識(shí); 2.51單片機(jī)最小系統(tǒng); 3.PC機(jī)及相關(guān)應(yīng)用軟件。
要求完成的主要任務(wù): 系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,通過(guò)程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、三角波、矩形波四種波形,通過(guò)按鍵來(lái)控制四種波形的類(lèi)型選擇、頻率變化,并通過(guò)液晶屏1602顯示其各自的類(lèi)型以及頻率值。
1.完成函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)和調(diào)試。
2.撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū),說(shuō)明書(shū)使用A4打印紙計(jì)算機(jī)打印,用proteus等仿真軟件繪制電子線路圖紙。
基于51單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)
摘 要
本系統(tǒng)利用單片機(jī)STC89C52采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、三角波、矩形波四種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),能產(chǎn)0Hz—535Hz的波形。通過(guò)按鍵來(lái)控制三種波形的類(lèi)型選擇、頻率變化,并通過(guò)液晶屏1602顯示其各自的類(lèi)型以及數(shù)值,系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶顯示部分三部分,其中尤其對(duì)數(shù)/模轉(zhuǎn)換部分和波形產(chǎn)生和變化部分進(jìn)行詳細(xì)論述。
關(guān)鍵詞:?jiǎn)纹瑱C(jī)STC89C52、DAC0832、液晶1602
目錄
前言..........................................................................1 第一章 系統(tǒng)設(shè)計(jì)要求及設(shè)計(jì)方案..................................................2
1.1 設(shè)計(jì)要求.................................................................2 1.2 方案設(shè)計(jì)與論證...........................................................2 1.2.1 信號(hào)發(fā)生電路方案論證...............................................2 1.2.2 單片機(jī)的選擇論證..................................................2 1.2.3 顯示方案論證.....................................................3 1.2.4 鍵盤(pán)方案論證......................................................3 1.3 系統(tǒng)主要功能.............................................................3 第二章 系統(tǒng)的硬件設(shè)計(jì)..........................................................4 2.1 總體系統(tǒng)設(shè)計(jì).............................................................4 2.2 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)...................................................4 2.2.1 振蕩電路..........................................................4 2.2.2 復(fù)位電路設(shè)計(jì).....................................................5 2.2.3 波形產(chǎn)生模塊設(shè)計(jì)..................................................6 2.2.4顯示模塊的設(shè)計(jì).....................................................7 2.2.5 鍵盤(pán)顯示模塊的設(shè)計(jì).................................................7 2.3 軟件設(shè)計(jì)流程.............................................................8 第三章 proteus的簡(jiǎn)介..........................................................9 3.1 proteus介紹.............................................................9 3.1.1 keil調(diào)試.........................................................10 3.1.2 proteus仿真調(diào)試..................................................10 3.2 測(cè)試過(guò)程................................................................11 附錄一:總電路圖..............................................................12 附錄二:部分程序..............................................................12
前言
信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。信號(hào)的產(chǎn)生有模擬電路、專(zhuān)用硬件和軟件產(chǎn)生等方法。采用模擬電路搭建函數(shù)信號(hào)發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波,但不能產(chǎn)生任意波形,存在波形質(zhì)量差、控制難、可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn),且頻率調(diào)節(jié)不方便。專(zhuān)用硬件方法產(chǎn)生的信號(hào)頻率分辨率高、穩(wěn)定性好、在線調(diào)整方便,如目前在通訊系統(tǒng)中應(yīng) 用廣泛的直接數(shù)字頻率合成(DDS)技術(shù),例如 AD9854是一種典型的信號(hào)產(chǎn)生方法,但是價(jià)格昂貴。
利用單片機(jī)通過(guò)程序設(shè)計(jì)方法產(chǎn)生低頻信號(hào),其頻率底線較低,具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、體積小、價(jià)格低廉、頻率穩(wěn)定度高、抗干擾能力強(qiáng)、用途廣泛等優(yōu)點(diǎn),且如需要產(chǎn)生新的波形時(shí),只需對(duì)程序進(jìn)行修改即可。該系統(tǒng)利用單片機(jī)STC89C52和D /A 轉(zhuǎn)換器DAC0832 轉(zhuǎn)換數(shù)字信號(hào)為 0 ~ 5 V 模擬電壓信號(hào),并在 LCD1602 顯示,通過(guò)示波器就能得知產(chǎn)生的信號(hào)波形。
第一章 系統(tǒng)設(shè)計(jì)要求及設(shè)計(jì)方案
1.1 設(shè)計(jì)要求
1)、利用單片機(jī)采用軟件設(shè)計(jì)方法產(chǎn)生四種波形 2)、四種波形可通過(guò)按鍵選擇輸出 3)、波形頻率可調(diào) 4)、需顯示波形的頻率
1.2 方案設(shè)計(jì)與論證 1.2.1 信號(hào)發(fā)生電路方案論證
方案一:通過(guò)單片機(jī)控制D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾能力弱,不易調(diào)節(jié)。但此方案電路簡(jiǎn)單、成本低。
方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過(guò)芯片IC145152,壓控振蕩器搭接的鎖相環(huán)電路輸出穩(wěn)定性極好的正弦波,再利用過(guò)零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。
方案三:利用MAX038芯片組成的電路輸出波形。MAX038是精密高頻波形產(chǎn)生電路,能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形。但此方案成本高,程序復(fù)雜度高。
以上三種方案綜合考慮,選擇方案一。
1.2.2 單片機(jī)的選擇論證
方案一:STC89C52單片機(jī)是一種高性能8位單片微型計(jì)算機(jī)。它把構(gòu)成計(jì)算機(jī)的中央處理器CPU、存儲(chǔ)器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計(jì)算機(jī)、而且其價(jià)格便宜。
方案二:C8051F005單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件,而且執(zhí)行速度快。但其價(jià)格較貴。
以上兩種方案綜合考慮,選擇方案一
1.2.3 顯示方案論證
方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺(jué)暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺(jué)不到閃動(dòng),看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容多,而且數(shù)碼管不能顯示字母。
方案二:采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。
以上兩種方案綜合考慮,選擇方案二。
1.2.4 鍵盤(pán)方案論證
方案一:矩陣式鍵盤(pán)。矩陣式鍵盤(pán)的按鍵觸點(diǎn)接于由行、列母線構(gòu)成的矩陣電路的交叉處。當(dāng)鍵盤(pán)上沒(méi)有鍵閉合時(shí),所有的行和列線都斷開(kāi),行線都呈高電平。當(dāng)某一個(gè)鍵閉合時(shí),該鍵所對(duì)應(yīng)的行線和列線被短路。
方案二:獨(dú)立點(diǎn)觸按鍵。點(diǎn)觸按鍵體積小,安裝方便,成本低。以上兩種方案綜合考慮,選擇方案二。
1.3 系統(tǒng)主要功能
經(jīng)過(guò)考慮,我們確定方案如下:利用STC89C52單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、正弦波、矩形波鋸齒波四種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),通過(guò)按鍵來(lái)控制四種波形的類(lèi)型選擇、頻率變化,最終輸出顯示其各自的類(lèi)型以及數(shù)值。
第二章 系統(tǒng)的硬件設(shè)計(jì)
2.1 總體系統(tǒng)設(shè)計(jì)
該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號(hào)的采集分析以及信號(hào)的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。將設(shè)計(jì)任務(wù)分解為按鍵電路、液晶顯示電路等模塊。下
圖2.1為系統(tǒng)的總體框圖
圖2.1 總體方框圖
2.2 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)
2.2.1 振蕩電路
單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過(guò)這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容振蕩電路脈沖經(jīng)過(guò)二分頻后作為系統(tǒng)的時(shí)鐘信號(hào),再在二分頻的基礎(chǔ)上三分頻產(chǎn)
4(電容和一般取30pF)。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。
生ALE信號(hào),此時(shí)得到的信號(hào)時(shí)機(jī)器周期信號(hào)。
振蕩電路如圖2.2.1所示:
圖2.2.1 振蕩電路
2.2.2 復(fù)位電路設(shè)計(jì)
復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過(guò)外部電容充電來(lái)實(shí)現(xiàn)單片機(jī)自動(dòng)復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。按鍵復(fù)位電路圖如圖2.2.2所示。
圖2.2.2 復(fù)位電路
2.2.3 波形產(chǎn)生模塊設(shè)計(jì)
由單片機(jī)采用編程方法產(chǎn)生四種波形、通過(guò)DA轉(zhuǎn)換模塊DAC0832在進(jìn)過(guò)濾波放大之后輸出。
其電路圖如下圖2.2.3(1):
圖2.2.3(1)波形產(chǎn)生電路
如上圖2.2.3(1)所示,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過(guò)放大后輸出所要的波形。DAC0832的為八位數(shù)據(jù)并行輸入的,其結(jié)構(gòu)圖如下圖2.2.3(2):
圖2.2.3(2)DAC0832的內(nèi)部結(jié)構(gòu)
2.2.4顯示模塊的設(shè)計(jì)
通過(guò)液晶1602顯示輸出的波形、頻率。1602的八位數(shù)據(jù)端接單片機(jī)的P0口,其使能端RS、E分別接單片機(jī)的P3.5、P3.4。通過(guò)軟件控制液晶屏可以顯示波形的種類(lèi)以及波形的頻率。
其電路圖如下圖2.2.4:
圖2.2.4 液晶顯示
2.2.5 鍵盤(pán)顯示模塊的設(shè)計(jì)
其連接電路圖如下圖2.2.5:
圖2.2.5 鍵盤(pán)
圖中鍵盤(pán)引出的5跟線分別接單片機(jī)的P1口,其中P1.0連接按鍵1用于切換波形,P1.1、P1.2連接按鍵2、3用于調(diào)節(jié)波形的頻率的增減,P1.3連接的按鍵用于占空比的升高。
2.3 軟件設(shè)計(jì)流程
本系統(tǒng)采用STC89C52單片機(jī),用編程的方法來(lái)產(chǎn)生四種波形,并通過(guò)編程 來(lái)切換四種波形以及波形頻率的改變。
具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。
軟件調(diào)通后,通過(guò)編程器下載到STC89C52芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。
軟件的流程圖如下圖2.3:
圖2.3 程序流程圖
第三章 proteus的簡(jiǎn)介
3.1 proteus介紹
Proteus軟件是來(lái)自英國(guó)Labcenter electronics公司的EDA工具軟件,它組合了高級(jí)原理布圖、混合模式SPICE仿真,PCB設(shè)計(jì)以及自動(dòng)布線來(lái)實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來(lái)的持續(xù)開(kāi)發(fā),被《電子世界》在其對(duì)PCB設(shè)計(jì)系統(tǒng)的比較文章中評(píng)為最好產(chǎn)品—“The Route to PCB CAD”。Proteus 產(chǎn)品系列也包含了我們革命性的VSM技術(shù),用戶(hù)可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周?chē)娮悠骷黄鸱抡?。用?hù)甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤(pán)、RS232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。
其功能模塊:—個(gè)易用而又功能強(qiáng)大的ISIS原理布圖工具;PROSPICE混合模型SPICE仿真;ARES PCB設(shè)計(jì)。PROSPICE 仿真器的一個(gè)擴(kuò)展PROTEUS VSM:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤(pán),開(kāi)關(guān),按鈕,LEDs甚至LCD顯示CPU模型。支持許多通用的微控制器,如PIC,AVR,HC11以及8051。最新支持ARM。交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤(pán),I2C,SPI器件。強(qiáng)大的調(diào)試工具,包括寄存器和存儲(chǔ)器,斷點(diǎn)和單步模式。IAR C-SPY 和Keil uVision2等開(kāi)發(fā)工具的源層調(diào)試。應(yīng)用特殊模型的DLL界面-提供有關(guān)元件庫(kù)的全部文件。
在完成了函數(shù)信號(hào)發(fā)生器的硬件設(shè)計(jì)和軟件設(shè)計(jì)以后,便進(jìn)入系統(tǒng)的調(diào)試階段。系統(tǒng)的調(diào)試步驟和方法基本上是相同的,但具體細(xì)節(jié)和所采用的開(kāi)發(fā)系統(tǒng)以及用戶(hù)系統(tǒng)選用的單片機(jī)型號(hào)有關(guān),我們選用的是Keil軟件進(jìn)行軟件調(diào)試,用Proteus軟件完成硬件調(diào)試。
3.1.1 keil調(diào)試
3.1.2 proteus仿真調(diào)試
3.2 測(cè)試過(guò)程
1)、當(dāng)程序下進(jìn)去時(shí)經(jīng)過(guò)初始化,液晶屏的上只顯示“Frequency:”和“0050Hz”,默認(rèn)狀態(tài)輸出波形為正弦波,按一下按鍵1時(shí)輸出為方波,按按鍵1兩下時(shí)輸出為鋸齒波,按按鍵1三下時(shí)輸出三角波。按鍵2、3可以調(diào)節(jié)頻率,三種波形的頻率可調(diào)范圍,分別如下: 正弦波:0—535Hz 方 波:0——535Hz 三角波:0——535Hz 鋸齒波:0——535Hz 根據(jù)示波器的波形頻率的顯示計(jì)算出三種波形的頻率計(jì)算公式如下:
正弦波:f= 65536-10^6//(512*FREQ)方 波:f= 65336-10^6/(256*FREQ)三角波:f= 65336-10^6/(256*FREQ)鋸齒波:f= 100(+-)n*2Hz.2)、四種種波形的仿真波形圖如下:
圖3.2(1)方波圖形
圖3.2(2)正弦波圖形
圖3.2(3)三角波圖形 圖3.2(4)鋸齒波圖形
附錄一:總電路圖
附錄二:部分程序
//調(diào)節(jié)部分——頻率 void freq_ud(void){ unsigned int temp;if(freq_d==0){ FREQ--;
} else if(freq_u==0){ FREQ++;} if(cho==1|cho==3)//鋸齒波256次中斷一周期,否則他的頻率是100(+-)n*2Hz.{temp=0xffff-3906/FREQ;//默認(rèn)為100hz,切換后頻率為50HZ65336-10^6/(256*FREQ)TIME0_H=temp/256;TIME0_L=temp%256;} else if(cho==0|cho==3)//正弦波 三角波默認(rèn)周期50hz 65536-10^6//(512*FREQ){temp=0xffff-1953/FREQ;TIME0_H=temp/256;TIME0_L=temp%256;}}
//調(diào)節(jié)部分——方波的占空比
void duty_ud(void)//方波也采用512次中斷構(gòu)成一個(gè)周期。{ if(duty_d==0&sqar_num>0)sqar_num--;else if(duty_u==0&sqar_num<255)} //波形發(fā)生函數(shù) void sint(void){ if(!flag){ cs=0;P2=sin_num[num++];cs=1;if(num==0){num=255;flag=1;} sqar_num++;} else if(flag){
} void square(void){ if(i++ cs=0;P2=num++;cs=1;} void stw(void){ if(~flag){ cs=0;P2=num++;cs=1;if(num==0){num=255;flag=1;} } else if(flag){ } void main(){ TMOD=0X01;TH0=0xff;TL0=0xd9;IT0=1;//設(shè)置中斷觸發(fā)方式,下降沿 EA=1;EX0=1;ET0=1;IP=0X01;//鍵盤(pán)中斷級(jí)別高 init_1602();//初始化lcd write_command(0x80);//液晶顯示位置 delay(5); for(i=0;i { } write_data(value1[i]);delay(5);TR0=1;while(1){ show_frequency();} } //按鍵中斷處理程序。void it0()interrupt 0 { if(chg==0){FREQ=50;if(++cho==4){cho=0;num=0;}}//num=0;所有數(shù)據(jù)從新開(kāi)始,保證波形的完整性 else if(freq_u==0|freq_d==0){freq_ud();} else if(cho==1&(duty_d==0|duty_u==0)){duty_ud();} else;}