版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南理工大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告多功能信號(hào)發(fā)生器設(shè)計(jì)姓 名: 王彥凱 王翱翔 專業(yè)班級(jí): 電儀 09-03 指導(dǎo)老師: 王 莉 所在學(xué)院:電氣工程與自動(dòng)化學(xué)院2012年6月25 日摘要本設(shè)計(jì)是多功能信號(hào)發(fā)生器,以 AT89S52 單片機(jī)為核心,通過(guò)按鍵輸入控制輸出信號(hào)的類型、頻率和幅值,采用 DA 轉(zhuǎn)換芯片DAC0832輸出相應(yīng)的波形,同時(shí)以LED 顯示器進(jìn)行實(shí)時(shí)顯示信號(hào)相關(guān)信息。我們采用 C 語(yǔ)言進(jìn)行編程,可實(shí)現(xiàn)100-1Khz的方波,鋸齒波,三角波和正弦波四種波形的產(chǎn)生,且波形的頻率、幅值可通過(guò)按鍵調(diào)節(jié),并顯示在數(shù)碼管上。而且,波形的幅值還可通過(guò)電位器實(shí)現(xiàn)無(wú)極調(diào)幅,增加了可選幅值范
2、圍。經(jīng)測(cè)試該設(shè)計(jì)方案線路優(yōu)化,結(jié)構(gòu)緊湊,性能優(yōu)越,滿足設(shè)計(jì)要求。關(guān)鍵字:?jiǎn)纹瑱C(jī)AT89S52,DAC0832,信號(hào)發(fā)生器目錄第1章 概述11.1選題背景及其意義11.2 單片機(jī)概述11.3 信號(hào)發(fā)生器分類11.4 研究題目及其意義2第2章 信號(hào)發(fā)生器方案設(shè)計(jì)與選擇32.1 方案的設(shè)計(jì)與選擇32.2 設(shè)計(jì)原理簡(jiǎn)介32.3 設(shè)計(jì)功能5第3章 主要電路元器件介紹63.1 AT89S52單片機(jī)簡(jiǎn)介63.1.1 單片機(jī)簡(jiǎn)介6主要性能63.1.3 管腳功能說(shuō)明73.2 DAC0832簡(jiǎn)介83.2.1 DAC0832的主要特性參數(shù)83.2.2 DAC0832結(jié)構(gòu)83.2.3 DAC0832工作方式93.3
3、數(shù)碼顯示管103.3.1 原理及分類103.3.2 顯示器的工作方式103.3.3 數(shù)碼管字型碼11第4章 單元電路的硬件設(shè)計(jì)124.1 硬件原理框圖124.2 單片機(jī) AT89S52 系統(tǒng)的設(shè)計(jì)124.3 時(shí)鐘電路134.4復(fù)位電路134.5數(shù)碼管電路144.6 DAC0832模數(shù)轉(zhuǎn)換電路154.7 LM324運(yùn)放電路和低通濾波電路164.8 按鍵和波形指示LED電路17第5章 系統(tǒng)軟件設(shè)計(jì)185.1軟件開(kāi)發(fā)環(huán)境簡(jiǎn)介185.1.1 Keil uVision4簡(jiǎn)介185.1.2 Proteus7.10 簡(jiǎn)介195.1.3 Keil 與Proteus 聯(lián)合調(diào)試仿真195.2主程序205.3按鍵處
4、理程序215.4 數(shù)碼管輸出程序分析225.5 各種波形產(chǎn)生思路225.5.1 方波產(chǎn)生思路225.5.2 鋸齒波產(chǎn)生思路225.5.3 三角波產(chǎn)生思路235.5.4 正弦波產(chǎn)生思路235.6 仿真的各種波形效果23第6章 課程設(shè)計(jì)體會(huì)24參考文獻(xiàn)25致 謝26附1:源程序代碼271.主程序272.頭文件27附 2:系統(tǒng)原理圖31附 3:實(shí)物效果圖32第1章 概述1.1選題背景及其意義信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。各種波形曲線均可以用三角函數(shù)方程式來(lái)表示。能夠產(chǎn)生多種波形,如方波、鋸齒波、三角波、正弦波的電路被稱為函數(shù)信號(hào)發(fā)生器。在通信、廣播、電視系統(tǒng),在
5、工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)領(lǐng)域內(nèi),函數(shù)信號(hào)發(fā)生器在實(shí)驗(yàn)室和設(shè)備檢測(cè)中具有十分廣泛的用途。信號(hào)發(fā)生器作為一種常見(jiàn)的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過(guò)程控制,生物醫(yī)學(xué),地震模擬機(jī)械振動(dòng)等領(lǐng)域常常要用到低頻信號(hào)源。而由硬件電路構(gòu)成的低頻信號(hào)其性能難以令人滿意,而且由于低頻信號(hào)源所需的RC很大;大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證;體積大,漏電,損耗顯著更是致命的弱點(diǎn)。一旦工作需求功能有增
6、加,則電路復(fù)雜程度會(huì)大大增加1.2 單片機(jī)概述單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU 隨機(jī)存儲(chǔ)器 RAM、只讀存儲(chǔ)器 ROM、多種 I/O 口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D 轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)具有集成度高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、使用方便、實(shí)現(xiàn)模塊化、可靠性高、處理功能強(qiáng)、速度快等特點(diǎn),因?yàn)楸粡V泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域。1.3 信號(hào)發(fā)生器分類信號(hào)發(fā)生器是指產(chǎn)生所需參數(shù)的電信號(hào)的儀
7、器。因其應(yīng)用廣泛,種類繁多,特性各異,分類也不盡一致。按信號(hào)波形可分為正弦信號(hào)、函數(shù)信號(hào)、脈沖信號(hào)和隨機(jī)信號(hào)發(fā)生器等四大類;按頻率覆蓋范圍分為低頻信號(hào)發(fā)生器、高頻信號(hào)發(fā)生器和微波信號(hào)發(fā)生器;按輸出電平可調(diào)節(jié)范圍和穩(wěn)定度分為簡(jiǎn)易信號(hào)發(fā)生器、標(biāo)準(zhǔn)信號(hào)發(fā)生器和功率信號(hào)發(fā)生器;按頻率改變的方式分為調(diào)諧式信號(hào)發(fā)生器、掃頻式信號(hào)發(fā)生器、程控式信號(hào)發(fā)生器和頻率合成式信號(hào)發(fā)生器等。信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。1.4 研究題目及其意義信號(hào)發(fā)生器是一種經(jīng)常使用的設(shè)備,由純粹物理器件構(gòu)成的傳統(tǒng)的設(shè)計(jì)方法存在許多弊端,如:體積較大、重量較沉、移動(dòng)不方便、信號(hào)失真較大、波形形狀調(diào)
8、節(jié)過(guò)于死板,無(wú)法滿足用戶對(duì)精度、便攜性、穩(wěn)定性等要求,研究設(shè)計(jì)出一種具有頻率穩(wěn)定、準(zhǔn)確、波形質(zhì)量好、輸出頻率范圍寬、便攜性好等特點(diǎn)的波形發(fā)生器具有較好的市場(chǎng)前景。以滿足工業(yè)領(lǐng)域?qū)π盘?hào)源的要求。本次試驗(yàn)實(shí)現(xiàn)利用單片機(jī) AT89S52 和 8 位 D/A 轉(zhuǎn)換芯片 DAC0832 共同實(shí)現(xiàn)方波、鋸齒波、三角波、正弦波這四種常用波形的發(fā)生。根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫,并將所寫程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出。并且可
9、以通過(guò)數(shù)碼管和鍵盤顯示模塊,鍵盤可以實(shí)現(xiàn)對(duì)幾種波形的切換。第2章 信號(hào)發(fā)生器方案設(shè)計(jì)與選擇信號(hào)發(fā)生器是指產(chǎn)生所需參數(shù)的電信號(hào)的儀器。按信號(hào)波形可分為正弦信號(hào)、波形信號(hào)、脈沖信號(hào)和隨機(jī)信號(hào)發(fā)生器等四大類。本文利用單片機(jī)構(gòu)造低頻信號(hào)發(fā)生器,可產(chǎn)生正弦波,方波,三角波,鋸齒波四種波形,通過(guò) D/A 轉(zhuǎn)換器 DAC0832 把數(shù)字信號(hào)轉(zhuǎn)變?yōu)槟M信號(hào),經(jīng) LM324 放大輸出到示波器,與此同時(shí)外接 8 位 LED 數(shù)碼管顯示輸出信號(hào)的類型、頻率和幅值。2.1 方案的設(shè)計(jì)與選擇方案一:NE555數(shù)字芯片結(jié)合外圍電路,組成波形發(fā)生器,能夠產(chǎn)生,方波,三角波,鋸齒波和正弦波,電路簡(jiǎn)單,而且,頻率和幅值都能調(diào)節(jié)
10、,但是不能顯示頻率。方案二:采用單片函數(shù)發(fā)生器可產(chǎn)生正弦波、方波等,操作簡(jiǎn)單易行,用 D/A 轉(zhuǎn)換器的輸出來(lái)改變調(diào)節(jié)電壓,可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號(hào)的頻率穩(wěn)定度不高。方案三:利用芯片組成的電路輸出波形,MAX038 是 MAXIM 公司生產(chǎn)的一個(gè)只需要很少外部元件的精密高頻波形產(chǎn)生器,他能產(chǎn)生準(zhǔn)確的高頻正弦波、三角波、方波。輸出頻率和占空比可以通過(guò)調(diào)整電流、電壓或電阻來(lái)分別地控制。所需的輸出波形可由在 A0和 A1 輸入端設(shè)置適當(dāng)?shù)拇a來(lái)選擇,且具有輸出頻率范圍寬、波形穩(wěn)定、失真小、使用方便等特點(diǎn)。方案四:采用 Atmel 公司的 AT89S52單片機(jī)編程方法實(shí)現(xiàn),該方法的可以通過(guò)編程的
11、方法控制信號(hào)波形的頻率和幅度,而在硬件電路不便的情況下,通過(guò)程序?qū)崿F(xiàn)頻率的變化和輸出波形的選擇,并同時(shí)在顯示器顯示相應(yīng)的結(jié)果。方案一和二輸出信號(hào)頻率不夠穩(wěn)定;方案三成本高,程序復(fù)雜度高;方案四,軟硬件結(jié)合,硬件成本低,軟件起點(diǎn)低,優(yōu)化型相對(duì)比較好,容易實(shí)現(xiàn),且滿足設(shè)計(jì)要求。綜合考慮,我們采用了方案四,用 AT89S52 單片機(jī)設(shè)計(jì)多功能信號(hào)發(fā)生器,能夠滿足信號(hào)的頻率穩(wěn)定性和精度的準(zhǔn)確行。2.2 設(shè)計(jì)原理簡(jiǎn)介該設(shè)計(jì)設(shè)計(jì)一個(gè)多功能信號(hào)發(fā)生器,我們采用的是 AT89S52 單片機(jī)用軟件實(shí)現(xiàn)信號(hào)的輸出。該單片機(jī)是一個(gè)微型計(jì)算機(jī),包括中央處理器 CPU,RAM,ROM、I/O 接口電路、定時(shí)計(jì)數(shù)器、串行
12、通訊等,是波形設(shè)計(jì)的核心。該信號(hào)發(fā)生器原理框圖如圖 2.1,總體原理為:利用 AT89S52 單片機(jī)構(gòu)造多功能信號(hào)發(fā)生器,可產(chǎn)生正弦波,方波,三角波,鋸齒波四種波形,通過(guò) C 語(yǔ)言對(duì)單片機(jī)的編程即可產(chǎn)生相應(yīng)的波形信號(hào),并可以通過(guò)鍵盤進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)頻率的控制,當(dāng)輸出的數(shù)字信號(hào)通過(guò)數(shù)模轉(zhuǎn)換成模擬信號(hào)也就得到所需要的信號(hào)波形,通過(guò)運(yùn)算放大器的放大輸出波形,同時(shí)讓顯示器顯示輸出的波形信息。圖2-1 系統(tǒng)框圖本方案其主要模塊包括復(fù)位電路、時(shí)鐘信號(hào)、鍵盤控制、D/A 轉(zhuǎn)化及 LED 顯示。其各個(gè)模塊的工作原理如下:1.復(fù)位電路是為單片機(jī)復(fù)位使用,使單片機(jī)接口初始化;89C51 等 CMOS51
13、系列單片機(jī)的復(fù)位引腳 RET 是施密特觸發(fā)輸入腳,內(nèi)部有一個(gè)上拉低電阻,當(dāng)振蕩器起振以后,在 RST 引腳上輸出 2 個(gè)機(jī)器周期以上的高電平,器件變進(jìn)入復(fù)位狀態(tài)開(kāi)始,此時(shí) ALE、PSEN、P0、P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后,變退出復(fù)位狀態(tài)開(kāi)始工作。該方案采用的是人工開(kāi)關(guān)復(fù)位,在系統(tǒng)運(yùn)行時(shí),按一下開(kāi)關(guān),就在 RST 斷出現(xiàn)一段高電平,使器件復(fù)位。2.時(shí)鐘信號(hào)是產(chǎn)生單片機(jī)工作的時(shí)鐘信號(hào),控制著計(jì)算機(jī)的工作節(jié)奏,可以通過(guò)提高時(shí)鐘頻率來(lái)提高 CPU 的速度。AT89S52 內(nèi)部有一個(gè)可控的反相放大器,引腳 XTAL1、XTAL2 為反相放大器輸入端和輸出端,在 XTAL
14、1、XTAL2 上外接 12MHZ 晶振和 30pF 電容便組成振蕩器。時(shí)鐘信號(hào)常用于 CPU 定時(shí)和計(jì)數(shù)。3.鍵盤模塊是是用于控制信號(hào)輸入的類型,當(dāng)按鍵按下時(shí),可以通過(guò)單片機(jī)編AT89S52單片機(jī)數(shù)/模準(zhǔn)換器、DAC0832、LM324、運(yùn)放放大、接口電路、鍵盤輸入程讀取閉合的鍵號(hào),實(shí)現(xiàn)相應(yīng)的信號(hào)輸出。其步驟主要是a、判斷是否有鍵按下;b、去抖動(dòng),延時(shí) 20ms 左右;c、識(shí)別被按下的鍵號(hào);d、處理,實(shí)現(xiàn)功能。4.D/A 轉(zhuǎn)換也稱為數(shù)模轉(zhuǎn)換,是把數(shù)字量變換成模擬量的線性電路。單片機(jī)產(chǎn)生的數(shù)字信號(hào)通過(guò) DAC0832 轉(zhuǎn)化成模擬信號(hào),輸出相應(yīng)的電流值,通過(guò)LM324 集成運(yùn)算放大器可以取出模擬
15、量得電壓值,最后利用示波器獲得輸出的模擬信號(hào)的波形;衡量數(shù)模轉(zhuǎn)換的性能指標(biāo)有分辨率、轉(zhuǎn)換時(shí)間、精度、線性度等。LED 顯示器用由若干個(gè)發(fā)光二極管按一定的規(guī)律排列而成,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見(jiàn)光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光用于是顯示相關(guān)輸出波形的信息,包括信號(hào)的類型、頻率和幅值。2.3 設(shè)計(jì)功能1.產(chǎn)生方波、鋸齒波、三角波、正弦波四種波形頻率100HZ-1KHZ,按鍵可實(shí)現(xiàn)步進(jìn)100HZ調(diào)節(jié)。2.產(chǎn)生-5V- +5V的幅值的波形信號(hào),幅值調(diào)節(jié)可選按鍵步進(jìn)0.1V,也可選擇用電位器無(wú)極調(diào)節(jié)。3.顯示采用 8 位 LED 顯示器,前兩位顯示幅值;后四位顯示頻率。4.按鍵輸入采用8個(gè)按
16、鍵實(shí)現(xiàn)輸入,P00-P07。表 2.1按鍵功能及IO借口方波鋸齒波三角波正弦波幅值加幅值減頻率加頻率減按鍵K8K7K1K2K6K3K5K4I/OP0.7P0.6P0.0P0.1P0.5P0.2P0.4P0.3第3章 主要電路元器件介紹3.1 AT89S52單片機(jī)簡(jiǎn)介 單片機(jī)簡(jiǎn)介AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT
17、89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。其外形及引腳排列如圖 3-1所示。 圖 3-1 51單片機(jī)引腳圖主要性能 與MCS-51單片機(jī)產(chǎn)品兼容; 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器; 1000次擦寫周期; 全靜態(tài)操作:0Hz-33MHz; 三級(jí)加密程序存儲(chǔ)器; 32個(gè)可編程I/O口線; 三個(gè)16位定時(shí)器/計(jì)數(shù)器; 六個(gè)中斷源; 全雙工UART串行通道; 低功耗空閑和掉電模式; 掉電后中斷可喚醒; 看門狗定時(shí)器; 雙數(shù)據(jù)指針; 掉電標(biāo)識(shí)符。 管腳功能說(shuō)明 VCC:供電電壓 46V 典型值 5V); GND:接地; RST:復(fù)位引腳輸入高電平使 89C51 復(fù)位,返回低電平退出復(fù)位;
18、EA/Vpp:運(yùn)行方式時(shí),EA為程序存儲(chǔ)器選擇信號(hào),EA接地時(shí) CPU 總是從外部存儲(chǔ)器中取指令,EA接高電平時(shí) CPU 可以從內(nèi)部或外部取指令;FLASH 編程方式時(shí),該引腳為編程電源輸入端 Vpp(=5V 或 12V); PSEN:外部程序存儲(chǔ)器讀選通信號(hào),CPU 從外部?jī)?chǔ)存器取指令時(shí),從PSEN引腳輸出讀選通信號(hào)(負(fù)脈沖); ALE/ PROG:運(yùn)行方式時(shí),ALE 為外部?jī)?chǔ)存器低8位地址鎖存信號(hào),F(xiàn)LASH 編程方式時(shí),該引腳為負(fù)脈沖輸入端; XTAL1,XTAL2 為內(nèi)部振蕩器電路(反相放大器)的輸入端和輸出端,外接晶振電路; P0 口:P0 口為一個(gè) 8 位漏級(jí)開(kāi)路雙向 I/O 口,
19、每腳可吸收 8TTL 門電流。當(dāng) P0 口的管腳第一次寫 1 時(shí),被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時(shí),P0 口作為原碼輸入口,當(dāng) FIASH進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí) P0 外部必須被拉高; P1 口:P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地址接收; P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的
20、 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4個(gè) TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào); P3 口:P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。
21、當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為AT89S52 的一些特殊功能口如表 3.1。表 3.1 引腳第二功能引腳第二功能P3.0RXD(串行輸入口)P3.4T0(記時(shí)器 0 外部輸入)P3.1TXD(串行輸出口)P3.5T1(記時(shí)器 1 外部輸入)P3.2/INT0(外部中斷 0)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.3/INT1(外部中斷 1)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)3.2 DAC0832簡(jiǎn)介 DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全
22、兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。 DAC0832的主要特性參數(shù)* 分辨率為8位; * 電流穩(wěn)定時(shí)間1us; * 可單緩沖、雙緩沖或直接數(shù)字輸入; * 只需在滿量程下調(diào)整其線性度; * 單一電源供電(+5V+15V); * 低功耗,20mW。 DAC0832結(jié)構(gòu)* D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò)); * ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效; * CS:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器)
23、,低電平有效; * WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存; 圖 3-2 DAC0832的邏輯框圖和引腳排列* XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效; * WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開(kāi)始D/A轉(zhuǎn)換。 * I
24、OUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化; * IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù); * Rfb:反饋信號(hào)輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度; * Vcc:電源輸入端,Vcc的范圍為+5V+15V; * VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V; * AGND:模擬信號(hào)地 * DGND:數(shù)字信號(hào)地 DAC0832工作方式單緩沖方式。單緩沖方式是控制輸入寄存器和DAC寄存器同時(shí)接收資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。此方式適用只有一路模擬量輸出或幾路模擬量異步輸出的情形。 雙緩沖方式。雙緩沖方式是先使輸入寄
25、存器接收資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分兩次鎖存輸入資料。此方式適用于多個(gè)D/A轉(zhuǎn)換同步輸出的情節(jié)。 直通方式。直通方式是資料不經(jīng)兩級(jí)鎖存器鎖存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高電平。此方式適用于連續(xù)反饋控制線路和不帶微機(jī)的控制系統(tǒng),使用時(shí),必須通過(guò)另加I/O接口與CPU連接,以匹配CPU與D/A轉(zhuǎn)換。3.3 數(shù)碼顯示管 原理及分類一位 LED 顯示器由 8 個(gè)發(fā)光二極管組成,其中 7 個(gè)發(fā)光二極管 a-h控制 7 個(gè)筆畫段的亮或暗,另一位控制一個(gè)小數(shù)點(diǎn)的亮和暗。LED 顯示器有共陰極和共陽(yáng)極 2 種形式,其結(jié) 圖 3-3 數(shù)碼管結(jié)構(gòu)圖 構(gòu)
26、如圖3-3所示。共陽(yáng)極顯示器是發(fā)光二極管的陽(yáng)極連接在一起,當(dāng)需要顯示某字符時(shí),只需要將共陽(yáng)極端接高電平,a-h 中某些位接低電平即可。共陰極顯示器是發(fā)光二極管的陰極連接在一起,當(dāng)需要顯示某字符時(shí),只需要將共陰極端接低電平,a-h 中某些位接高電平即可。 顯示器的工作方式顯示器的工作方式分為靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。 靜態(tài)顯示方式 靜態(tài)顯示方式就是顯示器在顯示一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,例如 a、b、c、e、f 導(dǎo)通,g 截止時(shí)顯示“0”,這種使顯示器顯示字符的字形數(shù)據(jù)常稱為段數(shù)據(jù)。靜態(tài)顯示方式的每一個(gè)七段顯示器,需要由一個(gè) 8 位并行口控制。優(yōu)點(diǎn)是顯示穩(wěn)定,提高了工作效
27、率,缺點(diǎn)是位數(shù)較多時(shí)顯示口隨之增加。 動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式是一位一位的輪流點(diǎn)亮各位顯示器,對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù)可以實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示,如顯示器的位數(shù)不大于 8 位,則控制顯示器公共極的電位只需要一個(gè) 8 位口(位數(shù)據(jù)口),控制字形也需要一個(gè) 8 位口(段數(shù)據(jù)口)。 數(shù)碼管字型碼要使顯示管顯示不同的數(shù)字或者字符,需要使端口輸出相應(yīng)的字型碼,顯示器的字形與字碼關(guān)系如表 3.1:表 3.2 顯示器字形與字型碼對(duì)應(yīng)關(guān)系表第4章 單元電路的硬件設(shè)計(jì)硬件電路的設(shè)計(jì)決定一個(gè)系統(tǒng)的的功能,是設(shè)計(jì)
28、的基礎(chǔ)所在,而一般設(shè)計(jì)的目標(biāo):可靠,簡(jiǎn)潔,高效,優(yōu)化,好的硬件電路可以給程序的編寫帶來(lái)極大的優(yōu)勢(shì),同時(shí)使可以很好的提高該信號(hào)設(shè)計(jì)的精度和靈敏度,使整個(gè)系統(tǒng)工作協(xié)調(diào)有序。4.1 硬件原理框圖對(duì)于該低頻信號(hào)發(fā)生器的設(shè)計(jì),我們采用了以AT89S52單片機(jī)芯片作為核心處理器,編程實(shí)現(xiàn)各種不同類型信號(hào)的產(chǎn)生,最后通過(guò) DA 轉(zhuǎn)換輸出到示波器。結(jié)構(gòu)簡(jiǎn)單,思路僅僅有條,而根據(jù)設(shè)計(jì)的基本要求,我們又把其細(xì)分為不同的功能模塊,各個(gè)功能模塊相互聯(lián)系,相互協(xié)調(diào),通過(guò)單片機(jī)程序構(gòu)成一個(gè)統(tǒng)一的整體,其整體電路原理框圖如圖4-1 所示:鍵 盤輸 入時(shí)鐘復(fù)位AT89S52單片機(jī)8位數(shù)碼管4個(gè)LEDDAC0832LM324電
29、源(+5V、+12V、-12V)電源+12v、-12V圖4-1硬件原理框圖4.2 單片機(jī) AT89S52 系統(tǒng)的設(shè)計(jì)AT89S52 單片機(jī)是該信號(hào)發(fā)生器的核心,具有 2 個(gè)定時(shí)器,32 個(gè)并行 I/O 口,1 個(gè)串行 I/O 口,5 個(gè)中斷源。由于本設(shè)計(jì)功能復(fù)雜,數(shù)據(jù)處理精確,數(shù)據(jù)存儲(chǔ)空間也足夠,因?yàn)槲覀儾捎昧似x法選擇芯片,進(jìn)行芯片的選擇和地址的譯碼。在單片機(jī)最小最小系統(tǒng)中,單片機(jī)從 P 口接收來(lái)自按鍵的信號(hào),并通過(guò) P 口輸出DAC0832的8位數(shù)據(jù),通過(guò) DA 轉(zhuǎn)換芯片最終由示波器顯示輸出波形;P2給鎖存器74HC573送數(shù)據(jù),P2分時(shí)送段信號(hào)和位信號(hào)。P3.7和P3.6分別控制送的是位
30、還是段選信號(hào)。2個(gè)74HC573一個(gè)用來(lái)所存段選,另一個(gè)鎖存位選。P3.5、P3.4、P3.3、P3.2分別是方波、鋸齒波、三角波、正弦波的指示燈控制口。4.3 時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1 和 XTAL2 外接晶體振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動(dòng)時(shí)鐘脈沖。晶振通常選用 6MHZ、12MHZ、24MHZ。本設(shè)計(jì)中時(shí)鐘電路圖如圖4-2,我們選擇了12MHZ和晶振分別接引腳XTAL1和XTAL2,電容 C1,C2 均選擇為 30pF,對(duì)振蕩器的頻率有穩(wěn)定作用,當(dāng)
31、頻率較大時(shí),正弦波、方波、三角波及鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微妙,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形。圖 4-2 時(shí)鐘電路4.4復(fù)位電路復(fù)位引腳 RST 通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,在每個(gè)機(jī)器周期的 S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。本設(shè)計(jì)選擇了按鍵復(fù)位如圖 4-3,在系統(tǒng)運(yùn)行時(shí),按一下按鍵,就在 RST 斷出現(xiàn)一段高電平,使器件復(fù)位。此時(shí) ALE、PSEN、P0、圖 4-2時(shí)鐘電路圖P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后
32、,變退出復(fù)位狀態(tài)開(kāi)始工作。圖 4-3 復(fù)位電路4.5數(shù)碼管電路本設(shè)計(jì)選擇了 8 位共陰極數(shù)碼管如圖 4-4,它的 8 個(gè)發(fā)光二極管的陰極(二極管正端)連接在一起,通常公共陰極接低電平電平,其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。圖 4-4 數(shù)碼管電路顯示電路用于顯示信號(hào)的波形種類和信號(hào)的頻率,并且使系統(tǒng)能根據(jù)按鍵實(shí)時(shí)顯示先關(guān)信息。該系統(tǒng)中添加 兩個(gè)74LHC573 鎖存器,用于驅(qū)動(dòng)數(shù)碼顯示管,使其更易
33、于控制,增加顯示的準(zhǔn)確性。利用 P3.6和P3.7 控制數(shù)碼管的段選和位選。其中2位數(shù)碼管顯示幅值,4位數(shù)碼管顯示頻率,幅值是以0.1V步進(jìn)顯示,頻率是以100HZ步進(jìn)顯示。4.6 DAC0832模數(shù)轉(zhuǎn)換電路由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需要的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),所以該文選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型
34、輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。根據(jù)對(duì)DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。本設(shè)計(jì)選用直通方式。DAC0832的數(shù)據(jù)口和單片機(jī)的P2口相連。CSDA:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;圖 4-5 DAC0832電路系統(tǒng)硬件設(shè)計(jì)時(shí)考慮到要求波形的頻率和幅值都可調(diào),因此有兩種方案方案一:用按鍵來(lái)輸入相應(yīng)
35、的波形類型、頻率和幅值,然后,由單片機(jī)通過(guò)程序?qū)崿F(xiàn)波形類型、頻率和幅值的改變。方案二:用按鍵選擇波形類型,設(shè)置波形的頻率,但是,通過(guò)電位器調(diào)節(jié)DAC0832的參考電壓來(lái)實(shí)現(xiàn)幅值的可調(diào)。經(jīng)過(guò)仔細(xì)分析發(fā)現(xiàn),方案一實(shí)施起來(lái)比較困難,因?yàn)?,在調(diào)節(jié)波形的頻率的時(shí)候?qū)?huì)面臨波形的點(diǎn)數(shù)問(wèn)題,例如,一個(gè)三角波一個(gè)周期30個(gè)點(diǎn),當(dāng)設(shè)置的頻率較低時(shí),需要增加點(diǎn)數(shù),不然波形將會(huì)失真嚴(yán)重,當(dāng)頻率較高時(shí),為了滿足頻率的要求,一個(gè)周期內(nèi)波形的點(diǎn)數(shù)又不能太多。同時(shí),波形要實(shí)現(xiàn)幅值可調(diào)也要考慮點(diǎn)數(shù)問(wèn)題,當(dāng)點(diǎn)數(shù)太多時(shí),如果只有0.1V在這么小的幅值里以DAC0832的分辨率根本分不出30個(gè)點(diǎn)。綜上所述,實(shí)現(xiàn)波形的幅值和頻率可調(diào)
36、都將同時(shí)影響波形一個(gè)周期內(nèi)的點(diǎn)數(shù),這是一個(gè)有些復(fù)雜的技術(shù)問(wèn)題,相對(duì)來(lái)說(shuō),方案一通過(guò)按鍵實(shí)現(xiàn)這一功能有些復(fù)雜,不一定能實(shí)現(xiàn),因此,硬件電路里綜合考慮了兩種方案。即系統(tǒng)電路既可以以方案一工作又能以方案二工作即波形頻率可通過(guò)案件調(diào)節(jié),波形幅值即可通過(guò)按鍵步進(jìn)0.1V調(diào)節(jié)還能通過(guò)調(diào)節(jié)電位器調(diào)節(jié)DAC0832參考電壓實(shí)現(xiàn)更多幅值的選擇增加了系統(tǒng)的功能。選擇方案只需通過(guò)一個(gè)跳線帽的位置來(lái)實(shí)現(xiàn)。4.7 LM324運(yùn)放電路和低通濾波電路 圖 4-6 LM324運(yùn)放電路和低通濾波電路LM324的5管腳與DAC0832的(IOUT2)12管腳相連,LM324的6管腳與DAC0832的(IOUT1)11管腳相連,L
37、M324的7管腳與DAC0832的REF(9)管腳相連.第一級(jí)運(yùn)算放大器的作用是將DAC0832輸出的電流信號(hào)轉(zhuǎn)化為電壓信號(hào)V1,第二級(jí)運(yùn)算放大器的作用是將V1通過(guò)反向放大電路-(R2/R1)倍。題目要求輸出的電壓在0-5V可調(diào),而V1的電壓大約是5V,所以R1選擇5K的電阻,R2選擇10K的電位器,這樣最大的輸出電壓為5*(10/2)=10,最小電壓為0,可以實(shí)現(xiàn)題目要求的0-5V。在第二個(gè)運(yùn)算放大器的輸出端連了一個(gè)低通濾波器。如果不加低通濾波器,也能夠生成波形,但是產(chǎn)生的信號(hào)中毛刺很多,加一個(gè)低通濾波器不僅起到的濾波的作用,還起到了平滑的作用。低通濾波器的截止頻率F=1/(2*pi*R3*
38、C6),這里我們選擇R3 為100歐姆電阻,C6為104電容,截止頻率F=16KHZ。實(shí)驗(yàn)表明,此時(shí)的輸出波形效果不錯(cuò)。4.8 按鍵和波形指示LED電路圖 4-7 波形指示LED和按鍵電路本系統(tǒng)有4中波形產(chǎn)生分別是:方波、鋸齒波、三角波和正弦波。每種波形對(duì)應(yīng)相應(yīng)的LED燈,當(dāng)選擇方波模式時(shí)單片機(jī)的P3.5輸出高電平DS1就亮了,顯示出,現(xiàn)在的波形模式是方波,同理DS2-鋸齒波,DS3三角波,DS4正弦波。由于需要實(shí)現(xiàn)波形、幅值和頻率的可調(diào),所以,通過(guò)8個(gè)按鍵實(shí)現(xiàn)輸入。4個(gè)按鍵是波形模式選擇,4個(gè)按鍵分別是幅值加、減,頻率加、減。其對(duì)應(yīng)關(guān)系見(jiàn)下表。表4.1 按鍵功能及I/O情況方波鋸齒波三角波正
39、弦波幅值加幅值減頻率加頻率減按鍵K8K7K1K2K6K3K5K4I/OP0.7P0.6P0.0P0.1P0.5P0.2P0.4P0.3第5章 系統(tǒng)軟件設(shè)計(jì)本程序主要分為5大塊,主程序、按鍵處理程序、數(shù)碼管輸出程序、查表和計(jì)算定時(shí)程序、定時(shí)器0的中斷服務(wù)程序??刂埔螅涸O(shè)計(jì)制作一個(gè)多功能信號(hào)發(fā)生器,可以產(chǎn)生、方波、鋸齒波和三角波。設(shè)計(jì)原理圖,其中單片機(jī)通過(guò)軟件對(duì)鍵盤輸入的頻率數(shù)值進(jìn)行處理,處理結(jié)果送與D/A轉(zhuǎn)換部分實(shí)現(xiàn)數(shù)/模轉(zhuǎn)換,輸出的電流再經(jīng)過(guò)電流/電壓轉(zhuǎn)換環(huán)節(jié),進(jìn)而形成模擬電壓波形,最后經(jīng)過(guò)過(guò)載保護(hù)電路輸出。同時(shí)在數(shù)碼管內(nèi)顯示該頻率數(shù)值。波形的切換可以通過(guò)按鍵直接實(shí)現(xiàn)?;疽螅?.具有產(chǎn)生
40、方波、鋸齒波、三角波三種周期性波形的功能。2.輸出波形的頻率范圍為100Hz1kHz;頻率步進(jìn)間隔100Hz。3.輸出波形幅度范圍05V,可按步進(jìn)0.1V(峰-峰值)調(diào)整。4.具有顯示輸出波形的類型、周期和幅度的功能。擴(kuò)展功能:本多功能信號(hào)發(fā)生器還能夠產(chǎn)生頻率可通過(guò)按鍵調(diào)節(jié) 的正弦波,其頻率是100HZ-1KHZ。幅值調(diào)節(jié)可按鍵步進(jìn)調(diào)節(jié)也可通過(guò)電位器無(wú)極調(diào)節(jié)。5.1軟件開(kāi)發(fā)環(huán)境簡(jiǎn)介 Keil uVision4簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Kei
41、l提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。優(yōu)點(diǎn):1.Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 2.與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易
42、用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面 Proteus7.10 簡(jiǎn)介Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片
43、機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。功能特點(diǎn):Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是: 1原理布圖 2PCB自動(dòng)或人工布線 3SPICE電路仿真 革命性的
44、特點(diǎn) 1互動(dòng)的電路仿真 用戶甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 2仿真處理器及其外圍電路 可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。5.1.3 Keil 與Proteus 聯(lián)合調(diào)試仿真把Keil 與Proteus 聯(lián)合調(diào)試將大大加快開(kāi)發(fā)進(jìn)度。用Proteus把硬件電路搭載出來(lái),用keil寫c程序,把寫好要調(diào)試的程序下載到Proteus仿
45、真的單片機(jī)里,然后,更改程序調(diào)試參數(shù)。在Proteus里邊有示波器,可以用示波器查看程序的運(yùn)行結(jié)果,不斷調(diào)試,摘到達(dá)到滿意的效果時(shí)在進(jìn)行實(shí)物調(diào)試,這樣不僅加快了調(diào)試的進(jìn)程,而且使單片機(jī)的rom的擦寫次數(shù)明顯減少,增加了單片機(jī)的使用壽命。變量、數(shù)組、端口初始化函數(shù)初始化定時(shí)器T0初始化,開(kāi)中斷開(kāi)始按鍵掃描波形模式選擇加查表及定時(shí)器0定時(shí)時(shí)間計(jì)算頻率幅值加減選擇減給DAC0832值數(shù)碼管顯示指示LED顯示5.2主程序圖 5-1主程序 流程圖主程序首先將需要初始化的部分進(jìn)行初始化,然后負(fù)責(zé)循環(huán)執(zhí)行按鍵掃描,數(shù)碼管顯示、指示LED顯示和DA數(shù)據(jù)輸出。這些過(guò)程都是以模塊化的程序?qū)崿F(xiàn)的,程序中有,按鍵掃描
46、程序、數(shù)碼管掃描顯示程序、LED掃描顯示程序、定時(shí)器定時(shí)計(jì)算程序、查表程序和DA數(shù)據(jù)輸出程序,通過(guò)調(diào)用這些程序完成波形的產(chǎn)生,幅值和頻率的改變。5.3按鍵處理程序程序位于函數(shù)keyscan()中,keyscan()函數(shù)位于主循環(huán)中,每循環(huán)一次調(diào)用一次,檢測(cè)鍵盤是否按下,如果按下去延時(shí)抖動(dòng),然后檢測(cè)到底是哪個(gè)按鍵按下,針對(duì)不同的按鍵按下采取不同的動(dòng)作。因?yàn)榘存I采用的是掃描法,故需要注意消抖的處理,在此用軟件法去抖動(dòng)即可。軟件法去抖動(dòng)的實(shí)質(zhì)是軟件延時(shí),即檢測(cè)到某一鍵狀態(tài)變化后延時(shí)一段時(shí)間,再檢測(cè)該按鍵的狀態(tài)是否保持著,如是則作為按鍵處理,否則,視為抖動(dòng),不予理睬。去抖動(dòng)的延時(shí)時(shí)間一般參考資料多描述
47、為20ms左右,在實(shí)際應(yīng)用中應(yīng)大于20ms。否則,會(huì)導(dǎo)致按一次多處理,影響程序正常執(zhí)行。NNYY按鍵掃描入口延時(shí)得到鍵值返回有按鍵按下?該鍵按下?圖5-2 按鍵掃描及處理程序流程圖表 5.1各按鍵功能及I/O情況方波鋸齒波三角波正弦波幅值加幅值減頻率加頻率減按鍵K8K7K1K2K6K3K5K4I/OP0.7P0.6P0.0P0.1P0.5P0.2P0.4P0.3按鍵是以上表中的中的定義方式工作的,不同的按鍵按下就會(huì)有不同的參數(shù),程序根據(jù)這些參數(shù)來(lái)執(zhí)行,從而產(chǎn)生不同的波形,不同的頻率,在數(shù)碼管上顯示不同的信息。5.4 數(shù)碼管輸出程序分析數(shù)碼管顯示入口關(guān)位碼送段碼開(kāi)位碼返回 圖 5-3 數(shù)碼管顯示
48、流程圖數(shù)碼管輸出程序是送段選碼和位選碼的程序,位于主程序中。輪流點(diǎn)亮6個(gè)數(shù)碼管,每大約5ms變換一次,由于輪換的次數(shù)太快,由于視覺(jué)暫留效應(yīng),看上去是6個(gè)數(shù)碼管看上去好像一直點(diǎn)亮。5.5 各種波形產(chǎn)生思路 方波產(chǎn)生思路方波的產(chǎn)生比較簡(jiǎn)單,只需要根據(jù)按鍵輸入的幅值和頻率計(jì)算出相應(yīng)的DA數(shù)據(jù)送給數(shù)據(jù)就可以產(chǎn)生相應(yīng)的波形。具體來(lái)說(shuō),例如產(chǎn)生500Hz的2.5V的波形。首先,要計(jì)算出定時(shí)器的定時(shí)頻率,由于,方波只有兩種狀態(tài),峰值和0值。峰值時(shí)由按鍵設(shè)定的,其中峰值占一個(gè)周期的一半,即要定時(shí)產(chǎn)生1000Hz的定時(shí)器頻率,每進(jìn)一次中斷函數(shù)就把DA的數(shù)據(jù)更新為上次值的取反。讓DA數(shù)據(jù)在峰值和0之間依次切換即可
49、。5.5.2 鋸齒波產(chǎn)生思路首先,根據(jù)按鍵設(shè)定的波形頻率,選擇一個(gè)周期內(nèi)合適的點(diǎn)數(shù),根據(jù)點(diǎn)數(shù)和峰值計(jì)算相鄰2個(gè)點(diǎn)的幅度的步進(jìn)值,根據(jù)點(diǎn)數(shù)和頻率設(shè)定相鄰2點(diǎn)的時(shí)間值,計(jì)算出定時(shí)器的初值,然后,定時(shí)輸出刷新DA的數(shù)據(jù)就可以產(chǎn)生一定頻率和幅值的波形。5.5.3 三角波產(chǎn)生思路首先,根據(jù)按鍵設(shè)定的波形頻率,選擇一個(gè)周期內(nèi)合適的點(diǎn)數(shù),根據(jù)點(diǎn)數(shù)和峰值計(jì)算相鄰2個(gè)點(diǎn)的幅度的步進(jìn)值,根據(jù)點(diǎn)數(shù)和頻率設(shè)定相鄰2點(diǎn)的時(shí)間值,計(jì)算出定時(shí)器的初值,然后,設(shè)置一個(gè)變量每進(jìn)一次定時(shí)中斷DA數(shù)據(jù)就加幅值步進(jìn),當(dāng)?shù)扔诳傸c(diǎn)數(shù)的一半時(shí),每進(jìn)一次定時(shí)中斷就把DA數(shù)據(jù)減幅值步進(jìn)直到DA數(shù)據(jù)為0,計(jì)數(shù)變量清零。每進(jìn)一次定時(shí)中斷輸出刷新D
50、A的數(shù)據(jù)就可以產(chǎn)生一定頻率和幅值的三角波。5.5.4 正弦波產(chǎn)生思路首先,寫一個(gè)表格,然后根據(jù)按鍵設(shè)定的波形頻率,選擇一個(gè)周期內(nèi)合適的點(diǎn)數(shù),根據(jù)點(diǎn)數(shù)和峰值計(jì)算相鄰2個(gè)點(diǎn)的幅度的步進(jìn)值,根據(jù)點(diǎn)數(shù)和頻率設(shè)定相鄰2點(diǎn)的時(shí)間值,計(jì)算出定時(shí)器的初值,然后,設(shè)置一個(gè)變量每進(jìn)一次定時(shí)中斷DA數(shù)據(jù)就加幅值步進(jìn),當(dāng)?shù)扔诳傸c(diǎn)數(shù)的一半時(shí),每進(jìn)一次定時(shí)中斷就查表把DA數(shù)據(jù)減幅值步進(jìn)直到DA數(shù)據(jù)為0,計(jì)數(shù)變量清零。每進(jìn)一次定時(shí)中斷查表輸出刷新DA的數(shù)據(jù)就可以產(chǎn)生一定頻率和幅值的三角波。5.6 仿真的各種波形效果圖 5-4 各種波形效果圖第6章 課程設(shè)計(jì)體會(huì)經(jīng)過(guò)將近兩周的單片機(jī)課程設(shè)計(jì),終于完成了我們的多功能信號(hào)發(fā)生器的
51、設(shè)計(jì),基本達(dá)到設(shè)計(jì)要求,從心底里來(lái)說(shuō),還是很高興的,畢竟這次設(shè)計(jì)把實(shí)物都做了出來(lái)。在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,雖然以前還做過(guò)這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多。對(duì)于單片機(jī)設(shè)計(jì),其硬件電路是比較簡(jiǎn)單的,主要是解決程序設(shè)計(jì)的問(wèn)題,而程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問(wèn)題的邏輯思維和創(chuàng)新能力,它才是一個(gè)設(shè)計(jì)的靈魂所在。因此在整個(gè)設(shè)計(jì)過(guò)程中大部分時(shí)間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個(gè)子程序才是關(guān)鍵的問(wèn)題所在,這需要對(duì)單片機(jī)的結(jié)構(gòu)很熟悉。因此可以說(shuō)單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不可分的。要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,要有堅(jiān)持的毅力。在整個(gè)
52、電路的設(shè)計(jì)過(guò)程中,花費(fèi)時(shí)間最多的是各個(gè)單元電路的連接及電路的細(xì)節(jié)設(shè)計(jì)上,如在多種方案的選擇中,我們仔細(xì)比較分析其原理以及可行的原因。這就要求我們對(duì)硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對(duì)之靈活應(yīng)用。完成這次設(shè)計(jì)后,我在書本理論知識(shí)的基礎(chǔ)上又有了更深層次的理解。同時(shí)在本次設(shè)計(jì)的過(guò)程中,我還學(xué)會(huì)了高效率的查閱資料、運(yùn)用工具書、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識(shí)在實(shí)際應(yīng)用中其實(shí)并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會(huì)遇到錯(cuò)誤的資料現(xiàn)象,這就要求我們應(yīng)更加注重實(shí)踐環(huán)節(jié)。最后還要在此感謝指導(dǎo)老師們和我的同學(xué),他們?cè)谡麄€(gè)過(guò)程中都給予了我充分的幫助與支持。參考文獻(xiàn)1
53、 譚浩強(qiáng).C 程序設(shè)計(jì). 北京:清華大學(xué)出版社,20022 王為青,程國(guó)剛. 單片機(jī) Keil Cx51 應(yīng)用開(kāi)發(fā)技術(shù).北京:人民郵電大學(xué)出版社,20074張友德,趙志英,涂時(shí)亮. 單片機(jī)微型機(jī)原理、應(yīng)用和實(shí)驗(yàn). 上海:復(fù)旦大學(xué)出版社,2006.105丁向榮,謝俊,王彩申. 單片機(jī) C 語(yǔ)言編程與實(shí)踐. 北京:電子工業(yè)出版社,2009.8致 謝在單片機(jī)課程設(shè)計(jì)過(guò)程中,我得到指導(dǎo)老師和同學(xué)的無(wú)私幫助。我們想向曾經(jīng)給予我?guī)椭椭С值娜吮硎局孕牡母兄x!感謝我們的指導(dǎo)老師王莉,本課程設(shè)計(jì)論文是在王莉老師的關(guān)懷和指導(dǎo)下完成的。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我們,
54、在此謹(jǐn)向王老師致以誠(chéng)摯的謝意和崇高的敬意。我們還要感謝在一起愉快的度過(guò)課程設(shè)計(jì)論文小組的同學(xué)們,正是由于你們的幫助和支持,我們才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。同時(shí),我們要感謝的各位老師,正是由于他們的傳道、授業(yè)、解惑,讓我們學(xué)到了專業(yè)知識(shí),并從他們身上學(xué)到了如何求知治學(xué)、如何為人處事。我們?cè)冈谖磥?lái)的學(xué)習(xí)和研究過(guò)程中,以更加豐厚的成果來(lái)答謝曾經(jīng)關(guān)心、幫助和支持過(guò)我們的所有老師、同學(xué)、和朋友,學(xué)無(wú)止境。明天,將是我們終身學(xué)習(xí)另一天的開(kāi)始! 最后,再次對(duì)關(guān)心、幫助我們的老師和同學(xué)表示衷心地感謝!附1:源程序代碼1.主程序:#includeh.hvoid main()timer_init();while(1)keysccan();display();if(buttonflag=1)/有按鍵動(dòng)作再執(zhí)行switch(boxing)case 0:led=0x20;/方波指示燈 th=tab2f-1;/周期設(shè)定 tl=tab3f-1;/周期設(shè)定 break;case 1:led=0x10;/鋸齒波指示燈 th=255;/周期設(shè)定 tl=tab5f-1;/ dj=tab4fz-1/tab6f-1;/步進(jìn)計(jì)算 break;c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年結(jié)構(gòu)工程勞務(wù)分包標(biāo)準(zhǔn)協(xié)議范本版B版
- 2024年研發(fā)團(tuán)隊(duì)非競(jìng)爭(zhēng)條款與保密合同
- 2024年聘用協(xié)議附加協(xié)議細(xì)則版B版
- 2024年適用成品油銷售協(xié)議細(xì)則樣本版
- 2025年度企業(yè)勞動(dòng)合同管理智能化升級(jí)合同3篇
- 2025年度供熱工程節(jié)能評(píng)估與咨詢合同范本3篇
- 2024砂石材料購(gòu)銷合同環(huán)保綠色生產(chǎn)標(biāo)準(zhǔn)協(xié)議3篇
- 2024鑄鐵工業(yè)產(chǎn)品訂購(gòu)協(xié)議范例版B版
- 2025年度科技園區(qū)場(chǎng)地租賃與研發(fā)支持合同書3篇
- 2025年度煤礦安全生產(chǎn)責(zé)任采礦權(quán)轉(zhuǎn)讓合同協(xié)議范本3篇
- 廣東省廣州白云區(qū)六校聯(lián)考2025屆九上數(shù)學(xué)期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 肛瘺患者的護(hù)理查房
- 義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2024年版)
- 護(hù)理用藥安全管理課件(圖文)
- 辦公區(qū)域主要風(fēng)險(xiǎn)辨識(shí)與分級(jí)管控清單
- 山東省濟(jì)南市七年級(jí)上學(xué)期期末英語(yǔ)試卷(附答案)
- 新學(xué)位法專題講座課件
- 八年級(jí)下冊(cè)英語(yǔ)單詞默寫打印版
- (正式版)JBT 14581-2024 閥門用彈簧蓄能密封圈
- 速凍手抓餅標(biāo)準(zhǔn)
- 2024年高考語(yǔ)文備考之語(yǔ)用新題“語(yǔ)境+語(yǔ)義”專練
評(píng)論
0/150
提交評(píng)論