




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中北大學(xué)信息商務(wù)學(xué)院課 程 設(shè) 計(jì) 說 明 書學(xué) 院: 中北大學(xué)信息商務(wù)學(xué)院 專 業(yè):電子信息工程 題 目:專業(yè)綜合實(shí)踐之單片機(jī)部分: 基于MAX038的單片機(jī)控制的信號(hào)發(fā)生器的設(shè)計(jì)19 / 25中北大學(xué)信息商務(wù)學(xué)院課程設(shè)計(jì)任務(wù)書2013/2014 學(xué)年第 1 學(xué)期學(xué) 院: 中北大學(xué)信息商務(wù)學(xué)院 專 業(yè): 電子信息工程 學(xué) 生 姓 名: 學(xué) 號(hào): 10050644X08 學(xué) 生 姓 名:學(xué) 號(hào): 10050644X16 課程設(shè)計(jì)題目: 基于MAX038的單片機(jī)控制的信號(hào)發(fā) 生器的設(shè)計(jì)起 迄 日 期:2013年12 月30 日2014年1月 10 日 課程設(shè)計(jì)地點(diǎn): 5院樓 201,510 實(shí)驗(yàn)
2、室 指 導(dǎo) 教 師:下達(dá)任務(wù)書日期:2013 年 12 月30日 課 程 設(shè) 計(jì) 任 務(wù) 書1設(shè)計(jì)目的:鞏固掌握單片機(jī)工作原理與應(yīng)用,提高編程能力。本課程設(shè)計(jì)主要針對(duì)電子信息工程專業(yè)課程體系設(shè)置的要求,安排的一種綜合性的課程設(shè)計(jì)。一方面為了培養(yǎng)學(xué)生在查閱資料、復(fù)習(xí)、學(xué)習(xí)知識(shí)的基礎(chǔ)上,進(jìn)行包括機(jī)、電系統(tǒng)的設(shè)計(jì)、計(jì)算、仿真、編程、調(diào)試等多個(gè)環(huán)節(jié)的綜合能力培養(yǎng);另一方面,也是對(duì)學(xué)生進(jìn)行畢業(yè)設(shè)計(jì)前的一次大型練兵,進(jìn)一步培養(yǎng)學(xué)生獨(dú)立地分析、解決實(shí)際問題的實(shí)際能力。另外還培養(yǎng)學(xué)生用專業(yè)的、簡(jiǎn)潔的文字,清晰的圖表來表達(dá)自己設(shè)計(jì)思想的能力。2設(shè)計(jì)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計(jì)要求等):掌握單片機(jī)
3、89C51的工作原理掌握用匯編、C或其他語(yǔ)言實(shí)現(xiàn)編程掌握MAX038信號(hào)發(fā)生器芯片3設(shè)計(jì)工作任務(wù)與工作量的要求包括課程設(shè)計(jì)計(jì)算說明書(論文)、圖紙、實(shí)物樣品等:(1)提供核心器件的工作原理與應(yīng)用介紹;(2)提供用Pro tel設(shè)計(jì)的電路原理圖,印刷板電路圖;(3)提供用Multisim、MaxPlus、Proteus、Medwin、KeilC等軟件對(duì)電路的仿真、編程與分析;(4)提供符合規(guī)定要求的課程設(shè)計(jì)說明書;(5)提供參考文獻(xiàn)不少于15篇,且必須是相關(guān)的參考文獻(xiàn);課 程 設(shè) 計(jì) 任 務(wù) 書4主要參考文獻(xiàn):l 要求按國(guó)標(biāo)GB771487文后參考文獻(xiàn)著錄規(guī)則書寫,例:1傅承義,運(yùn)泰,祁貴中.地
4、球物理學(xué)基礎(chǔ).:科學(xué),1985(15篇以上)5設(shè)計(jì)成果形式與要求:(1)電路原理圖、程序、仿真結(jié)果、PCB圖;(2)課程設(shè)計(jì)說明書;6工作計(jì)劃與進(jìn)度:2013年12月 30 日 2014年1 月 1 日:查閱資料;2014年:1 月 2 日 1 月 7 日:方案設(shè)計(jì)、實(shí)驗(yàn)驗(yàn)證;1 月8日1 月 9 日:完成課程設(shè)計(jì)說明書;1 月 10 日:答辯。系主任審查意見:簽字:年月日目 錄1 緒論12 設(shè)計(jì)目的13 設(shè)計(jì)容和要求24 設(shè)計(jì)工作任務(wù)與工作量要求25 方案選擇與論證2 5.1設(shè)計(jì)分析2 5.2單片機(jī)選擇2 5.3系統(tǒng)電路設(shè)計(jì)方案36 設(shè)計(jì)條件與主要參數(shù)計(jì)算4 6.1 頻段調(diào)節(jié)控制4 6.2頻
5、率、占空比調(diào)節(jié)57 系統(tǒng)設(shè)計(jì)68 程序設(shè)計(jì)99 系統(tǒng)軟件仿真結(jié)果1710 設(shè)計(jì)評(píng)述1811 參考文獻(xiàn)1812 附錄191 緒論隨著電子測(cè)量與其他部門對(duì)各類信號(hào)發(fā)生器的廣泛需求與電子技術(shù)的迅速發(fā)展,促使信號(hào)發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號(hào)發(fā)生器向著自動(dòng)化、智能化方向發(fā)展?,F(xiàn)在,許多信號(hào)發(fā)生器帶有微處理器,因而具備了自校、自檢、自動(dòng)故障診斷和自動(dòng)波形形成和修正等功能,可以和控制計(jì)算機(jī)與其他測(cè)量?jī)x器一起方便的構(gòu)成自動(dòng)測(cè)試系統(tǒng)。當(dāng)前信號(hào)發(fā)生器總的趨勢(shì)是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動(dòng)化和智能化方向發(fā)展在科學(xué)研究、工程教育與生產(chǎn)實(shí)踐中,如工業(yè)過程控制、
6、教學(xué)實(shí)驗(yàn)、機(jī)械振動(dòng)試驗(yàn)、動(dòng)態(tài)分析、材料試驗(yàn)、生物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號(hào)發(fā)生器。而在我們?nèi)粘I钪校耘c一些科學(xué)研究中,鋸齒波和正弦波信號(hào)是常用的基本測(cè)試信號(hào)。信號(hào)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。但市面上能看到的儀器在頻率精度、帶寬、波形種類與程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號(hào)發(fā)生器成為可能。 本系統(tǒng)所設(shè)計(jì)多功能信號(hào)發(fā)生器是一種能夠產(chǎn)生正弦波、三角波的低頻信號(hào)發(fā)生器,在單片機(jī)的控制下由MAX038信號(hào)發(fā)生芯片產(chǎn)生頻率占空比
7、可調(diào)的正弦波、三角波,對(duì)于所產(chǎn)生的兩種波形信號(hào),通過功率放大電路可對(duì)其幅度、穩(wěn)定性進(jìn)行調(diào)節(jié),對(duì)功率放大電路輸出信號(hào)進(jìn)行整形后可以利用單片機(jī)的中斷口與定時(shí)計(jì)數(shù)器分別測(cè)出低頻信號(hào)測(cè)量周期、高頻信號(hào)的頻率以與他們的高電平周期,從而轉(zhuǎn)換為系統(tǒng)輸出的頻率和占空比,后經(jīng)過顯示電路顯示出頻率和占空比。2 設(shè)計(jì)目的 鞏固掌握單片機(jī)工作原理與應(yīng)用,提高編程能力。本課程設(shè)計(jì)主要針對(duì)電子信息工程專業(yè)課程體系設(shè)置的要求,安排的一種綜合性的課程設(shè)計(jì)。一方面為了培養(yǎng)學(xué)生在查閱資料、復(fù)習(xí)、學(xué)習(xí)知識(shí)的基礎(chǔ)上,進(jìn)行包括機(jī)、電系統(tǒng)的設(shè)計(jì)、計(jì)算、仿真、編程、調(diào)試等多個(gè)環(huán)節(jié)的綜合能力培養(yǎng);另一方面,也是對(duì)學(xué)生進(jìn)行畢業(yè)設(shè)計(jì)前的一次大型
8、練兵,進(jìn)一步培養(yǎng)學(xué)生獨(dú)立地分析、解決實(shí)際問題的實(shí)際能力。另外還培養(yǎng)學(xué)生用專業(yè)的、簡(jiǎn)潔的文字,清晰的圖表來表達(dá)自己設(shè)計(jì)思想的能力。3 設(shè)計(jì)容和要求掌握單片機(jī)89C51的工作原理掌握用匯編、C或其他語(yǔ)言實(shí)現(xiàn)編程掌握MAX038信號(hào)發(fā)生器芯片4 設(shè)計(jì)工作任務(wù)與工作量的要求(1)提供核心器件的工作原理與應(yīng)用介紹;(2)提供用Protel設(shè)計(jì)的電路原理圖,印刷板電路圖;(3)提供用Multisim、MaxPlus、Proteus、Medwin、KeilC等軟件對(duì)電路的仿真、編程與分析;(4)提供符合規(guī)定要求的課程設(shè)計(jì)說明書;(5)提供參考文獻(xiàn)不少于15篇,且必須是相關(guān)的參考文獻(xiàn);5 方案選擇與論證5.1
9、 設(shè)計(jì)分析課程設(shè)計(jì)需要各個(gè)波形的基本輸出,如三角波、正弦波。5.2 單片機(jī)選擇AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。此單片機(jī)的體積小、低功耗、控制能力強(qiáng)、擴(kuò)展靈活、微型化使用方便。本設(shè)計(jì)結(jié)合由馬克西姆公司MAX038而設(shè)計(jì)的一種簡(jiǎn)易信號(hào)發(fā)生器,通過MAX038來產(chǎn)生一系列有規(guī)律的幅度和頻率可調(diào)的方波、
10、三角波和正弦波?;贛AX038的多波形函數(shù)信號(hào)發(fā)生器具有信號(hào)輸出頻率高、波形穩(wěn)定、失真小、可控性強(qiáng)等特點(diǎn)。本號(hào)發(fā)生器包含穩(wěn)壓電源模塊、單片機(jī)(AT89C52)控制模塊、鍵盤模塊、LED顯示模塊、信號(hào)發(fā)生模塊(MAX038)、功率放大(AD811)與緩沖器(BUF634)模塊、分頻模塊,該設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,雖然性能指標(biāo)趕不上標(biāo)準(zhǔn)信號(hào)發(fā)生器,但能滿足一般的實(shí)驗(yàn)要求。其成本低、體積小、便于攜帶等特點(diǎn),亦可作為電子產(chǎn)品維修人員的隨身設(shè)備之一。5.3 系統(tǒng)電路設(shè)計(jì)方案函數(shù)信號(hào)發(fā)生器的實(shí)現(xiàn)方法通常有以下幾種:方案一:用分立元件組成的函數(shù)發(fā)生器:通常是單困數(shù)發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調(diào)試。方案二:
11、可以由晶體管、運(yùn)放1C等通用器件制作,更多的則是用專門的函數(shù)信號(hào)發(fā)生器1C產(chǎn)生。早期的函數(shù)信號(hào)發(fā)生器1C,如8038等,它們的功能較少,精度不高,頻率上限只有300KHZ,無(wú)法產(chǎn)生更高頻率的信號(hào),調(diào)節(jié)方式也不夠靈活,頻率和占空比不能獨(dú)立調(diào)節(jié),二者互相影響。方案三:利用單片集成芯片的函數(shù)發(fā)生器:能產(chǎn)生多種波形,達(dá)到較高的頻率,且易于調(diào)試。鑒于此,美國(guó)馬克西姆公司開發(fā)了新一代函數(shù)信號(hào)度生器ICMAX038,它克服了方案二中芯片的缺點(diǎn),可以達(dá)到更高的技術(shù)指標(biāo),是上述芯片望塵莫與的。MAX038頻率高、精度好,因此它被稱為高頻精密函數(shù)信號(hào)度生器1C。在鎖相環(huán)、壓控振德器、頻率合成器、脈寬調(diào)制器等電路的
12、設(shè)計(jì)上,MX038都是優(yōu)選的器件。方案四:利用專用直接數(shù)字合成DDSS片的函數(shù)發(fā)生器:能產(chǎn)生任意波形并達(dá)到很高的頻率。但成本較高。通過對(duì)以上四種方案的比較,我們可以看出幾種方案的優(yōu)缺點(diǎn):方案一:結(jié)構(gòu)很簡(jiǎn)單,制作容易,但是輸出信號(hào)有頻率線性度差、頻率穩(wěn)定度低、頻率分辨率低、頻率轉(zhuǎn)換時(shí)間比較長(zhǎng),相位噪聲大以與人機(jī)界面不友好等缺點(diǎn)。方案二:電路結(jié)椅簡(jiǎn)單,但在頻率分辨率、頻率變換時(shí)間、相位噪聲等方面都不如方案三。方案三:結(jié)抱相對(duì)復(fù)雜,但具有輸出頻率穩(wěn)定性高,頻率輸出線形度好、頻率分辨度高、波形正確,頻率變換時(shí)間小,相位噪聲小、人機(jī)界面好、易于控制等優(yōu)點(diǎn)、性能優(yōu)良。方案四:能產(chǎn)生任意波形且達(dá)到很高的頻率
13、,但是成本較高?;谖覀兊倪x擇標(biāo)準(zhǔn)在滿足工作要求的前提下,性價(jià)比高的發(fā)生器是我們的首選。從上面的比較可以看出,方案一和方案二都有各自較大的缺點(diǎn),難以達(dá)到理想的設(shè)計(jì)要求。而方案四雖然能達(dá)到很好的要求,但是從價(jià)格方面考慮我們選擇方案三比較好。6 設(shè)計(jì)條件與主要參數(shù)計(jì)算6.1 頻段調(diào)節(jié)控制固定一個(gè)CF值,當(dāng)IIN端的電流從2uA到750uA的變化時(shí),對(duì)應(yīng)產(chǎn)生一個(gè)頻段的頻率圍經(jīng)實(shí)驗(yàn)調(diào)整,我們選擇了一系列的CF如圖1所示,并確定了各CF所對(duì)應(yīng)的頻段和頻率圍f1-f2由于系統(tǒng)通過DAC控制IIN端電流和FADJ端電壓,將各頻段的頻率圍劃分為65536級(jí)間隔,因此各頻段的輸出誤差為。圖1 輸出頻率與IIN電
14、流與振蕩電容CF的關(guān)系此外,由于相鄰頻段之間存在著頻率重疊現(xiàn)象,并且考慮到各個(gè)頻段對(duì)應(yīng)的誤差大小有所差異,因此設(shè)定各頻段的實(shí)際起止頻率圍:f3f4,以便獲得最小的誤差。在5腳COCS和6腳GND接上電容CF以后,10腳IIN是頻率控制的電流輸入端,利用恒定電流IIN向電容CF充電和放電,便可形成振。蕩IIN是受8腳FADJ和7腳DADJ端電壓的控制,振蕩頻率由下式確定。,因?yàn)槲覀円蟮念l率圍在02Hz10MHz,分四個(gè)頻段來滿足要求,在每個(gè)頻段上連續(xù)可調(diào),由芯片部參數(shù)可知道,當(dāng)IIN=2A5A時(shí),CF的容量圍可以在10pF10F時(shí),芯片有較好的性能。因此可知:當(dāng)IIN=2A時(shí),;當(dāng)IIN=75
15、0A時(shí),。為了使數(shù)字控制能夠使IIN=2A750A實(shí)現(xiàn),我們?cè)贒/A轉(zhuǎn)換模塊使用圖25所示的電阻連接方法。當(dāng)數(shù)字量為00H時(shí),VOUTb輸出為0V時(shí)MAX038的10腳IIN有2A的電流輸入。當(dāng)數(shù)字量為FFH時(shí),VOUTb輸出為基準(zhǔn)電壓250V。MAX038的10腳IIN有750A的電流輸入。6.2 頻率、占空比調(diào)節(jié)MAX038的占空比的調(diào)整有兩種方式,一種時(shí)利用部基準(zhǔn)電壓源調(diào)整,另一種是利用外加電源調(diào)整,為使電路簡(jiǎn)單,采用第一種調(diào)整方式。在MAX038的DADJ端應(yīng)用一個(gè)23V23V的電壓控制信號(hào),MAX038的DADJ引腳上的電壓可控制波形的占空比DC(定義為輸出波形為正時(shí)所占時(shí)間的百分?jǐn)?shù)
16、),并且能夠改善正弦波的波形,可進(jìn)行脈沖寬度調(diào)制和產(chǎn)生鋸齒波。當(dāng)VDADJ接地(即VDADJ=0)時(shí),其占空比為50%,占空比的調(diào)整可采用MAX505的一片DAC,輸出23V圍的電壓,占空比可在10%90%圍改變,約每伏改變15%,當(dāng)電壓超過23V將使頻率偏移或引起不穩(wěn)定為產(chǎn)生一定占空比而加在DADJ上的電壓為:,對(duì)雙極性輸出的D/A轉(zhuǎn)換器,基準(zhǔn)電源為23V時(shí),MAX505接受數(shù)據(jù)與占空比的關(guān)系式為:。其中:VDADJ為DADJ引腳上的電壓,DC為占空比。這樣可完成激勵(lì)信號(hào)的占空比設(shè)置。調(diào)整CF的充放電時(shí)間,在10%90%的圍調(diào)整振蕩器輸出的三角波,最終產(chǎn)生失真的正弦波,鋸齒波和脈沖波這三種波
17、形同時(shí)送入混合器,由A0,A1選擇輸出。所以為簡(jiǎn)單起見,關(guān)于占空比調(diào)節(jié)和頻率調(diào)整,可采用外部電位器調(diào)整控制。調(diào)節(jié)頻率調(diào)整電路的電位器,改變MAX038輸入端IIN的電流大小,從而改變頻率值;調(diào)節(jié)占空比調(diào)節(jié)電路中的電位器,改變MAX038輸入端DADJ的電壓大小,從而改變占空比。信號(hào)發(fā)生芯片MAX038,其波形選擇引腳A0和A1與單片機(jī)的P2. 0和P2. 1 引腳相連,在單片機(jī)的控制K輸出正弦波、和三角波2種不同的波形,波形的頻率和幅值可以通過外部的可變電阻進(jìn)行調(diào)節(jié)。OUT為MX038的信號(hào)波形輸出,送至放大電路。MAX038在正弦波輸出時(shí),輸出的信號(hào)頻率為。7 系統(tǒng)設(shè)計(jì)采用單片機(jī)AT89C5
18、2對(duì)主信號(hào)發(fā)生芯片進(jìn)行智能控制,對(duì)MAX038產(chǎn)生的波形信號(hào)進(jìn)行頻率高低,占空比大小,幅度圍的控制,以與產(chǎn)生波形的選擇控制。MX 038主振蕩器為三角波振蕩器,振蕩頻率由調(diào)頻輸入Vfod.參考電流Ii與外接振採(cǎi)電容器COSC的容量共同決定?;菊袷幤魇且粋€(gè)交變的恒流源向電容器充電和放電的弛振蕩器.通過改變COSC引腳的外接電容和流入IN引腳的充放電電流的大小來控制輸出信號(hào)頻率.頻率11為0. r20MHz,流入IN的電流加到FADJ和DADJ引腳的電壓來調(diào)制.通過此兩引腳可用外接電壓信號(hào)調(diào)整頻率。MAX038 部有一個(gè)正弦波形成電路把振蕩器的三角波轉(zhuǎn)變成一個(gè)等幅的低失真正弦波。MAX038的性
19、能特點(diǎn):能精密地產(chǎn)生三角波、正弦波信號(hào)。頻率圍從0.1Hz20MHz,最高可達(dá)40MHz,各種波形的輸出幅度均為2V (P-P)。空比調(diào)節(jié)圍寬,占空比和頻率均可單獨(dú)調(diào)節(jié),互不影響,占空比最大調(diào)節(jié)圍10%90%。波形失真小,正波失真度小于0.75%,占空比調(diào)節(jié)時(shí)非線性度低于2%。采用土5V雙電源供電,允許有5%變化圍,電源電流為80mA,典型功耗400MW,工作溫度圍為070C。設(shè)2.5V電壓基準(zhǔn),利用控制端FADJ、DADJ實(shí)現(xiàn)頻率微調(diào)和占空比調(diào)。工作原理:MAX038部還有正弦整形電路、比較器、復(fù)用器以與鑒相器電路,它們共同實(shí)現(xiàn)了正弦波、三角坡的生成。鑒相器是作為鎖相環(huán)的備用單元,力異或門電
20、路結(jié)拘,輸入信號(hào)一路來flu 部差動(dòng)矩形波OSCA和OSCB,另外一路來自外部引腳PDI。鑒相器的輸出信號(hào)電流,由PDO引腳輸出平均值變化圍為0 550/。當(dāng)兩跳輸入信號(hào)的相位差為90時(shí),輸出電流的空比為50%,平均值為250/yj。如果構(gòu)成鎖相環(huán)跡,則PDO和FADJ相連,并且對(duì)地連接一個(gè)電阻同時(shí)并聯(lián)一個(gè)電密Od。Upd 決定鑒相器的靈敏度,用于濾除電流中的高頻成分。采用單片機(jī)AT89C52對(duì)主信號(hào)發(fā)生芯片進(jìn)行智能控制,對(duì)MX038產(chǎn)生的波形信號(hào)進(jìn)行頻率高低,占空比大小,幅度圍的控制,以與產(chǎn)生波形的選擇控制。MAX038的輸出頻率主要受振蔬電蓉CF , IIN端電流和FADJ端電壓的控制。選
21、擇一個(gè)CF值,對(duì)應(yīng)IIN端電流的變化,將產(chǎn)生一定圍的輸出頻率。另外,改變FADJ端的電壓,可以在IIN控制的基礎(chǔ)上,對(duì)輸出頻率實(shí)現(xiàn)微調(diào)控制。為實(shí)現(xiàn)輸出頻率的數(shù)控調(diào)整,在IIN端和FADJ端分別連接一個(gè)電壓輸出的DAC。首先,通過DACB產(chǎn)生0V(OOH)到2.5V(0FFH)的輸出電壓,經(jīng)電壓/電流轉(zhuǎn)換網(wǎng)絡(luò),產(chǎn)生0|J A到748m a的電流,疊加上網(wǎng)絡(luò)本身產(chǎn)生的2m A電流,最終對(duì)IIN端形成2m a到750p A的工作電流,使之產(chǎn)生相應(yīng)的輸出頻率恭圍。DACB將此工作電流圍分為256級(jí)步進(jìn)間隔,輸出頻率圍也被分為256談步進(jìn)間隔。所以,IIN端的電流對(duì)輸出頻率實(shí)現(xiàn)粗調(diào)。第二步,通過DACA
22、 在FADJ端產(chǎn)生一個(gè)從-2.3V(00H)到+ 2.3V(0FFH)的電壓圍,該圍同祥包含256級(jí)步進(jìn)間隔,IIN端的步進(jìn)間隔再次細(xì)分為256級(jí)步進(jìn)間隔,從而在粗調(diào)的基礎(chǔ)上實(shí)現(xiàn)微調(diào)。圖2AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是ATMEL公司生產(chǎn)的。AT89C52 是一個(gè)低電壓,高性能CMOS型8位單片機(jī),片含8k bytes的可反復(fù)擦寫的Flh只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼想標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出
23、(I/O)端口,同時(shí)含2 個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash 存儲(chǔ)器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP與PLCC等三種封裝式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:兼容MCS51指令統(tǒng)8k可反復(fù)擦寫(1000次)Flash ROM ,32個(gè)雙向I/0口,256x8bit 部RAM,3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,時(shí)鐘頻率0-24MHZ,2個(gè)串行中斷,可編程UART串行通道,2個(gè)外部中斷源,共6個(gè)中斷源,2個(gè)讀寫中斷口線,3級(jí)加密位,低功耗空閑和掉電
24、模式,軟件設(shè)置睡眠和喚醒功能。AT89C52中有一個(gè)用于拘成部振錫器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體與電Cl, C2接在放大器的反饋回路中拘成并聯(lián)振德電路。對(duì)外接電容C1, C2雖然沒有十分嚴(yán)格的耍求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序與溫度穩(wěn)定性,這里選擇使用石英晶體。也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路的情況時(shí),外部時(shí)鐘脈沖接到XTAL1端,即部時(shí)鐘度生器的輸入端,XTAL2則懸空。圖28 程序設(shè)計(jì)主耍程序代碼與其說明:#
25、include #define uchar unsigned char#define uint unsigned int#define F P1 /P1口作為第一個(gè)DAC0832的數(shù)據(jù)輸入,輸出100HZ的三角波、正弦波(一個(gè)周期32個(gè)點(diǎn))sbit F_la=P31; /高電平時(shí)鎖存,低電平時(shí)直通P1口sbit A_la=P30; /高電平時(shí)鎖存,低電平時(shí)直通P1口sbit k1=P32; /選擇波形sbit k2=P33; sbit k3=P34;sbit lcd_en=P24;/LCD1602使能信號(hào)E位定義sbit lcd_rs=P23;/LCD1602讀/寫(H/L)控制信號(hào)RS位定義
26、char sanjiao=S;/輸出波形char zhengxian=Z;char A1=A;/模式選擇char M1=M;char h1= Mode: void delay00(uint k); /函數(shù)申明void write_(uchar );void write_data(uchar data0);void init00();uchar ii,ll;/ii表示字符串第i位,ll表示字符串長(zhǎng)度uchar code sin256= 0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96, /正弦信表0x99,0x9C,0x9F,0xA2,0xA5,0xA8,0xAB,
27、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,
28、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,0x78,0x72,0
29、x6F,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
30、,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,0
31、x76,0x79,0x7C,0x80 ;uchar mode,M,N,N3,A,k=5,gong,fen,Ax; uint d;/每次調(diào)用都會(huì)清屏,顯示字符串void LCD_1602_str(uchar hang1,char *ttt1,uchar hang2,char *ttt2)init00();/初始化函數(shù)for(ll=0,ii=0;ttt1ii;ii+,ll+);/求第一行字符串長(zhǎng)度,當(dāng)ttt1ii為最后一位0時(shí)其ascII碼為0,所以此時(shí)跳出循環(huán),從而求出字符串長(zhǎng)度llwrite_(0x80+hang1);for(ii=0;iill;ii+)/顯示第一行字符串write_data(
32、ttt1ii);write_(0x80+0x40+hang2);/地址指針指向下一行首列for(ll=0,ii=0;ttt2ii;ii+,ll+);/求第二行字符串長(zhǎng)度,當(dāng)ttt2ii為最后一位0時(shí)其ascII碼為0,所以此時(shí)跳出循環(huán),從而求出字符串長(zhǎng)度llfor(ii=0;iill;ii+)/顯示第二行字符串write_data(ttt2ii);/在上次顯示容的基礎(chǔ)上替換特定位置的字符串,void LCD_1602_t(uchar hang1,char *ttt1,uchar hang2,char *ttt2)for(ll=0,ii=0;ttt1ii;ii+,ll+);/求第一行字符串長(zhǎng)度,
33、當(dāng)ttt1ii為最后一位0時(shí)其ascII碼為0,所以此時(shí)跳出循環(huán),從而求出字符串長(zhǎng)度llwrite_(0x80+hang1);for(ii=0;iill;ii+)/顯示第一行字符串write_data(ttt1ii);write_(0x80+0x40+hang2);/地址指針指向下一行首列for(ll=0,ii=0;ttt2ii;ii+,ll+);/求第二行字符串長(zhǎng)度,當(dāng)ttt1i為最后一位0時(shí)其ascII碼為0,所以此時(shí)跳出循環(huán),從而求出字符串長(zhǎng)度llfor(ii=0;ii0;x-)for(y=10;y0;y-);/寫指令子程序void write_(uchar ) lcd_rs=0; /R
34、S為L(zhǎng),RW為L(zhǎng)時(shí)為寫指令,開發(fā)板硬件已將RW接地了,所以不用控制RW了P0=; /送指令代碼到P0口delay00(1); /延時(shí)1ms,時(shí)序要求lcd_en=1; /使能信號(hào)給高脈沖,使得1602讀取P0口上的指令,高脈沖的脈寬有要求,不同廠家的1602要求也不一樣delay00(1);lcd_en=0;delay00(1);lcd_rs=1;/寫數(shù)據(jù)子程序void write_data(uchar data0) lcd_rs=1; /RS為H,RW為L(zhǎng)時(shí)為寫數(shù)據(jù),開發(fā)板硬件已將RW接地了,所以不用控制RW了P0=data0; /送數(shù)據(jù)到P0口delay00(1);lcd_en=1; /使
35、能信號(hào)給高脈沖,使得1602讀取P0口上的數(shù)據(jù),高脈沖的脈寬有要求,不同廠家的1602要求也不一樣delay00(1);lcd_en=0;delay00(1);lcd_rs=1;/初始化子程序void init00() write_(0x38); /設(shè)置1602為16X2顯示,5X7點(diǎn)陣,8為數(shù)據(jù)口write_(0x0c); /設(shè)置顯示開/關(guān)與光標(biāo)設(shè)置,0x0c為開顯示,不顯示光標(biāo)但不閃爍。00001DCB:D=1,開顯示,D=0關(guān)顯示;C=1顯示光標(biāo),C=0不顯示光標(biāo);B=1光標(biāo)閃爍,B=0光標(biāo)不閃爍 write_(0x06); /0x06為當(dāng)寫一個(gè)字符后地址指針加一,且光標(biāo)加一,整屏不移動(dòng)
36、。000001NS:N=1寫一個(gè)字符后地址指針加一,光標(biāo)加一,N=0寫入一個(gè)字符后地址指針減一,光標(biāo)減一;S=1寫入一個(gè)字符后,整屏左移(N=1)或者右移(N=0),以得到光標(biāo)不移動(dòng)而屏幕移動(dòng)的效果,S=0寫入一個(gè)字符后整屏顯示但不移動(dòng)。write_(0x80); /數(shù)據(jù)指針設(shè)置,0x80+地址碼(027H,4067H),00H0fH和40H4fH為可顯示區(qū)間,其余區(qū)間為寄存器write_(0x01); /顯示清屏/用DAC0832輸出三角波(1)、正弦波(2)void fout(void)switch(mode) /根據(jù)模式來輸出 case 1: /三角波 if(M=0)N3=N3+16;F
37、_la=0; F=N3; F_la=1; if(N3=240) M=1; if(M=2) N3=N3-16;F_la=0; /直通F=N3; F_la=1; /鎖存 if(N3=0) M=0; if(M=1)/避免剛到240就被減16,保證每個(gè)點(diǎn)之間都間隔定時(shí)時(shí)間TM+; break; case 2: /正弦波 F_la=0; /直通F=sinN; F_la=1; /鎖存 N=N+8; break; default:break;/用另一個(gè)DAC0832控制基準(zhǔn)電壓void aout(void)A_la=0; /鎖存器直通F=A; /送數(shù)據(jù)到P1口,準(zhǔn)備轉(zhuǎn)換數(shù)據(jù) AA_la=1; /鎖存數(shù)據(jù)/初
38、始化函數(shù)void init(void) /初始化函數(shù) F=0; / 數(shù)模初始值為0EA=1; /中斷允許TMOD=0x11; /定時(shí)器0,1的方式都是1TH0=(-293)8; /定時(shí)器0初值裝入,12MHz定時(shí)312us,中斷頻率32*100=3200Hz (一個(gè)周期32點(diǎn))TL0=(-293);ET0=1; /中斷0允許TR0=1; /定時(shí)器0開 EX0=1; /開外部中斷0IT0=0;/低電平觸發(fā)EX1=1; /開外部中斷1IT1=0;/低電平觸發(fā)/延時(shí)程序void delay(uint m)uint x,y;for(x=m;x0;x-)for(y=110;y0;y-);/按鍵設(shè)置voi
39、d key(void)k3=1;if(k3=0)delay(10);if(k3=0)gong+;while(!k3);if(gong=3)gong=0; /顯示系統(tǒng)調(diào)節(jié)狀態(tài)if(gong=0)LCD_1602_t(19,fangbo,0,M1);if(gong=1)LCD_1602_t(19,fangbo,0,F1);if(gong=2)LCD_1602_t(19,fangbo,0,A1);/測(cè)試主函數(shù)void main(void)init();LCD_1602_str(0,h1,19,h1);LCD_1602_str(19,h1,0,h2);A=255;LCD_1602_t(19,fangb
40、o,0,M1);while(1)key();/顯示輸出波型if(mode=1)LCD_1602_t(5,sanjiao,19,sanjiao);if(mode=2)LCD_1602_t(5,zhengxian,19,zhengxian);/顯示輸出信號(hào)幅值A(chǔ)if(A=130)Ax=A-5;else Ax=A;if(A=0)Ax=0;LCD_1602_num(12,Ax*0.1/5,19,0); LCD_1602_num(14,(Ax/5)%10,19,0);/顯示定時(shí)器初值(如果顯示的是實(shí)際輸出頻率就好了,后續(xù)工作)LCD_1602_num(19,A,7,d/10000);LCD_1602_n
41、um(19,A,8,d/1000%10);LCD_1602_num(19,A,9,d/100%10);LCD_1602_num(19,A,10,d/10%10);LCD_1602_num(19,A,11,d%10); /定時(shí)器0中斷服務(wù)程序void time0() interrupt 1EA=0;ET0=0; /中斷0允許TR0=0; /定時(shí)器0關(guān) /*/*100Hz*TH0=(-200)8; /293定時(shí)器0初值裝入,12MHz定時(shí)312us,中斷頻率32*100=3200Hz(一個(gè)周期32,DAC出來就是100Hz)TL0=(-200);TH0=(-d)8; /31231定時(shí)器0初值裝入,12MHz定時(shí)31250us,中斷頻率32*1=32Hz(一個(gè)周期32,DAC出來就是1Hz)TL0=(-d);ET0=1; /中斷0允許TR0=1; /定時(shí)器0開 EA=1;/外部中斷0,中斷服務(wù)程序,增加輸出信號(hào)幅值A(chǔ)/k為幅值或者頻率步進(jìn)增
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版高中政治課時(shí)作業(yè)8政府的責(zé)任:對(duì)人民負(fù)責(zé)含解析新人教版必修2
- 制造汽車合同范例
- 全屋經(jīng)銷合同范例
- 農(nóng)藥包裝合同范例
- 倉(cāng)庫(kù)現(xiàn)貨配送合同范例
- 出國(guó)留學(xué)合同范例
- 產(chǎn)品銷售代理合同范例
- 中式風(fēng)格房屋轉(zhuǎn)讓合同范例
- 甘肅藥廠凈化施工方案
- 2025年工業(yè)自動(dòng)化系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 老年患者出院準(zhǔn)備服務(wù)專家共識(shí)
- 2023-2024學(xué)年人教版新教材必修第二冊(cè) 第五章第三節(jié) 無(wú)機(jī)非金屬材料 課件(28張)
- 巖腳煤礦智能化綜采工作面匯報(bào)材料2020.11.10.11.10
- 四川省廣安市2021年中考地理真題(含答案)
- 大貨車安全駕駛技巧
- 高考小說閱讀強(qiáng)化訓(xùn)練:孫犁小說專題(附答案解析)
- 互聯(lián)網(wǎng)汽車金融外文文獻(xiàn)翻譯
- 向云端二聲部五線正譜
- DC-DC反激變壓器計(jì)算
- 簡(jiǎn)約寶貝成長(zhǎng)檔案 兒童成長(zhǎng)手冊(cè)A4版【空白可編輯內(nèi)容】
- 運(yùn)用PDCA血透室導(dǎo)管感染率
評(píng)論
0/150
提交評(píng)論