1923_基于單片機(jī)的多功能信號(hào)發(fā)生器
1923_基于單片機(jī)的多功能信號(hào)發(fā)生器,基于,單片機(jī),多功能,信號(hào)發(fā)生器
黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 1 頁(yè)1 緒 論1.1 課題背景隨著電子測(cè)量及其他部門(mén)對(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è)過(guò)程控制、教學(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钪校约耙恍┛茖W(xué)研究中,鋸齒波和正弦波、矩形波信號(hào)是常用的基本測(cè)試信號(hào)。譬如在示波器、電視機(jī)等儀器中,為了使電子按照一定規(guī)律運(yùn)動(dòng),以利用熒光屏顯示圖像,常用到鋸齒波信號(hào)發(fā)生器作為時(shí)基電路。信號(hào)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號(hào)發(fā)生器成為可能。1.2 課題意義 便攜式和智能化越來(lái)越成為儀器的基本要求,對(duì)傳統(tǒng)儀器的數(shù)字化,智能化,集成化也就明顯得尤為重要。平時(shí)常用信號(hào)源產(chǎn)生的正弦波,方波,三角波等常見(jiàn)波形作為待測(cè)系統(tǒng)的輸入,測(cè)試系統(tǒng)的性能。但在某些場(chǎng)合,我們需要特殊波形對(duì)系統(tǒng)進(jìn)行測(cè)試,這是傳統(tǒng)的模擬信號(hào)發(fā)生器和數(shù)字信號(hào)發(fā)生器很難勝任的。利用單片機(jī)的強(qiáng)大功能,設(shè)計(jì)合適的人機(jī)交互界面,使用戶能夠通過(guò)手動(dòng)的設(shè)定,設(shè)置所需波形。該設(shè)計(jì)課題的研究和制作全面說(shuō)明對(duì)多功能信號(hào)發(fā)生系統(tǒng)要有一個(gè)全面的了解、對(duì)多功能信號(hào)的發(fā)生原理要理解掌握,以及多功能信號(hào)發(fā)生器工作流程:波形的設(shè)黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 2 頁(yè)定,D/A 轉(zhuǎn)換,單片機(jī)(51 單片機(jī),顯示電路,鍵盤(pán)控制) ,顯示和各模塊的連接通信等各個(gè)部分要熟練聯(lián)接調(diào)試,能夠正確的了解常規(guī)芯片的使用方法、掌握簡(jiǎn)單信號(hào)發(fā)生器應(yīng)用系統(tǒng)軟硬件的設(shè)計(jì)方法,進(jìn)一步鍛煉了我們?cè)谛盘?hào)處理方面的實(shí)際工作能力。1.3 國(guó)內(nèi)外的研究狀況1.3.1 波形發(fā)生器的發(fā)展?fàn)顩r 波形發(fā)生器亦稱函數(shù)發(fā)生器,作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場(chǎng)上常見(jiàn)的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號(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)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。波形發(fā)生器是能夠產(chǎn)生大量的標(biāo)準(zhǔn)信號(hào)和用戶定義信號(hào),并保證高精度、高穩(wěn)定性、可重復(fù)性和易操作性的電子儀器。函數(shù)波形發(fā)生器具有連續(xù)的相位變換、和頻率穩(wěn)定性等優(yōu)點(diǎn),不僅可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率、幅值、相移、波形進(jìn)行動(dòng)態(tài)、及時(shí)的控制,并能夠與其它儀器進(jìn)行通訊,組成自動(dòng)測(cè)試系統(tǒng),因此被廣泛用于自動(dòng)控制系統(tǒng)、震動(dòng)激勵(lì)、通訊和儀器儀表領(lǐng)域。在 70 年代前,信號(hào)發(fā)生器主要有兩類:正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標(biāo)準(zhǔn)波形,產(chǎn)生其它波形時(shí),需要采用較復(fù)雜的電路和機(jī)電結(jié)合的方法。這個(gè)時(shí)期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價(jià)格貴、功耗大等缺點(diǎn),并且要產(chǎn)生較為復(fù)雜的信號(hào)波形,則電路結(jié)構(gòu)非常復(fù)雜。同時(shí),主要表現(xiàn)為兩個(gè)突出問(wèn)題,一是通過(guò)電位器的調(diào)節(jié)來(lái)實(shí)現(xiàn)輸出頻率的調(diào)節(jié),因此很難將頻率調(diào)到某一個(gè)定黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 3 頁(yè)值;二是脈沖的占空比不可調(diào)節(jié)。在 70 年代后,微處理器的出現(xiàn),可以利用處理器、A/D/和 D/A,硬件和軟件使波形發(fā)生器的功能擴(kuò)大,產(chǎn)生更加復(fù)雜的波形。這時(shí)期的波形發(fā)生器多以軟件為主,實(shí)質(zhì)是采用微處理器對(duì) DAC 的程序控制,就可以得到各種簡(jiǎn)單的波形。 90 年代末,出現(xiàn)幾種真正高性能、高價(jià)格的函數(shù)發(fā)生器、但是 HP 公司推出了型號(hào)為 HP770S 的信號(hào)模擬裝置系統(tǒng),它由 HP8770A 任意波形數(shù)字化和 HP1776A 波形發(fā)生軟件組成。HP8770A 實(shí)際上也只能產(chǎn)生 8 中波形,而且價(jià)格昂貴。不久以后,Analogic 公司推出了型號(hào)為 Data-2020 的多波形合成器,Lecroy 公司生產(chǎn)的型號(hào)為9100 的任意波形發(fā)生器等。 1.3.2 本課題在國(guó)內(nèi)外的研究現(xiàn)狀二十一世紀(jì),隨著集成電路技術(shù)的高速發(fā)展,出現(xiàn)了多種工作頻率可過(guò) GHz 的DDS 芯片,同時(shí)也推動(dòng)了函數(shù)波形發(fā)生器的發(fā)展, 2003 年,Agilent 的產(chǎn)品 33220A能夠產(chǎn)生 17 種波形,最高頻率可達(dá)到 20M,2005 年的產(chǎn)品 N6030A 能夠產(chǎn)生高達(dá) 500MHz 的頻率,采樣的頻率可達(dá) 1.25GHz。由上面的產(chǎn)品可以看出,函數(shù)波形發(fā)生器發(fā)展很快。 對(duì)目前而言,國(guó)外(美)研究和使用的信號(hào)發(fā)生器大多要求頻率在10 HZ~50MHZ,產(chǎn)生正弦、三角、鋸齒、方波、調(diào)幅、直流等波形,而國(guó)內(nèi)則對(duì)頻6?率在 5×10 HZ~40MHZ ,能產(chǎn)生正弦~三角等基本波形以及調(diào)幅、調(diào)頻、 TTL 等的3信號(hào)發(fā)生器需求大。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 4 頁(yè)通信接口單片機(jī)系統(tǒng)D/A 電路電源模塊復(fù)位電路數(shù)碼管顯示模塊2 信號(hào)發(fā)生器的方案研究 2.1 總體方案論證與設(shè)計(jì)方案一:可以由晶體管、運(yùn)算放大器放 IC 等通用器件制作,更多的則是用專門(mén)的函數(shù)信號(hào)發(fā)生器 IC 產(chǎn)生。早期的函數(shù)信號(hào)發(fā)生器 IC,如L8038、BA205、XR2207/2209 等,它們的功能較少,精度不高,頻率上限只有300kHz,無(wú)法產(chǎn)生更高頻率的信號(hào),調(diào)節(jié)方式也不夠靈活,頻率和占空比不能獨(dú)立調(diào)節(jié),二者互相影響。方案二:利用專用直接數(shù)字合成DDS芯片的函數(shù)發(fā)生器:能產(chǎn)生任意波形并達(dá)到很高的頻率。但成本較高。方案三:采用 AT89C51 單片機(jī)和 DAC0832 芯片,直接連接鍵盤(pán)和顯示。該種方案主要對(duì) AT89C51 單片機(jī)的各個(gè) I/O 口充分利用。P1 口是連接鍵盤(pán)以及連接顯示電路,P2 口連接 DAC0832 輸出波形。這 樣總體來(lái)說(shuō),能對(duì)單片機(jī)各個(gè)接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本。也對(duì)按照系統(tǒng)便攜式低頻信號(hào)發(fā)生器的要求所完成.占用空間小,使用芯片少,低功耗。綜合考慮,方案三各項(xiàng)性能和指標(biāo)都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現(xiàn)了模塊化設(shè)計(jì)的要求,而且這些芯片及器件均為通用器件,在市場(chǎng)上較常見(jiàn),價(jià)格也低廉,樣品制作成功的可能性比較大,所以在本設(shè)計(jì)中采用了方案三。2.2 系統(tǒng)整體設(shè)計(jì)方案信號(hào)發(fā) 生器電路黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 5 頁(yè)的如圖 2-1 所示,控制器采用單片機(jī),數(shù)據(jù)轉(zhuǎn)換電路采用 D/A 轉(zhuǎn)換電路,顯示電路采用共陰極七段數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示,通信接口利用 MAX232 實(shí)現(xiàn)與外部設(shè)備的連接。圖 2.1 總體設(shè)計(jì)方框圖3 硬件電路的設(shè)計(jì)3.1 主控芯片的選擇本設(shè)計(jì)采用的主控芯片是 AT89C51。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,是低電壓、高性能 CMOS8 位微處理器單片機(jī)。由于將多功能 8 位CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的 AT89C51 是一種高效微控制器, AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。所以本設(shè)計(jì)采用 AT89C51 作為主控芯片。3.1.1 AT89C51 主要特性AT89C51 的主要特性如表 3.1 所示表 3.1 AT89C51 的主要特性兼容 MCS-51 指令系統(tǒng) 4k 可反復(fù)擦寫(xiě)(>1000 次)ISP Flash ROM32 個(gè)雙向 I/O 口 4.5-5.5V 工作電壓2 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器 時(shí)鐘頻率 0-33MHz全雙工 UART 串行中斷口線 128x8bit 內(nèi)部 RAM5 個(gè)中斷源 低功耗空閑和省電模式黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 6 頁(yè)11223344D DC CB BA AT itleN u m b e r R e v isio nSizeA 4D a te : 2 0 1 0 - 4 - 2 3 Sh e e t o f File : Sh e e t1 .Sc h D o c D r a w n B y :+ 5 VC 1R 1R ST8 9 C 5 1中斷喚醒省電模式 3 級(jí)加密位看門(mén)狗(WDT)電路 軟件設(shè)置空閑和省電功能靈活的 ISP 字節(jié)和分頁(yè)編程 雙數(shù)據(jù)寄存器指針3.1.2 AT89C51 時(shí)鐘及復(fù)位電路設(shè)計(jì)復(fù)位電路分為上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,在程序跑飛時(shí),使用復(fù)位電路可使程序恢復(fù)正常工作狀態(tài)。最簡(jiǎn)單的復(fù)位電路是上電自動(dòng)復(fù)位,它的工作原理是:加電瞬間電容通過(guò)充電來(lái)實(shí)現(xiàn)其電路如圖 3-3 所示。在通電瞬間,電容 C 通過(guò)電阻 R充電,RST 端出現(xiàn)正脈沖,用以復(fù)位。只要電源 VCC 的上升時(shí)間不超過(guò) 1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。為了保證復(fù)位高電平持續(xù)時(shí)間大于 2 個(gè)機(jī)器周期。當(dāng)采用晶體為 12MHz 時(shí),可取 C=10Uf,R=8.2KΩ 。但是這個(gè)電路要想起到重新復(fù)位的作用,只能先下電,再上電才行。而如果在電容兩端并聯(lián)一個(gè)按鍵,就成了按鍵復(fù)位電路,只要按下這個(gè)按鍵,單片機(jī)就能復(fù)位而無(wú)需斷電。圖 3.3 上電自動(dòng)復(fù)位黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 7 頁(yè)112233445566D DC CB BA ATitleNumber RevisionSizeBDate: 2010-4-16 Sheet of File: C:\Documents and Settings\..\與與與與與與.SCHDOCDrawn By:P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RESET9 P3.0(RXD)10P3.1(TXD)11 P3.2(INT0)12P3.3(INT1)13 P3.4(T0)14P3.5(T1)15 P3.6(WR)16P3.7(RD)17 XTAL218XTAL119 VSS20 P2.0 21P2.1 22P2.223P2.3 24P2.4 25P2.526P2.6 27P2.7 28PSEN29ALE/PROG 30EA/VPP 31P0.732P0.6 33P0.5 34P0.435P0.3 36P0.2 37P0.138P0.0 39VDD 40AT89C51U21212MXTAL33pFC233pFC3123456789RP1VCCVCCD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7200R21KR1VCC22UFC4SW-PBSP20P21P22P23P24P25P26本設(shè)計(jì)采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位組合方式復(fù)位。結(jié)構(gòu)原理圖如圖 3.4 電路所示。VCC 上電時(shí),電容充電,在 1K 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,電容充滿,1K 電阻上電流降為 0,電壓也為 0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下按鍵,電容放電。按鍵松手,電容又充電,在 1K 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。幾個(gè)毫秒后,單片機(jī)進(jìn)入工作狀態(tài)。圖 3.4 單片機(jī)時(shí)鐘及復(fù) 位電路本 設(shè)計(jì)采用AT89C51 外接 12MHZ 晶振為單片機(jī)提供時(shí)鐘頻率,將 AT89C51 的 XTAL1 和 XTAL2兩端跨接石英晶體及兩個(gè)電容可以構(gòu)成穩(wěn)定的自激振蕩器。電容取 33pF,可穩(wěn)定頻率并對(duì)振蕩頻率有微調(diào)作用。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 8 頁(yè)3.2 D/A 轉(zhuǎn)換電路設(shè)計(jì)D/A 模塊是本系統(tǒng)的核心部分,信號(hào)發(fā)生器的主要功能就是由這部分實(shí)現(xiàn)。模塊先接受來(lái)自單片機(jī)系統(tǒng)的數(shù)字量,通過(guò) DAC0832 的轉(zhuǎn)換變成模擬電流輸出,通過(guò)電流-電壓轉(zhuǎn)換,得到模擬電壓。不同波形的采樣數(shù)字量不斷地被單片機(jī)系統(tǒng)送給轉(zhuǎn)換模塊,從而形成各種波形輸出。D/A 轉(zhuǎn)換電路的作用是將單片機(jī)輸出的波形樣值編碼轉(zhuǎn)換成模擬量值,完成雙極性的波形輸出。本設(shè)計(jì)采用 DAC0832 作為轉(zhuǎn)換芯片。3.2.1 DAC0832 芯片DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉(zhuǎn)換器。主要由兩個(gè) 8 位寄存器(輸入寄存器和 DAC 寄存器)和一個(gè) 8 位 D/A 轉(zhuǎn)換器組成。常用八位的 D/A 轉(zhuǎn)換器 DAC0832 內(nèi)部結(jié)構(gòu)資料:芯片內(nèi)有兩級(jí)輸入寄存器,使DAC0832 具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路 D/A 異步輸入、同步轉(zhuǎn)換等)。D/A 轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)功能。運(yùn)算放大器放的反饋電阻可通過(guò) RFB 端引用片內(nèi)固有電阻,還可以外接。該片邏輯輸入滿足 TTL 電壓電平范圍,可直接與 TTL 電路或微機(jī)電路相接。1、DAC0832 各引腳功能?DI0~ DI7:數(shù)字信號(hào)輸入端。?ILE:輸入寄存器允許,高電平有效。? :片選信號(hào),低電平有效。CS?WR1:寫(xiě)信號(hào) 1,低電平有效。? :傳送控制信號(hào),低電平有效。XFER?WR2:寫(xiě)信號(hào) 2,低電平有效。?IOUT1、IOUT2:DAC 電流輸出端。?RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。 ?VREF:基準(zhǔn)電壓輸入線(-10~+10V) 。?VCC:工作電源( +5~+15V) 。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 9 頁(yè)8位輸 入寄 存器輸 入數(shù) 據(jù) 4~ 713~ 6928178129301參 考 電 壓UREFIOT}輸 出B反 饋 電 阻AGNDVCIOUTILE數(shù) 據(jù)鎖 存片 選 CSWR{寫(xiě) 入 XF傳 送控 制 DAC寄存 器 位/寄 存器位 L&?AGND:模擬地 NGND:數(shù)字地。D/A 轉(zhuǎn)換芯片輸入時(shí)數(shù)字量,輸出為模擬量。模擬信號(hào)很容易受到電源和數(shù)字信號(hào)等干擾而引起波動(dòng)。為提高穩(wěn)定性和減小誤差,一般把數(shù)字地和模擬地分開(kāi)。 DAC0832 采用二次緩沖方式。這樣可以在輸出的同時(shí),采集下一個(gè)數(shù)據(jù),從而提高轉(zhuǎn)換速度,更重要的是能夠在多個(gè)轉(zhuǎn)換器同時(shí)工作時(shí),實(shí)現(xiàn)多通道 D/A 的同步轉(zhuǎn)換輸出。 2、主要的特性參數(shù)?分辨率為 8 位。?只需在滿量程下調(diào)整其線性度。?可與單片機(jī)或微處理器直接接口,需要時(shí)也可與微處理器連接而單獨(dú)使用。 ?電流穩(wěn)定時(shí)間為 1us。?可雙緩沖、單緩沖或直通數(shù)據(jù)輸入。?功耗低,約為 200mW。?邏輯電平輸入與 TTL 兼容。?單電源供電(+5~+15V) 。DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉(zhuǎn)換器。主要由 8位輸入位寄存器、8 位 DAC 寄存器和一個(gè) 8 位 D/A 寄存器組成,如圖 3.5 所示。圖 3.5 DAC0832 內(nèi)部結(jié)構(gòu)8 位輸入寄存器用于存放 CPU 送來(lái)的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由端加以控制;8 位 DAC 寄存器用以存放待轉(zhuǎn)換的數(shù)字量,由 端控制;8 位1LE 2LE黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 10 頁(yè)D/A 轉(zhuǎn)換電路由 8 位 T 型電阻網(wǎng)絡(luò)和電子開(kāi)關(guān)組成,電子開(kāi)關(guān)受 8 位 DAC 寄存器輸出的數(shù)字量控制,T 型電阻網(wǎng)絡(luò)可以輸出與數(shù)字量成正比的模擬電流。3.2.2 DAC0832 波形產(chǎn)生原理一般利用 DAC0832 實(shí)現(xiàn)復(fù)雜波形的輸出,要首先利用采樣定理對(duì)各波形進(jìn)行抽樣,然后對(duì)各采樣值進(jìn)行編碼,得到的數(shù)字量存入各個(gè)波形表,執(zhí)行程序時(shí)通過(guò)查表方式依次取出,經(jīng)過(guò) D/A 轉(zhuǎn)換后輸出就可以得到不同波形。如果 N 個(gè)樣值點(diǎn)構(gòu)成波形的一個(gè)周期,則 DAC0832 輸出 N 個(gè)樣值點(diǎn)后,便得到一個(gè)周期的波形信號(hào)。重復(fù)輸出 N個(gè)樣值點(diǎn),得到第二周期。利用單片機(jī)的延時(shí)程序控制輸出信號(hào)的周期速度,也就控制了輸出波形的頻率。DAC0832 將參考電壓分成 256 份,單片機(jī)向 DAC0832 發(fā)送不同的數(shù)字編碼,可以產(chǎn)生不同的輸出。假設(shè)給 DAC0832 輸入的某個(gè)數(shù)字編碼的值為 D,則按照本系統(tǒng)的硬件設(shè)計(jì),數(shù)模轉(zhuǎn)換模塊的輸出電壓應(yīng)為 UO=Uref×D/256。3.2.3 D/A 轉(zhuǎn)換電路D/A 轉(zhuǎn)換電路由一片 DAC0832 和兩片 LM324AN 組成。DAC0832 是具有 20 條引腳的雙列直插式 CMOS 器件,它內(nèi)部具有兩級(jí)數(shù)據(jù)寄存器,完成 8 位電流 D/A 轉(zhuǎn)換,故不需外加電路。DAC0832 是電流輸出型,示波器上顯示波形,通常需要電壓信號(hào),電流信號(hào)到電壓信號(hào)的轉(zhuǎn)換可由運(yùn)算放大器 LM324AN 實(shí)現(xiàn),用兩片 LM324AN 可以實(shí)現(xiàn)雙極性輸出。 單片機(jī)向 DAC0832 發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對(duì)各波形進(jìn)行抽樣,然后把各采樣值進(jìn)行編碼,得到的數(shù)字量存入各個(gè)波形表,執(zhí)行程序時(shí)通過(guò)查表方法依次取出,經(jīng)過(guò) D/A 轉(zhuǎn)換后輸出就可以得到波形。假如 N 個(gè)點(diǎn)構(gòu)成波形的一個(gè)周期,則 DAC0832 輸出 N 個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,即一個(gè)周期。重復(fù)輸出 N 個(gè)點(diǎn),成為第二個(gè)周期。利用單片機(jī)的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。設(shè)計(jì)中為了實(shí)現(xiàn)模擬電壓的輸出,采用如圖 3.6 所示電路,將 DAC0832 的數(shù)據(jù)輸入端與 AT89C51 的 P0口相連,用來(lái)接收單片機(jī)發(fā)送的數(shù)據(jù)。輸出端利用兩片 LM324AN 實(shí)現(xiàn)波形的輸出,經(jīng)過(guò)第一片 LM324AN 功放后,輸出反向電壓;經(jīng)過(guò)第二片 LM324AN 一倍功放后,黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 11 頁(yè)1122334455667788D DC CB BA ATitleNumber RevisionSizeA3Date: 2010-4-15 Sheet of File: C:\Documents and Settings\..\與與與與與與與.SCHDOCDrawn By:CS1WR12GND3D134D125D116D107VREF8RFB9GND10VCC 20ILE(BY1/BY2) 19WR2 18XFER 17D14 16D15 15D16 14D17 13IOUT2 12IOUT1 11DAC0832U3100KR5100KR450KR3 OUTLM324AN2314111U4ALM324AN5672411U4BD0D1D2D3D4D5D6D7VCCVDD VDDVCC輸出正向電壓。從圖 3.6 所示電路圖中可以看出,當(dāng) VREF 接+5V 時(shí),輸出電壓 OUT 的范圍是0~5V;當(dāng)接+10V 時(shí),輸出電壓 OUT 的范圍是 0~10V ;輸入數(shù)字量的變化,將引起模擬量輸出的變化。圖 3.6 D/A 轉(zhuǎn)換電路3.3 數(shù)碼管顯示電路設(shè)計(jì)顯示部分采用 8 位 7 段共陰數(shù)碼管,驅(qū)動(dòng)芯片分別是 74LS48、74LS138,在軟件設(shè)計(jì)時(shí),要根據(jù)芯片的控制邏輯來(lái)寫(xiě)出顯示程序所需要的顯示數(shù)據(jù)表,所以需要了解這兩個(gè)芯片的真值表,如表 3.3、表 3.4 所示。3.3.1 顯示原理顯示模塊實(shí)現(xiàn)輸出波形參數(shù)的顯示功能。顯示部分用的是 8 位 7 段共陰數(shù)碼管,使用的是動(dòng)態(tài)掃描顯示:74LS48 輸出為段選信號(hào),決定數(shù)碼管顯示的字型碼;74LS138 是位選信號(hào),決定顯示的數(shù)碼管位。在動(dòng)態(tài)掃描時(shí),每一個(gè)瞬間只使一位字符顯示,在此瞬間,段選輸出相應(yīng)字符段選碼,位選則在該顯示位輸出選通電平,以保證該位顯示相應(yīng)字符。如此輪流,使每黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 12 頁(yè)位分時(shí)顯示該位應(yīng)顯示的字符。表 3.3 74LS48 真值表表 3.4 74LS138 真值表 輸入 輸出數(shù)字 D C B A Ya Yb Yc Yd Ye Yf Yg 字形0 0 0 0 0 1 1 1 1 1 1 0 01 0 0 0 1 0 1 1 0 0 0 0 12 0 0 1 0 1 1 0 1 1 0 1 23 0 0 1 1 1 1 1 1 0 0 1 34 0 1 0 0 0 1 1 0 0 1 1 45 0 1 0 1 1 0 1 1 0 1 1 56 0 1 1 0 0 0 1 1 1 1 1 67 0 1 1 1 1 1 1 0 0 0 0 78 1 0 0 0 1 1 1 1 1 1 1 89 1 0 0 1 1 1 1 0 0 1 1 9輸入 輸出G1 +G2ABC B A Y0123Y45670 X X X X 1 1 1 1 1 1 1 1 X 1 X X X 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 13 頁(yè)3.3.2 顯示電路在顯示模塊部分,如圖 3.7,通過(guò) 74LS138 和 74LS48 實(shí)現(xiàn)對(duì)七段數(shù)碼管的顯示控制。由于選用 8 位 LED,為簡(jiǎn)化硬件電路,本設(shè)計(jì)采用 LED 動(dòng)態(tài)掃描顯示電路。74LS138 能夠?qū)?shù)碼管實(shí)現(xiàn)位選,把 AT89C51 的 P2.4、P2.5 、P2.6 口與 3 線-8 線譯碼器的輸入端相連,將譯碼器的輸出端與 8 位共陰數(shù)碼管的位選端相連,從而實(shí)現(xiàn)數(shù)碼管的位選;74LS48 能夠?qū)?shù)碼管實(shí)現(xiàn)段選,將 AT89C51 的 P2.0、P2.1 、P2.2、P2.3 口與 4-7 譯碼器的輸入端相連,把單片機(jī)輸出的二進(jìn)制數(shù)或者 BCD 碼,作為其輸入,并將轉(zhuǎn)換輸出的數(shù)據(jù)送給數(shù)碼管,作為數(shù)碼管的顯示段選碼。本設(shè)計(jì)中數(shù)碼管顯示的主要參數(shù)有:(1)當(dāng)前波形的數(shù)字代號(hào);(2)當(dāng)前波形的輸出頻率;(3)當(dāng)前輸出波形的峰值。1 0 1 1 1 1 1 1 1 1 1 1 0 11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-4-16 Sheet of File: I:\與與與與與與與\與與與與與與與.SCHDOCDrawn By:A1B2C3G2A4G2B5G16Y7 7Y6 9Y5 10Y4 11Y3 12Y2 13Y1 14Y0 1574LS138U5 R6R7R8R9R12R13R11R10VCCVCCW1W2W3W4W6W7W87SEG-MPX8-CC-BLUEAaBbCcDdEeFfGgDPdp1122334455667788a b c d e f g W1 W2 W3 W4 W5 W6 W7 W8BI/RBO4RBI5LT3A7B1C2D6a 13b 12c 11d 10e 9f 15g 1474LS48U6P20P21P22P23P24P25P26W5ab c defg黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 14 頁(yè)圖 3.7 數(shù)碼管顯示電路3.4 通信接口電路設(shè)計(jì)為實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)系統(tǒng)的數(shù)據(jù)通信與下載,本設(shè)計(jì)中采用 MAX232 實(shí)現(xiàn),如圖 3.8 所示。MAX232 芯片是美信公司專門(mén)為電腦的 RS-232 標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v 單電源供電。外部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由 1、2、3、4、5、6 腳和 4 只電容構(gòu)成。功能是產(chǎn)生+12v 和 -12v 兩個(gè)電壓,滿足 RS-232 串口對(duì)電平的要求。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中 13 腳(R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數(shù)據(jù)通道。8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數(shù)據(jù)通道。第三部分是供電。15 腳 GND、16 腳 VCC(+5V) 。在圖 3.8 所示的接口電路中,MAX232 的 R1OUT 口接單片機(jī)的 P3.0 RXD(串行輸入口) ,T1IN 口接單片機(jī)的 P3.1TXD(串行輸出口) 。R S232 串 口 通 信 接 線 方 法 采用 三 線 制 。 首 先 , 串 口 傳 輸 數(shù) 據(jù) 只 要 有 接 收 數(shù) 據(jù) 針 腳 和 發(fā) 送 針 腳 就 能 實(shí) 現(xiàn) ; 同 一 個(gè)串 口 的 接 收 腳 和 發(fā) 送 腳 直 接 用 線 相 連 。 TTL/CMOS 數(shù)據(jù)從 T1IN 輸入轉(zhuǎn)換成 RS-232數(shù)據(jù)從 T1OUT 送到電腦 DB9 插頭;DB9 插頭的 RS-232 數(shù)據(jù)從 R1IN 輸入轉(zhuǎn)換成TTL/CMOS 數(shù)據(jù)后從 R1OUT 輸出。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 15 頁(yè)11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-5-15 Sheet of File: H:\與與與與s\..\與與與與與與與.SCHDOC Drawn By:Vin VoutGNDMC7805U012DS123POWERINPUT1KR00.33UFC00.1UFC1VCCVDD11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-5-15 Sheet of File: H:\與與與與\..與與與與與與與與與與與與與.SCHDOCDrawn By:C1+ 1V+ 2C1- 3C2+ 4C2- 5V- 6T2OUT 7R2IN 8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16MAX232U1123456789DBVCC +5V 1UFC 81UFC71UFC61UFC5TXDRXD圖 3.8 MAX232 的接口電路3.5 電源電路設(shè)計(jì)為了給電路提供穩(wěn)定的電源,本設(shè)計(jì)中采用如圖 3-9 所示電路,由 MC7805 控制的電源電路給各部分電路提供電源。MC7805 為三端正穩(wěn)壓器電路,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過(guò)流、過(guò)熱和過(guò)載保護(hù)電路。帶散熱片時(shí)輸出電流可達(dá) 1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。其主要特點(diǎn):(1) 輸出電流可達(dá) 1A; (2)輸出電壓為:最小值為 4.8V,最大值為 5.2V,典型值為5V;(3)短路保護(hù)。由于 MC7805 的輸入端電壓 Vin 要比輸出端電壓 Vout 高 2V 以上,MC7805 在25℃常溫時(shí),當(dāng)需要輸出典型電壓 Vout=+5V,Io=500mA 時(shí),輸入電壓 Vin 必須為+10V,因此圖 3-9 電路圖中 Vin 需接+10V 電壓。本設(shè)計(jì)中由 MC7805 輸出 +5V 電壓,給單片機(jī)、DAC0832 以及 74LS138、74LS48和 MAX232 等芯片提供穩(wěn)定的+5V 直流電壓。將 MC7805 輸入端的電壓接到LM324AN 的 VDD 電源端。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 16 頁(yè)圖 3.9 電源電路3.6 整體硬件電路設(shè)計(jì)根據(jù)硬件總體設(shè)計(jì)的方框圖,設(shè)計(jì)出實(shí)際電路圖如附錄 A 所示,電路中利用AT89C51 單片機(jī)系統(tǒng)產(chǎn)生各種波形的控制信號(hào);通過(guò) DAC0832 轉(zhuǎn)換電路,實(shí)現(xiàn)對(duì)數(shù)字信號(hào)轉(zhuǎn)換成模擬的電壓信號(hào)輸出;并通過(guò)數(shù)碼管顯示電路,將某一時(shí)刻輸出的波形數(shù)字代號(hào)、頻率以及該波形的峰值顯示出來(lái)。4 軟件設(shè)計(jì)4.1 系統(tǒng)主程序設(shè)計(jì)主程序的功能是在打開(kāi)不同的開(kāi)關(guān) 1、2、3、4 時(shí),D/A 轉(zhuǎn)換模塊分別輸出方波、鋸齒波、三角波、正弦波四種波形;顯示模塊顯示代表各種波形的數(shù)字、所選波形的頻率和幅度,要求在同一時(shí)間只限打開(kāi)一個(gè)開(kāi)關(guān)。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 17 頁(yè)圖 4.1 主程序流程圖由于顯示程序和正弦波程序采用的是查表方式,所以程序開(kāi)始后,先分別定義顯示數(shù)據(jù)和正弦波的采樣數(shù)據(jù)表,這些都是轉(zhuǎn)換過(guò)的數(shù)字量,分別送給顯示模塊和 D/A模塊。鑒于四個(gè)功能鍵分別控制著數(shù)模轉(zhuǎn)換輸出波形的類型和顯示部分顯示不同的參數(shù),接下來(lái)開(kāi)始判斷是哪個(gè)功能鍵被打開(kāi),這個(gè)過(guò)程靠查詢 P1 口的狀態(tài)來(lái)完成:若P1=0Xfe,表示開(kāi)關(guān) 1 被打開(kāi),就調(diào)用方波子程序,由于程序的主函數(shù)是一個(gè)循環(huán)程序,只要相應(yīng)的開(kāi)關(guān)被打開(kāi),就會(huì)循環(huán)的調(diào)用相應(yīng)的波形程序,反之則判斷 P1=0Xfd?是則表示開(kāi)關(guān) 2 被打開(kāi),循環(huán)執(zhí)行鋸齒波子程序,否則繼續(xù)判斷 P1=0Xfb?是則表示開(kāi)關(guān) 3 被打開(kāi),循環(huán)執(zhí)行三角波子程序,否則接著判斷 P1=0Xf7?是則開(kāi)關(guān) 4 被打開(kāi),循環(huán)執(zhí)行正弦波子程序,否則判斷 P1=0Xff?是則說(shuō)明沒(méi)有開(kāi)關(guān)打開(kāi),將模擬輸出變?yōu)?,顯示部分不顯示。由于使用的是查詢方式對(duì) P1 口進(jìn)行監(jiān)控,由于硬件電路的連接,不能給開(kāi)關(guān)設(shè)置不同的優(yōu)先級(jí),所以每一次只允許按下一個(gè)開(kāi)關(guān)。程序流程圖如圖 4.1所示,源程序如附錄 II 所示。顯示部分一共選擇五位來(lái)進(jìn)行表示,8 段共陰數(shù)碼管的第一位用來(lái)表示信號(hào)源輸出波形的類型,有方波、鋸齒波、三角波、正弦波,數(shù)字 1 表示方波,數(shù)字 2 表示鋸齒黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 18 頁(yè)波,數(shù)字 3 表示三角波,數(shù)字 4 表示正弦波;第四位、第五位、第六位組成一個(gè)數(shù)字,表示輸出波形的頻率,單位是赫茲;第八位表示波形的峰值,單位是伏特。波形類型的轉(zhuǎn)換受撥碼開(kāi)關(guān)的控制,不同的開(kāi)關(guān)打開(kāi)后輸出不同的波形。分別把開(kāi)關(guān)編號(hào),開(kāi)關(guān) 1 控制方波輸出,開(kāi)關(guān) 2 控制鋸齒波輸出,開(kāi)關(guān) 3 控制三角波輸出,開(kāi)關(guān) 4 控制正弦波輸出。4.2 方波子程序設(shè)計(jì)4.2.1 方波程序總流程方波子程序分為兩個(gè)部分:第一部分是方波輸出,由數(shù)模轉(zhuǎn)換模塊完成波形的輸出;第二部分是波形類型,波形頻率和幅值的顯示部分,由顯示模塊完成,流程圖如圖 4.2 所示,源程序如附錄 B 所示。4.2.2 方波產(chǎn)生程序設(shè)計(jì)方波產(chǎn)生的原理:在方波為低電平時(shí),給單片機(jī)接數(shù)模轉(zhuǎn)換模塊的端口賦值 0,通過(guò) D/A 轉(zhuǎn)換模塊輸出相應(yīng)的模擬電壓,延遲一定的時(shí)間,這個(gè)延時(shí)時(shí)間就是方波的半個(gè)周期;然后在方波為高電平時(shí),給單片機(jī)接數(shù)模轉(zhuǎn)換模塊的端口賦值 0xff,通過(guò)D/A 轉(zhuǎn)換模塊輸出相應(yīng)的模擬電壓,也延時(shí)半個(gè)周期的時(shí)間,不斷的反復(fù)這樣執(zhí)行,就得到方波波形。開(kāi)始后先設(shè)置循環(huán)次數(shù),也就是方波連續(xù)輸出的周期數(shù),然后給 P0 口置 0,調(diào)用延時(shí)程序,完成方波半個(gè)周期的低電平,然后給 P0 口置 1,調(diào)用延時(shí)程序,完成方波半個(gè)周期的高電平,判斷是否輸出了 14 個(gè)周期,否則繼續(xù)執(zhí)行程序,是則本段程序已經(jīng)執(zhí)行完畢,開(kāi)始執(zhí)行下一段程序,流程如圖 4.3 所示,源程序如附錄 B 所示。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 19 頁(yè)調(diào)用方波子程序調(diào)用顯示子程序結(jié)束設(shè)置循環(huán)次數(shù)P 0 口置 0調(diào)用延時(shí)子程序P 0 口置 1調(diào)用延時(shí)子程序循環(huán) 1 4 次 ?結(jié)束YN設(shè)置循環(huán)變量 c n tc n t = 0c n t 0 ?P 0 = ii = i - 1c n t = 0c n t #includeunsigned char code DIS_SEG7A[5]={0X01,0X33,0X43,0X53,0X75};unsigned char code DIS_SEG7B[5]={0X02,0X30,0X40,0X54,0X75};unsigned char code DIS_SEG7C[5]={0X03,0X30,0X40,0X52,0X75};unsigned char code DIS_SEG7D[5]={0X04,0X30,0X40,0X53,0X75};float code table2[]={0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 37 頁(yè)0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A,0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35,0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D};void delay(unsigned int k){ unsigned int i,j;for(i=0;i0;i--){P0=i;for(cnt=0;cnt<5;cnt++){P2=DIS_SEG7C[cnt];delay(10);} // delay(1);}}(7) 正弦波子程序void sin()//正弦波{unsigned char cnt;unsigned int i;for(i=0;i<256;i++)黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 41 頁(yè){P0=table2[i];for(cnt=0;cnt<5;cnt++){P2=DIS_SEG7D[cnt];delay(10);}// delay(10);}}黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū) 第 42 頁(yè)
收藏