版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要 摘 要 本次 d/a 轉(zhuǎn)換器設(shè)計(jì)以單片機(jī) at89s52 為主控制器,實(shí)現(xiàn)了波形的產(chǎn)生,頻 率的選擇以及波形的選擇等功能。本設(shè)計(jì)的主要功能是用單片機(jī)產(chǎn)生三角波,正 弦波等波形,然后通過開關(guān)按鍵選擇不同的頻率和波形輸出。本設(shè)計(jì)采用常用的 d/a 轉(zhuǎn)換器件 dac0832 來使單片機(jī)輸出的數(shù)字信號轉(zhuǎn)換為模擬信號,然后再通過 運(yùn)算放大器把 d/a 輸出的電流信號轉(zhuǎn)換為電壓信號輸出,這樣以便用示波器對波 形信號進(jìn)行測量。這樣就完成了 d/a 轉(zhuǎn)換器的核心部分的設(shè)計(jì)。 關(guān) 鍵 詞: 單片機(jī) dac0832 三角波 正弦波 abstract abstract this design of d/a c
2、onverter by single chip microcomputer at89s52 as primarily controller, has realized the wave production, frequency choice as well as wave function and so on choice. this design main function is has the triangle wave and sine wave with the single chip microcomputer, then through switch pressed key ch
3、oice different frequency and wave output ,and through digital tube show current transfer wave frequency value. this design uses commonly d/a transformation component dac0832 tocause the digital signal which the single chip microcomputer to transform into the simulated signal, then transforms again t
4、hrough the operational amplifier the d/a output electric current signal into the voltage signal output, like this facilitates uses the oscilloscope to the wave signal survey. it likes this completed the d/a converter design primary designs. key words : single chip microcomputer dac0832 triangle wave
5、 sine wave 目錄 i 目錄 第一章 引言.1 1.1 系統(tǒng)背景介紹.1 1.2 d/a 轉(zhuǎn)換器的工作原理 .2 1.3 本文研究的目的和意義 .2 第二章 系統(tǒng)概述.3 2.1 單片機(jī)的選擇.3 2.1.1 單片機(jī)的發(fā)展特點(diǎn).3 2.1.2 s52 系列單片機(jī)簡介.5 2.2 d/a 的選擇 .15 2.2.1 d/a 轉(zhuǎn)換技術(shù)指標(biāo).15 2.2.2 dac0832 簡介.16 第三章 硬件設(shè)計(jì).21 3.1 電路總框圖.21 3.2 各部分電路設(shè)計(jì).21 3.2.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì).21 3.2.2 波形信號產(chǎn)生部分電路設(shè)計(jì).22 第四章 軟件設(shè)計(jì).25 4.1 軟件功能 .
6、25 4.2 系統(tǒng)流程圖 .25 4.2.1d/a 轉(zhuǎn)換器總流程圖.25 4.2.2 定時(shí)器 t0 中斷服務(wù)子程序流程圖.26 4.2.3 定時(shí)器 t1 中斷服務(wù)子程序流程圖.26 4.2.4 正弦波鍵處理子程序流程圖.27 4.2.5 三角波鍵處理子程序流程圖.27 第五章 系統(tǒng)調(diào)試.29 5.1 靜態(tài)調(diào)試.29 5.2 動(dòng)態(tài)調(diào)試.30 第六章 總結(jié)與結(jié)束語.33 6.1 實(shí)驗(yàn)結(jié)果.33 6.2 設(shè)計(jì)歷程.34 6.3 系統(tǒng)存在的問題和改進(jìn)方案 .36 6.4 展望和體會(huì).36 致謝.37 參考文獻(xiàn).39 附錄.41 第一章 引言1 第一章 引言 1.1 系統(tǒng)背景介紹 d/a 轉(zhuǎn)換器,作為實(shí)
7、驗(yàn)用的模擬信號源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用 中必不可少的儀器設(shè)備之一。目前,市場上常見的 d/a 轉(zhuǎn)換器多為純硬件的搭接 而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。 當(dāng)今是科學(xué)技術(shù)及儀器設(shè)備高度智能化飛速發(fā)展的信息社會(huì),電子技術(shù)的進(jìn) 步,給人們帶來了根本性的轉(zhuǎn)變?,F(xiàn)代電子領(lǐng)域中,單片機(jī)的應(yīng)用正在不斷的走 向深入,這必將導(dǎo)致傳統(tǒng)控制與檢測技術(shù)的日益革新。單片機(jī)構(gòu)成的儀器具有高 可靠性、高性能價(jià)格比,在智能儀表系統(tǒng)和辦公自動(dòng)化等諸多領(lǐng)域得以極為廣泛 的應(yīng)用,并走入家庭,從洗衣機(jī)、微波爐到音響汽車,處處可見其應(yīng)用。因此, 單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個(gè)國家工業(yè)發(fā)展水平的標(biāo)
8、志之一。 d/a 作為一種常見的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的波形產(chǎn)生一般可以完全由硬 件電路搭接而成,如采用 555 振蕩電路發(fā)生正弦波、三角波和方波的電路便是可 取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào) 范圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過程控制, 生物醫(yī)學(xué),地震模擬機(jī)械振動(dòng)等領(lǐng)域常常要用到低頻信號源。而由硬件電路構(gòu)成 的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的 rc 要很大。大電 阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著 更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。 利用
9、單片機(jī)采用程序設(shè)計(jì)方法來產(chǎn)生低頻信號,其頻率底線很低。具有線路 相對簡單,結(jié)構(gòu)緊湊,價(jià)格低廉,頻率穩(wěn)定度高,抗干擾能力強(qiáng),用途廣泛等優(yōu) 點(diǎn),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電 路稍加修改,調(diào)整程序,即可完成功能升級。 1.2 d/a 轉(zhuǎn)換器的工作原理 數(shù)字/模擬轉(zhuǎn)換器(d/a)用來將數(shù)字量轉(zhuǎn)變?yōu)槟M量。本設(shè)計(jì)是基于 s52 單 片機(jī)的 d/a 轉(zhuǎn)換器,其可以產(chǎn)生正弦波,方波以及三角波,本設(shè)計(jì)可以實(shí)現(xiàn)的波 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 2 形頻率為:正弦波頻率范圍為 0hz800hz。方波和三角波頻率可以實(shí)現(xiàn) 0hz 1khz。本設(shè)計(jì)的原理大概為:以正弦波
10、為例,它實(shí)現(xiàn)的原理是把正弦波在一個(gè)周 期分為 256 或者 64 或者 32 個(gè)點(diǎn),點(diǎn)和點(diǎn)之間的間隔是相等的并通過延時(shí)程序來 實(shí)現(xiàn)。我們先使單片機(jī) p0 口先輸出 00h,然后間隔一段時(shí)間再輸出第二個(gè)點(diǎn),再 延時(shí)相同的時(shí)間輸出第三個(gè)點(diǎn),直到輸出 ffh。這樣算一個(gè)周期完成。但單片機(jī) 這樣輸出的信號只是正弦波的大概,并不是一個(gè)平滑完整的波形。我們必須通過 一個(gè) d/a 轉(zhuǎn)換器件把它從數(shù)字信號變?yōu)槟M信號,但是此時(shí)又產(chǎn)生了一個(gè)問題, 通過 d/a 轉(zhuǎn)換的模擬信號為電流信號。這樣的信號示波器是無法識別的,這樣我 們就必須通過一個(gè)運(yùn)算放大器把電流信號轉(zhuǎn)換為標(biāo)準(zhǔn)電壓信號。這樣就基本完成 了發(fā)生器的設(shè)計(jì)。
11、當(dāng)然方波和三角波的實(shí)現(xiàn)和正弦波的實(shí)現(xiàn)原理基本相同,所以 在此我們就不必贅述。我設(shè)計(jì)的 d/a 轉(zhuǎn)換器是可以調(diào)頻的。其調(diào)頻的原理是:把 單片機(jī)定時(shí)/計(jì)數(shù)器的最大可計(jì)數(shù)的時(shí)間計(jì)算出來,然后我們就可以等間隔步進(jìn) 的從最小的一個(gè)計(jì)數(shù)值來改變計(jì)數(shù)的時(shí)間,使得定時(shí)/計(jì)數(shù)器的溢出時(shí)間長短不 同,這樣就可以改變波形的頻率。 1.3 本文研究的目的和意義 本課題來源于現(xiàn)實(shí)生活的需要?,F(xiàn)在在很多工程實(shí)踐中對波形信號的需求越 來越多,對波形頻率的要求也越來越高,且價(jià)格也不低。鑒與此,我們設(shè)計(jì)了這 個(gè) d/a 轉(zhuǎn)換波形信號發(fā)生器。它設(shè)計(jì)簡單,成本低廉。對于學(xué)生做實(shí)驗(yàn)和一般較 低要求的工程實(shí)際還是比較實(shí)惠的。所以此設(shè)計(jì)
12、很有現(xiàn)實(shí)意義。 第二章 系統(tǒng)概述 2.1 單片機(jī)的選擇 第二章 系統(tǒng)概述3 隨著微電子技術(shù)的飛速發(fā)展,cpu 已經(jīng)變成低成本器件。在可能的情況下, 各種機(jī)電設(shè)備已經(jīng)或者正在嵌入 cpu 構(gòu)成的嵌入式系統(tǒng)。據(jù) virginia tech 公司 報(bào)告,嵌入式系統(tǒng)中所使用的 cpu 數(shù)量已經(jīng)超過通用 pc 中 cpu 數(shù)量的 30 倍。 現(xiàn)在系統(tǒng)研究的重點(diǎn)已從通用系統(tǒng)轉(zhuǎn)向?qū)S孟到y(tǒng),以及從一般性能轉(zhuǎn)向可靠性、 可用性、安全性、自主性、可擴(kuò)展性、功能性、靈活性、成本、體積、功耗及可 管理性上。 2.1.1 單片機(jī)的發(fā)展特點(diǎn) 盡管由于市場對多功能產(chǎn)品需求的增加和 it 技術(shù)的推動(dòng),使 32 位 mcu 產(chǎn)
13、品 日益成為市場的熱點(diǎn);但目前 8 位 mcu 仍然是技術(shù)市場的主流,并且還有相當(dāng)廣 闊的應(yīng)用空間和旺盛的生命力,16 位 mcu 也占有一定的市場份額。各種 mcu 根據(jù) 自己在市場上的定位,也都有了很大發(fā)展,mcu 總的發(fā)展具有以下一些特點(diǎn)。 (1)微控制器 soc 化微控制器(mcu)已可集成越來越多的內(nèi)置部件。常用的 部件有存儲(chǔ)器類,包括程序存儲(chǔ)器 mrom/otp rom/eprom/eeprom/flash 和數(shù)據(jù)存 儲(chǔ)器 sram/sdram/ssram;有串行接口類,包括 uart、spi、i2c、can、ir、ethernet、hdlc;有并行接口類,包括 centronic
14、s、pci、ide、gpio 等;有定時(shí)和時(shí)鐘類,包括 timer/counter、rtc、watchdog、clock out;有專用和外圍接口類,包括 comparer(比較器)、adc、dac、lcd 控制器、dma、pwm、pll、mac、溫度傳感器 等。甚至有的 mcu,例如 ns 公司的 mcu,已把語音、圖像部件也集成到單片機(jī)中, 目的就是在單個(gè)器件中集成所有所需要用到的部件,構(gòu)成片上系統(tǒng)(soc)。由于 cygnal 公司推出的 c8051f 系列的 mcu 在一個(gè)芯片中集成了構(gòu)成數(shù)據(jù)采集系統(tǒng)或 控制系統(tǒng)所需要的幾乎所有的數(shù)字和模擬外圍接口和功能部件,所以這種混合信 號芯片被其
15、稱作 soc。 (2)多核結(jié)構(gòu)處理器隨著嵌入式應(yīng)用的深入,特別是在數(shù)字通信和網(wǎng)絡(luò)中 的應(yīng)用,對處理器提出了更高的要求。為適應(yīng)這種情況,現(xiàn)在已出現(xiàn)多核結(jié)構(gòu)的 處理器。motorola 公司研發(fā)的 mpc8260 powerquicc ii 就是一種先進(jìn)的為 電信和網(wǎng)絡(luò)市場而設(shè)計(jì)的集成通信微處理器。它融合了兩個(gè) cpu嵌入式 powerpc 內(nèi)核和通信處理模塊(cpm)。由于 cpm 分擔(dān)了嵌入式 powerpc 核的外圍工 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 4 作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗反而要低于傳統(tǒng)體系結(jié)構(gòu)的處理器。 infineon 公司推出的 tc10gp 和增強(qiáng)型 tc1130
16、 都是三核(tricore)結(jié)構(gòu)的微處理 器。它同時(shí)具備 risc、cisc 和 dsp 功能,是一種建立在 soc 概念上的結(jié)構(gòu)。這 種單片機(jī)由三個(gè)核組成:微控制器和 dsp 核、數(shù)據(jù)和程序存儲(chǔ)器核、外圍專用集 成電路(asic)。這種單片機(jī)的最大特點(diǎn)是把 dsp 和微控制器融合成一個(gè)單內(nèi)核, 大大提高了微控制器的功能。具有類似結(jié)構(gòu)的還有 hitachi 公司的 sh7410、sh7612 等。它們用于既需要 mcu 又需要 dsp 功能的場合,比使用單獨(dú) mcu 和 dsp 的組合提供了更優(yōu)越的性能。 (3)更低功耗現(xiàn)在新推出的 mcu 的功耗越來越小,很多 mcu 都有多種工 作方式,包
17、括等待、暫停、休眠、空閑、節(jié)電等工作方式。例如 philips 的 p87lpc762,空閑狀態(tài)下的電流為 1.5ma,而在節(jié)電方式下電流只有 0.5ma。很多 mcu 還允許在低振蕩頻率下以極低的功耗工作。例如,p87lpc764 在 32.768 khz 低頻下,正常工作電流僅為 idd=16a(vdd=3.6v), 空閑模式下 idd=7a(vdd=3.6v)。 (4)更寬工作電壓范圍擴(kuò)大電源電壓范圍以及在較低電壓下仍然能工作 是現(xiàn)在新推出的 mcu 的一個(gè)特點(diǎn)。目前一般 mcu 都可以在 3.35.5v 的范圍內(nèi)工 作,有些產(chǎn)品則可以在 2.26v 的范圍內(nèi)工作。例如,fujitsu
18、的 mb8919x、mb8912x 和 mb89130 系列以及 f2mc-8l 系列 mcu,絕大多數(shù)工作電壓范 圍都為 2.26v;而 ti 的 msp430x11x 系列的工作電壓可以低達(dá) 2.2v。motorola 針對長時(shí)間處在待機(jī)模式的裝置所設(shè)計(jì)的超省電 hcs08 系列 mcu,已經(jīng)把可工作 的最低電壓降到了 1.8 v。 (5)更先進(jìn)的工藝和更小的封裝現(xiàn)在 mcu 的封裝水平已大大提高,有越 來越多的 mcu 采用了各種貼片封裝形式,以滿足便攜式手持設(shè)備的需要。 microchip 公司推出了目前世界上體積最小的 6 引腳 pic10f2xx 系列 mcu。為了 適應(yīng)各種應(yīng)用的
19、需要,減少驅(qū)動(dòng)電路,很多 mcu 的輸出能力都有了很大提高, motorola mcu 的 i/o 口灌電流可達(dá) 8ma 以上,而 microchip 的 mcu 可達(dá) 2025ma,其它如 amd、fujitsu、nec、infineon、hitachi、atmel、toshiba 等都在 820ma 之間。 第二章 系統(tǒng)概述5 (6)低噪聲布線技術(shù)在過去一般 mcu 中,電源與地引腳是安排在芯片封 裝的對角上,即左上、右下或右上、左下位置上。這種安排會(huì)使電源噪聲對 mcu 的內(nèi)部電路造成相對最大干擾?,F(xiàn)在很多 mcu 都把電源和地引腳安排在兩個(gè)相鄰 的引腳上。這樣既降低了干擾,還便于在印制
20、電路板上對去耦電容器進(jìn)行布線, 降低系統(tǒng)的噪聲。6 2.1.2 s52 系列單片機(jī)簡介 (1)引腳結(jié)構(gòu) 圖 2-1 at89s52 單片機(jī)引腳圖2 at89s52 是美國 atmel 公司生產(chǎn)的低電壓高性能 cmos 8 位單片機(jī),片內(nèi)含 8bytes 的可反復(fù)察寫的只讀程序存儲(chǔ)器(perom)和 256 bytes 的隨機(jī)存取數(shù)據(jù) 存儲(chǔ)(ram)器件采用 atmel 公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn) mcs-51 指令系統(tǒng)以 8052 產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器(cpu)和 flash 存儲(chǔ)單元,功能強(qiáng)大。at89s52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。 其引
21、腳結(jié)構(gòu)如圖 2-1 所示。 主要性能參數(shù): 1.全靜態(tài) cmos 控制器,標(biāo)準(zhǔn) 51 內(nèi)核,工作頻率 0-33mhz,可在線編程 (isp); 2.at89s52 有 3 個(gè) 16 位定時(shí)器計(jì)數(shù)器; 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 6 3.32 個(gè)可編程的 i/o 口; 4.at89s52 有 8 個(gè)中斷源; 5.at89s52 具有 256 b ram; 6.具有雙數(shù)據(jù)指針(dptr)和硬件看門狗定時(shí)器; 7.片內(nèi) flash 程序存儲(chǔ)器:8 kb(可在線編程); 8.1 個(gè)全雙工異步通信串口(uart); 9.工作電壓:4.05.5v; 10.外形有 40 引腳 pdip,44 引腳
22、 tqfp、plcc 等封裝。2 at89s52 提供以下標(biāo)準(zhǔn)功能:8k 字節(jié) flash 閃速存儲(chǔ)器,256 字節(jié)內(nèi)部 ram,32 個(gè) i/o 口線,3 個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 6 向量兩級中斷結(jié)構(gòu),一個(gè) 全雙工串行通信 口,片內(nèi)震蕩器以及時(shí)鐘電路。同時(shí),at89s52 可降至 0hz 的靜 態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 cpu 的工作, 但允許 ram,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 ram 中的內(nèi)容,但震蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。其 結(jié)構(gòu)圖如圖 2-2 所示。 第二章 系統(tǒng)概述7 圖 2-2 s
23、52 單片機(jī)內(nèi)部結(jié)構(gòu)圖 (2)引腳功能說明 vccvcc:電源電壓 gndgnd:接地端 p0p0 口口:p0 口是一組 8 位漏極開路型雙向 i/o 口,也即地址/數(shù)據(jù)總線復(fù)用口。 作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng) 8 個(gè) ttl 邏輯門電路,對端口 p0 寫“1”時(shí),可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位) 和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 在 flash 編程時(shí),p0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校 驗(yàn)時(shí),要求外接上拉電阻。 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 8 p1p1口口:p1 口是一個(gè)具
24、有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能 驅(qū)動(dòng)4 個(gè)ttl 邏輯電平。對p1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí) 可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 (iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2) 和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在flash編程和校 驗(yàn)時(shí),p1口接收低8位地址字節(jié)。見下表2-1。 表2-1 單片機(jī)單片機(jī)p1p1口引腳說明口引腳說明 p2p2口口:p2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2輸出緩沖器能驅(qū) 動(dòng)4個(gè)
25、 ttl 邏輯電平。對p2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為 輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出 電流4。 在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),p2 口送出 高八位地址。在這種應(yīng)用中,p2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址訪 問外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),p2口 也接收高8位地址字節(jié)和一些控制信號。 p3p3口口:p3 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o 口,p3 輸出緩沖器能驅(qū) 動(dòng)4個(gè)ttl 邏輯電平。對p3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以
26、作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將 輸出電流。p3口亦作為at89s52特殊功能(第二功能)使用,如下表所示。在 flash編程和校驗(yàn)時(shí),p3口也接收一些控制信號。見下表2-2。 第二章 系統(tǒng)概述9 表 2-2 單片機(jī)單片機(jī) p3p3 口引腳說明口引腳說明 rst:rst: 復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù) 位??撮T狗計(jì)時(shí)完成后,rst 腳輸出96 個(gè)晶振周期的高電平。特殊寄存器 auxr(地址8eh)上 的disrto位可以使此功能無效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ale/progale/prog:地址鎖存控
27、制信號(ale)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8 位地址 的輸出脈沖。在flash編程時(shí),此引腳(prog)也用作編程輸入脈沖。在一般情 況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘 使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過。如 果需要,通過將地址為8eh的sfr的第0位置 “1”,ale操作將無效。這一位置 “1”,ale 僅在執(zhí)行movx 或movc指令時(shí)有效。否則,ale 將被微弱拉高。這個(gè) ale 使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對微控制器處于外部執(zhí)行模 式下無效。 psen:psen:外部程序存儲(chǔ)器選通信號(p
28、sen)是外部程序存儲(chǔ)器選通信號。當(dāng) at89s52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次, 而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),psen將不被激活。 ea/vpp:ea/vpp:訪問外部程序存儲(chǔ)器控制信號。為使能從0000h 到ffffh的外部程序 存儲(chǔ)器 讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。在flash編程期 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 10 間,ea也接收12伏vpp電壓。 xtal1:xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 xtal2:xtal2:振蕩器反相放大器的輸出端。 表 2-3 單片機(jī)特殊寄存器映向及復(fù)
29、位值單片機(jī)特殊寄存器映向及復(fù)位值 (3)特殊功能寄存器 特殊功能寄存器(sfr)的地址空間映象如表1所示。并不是所有的地址都被定 義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù); 寫入的數(shù)據(jù)將會(huì)無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這 些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。見上圖。 (4)存儲(chǔ)器結(jié)構(gòu) mcs-52器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ) 器都可以64k尋址。 程序存儲(chǔ)器:程序存儲(chǔ)器:如果ea引腳接地,程序讀取只從外部存儲(chǔ)器開始。對于 89s52,如果ea 接vcc,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0
30、000h1fffh)開始, 第二章 系統(tǒng)概述11 接著從外部尋址,尋址地址為:2000hffffh。 數(shù)據(jù)存儲(chǔ)器:數(shù)據(jù)存儲(chǔ)器:at89s52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能 寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是 分開的。當(dāng)一條指令訪問高于7fh 的地址時(shí),尋址方式?jīng)Q定cpu 訪問高128 字節(jié) ram 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)。例 如,下面的直接尋址指令訪問0a0h(p2口)存儲(chǔ)單元mov 0a0h , #data。使用間 接尋址方式訪問高128 字節(jié)ram。例如,下面的間接尋址方式中,r0內(nèi)容
31、為 0a0h,訪問的是地址0a0h的寄存器,而不是p2口(它的地址也是0a0h)。mov r0 , #data。堆棧操作也是簡介尋址方式。因此,高128字節(jié)數(shù)據(jù)ram也可用于 堆??臻g。 (5)看門狗定時(shí)器 wdt是一種需要軟件控制的復(fù)位方式。wdt 由13位計(jì)數(shù)器和特殊功能寄存器 中的看門狗定時(shí)器復(fù)位存儲(chǔ)器(wdtrst)構(gòu)成。wdt 在默認(rèn)情況下無法工作;為 了激活wdt,戶用必須往wdtrst 寄存器(地址:0a6h)中依次寫入01eh 和 0e1h。當(dāng)wdt激活后,晶振工作,wdt在每個(gè)機(jī)器周期都會(huì)增加。wdt計(jì)時(shí)周期依 賴于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或wdt溢出復(fù)位),沒有辦法
32、停止wdt工 作。當(dāng)wdt溢出,它將驅(qū)動(dòng)rsr引腳一個(gè)高個(gè)電平輸出。 wdtwdt的使用:的使用:為了激活wdt,用戶必須向wdtrst寄存器(地址為0a6h的sfr) 依次寫入0e1h和0e1h。當(dāng)wdt激活后,用戶必須向wdtrst寫入01eh和0e1h喂狗來 避免wdt溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1fffh)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位 器件。晶振正常工作、wdt激活后,每一個(gè)機(jī)器周期wdt 都會(huì)增加。為了復(fù)位 wdt,用戶必須向wdtrst 寫入01eh 和0e1h(wdtrst 是只讀寄存器)。wdt 計(jì)數(shù) 器不能讀或?qū)?。?dāng)wdt 計(jì)數(shù)器溢出時(shí),將給rst 引腳產(chǎn)生一個(gè)復(fù)位脈
33、沖輸出,這 個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(tosc),其中tosc=1/fosc。為了很好地使用 wdt,應(yīng)該在一定時(shí)間內(nèi)周期性寫入那部分代碼,以避免wdt復(fù)位。 掉電和空閑方式下的掉電和空閑方式下的wdtwdt:在掉電模式下,晶振停止工作,這意味這wdt也停 止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件 復(fù)位或通過一個(gè)激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 12 wdt 喂狗,就如同通常at89s52 復(fù)位一樣。通過中斷退出掉電模式的情形有很大 的不同。中斷應(yīng)持續(xù)拉低很長一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)
34、行中 斷服務(wù)程序。為了防止wdt在中斷保持低電平的時(shí)候復(fù)位器件,wdt 直到中斷拉 低后才開始工作。這就意味著wdt 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開 掉電模式最初的幾個(gè)狀態(tài)wdt不被溢出,最好在進(jìn)入掉電模式前就復(fù)位wdt。在進(jìn) 入待機(jī)模式前,特殊寄存器auxr的wdidle位用來決定wdt是否繼續(xù)計(jì)數(shù)。默認(rèn)狀 態(tài)下,在待機(jī)模式下,wdidle0,wdt繼續(xù)計(jì)數(shù)。為了防止wdt在待機(jī)模式下復(fù) 位at89s52,用戶應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開待機(jī)模式,喂狗,再重新進(jìn)入 待機(jī)模式。 uartuart:在at89s52 中,uart 的操作與at89c51 和at89c52 一樣。為了獲得
35、 更深入的關(guān)于uart 的信息,可參考atmel 網(wǎng)站(http:/)。從 這個(gè)主頁,選擇“products”,然后選擇“8051-architech flash microcontroller”,再選擇“productoverview”即可。18 (6)定時(shí)器0 和定時(shí)器1 在at89s52 中,定時(shí)器0 和定時(shí)器1 的操作與at89c51 和at89c52 一樣。為 了獲得更深入的關(guān)于uart 的信息,可參考atmel 網(wǎng)站(http:/) 從這個(gè)主頁,選擇“products”,然后選擇“8051-architech flash microcontroller”,再選擇“productov
36、erview”即可。18 (7)定時(shí)器2 定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。 其工作方式由特殊寄存器t2con中的c/t2位選擇。定時(shí)器2有三種工作模式:捕捉 方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表2-4所示,工作模式 由t2con中的相關(guān)位選擇。定時(shí)器2 有2 個(gè)8位寄存器:th2和tl2。在定時(shí)工作方 式中,每個(gè)機(jī)器周期,tl2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12 個(gè)晶振周期 構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。 表2-4 定時(shí)器定時(shí)器2 2工作模式工作模式 第二章 系統(tǒng)概述13 在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角t2
37、發(fā)生1 至0 的下降沿時(shí)增 加1。在這種方式下,每個(gè)機(jī)器周期的s5p2期間采樣外部輸入。一個(gè)機(jī)器周期采 樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測到跳變的這個(gè) 周期的s3p1 期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R別10的跳變需要2個(gè)機(jī) 器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了 確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保 持不變。 (8)中斷 at89s52 有6個(gè)中斷源:兩個(gè)外部中斷(int0 和int1),三個(gè)定時(shí)中斷 (定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖2.7所示每個(gè)中斷源都可以通 過置位或清除特
38、殊寄存器ie 中的相關(guān)中斷允許控制位分別使得中斷源有效或無 效。ie還包括一個(gè)中斷允許總控制位ea,它能一次禁止所有中斷。如圖2.8所示, ie.6位是不可用的。對于at89s52,ie.5位也是不能用的。用戶軟件不應(yīng)給這些 位寫1。它們?yōu)閍t89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器t2con中的tf2和exf2 的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上, 中斷服務(wù)程序必須判定是否是tf2 或exf2激活中斷,標(biāo)志位也必須由軟件清0。 定時(shí)器0和定時(shí)器1標(biāo)志位tf0 和tf1在計(jì)數(shù)溢出的那個(gè)周期的s5p2被置位。它們 的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器
39、2 的標(biāo)志位tf2 在計(jì)數(shù)溢 出的那個(gè)周期的s2p2被置位,在同一個(gè)周期被電路捕捉下來。見下表2-5和表2- 6。 表2-5 中斷表中斷表 中斷允許控制位1,允許中斷 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 14 中斷允許控制位0,禁止中斷 表2-6 中斷說明中斷說明 (9)晶振特性 如圖2-3所示,at89s52 單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器, xtal1 和xtal2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用 來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話,xtal2 可以不接,而從 xtal1 接入,如圖2-4 所示。由于外部時(shí)鐘信號經(jīng)過二分頻觸發(fā)后作為外部時(shí)
40、鐘 電路輸入的,所以對外部時(shí)鐘信號的占空比沒有其它要求,最長低電平持續(xù)時(shí)間 和最少高電平持續(xù)時(shí)間等還是要符合要求的。 圖2-3 內(nèi)部振蕩電路 圖2-4 外部振蕩電路 石英晶振 c1,c2=30pf10pf 陶瓷諧振器 c1,c2=40pf10pf 第二章 系統(tǒng)概述15 2.2 d/a 的選擇 2.2.1 d/a 轉(zhuǎn)換技術(shù)指標(biāo) d/a 轉(zhuǎn)換器的輸入為數(shù)字量,經(jīng)轉(zhuǎn)換后輸出為模擬量。有關(guān) d/a 轉(zhuǎn)換器的技 術(shù)性能指標(biāo)很多,例如絕對精度,相對精度,線性度,輸出電壓范圍,溫度系數(shù), 輸入數(shù)字代碼種類等等。對這些技術(shù)性能指標(biāo),這里不做全面的詳細(xì)說明,僅對 幾個(gè)與接口有關(guān)的技術(shù)性能指標(biāo)作以介紹。 (1)分
41、辨率。分辨率是 d/a 轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù)字 量的為數(shù)有關(guān)。如果數(shù)字量的位數(shù)為 n,則 d/a 轉(zhuǎn)換器的分辨率為 1/2n。這就意 味著 d/a 轉(zhuǎn)換器能對滿刻度的 1/2n 輸出量作出反應(yīng)。例如,8 位數(shù)的分辨率為 1/256,10 位數(shù)的分辨率為 1/1024。因此,數(shù)字量的位數(shù)越多,分辨率就越高, 亦即轉(zhuǎn)換器對輸入量變化的敏感程度也就越高。使用時(shí),應(yīng)根據(jù)分辨率的需要來 選定轉(zhuǎn)換器的位數(shù)。 (2)建立時(shí)間。建立時(shí)間是描述 d/a 轉(zhuǎn)換速度快慢的一個(gè)參數(shù),指從輸入數(shù)字 量變化到輸出達(dá)到終值誤差+1/2lsb 時(shí)所需的時(shí)間,通常以建立時(shí)間來表明轉(zhuǎn)換 速度。轉(zhuǎn)換器輸出形式
42、為電流時(shí),建立時(shí)間較短,而輸出形式為電壓時(shí),由于建 立時(shí)間還要加上運(yùn)算放大器的延遲時(shí)間,因此建立時(shí)間要長一些。但總的來說, d/a 轉(zhuǎn)換速度遠(yuǎn)高與 a/d 轉(zhuǎn)換,例如快速的 d/a 轉(zhuǎn)換器的建立時(shí)間僅為 1us。 (3)接口形式。d/a 轉(zhuǎn)換器與單片機(jī)的接口方便與否,主要決定于轉(zhuǎn)換器本身 是否帶數(shù)據(jù)鎖存器。通常有兩類 d/a 轉(zhuǎn)換器:一類不帶鎖存器;另一類則帶鎖存 器。對于不帶鎖存器的 d/a 轉(zhuǎn)換器,為了保存來自單片機(jī)的轉(zhuǎn)換數(shù)據(jù),在接口要 加鎖存器,因此這類轉(zhuǎn)換器必須接在口線上而不能直接接在數(shù)據(jù)總線上;而帶鎖 存器的 d/a 轉(zhuǎn)換器,可以把它看作是一個(gè)輸出口,因此可以直接接在數(shù)據(jù)總線上, 而
43、不需另加鎖存器。 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 16 2.2.2 dac0832 簡介 dac0832 為一個(gè) 8 位 d/a 轉(zhuǎn)換器,單電源供電,在+5+15v 范圍內(nèi)均可正常 工作。基準(zhǔn)電壓的范圍為-10+10v,電流建立時(shí)間為 1us,cmos 工藝,低功耗 20mw。 dac0832 的內(nèi)部結(jié)構(gòu)框圖如圖 2-5 所示。 圖2-5 dac0832內(nèi)部結(jié)構(gòu)圖 該轉(zhuǎn)換器由輸入寄存器和dac寄存器構(gòu)成兩級數(shù)據(jù)輸入鎖存。使用時(shí),數(shù)據(jù) 輸入可以采用兩極鎖存(雙緩沖)形式,或單級鎖存(單緩沖)形式,也可以采 用直接輸入(直通)形式。 由3個(gè)與門電路組成寄存器輸出控制電路,可直接進(jìn)行數(shù)據(jù)鎖存控
44、制:當(dāng) le=0時(shí),輸入數(shù)據(jù)被鎖存;當(dāng)le=1時(shí),數(shù)據(jù)不鎖存,鎖存器的輸出緊跟輸入變化。 dac0832為電流輸出形式,其兩個(gè)輸出端的關(guān)系為iout1+iout2=常數(shù)。 為了得到電壓輸出,可在電流輸出端接一個(gè)運(yùn)算放大器,如圖2-6所示。需 要指出的是,0832運(yùn)算放大器內(nèi)部已經(jīng)有反饋電阻,其阻值為15k。若需要加大 阻值,則可以外接反饋電阻。 第二章 系統(tǒng)概述17 dac0832轉(zhuǎn)換器芯片為20引腳雙列直插式封裝,其引腳排列如圖2-7所示。 圖 2-6 dac0832 與運(yùn)放連接圖 圖 2-7 dac0832 引腳圖 (1)引腳功能說明 d7d7d0d0:轉(zhuǎn)換數(shù)據(jù)輸入端。 cscs:片選信號
45、,輸入,低電平有效。 ileile:數(shù)據(jù)鎖存允許信號,輸入,高電平有效。 wr1wr1:寫信號 1,輸如,低電平有效。 wr2wr2:寫信號 2,輸入,低電平有效。 xferxfer:數(shù)據(jù)傳送控制信號,輸入,低電平有效。 iout1iout1:電流輸出 1,當(dāng) dac 寄存器中各位為全“1”時(shí),電流最大;為全 “0”時(shí),電流為 0。 iout2iout2:電流輸出 2,電路中保證 iout1+iout2=常數(shù)。 rfbrfb:反饋電阻端,片內(nèi)集成的電阻為 15k。 vrefvref:參考電壓,可正可負(fù),范圍為-10v +10v。 dgnddgnd:數(shù)字量地。 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生
46、器 18 agndagnd:模擬量地。 (2)工作方式介紹 at89s52 單片機(jī)與 dac0832 的接口連接方式,即直通方式,單緩沖方式以及 雙 緩沖方式。直通方式不能直接與系統(tǒng)的數(shù)據(jù)總線連接,另需要加鎖存器,故 較少應(yīng)用。下面介紹單緩沖方式與雙緩沖方式。15 1. 單緩沖方式 所謂單緩沖方式就是使 dac0832 的兩個(gè)輸入寄存器中有一個(gè)處于直通方式, 而另一個(gè)接于受控的鎖存方式,當(dāng)然也可以使兩個(gè)寄存器同時(shí)選通以及鎖存。在 實(shí)際應(yīng)用中,如果只有一路模擬量輸出,或雖有幾路模擬量輸出但并不要求同步 的情況下,就可以采用單緩沖方式。 下面 3 個(gè)圖為單緩沖方式的 3 種連接圖,其中圖 2-8
47、為 dac 寄存器處于直通 狀態(tài),圖 2-9 為輸入寄存器處于直通方式,還有一種為為 dac 寄存器與輸入寄存 器同時(shí)選通及鎖存方式。 在使用 dac0832 器件時(shí),應(yīng)注意下述兩點(diǎn):第一是 wr 選通脈沖應(yīng)有一定的 寬度,通常要求500ns,而選 vcc=+5v 電源時(shí)更應(yīng)滿足此要求,如選 vcc=+15v 時(shí),wr 的脈沖寬度只需100ns 就可以了,此時(shí)為器件的最佳工作狀態(tài);第二是 保持?jǐn)?shù)據(jù)輸入有效時(shí)間不小于 90ns,否則將鎖存錯(cuò)誤數(shù)據(jù)。 圖 2-8 dac 寄存器處于直通狀態(tài) 第二章 系統(tǒng)概述19 圖 2-9 輸入寄存器處于直通方式 圖2-10 雙緩沖方式 2. 雙緩沖方式 所謂雙緩
48、沖方式,就是把dac0832的兩個(gè)鎖存器都接受成受控鎖存方式。由 于芯片有兩個(gè)數(shù)據(jù)寄存器,這樣就可以將8位輸入數(shù)據(jù)先保存在“輸入寄存器” 中,當(dāng)需要d/a 轉(zhuǎn)換時(shí),再將此數(shù)據(jù)從輸入寄存器送至“dac寄存器”中鎖存并進(jìn)行d/a轉(zhuǎn)換輸出。 采用兩級緩沖型工作方式:當(dāng)輸入數(shù)據(jù)在更新期間模擬量輸出也隨之出現(xiàn)不穩(wěn)定 時(shí),便可以在上一次模擬量輸出的同時(shí)將下一次要轉(zhuǎn)換的數(shù)據(jù)事先存如“輸入寄 存器”中,從而克服了不穩(wěn)定現(xiàn)象并提高了數(shù)據(jù)轉(zhuǎn)換速度;用此種工作方式還可 以同時(shí)更新多個(gè)數(shù)模轉(zhuǎn)換器的輸出,這給有多個(gè)d/a器件的系統(tǒng)和多處理機(jī)系統(tǒng) 中的d/a器件協(xié)調(diào)工作帶來個(gè)方便。此外,采用兩極緩沖方式也可以使位數(shù)較多
49、的dac器件用于數(shù)據(jù)總線位數(shù)較少的系統(tǒng)中。 圖2-10給出了采用線選法,利用兩位地址碼,進(jìn)行兩次輸出操作完成數(shù)據(jù)的 傳送以及轉(zhuǎn)換的雙緩沖方式。 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 20 d/a轉(zhuǎn)換器是計(jì)算機(jī)控制系統(tǒng)中常用的接口器件,它可以直接控制被控對象, 例如控制伺服電動(dòng)機(jī)或其他執(zhí)行機(jī)構(gòu)。它也可以很方便的產(chǎn)生各種輸出波形,如 矩形波,三角波,階梯波,鋸齒波,梯形波,正弦波以及余弦波等。 需要說明的是:當(dāng)只采用一級運(yùn)算放大器將電流輸出變換為電壓輸出時(shí),如 果dac0832的參考電壓為正電壓,那么通過運(yùn)算放大器后得到的輸出電壓為負(fù)電 壓;反之得到正電壓。它們之間的關(guān)系為:當(dāng)vref接+5v,數(shù)
50、字量的變化范圍為 0255時(shí),輸出模擬電壓的變化范圍為0-5v。若vref接+10v時(shí),輸出電壓的變 化范圍則為0-10v。如果參考電壓為正電壓,而想得到正電壓輸出的話,則可 采用雙極性電壓輸出電路。 在雙極性電壓輸出電路中,運(yùn)算放大器a2的作用是把運(yùn)算放大器a1的單極性 輸出變?yōu)殡p極性輸出。例如,當(dāng)vref=+5v時(shí),a1的電壓輸出范圍為0-5v。當(dāng) vout1=0v時(shí),vout2=-5v;當(dāng)vout1=-2.5v時(shí),vout2=0v;當(dāng)vout1=-5v時(shí), vout2=+5v。vout2的輸出范圍為-5v+5v。vout2與參考電壓vref的關(guān)系為: vout2=vout2=數(shù)字碼數(shù)字碼
51、-128/128*vref-128/128*vref (2.1)(2.1) 第三章 硬件設(shè)計(jì)21 第三章 硬件設(shè)計(jì) 3.1 電路總框圖 輸出 單片機(jī) 鍵盤電路 顯示電路 d/a 數(shù) 模 轉(zhuǎn) 換 電 路 放大 輸出 電路 圖 3-1 電路總框圖 3.23.2 各部分電路設(shè)計(jì) 3.2.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì) 本設(shè)計(jì)使用 at89s52 單片機(jī)作為主控芯片,此芯片功能強(qiáng)大,內(nèi)部有 8k 的 程序存儲(chǔ)空間,完全可以滿足設(shè)計(jì)的需要。單片機(jī)最小系統(tǒng)包含一個(gè)單片機(jī)和晶 振電路和復(fù)位電路組成。振蕩電路的頻率主要取決于晶體的振蕩頻率,一般晶振 可在 1.212mhz 之間選擇,我們此次設(shè)計(jì)用的是 12mhz
52、的晶振。電容 c1,c2 可 在 530pf 之間選擇,電容的大小對振蕩頻率有微小的影響,可以起頻率微調(diào)的 作用。上電復(fù)位是在單片機(jī)接通電源時(shí),對單片機(jī)的復(fù)位。復(fù)位電路的阻容參數(shù) 通常由實(shí)驗(yàn)調(diào)整,一般電路參數(shù) c 取 22uf,r1 取 1k,可在 rst/vpd 端提供足夠 的高電平脈沖,使單片機(jī)能夠可靠的上電自動(dòng)復(fù)位。at89s52 單片機(jī)最小系統(tǒng)如 下圖。 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 22 ea/vpp 31 xtal1 19 xtal2 18 rst 9 p3.7(rd) 17 p3.6(wr) 16 p3.2(int0) 12 p3.3(int1) 13 p3.4(t0)
53、14 p3.5(t1) 15 p1.0(t2) 1 p1.1(t2ex) 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 (ad0)p0.0 39 (ad1)p0.1 38 (ad2)p0.2 37 (ad3)p0.3 36 (ad4)p0.4 35 (ad5)p0.5 34 (ad6)p0.6 33 (ad7)p0.7 32 (a8)p2.0 21 (a9)p2.1 22 (a10)p2.2 23 (a11)p2.3 24 (a12)p2.4 25 (a13)p2.5 26 (a14)p2.6 27 (a15)p2.7 28 psen 29 ale/p
54、rog 30 (txd)p3.1 11 (rxd)p3.0 10 gnd 20 vcc 40 at89c51rc 0.3k 116 +5 116 12 12mhz 30pf 30pf 22uf c 1kr1 r2 圖 3-2 單片機(jī)最小系統(tǒng)連接圖 3.2.2 波形信號產(chǎn)生部分電路設(shè)計(jì) 波形信號產(chǎn)生部分的基本原理為:通過單片機(jī)的 p1 口輸出一個(gè)數(shù)字信號, 然后這個(gè)數(shù)字信號經(jīng)過 dac0832 變?yōu)檫B續(xù)的電流信號。這個(gè)電流信號示波器是檢 測不到的,這樣就需要一個(gè)運(yùn)算放大器把電流信號轉(zhuǎn)換為電壓信號,這樣示波器 就可以測量了。此部分的核心就是 d/a 的連接方法以及 d/a 和運(yùn)算放大器的連接。 第
55、一級運(yùn)算放大器的負(fù)輸入端接 dac0832 的 iout1 端,正輸入端接 iout2 端。本 設(shè)計(jì) d/a 選用的是單緩沖方式,這樣可以使電路設(shè)計(jì)簡單,此處采用兩級運(yùn)算放 大器的原因在與可以實(shí)現(xiàn)倒相功能,可以使波形的正負(fù)值都能出現(xiàn)。例如,當(dāng) vref=+5v 時(shí),a1 的電壓輸出范圍為 0-5v。當(dāng) vout1=0v 時(shí),vout2=-5v;當(dāng) vout1=-2.5v 時(shí),vout2=0v;當(dāng) vout1=-5v 時(shí),vout2=+5v。vout2 的輸出范圍為 -5v+5v。vout2 與參考電壓的關(guān)系為: vout2=vout2=數(shù)字碼數(shù)字碼-128/128*vref-128/128*v
56、ref (3.1)(3.1) 一般 d/a 的電源電壓有特別的要求,電源電壓的選擇應(yīng)符合使 wr 的選通脈 沖應(yīng)有一定的寬度,通常要求500ns,而選 vcc=+5v 時(shí)更應(yīng)滿足此要求,如選 vcc=+15v 時(shí),wr 的脈沖寬度只需要100ns 就可以了,此時(shí)為器件的最佳工作狀 第三章 硬件設(shè)計(jì)23 態(tài);并且還有保證數(shù)據(jù)輸入有效時(shí)間不小于 90ns,否則將鎖存錯(cuò)誤數(shù)據(jù)。運(yùn)算放 大器的電源電壓一般選用 15v。波形產(chǎn)生電路圖如下 3-3 所示: 圖 3-3 信號產(chǎn)生部分連接圖6 1 d0 2 d1 3 d2 4 d3 5 d4 6 d5 7 d6 8 d7 9 cs 10 xfer 11 dg
57、nd 12 agnd 13 vcc 14 wr1 15 wr2 16 ile 17 vref 18 rfb 19 iout2 20 iout1 dac0832 6 1 7 5 14 1 6 1 7 5 14 1 -12v +12v -12v +12v 5k 10k 116 out c1 c2 c2 10k 116 +5 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 24 第四章 軟件設(shè)計(jì)25 第四章 軟件設(shè)計(jì) 4.1 軟件功能 系統(tǒng)用了一個(gè)外部中斷,兩個(gè)定時(shí)器中斷。正弦波三角波輸出通過查表法實(shí) 現(xiàn),頻率的改變通過改變相鄰數(shù)據(jù)點(diǎn)輸出時(shí)間間隔和一個(gè)波形周期內(nèi)輸出點(diǎn)數(shù)來 實(shí)現(xiàn)。脈沖波輸出通過對單個(gè) i/o
58、賦值“1”和“0”來實(shí)現(xiàn),頻率的改變通過改 變 i/o 輸出高低電平持續(xù)時(shí)間來實(shí)現(xiàn)。鍵盤為獨(dú)立式中斷鍵盤。軟件能通過對按 鍵的判別,調(diào)用不同的按鍵服務(wù)子程序 ,來實(shí)現(xiàn)對波形的輸出。 4.2 系統(tǒng)流程圖 4.2.1d/a 轉(zhuǎn)換器總流程圖 如圖 4-1 所示。當(dāng) flag=1 時(shí)為有效按鍵。初始化后輸出為 24hz 正弦波。 n y 初始化 正弦波輸出 開始 等待按鍵 有鍵按下 三角波輸出函數(shù)正弦波輸出函數(shù) 查按鍵號 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器 26 4.2.2 定時(shí)器 t0 中斷服務(wù)子程序流程圖 圖 4-2 定時(shí)器 t0 中斷服務(wù)子程序流程圖 4.2.3 定時(shí)器 t1 中斷服務(wù)子程序流
59、程圖 圖 4-3 定時(shí)器 t1 中斷服務(wù)子程序流程圖 中斷入口 關(guān)閉定時(shí)器 t0 th0=thhl0/256 開啟定時(shí)器 t0 tl0=thhl0/256 中斷返回 對輸入口狀態(tài)取反 中斷入口 關(guān)閉定時(shí)器 t1 th1=thhl1/256 開啟定時(shí)器 t1 tl1=thhl1/256 輸出數(shù)據(jù)表中的第 n 個(gè)點(diǎn) 由 out_flag 的值選擇波形輸出數(shù)據(jù)表 n=0 返回 n=n+1 n=max? 第四章 軟件設(shè)計(jì)27 4.2.4 正弦波鍵處理子程序流程圖 按下正弦波鍵,系統(tǒng)會(huì)輸出頻率約為 100 赫茲的正弦波。 圖 4-4 正弦波鍵處理子程序流程圖 圖 4-5 三角波鍵處理子程序流程圖 4.2
60、.5 三角波鍵處理子程序流程圖 按下三角波鍵,系統(tǒng)會(huì)輸出頻率為約 100 赫茲的三角波。6 正弦波三角波辨別標(biāo)志值 sin_thr=0 max=31 輸出頻率標(biāo)志 s=5 置計(jì)數(shù)初值 thhl1=65522 調(diào)頻率顯示子程序顯示值為 100 輸出數(shù)表選擇標(biāo)志 out_flag=2 返回 開定時(shí)器 t1 關(guān)定時(shí)器 t0 開定時(shí)器 t1 輸出數(shù)表選擇標(biāo)志 out_flag=5 關(guān)定時(shí)器 t0 開定時(shí)器 t1 調(diào)頻率顯示子程序顯示值為 100 置計(jì)數(shù)初值 thhl1=65522 正弦波三角波辨別標(biāo)志值 sin_thr=1 max=31 返回 輸出頻率標(biāo)志 s=5 基于 d/a 轉(zhuǎn)換器的函數(shù)信號發(fā)生器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥理學(xué)知識培訓(xùn)課件
- 論文寫作指南
- 2025年度餐飲加盟連鎖經(jīng)營合作協(xié)議書3篇
- 2025年度廣告?zhèn)髅讲鸹锖贤瑓f(xié)議4篇
- 專業(yè)藝術(shù)教師勞務(wù)合作合同(2024版)一
- 二零二四醫(yī)院護(hù)士勞動(dòng)合同范本:護(hù)理危機(jī)管理與責(zé)任界定3篇
- 2025年茶山茶葉采摘與加工承包經(jīng)營合同4篇
- 2025年度快遞快遞業(yè)務(wù)市場營銷承包合同3篇
- 2025年度餐飲行業(yè)節(jié)能減排合作協(xié)議范本3篇
- 2025年度情侶忠誠保障不分手協(xié)議書電子版下載3篇
- 直播帶貨助農(nóng)現(xiàn)狀及發(fā)展對策研究-以抖音直播為例(開題)
- 腰椎間盤突出疑難病例討論
- 《光伏發(fā)電工程工程量清單計(jì)價(jià)規(guī)范》
- 2023-2024學(xué)年度人教版四年級語文上冊寒假作業(yè)
- (完整版)保證藥品信息來源合法、真實(shí)、安全的管理措施、情況說明及相關(guān)證明
- 營銷專員績效考核指標(biāo)
- 陜西麟游風(fēng)電吊裝方案專家論證版
- 供應(yīng)商審核培訓(xùn)教程
- 【盒馬鮮生生鮮類產(chǎn)品配送服務(wù)問題及優(yōu)化建議分析10000字(論文)】
- 肝硬化心衰患者的護(hù)理查房課件
- 2023年四川省樂山市中考數(shù)學(xué)試卷
評論
0/150
提交評論