亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

基于單片機(jī)技術(shù)的波形發(fā)生器采用單片機(jī)設(shè)計(jì)(一)

時(shí)間:2023-03-07 11:01:58 電子信息工程畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于單片機(jī)技術(shù)的波形發(fā)生器采用單片機(jī)設(shè)計(jì)(一)

摘 要
     基于單片機(jī)技術(shù)的波形發(fā)生器采用單片機(jī)設(shè)計(jì),用程序產(chǎn)生波形,先計(jì)算機(jī)構(gòu)成波形的點(diǎn)數(shù)及數(shù)值,存到指定的存儲區(qū),再讀取數(shù)據(jù),經(jīng)D/A轉(zhuǎn)換都輸出波形,進(jìn)行D/A轉(zhuǎn)換是,輸出一個(gè)點(diǎn)的時(shí)間間隔須小于D/A轉(zhuǎn)換所需時(shí)間。
   關(guān)鍵詞:單片機(jī)  波形發(fā)生器  D/A轉(zhuǎn)換器

Abstract
     The waveform generator of variable frequency power supply is designed in Microcontroller,the waveform of frequency power supply is created by using the program. The program procedure:first,the point nvmbers formed the waveform and their values are calculated,and save them to the appointed memory area.And then read data,perform D/Aconversions and outpot waveform.When then generator outputs data and performs D/Aconversions each time.
 Keyword: Microcontroller; Waveform generator; DAC;
 
 

1 引言
     波形發(fā)生器作為常用的信號源,被廣泛應(yīng)用于調(diào)試,自動控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。目前使用的波形發(fā)生器大部分對大的缺點(diǎn)是,其體積大,可靠性差,精度低。提出一種性價(jià)比高的波形發(fā)生器,利用單片機(jī)進(jìn)行函數(shù)處理,由軟件控制波形輸出,利用單片機(jī)進(jìn)行函數(shù)處理,由軟件實(shí)現(xiàn)波形生成,輸出的數(shù)字信號再經(jīng)模擬和信號放大處理后輸出所需波形。該波形發(fā)生器具有集成度高,體積小,可靠性好,精度高,價(jià)格便宜等特點(diǎn)。

2 設(shè)計(jì)任務(wù)和基本要求
     2.1  具有產(chǎn)生正弦波.方波.三角波三種周期性波形的功能。
     2.2  輸入波形的頻率范圍為100~~20khz(非正弦波頻率按10次斜波計(jì)
          算);重復(fù)頻率可調(diào),頻率步進(jìn)間隔小于100HZ。
     2.3  具有顯示輸出波形的類型,重復(fù)頻率(周期)和幅度的功能。
  
 
3 元器件性能分析
  3.1 89C51處理器的基本介紹及其特點(diǎn)
       
              89C51邏輯符號圖
                 圖(1)
 89C51為40引腳,其引腳圖如圖(1)
      CPU為Intel公司生產(chǎn)的89C51/89C52/89C55等。出廠所配晶振頻率為12MHZ,每個(gè)機(jī)器周期為1.085us,用戶可更換晶振以提高速度!癯绦虼尜A器為64K,其中前4K/8K20K在CPU內(nèi)部,其它程序在EPR0M27512中!駭(shù)據(jù)存貯器為32K(62256),地址為8000—FFFFH!瘼/O擴(kuò)展8155,片內(nèi)RAM地址∶200O-20FFH8155,命令口地址為∶2100HA口地址為∶21O1HB口地址為.2102HC口地址為:2103HT低八位∶2104HT高八位∶2105H●A/D采用精高度,速度快(25us)的AD574,并在其轉(zhuǎn)換前對信號作了采樣保持處理。AD574啟動地址為:4000H高八位地址為∶4002H低四位地址為∶4003H多路模擬開關(guān)的使用∶IN0∶P1=0F8H IN4∶P1=0FCHIN1∶P1=0F9H IN5:P1=OFDHIN2∶P1=0FAH IN5:P1=0FEHIN3∶P1=0FBH IN7:P1=0FFHP1.0按CD4051的C⑼,P1.1按CD4051的B腳(10)、P1.2按CD4051的A腳(11)!馜/A采用0832輸出,地址為∶6000H-6FFFH●鍵盤顯示(CZ2)采用8279,地址為:7FFEH-7FFFH●日歷時(shí)鐘芯片DS12887,命令寄存器為5000H-500DH,不掉電數(shù)據(jù)存貯器為∶500EH-507FH   [M]    89C51執(zhí)行指令的時(shí)間與及定時(shí)器/計(jì)數(shù)器計(jì)數(shù)的頻率都與振蕩源的周期有關(guān),為了提高波形頻率的精度,采用12MHZ的晶振與外部時(shí)鐘方式,晶振的兩根引腳分別與89C51的外接晶振引腳X1和X2相連。波形發(fā)生器工作時(shí),要求進(jìn)入復(fù)位工作狀態(tài),因此需設(shè)計(jì)準(zhǔn)確,可靠的復(fù)位電路。
   89C51單片機(jī)內(nèi)部設(shè)置兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器T0和T1,它們具有計(jì)數(shù)器方式和定時(shí)器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其做定時(shí)器使用,用它來精確地確定波形的兩個(gè)采樣點(diǎn)輸出之間的延遲時(shí)間。模式1采用的是16位計(jì)數(shù)器,當(dāng)T0或T1被允許記數(shù)后,從初值開始加1記數(shù),最高位產(chǎn)生益處時(shí)向CPU請求中斷。因此要想確定精確的時(shí)間,首先要計(jì)算出記數(shù)初值。中斷系統(tǒng)是使處理器具有對外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時(shí)候外界發(fā)生了緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時(shí)器/計(jì)數(shù)器益出時(shí)產(chǎn)生的中斷請求,既是在89C51輸出一個(gè)波形采樣點(diǎn)信號后,接著啟動定時(shí)器,在定時(shí)器未產(chǎn)生中斷之前,89C51等待,直到定時(shí)器計(jì)時(shí)結(jié)束,產(chǎn)生中斷請求,89C51響應(yīng)中斷,接著輸出下一個(gè)采樣點(diǎn)信號,如此循環(huán)產(chǎn)生所需要的信號波形。
8279的基本介紹及其特點(diǎn)
3.2.1  8279的基本介紹

 8279的邏輯符號          
         (圖2)

 8279為40引腳芯片,其引腳圖為圖(2)
 8279是Intel公司生產(chǎn)的通用可編程鍵盤和顯示器接口電路芯片。8279可以實(shí)現(xiàn)對鍵盤和顯示器的自動掃描,識別閉合鍵的鍵號,完成顯示器動態(tài)顯示。從而大大節(jié)省了CPU處理鍵盤和顯示器的時(shí)間,提高了CPU的工作效率。另外,8279與單片機(jī)的接口簡單,顯示穩(wěn)定,工作可靠,應(yīng)用愈來愈廣泛。 [M]
 8279與CPU之間的信息交換可分為3種類型,即命令字,狀態(tài)字和數(shù)據(jù)。它們的作用分別如下:當(dāng)8279的A0入高電平時(shí),CPU向8279寫入的數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字;時(shí)鐘編程命令字:D7D6D5=001為時(shí)鐘編程命令字的特征位,PPPP用來設(shè)定對外部時(shí)鐘信號的分頻系數(shù)N,N。玻常。通過對外部輸入信號的N分頻獲得8279所需的100VHZ 的內(nèi)部時(shí)鐘信號。讀FIFO/傳感器RAM命令字:該命令只在傳感器工作方式中使用,在鍵盤工作方式中,讀出操作按先進(jìn)先出的順序,不需此命令;讀顯示RAM命令字:該命令字用來設(shè)定要讀出的顯示RAM的地址;寫顯示RAM命令字:D7D6D5=100為寫顯示RAM命令字特征位,在寫顯示RAM之前用該命令字來設(shè)定要寫入RAM單元的地址;顯示禁止寫入,消隱命令字:BLA,BLB(D1,D0)為消隱設(shè)置位。分別用于兩組顯示的消隱設(shè)置,當(dāng)Bl=1時(shí),對應(yīng)的顯示輸出被消隱,當(dāng)Bl=0時(shí),恢復(fù)顯示;清除命令字:CA=1時(shí),對顯示RAM的清除方式由D3,D2二位確定,清除顯示RAM大約需要100us時(shí)間,在此期間CPU不能向顯示RAM中寫入數(shù)據(jù);結(jié)束中斷/錯(cuò)誤方式設(shè)置命令字:在鍵盤工作方式中,若8297設(shè)置為N鍵依次讀出方式后,若8279設(shè)置為N鍵依次讀出方式后,若CPU給8279又寫入結(jié)束中斷/錯(cuò)誤方式設(shè)置命令(E=1),則8279將以特定的錯(cuò)誤方式工作,如果8279發(fā)現(xiàn)多個(gè)鍵同時(shí)閉合,則FIFO狀態(tài)字的錯(cuò)誤特征位S/E置1,并產(chǎn)生中斷請求信號的阻止寫入FIFO  RAM。狀態(tài)字:在鍵盤輸入和選通輸入方式中,狀態(tài)字給出了FIFO RAM 中的數(shù)據(jù)個(gè)數(shù),是否出錯(cuò)等信息;輸入數(shù)據(jù)的格式:當(dāng)A0=0時(shí),CPU對8279讀,寫的均為數(shù)據(jù),寫入的為要顯示數(shù)符的段選碼,讀出的數(shù)據(jù)為鍵盤數(shù)據(jù)或傳感器距陣數(shù)據(jù),在鍵盤工作方式中,當(dāng)有鍵閉合時(shí),其行號和列號(分別由RL0—RL7和SL0—SL3確定)輸入FIFO RAM中。
  8279最多可以接16位顯示器,一個(gè)8*8的行列式鍵盤。當(dāng)有鍵按下時(shí),鍵號自動進(jìn)入FIFO RAM,并置中斷請求信號有效,向CPU請求中斷。要顯的數(shù)據(jù)的段選碼送到顯示RAM中,8279自動完成掃描顯示。CPU所要做的工作是對8279進(jìn)行初始化,輸入顯示數(shù)據(jù)的段選碼,有鍵按下時(shí),讀入鍵號。因此,在8279鍵盤,顯示系統(tǒng)中,CPU用于處理鍵盤和顯示器的時(shí)間明顯減少,提高了CPU的工作效率。
  3.2.2  8279的命令和狀態(tài)字
      (1) 鍵盤/顯示方式設(shè)置命令命令特征位:D7D6D5=000DD兩位用來設(shè)定顯示方式:00 8個(gè)字符顯示----左入01 16個(gè)字符顯示----左入10 8個(gè)字符顯示----右入11 16個(gè)字符顯示----右入所謂的左入就是在顯示時(shí),顯示字符是從左面向右面逐個(gè)排列。右入就是顯示字符從右面向左面移動。所對應(yīng)的SL編碼最小的為顯示的最高位KKK三位用來設(shè)定鍵盤工作方式:K000編碼掃描鍵盤----雙鍵鎖定K001譯碼掃描鍵盤----雙鍵鎖定K010編碼掃描鍵盤----N鍵輪回K011譯碼掃描鍵盤----N鍵輪回K100編碼掃描傳感器矩陣K101譯碼掃描傳感器矩陣K110選通輸入,編碼顯示掃描K111選通輸入,譯碼顯示掃描第一位K沒有任何意義。雙鍵鎖定和N鍵輪回是兩種不同的多鍵同時(shí)按下保護(hù)方式。雙鍵鎖定為兩鍵同時(shí)按下提供保護(hù),在消振周期內(nèi),如果有兩鍵同時(shí)被按下,則只有其中的一鍵彈起,而另一鍵在按下位置時(shí),才能被認(rèn)可。N鍵輪回為N鍵同時(shí)按下提供保護(hù),當(dāng)有若干個(gè)鍵同時(shí)按下時(shí),鍵盤掃描能根據(jù)發(fā)現(xiàn)它們的次序,依次將它們的狀態(tài)送入FIFO RAM。
 (2) 時(shí)鐘編程命令
 命令特征位:D7D6D5=001
 將來自CLK的外部時(shí)鐘進(jìn)行PPPPP分頻(2-31)。(3) 讀FIFO/傳感器RAM命令      命令特征位:D7D6D5=010
該命令字只在傳感器方式時(shí)使用,在CPU讀傳感器RAM之前,必須用著條命令來設(shè)定將要讀出的傳感器RAM地址。由于傳感器RAM的容量是8X8bit,因此需要用命令字中的三位二進(jìn)制代碼AAA來選址。命令字中的AI為自動增量特征位。若AI=1,則每次讀出傳感器RAM后,地址將自動增量(加1),使地址指針指向順序的下一個(gè)存儲單元。這樣,下一次讀數(shù)便從下一個(gè)地址讀出,而不必重新設(shè)置讀FIFO/傳感器RAM命令。 在鍵盤工作方式中,由于讀出操作嚴(yán)格按照先入先出的順序,因此不必使用這條命令。
 (4) 讀顯示RAM命令 命令特征位:D7D6D5=011
在CPU讀顯示RAM之前,該命令字用來設(shè)定將要讀出的顯示RAM的地址,四位二進(jìn)制代碼AAAA用來尋址顯示RAM中的一個(gè)存儲單元。如果自動增量特征位AI=1,則每次讀出后,地址自動加1,使下一次讀出順序指向下一個(gè)地址。
 (5) 寫顯示RAM命令 命令特征位:D7D6D5=100,前面命令字位相同。
 (6) 顯示禁止寫入/消隱命令 命令特征位:D7D6D5=101。
IW用來掩蔽A組和B組(D3對應(yīng)A組,D2對應(yīng)B組)。例如,當(dāng)A組的掩蔽位D3=1時(shí),A組的顯示RAM禁止寫入。因此從CPU寫入顯示器RAM的數(shù)據(jù)不會影響A的顯示。這種情況通常在采用雙四位顯示時(shí)使用。因?yàn)閮蓚(gè)四位顯示器是相互獨(dú)立的,為了給其中一個(gè)四位顯示器輸入數(shù)據(jù),而又不影響另一個(gè)四位顯示器,因此必須對另一組的輸入實(shí)行掩蔽。BL位是消隱特征,要消隱兩組顯示輸出,必須設(shè)置兩個(gè)BL位。若BL=1。則執(zhí)行此命令后,對應(yīng)組的顯示輸出被消隱。若BL=0,則恢復(fù)顯示
 (7) 清除命令 命令特征位:D7D6D5=110。
該命令字用來清除FIFO RAM和顯示RAM。D4D3D2三位(CD)用來設(shè)定清除顯示RAM的方式。其意義如下表: 清除方式 將顯示RAM全部清“0”將顯示RAM置20H(即A組=0010 B組=0000) 將顯示RAM全部置1不清除(若CA=1,則D3、D2仍有效) D1(CF)位用來清空FIFO存儲器。D1=1時(shí),執(zhí)行清除命令后,F(xiàn)IFO
RAM被清空,使中斷IRQ復(fù)位。同時(shí),傳感器RAM的讀出地址也被清0.D0(CA)位是總清的特征位,它兼有CD和CF的聯(lián)合有效。在CA=1時(shí),對顯示RAM的清除方式由D3D2的編碼決定。 清除顯示RAM大約需要100uS的時(shí)間。在此期間,F(xiàn)IFO狀態(tài)字的最高位Du=1,表示顯示無效。CPU不能向顯示RAM寫入數(shù)據(jù)。
 (8) 結(jié)束中斷/錯(cuò)誤方式設(shè)置命令 命令特征位D7D6D5=111。 這個(gè)命令有兩個(gè)不同的應(yīng)用: ① 作為結(jié)束中斷命令。在傳感器工作方式中,每當(dāng)傳感器狀態(tài)出現(xiàn)變化時(shí),掃描檢測電路接將其狀態(tài)寫入傳感器RAM,并啟動中斷邏輯,使IRQ變高,向CPU請求中斷。并且禁止寫入傳感器RAM。此時(shí),如傳感器RAM讀出地址的自動遞增特征沒有置位(AI=0),則中斷請求IRQ在CPU第一次從傳感器RAM讀出數(shù)據(jù)時(shí)就被清除。若自動遞增特征已置位(AI=1),則CPU對傳感器RAM的讀出并不能清除IRQ,而必須通過給8279寫入結(jié)束中斷/錯(cuò)誤方式設(shè)置命令才能使IRQ變低。因此,在傳感器工作方式中,此命令用來結(jié)束傳感器RAM的中斷請求。 ② 作為特定錯(cuò)誤方式的設(shè)置命令。在8279已被設(shè)定為鍵盤掃描N鍵輪回方式以后,如果CPU給8279又寫入結(jié)束中斷/錯(cuò)誤方式設(shè)置命令(E=1)。則8279的消振周期內(nèi),如果發(fā)現(xiàn)有多個(gè)鍵被同時(shí)按下,則FIFO狀態(tài)字中的錯(cuò)誤特征位S/E將置位。并產(chǎn)生中斷請求信號和阻止寫入FIFO RAM。 錯(cuò)誤特征位S/E在讀出FIFO狀態(tài)字時(shí)被讀出。而在執(zhí)行CF=1的清除命令時(shí)被復(fù)位。 8279的FIFO狀態(tài)字,主要用于鍵盤和選通工作方式,以指示FIFO RAM中的字符數(shù)和是否有錯(cuò)誤發(fā)生,其字位意義如下: N Du: Du=1顯示無效 S/E: 傳感器信號結(jié)束/錯(cuò)誤特征碼 O: O=1出現(xiàn)溢出錯(cuò)誤 U: U=1出現(xiàn)不足錯(cuò)誤 F: F=1表示FIFO RAM已滿 NNN: 為FIFO RAM中的字符數(shù) 對FIFO RAM的操作可能出現(xiàn)兩種錯(cuò)誤:溢出和不足。當(dāng)FIFO RAM已滿時(shí),若其它的鍵盤數(shù)據(jù)企圖寫入FIFO RAM,則出現(xiàn)溢出錯(cuò)誤,狀態(tài)字位“O”被置位。當(dāng)FIFO RAM已被清空時(shí),若CPU還企圖讀出,則將會出現(xiàn)“不足”的錯(cuò)誤,狀態(tài)字位“U“被置位。 對于狀態(tài)字的S/E位,當(dāng)8279工作在傳感器工作方式時(shí),若S/E=1,表示傳感器的最后一個(gè)傳感信號一進(jìn)入傳感器RAM。當(dāng)8279工作在特殊錯(cuò)誤方式時(shí),若S/E=1,表示出現(xiàn)了多鍵同時(shí)下按的錯(cuò)誤。 當(dāng)顯示RAM由于“去年各處顯示“或”全清“命令尚未完成時(shí),狀態(tài)字的最高位Du被置位。
3.3  DAC0832的基本介紹及其特點(diǎn)
   3.3.1  DAC0832的基本介紹
 
              DAC的引腳圖
               圖(3)
 DAC0832為20引腳,采用雙列直封裝,其引腳如圖(3)
  DAC0832是NS公司生產(chǎn)的8位D/A轉(zhuǎn)換器,它采用先進(jìn)的 CMOS 工藝,因而功耗低、生產(chǎn)漏電流誤差小,是目前微機(jī)控制系統(tǒng)常用的D/A芯片,可以直接與Z80、8085、8051等微處理器相連著數(shù)字技術(shù),特別是計(jì)算機(jī)技術(shù)的飛速發(fā)展與普及,在現(xiàn)代控制、通信及檢測領(lǐng)域中,為提高系統(tǒng)的性能指標(biāo),對信號的處理無不廣泛地采用了數(shù)字計(jì)算機(jī)技術(shù)。由于系統(tǒng)的實(shí)際對象往往都是一些模擬量(如溫度、壓力、位移、圖像等),要使計(jì)算機(jī)或數(shù)字儀表能識別、處理這些信號,必須首先將這些模擬信號轉(zhuǎn)換成數(shù)字信號;而經(jīng)計(jì)算機(jī)分析、處理后輸出的數(shù)字量也往往需要將其轉(zhuǎn)換為相應(yīng)模擬信號才能為執(zhí)行機(jī)構(gòu)所接收。這樣,就需要一種能在模擬信號與數(shù)字信號之間起橋梁作用的電路 — 模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器。。
     D/A轉(zhuǎn)換器(DAC)輸入的是數(shù)字量,經(jīng)過轉(zhuǎn)換輸出的是模擬量。DAC的技術(shù)指標(biāo)很多,如:分辨率,滿刻度誤差,線性度,絕對精度,相對精度,建立時(shí)間,輸入/輸出特性等。DAC的幾個(gè)主要技術(shù)性能指標(biāo):分辨率,建立時(shí)間和接口形式。DAC0832為8位D/A轉(zhuǎn)換器。單電源供電,范圍為+5V~+15V,基準(zhǔn)電壓范圍為正負(fù)10伏。電流的建立時(shí)間為10us。CMOS工藝功耗20mw。輸入設(shè)有兩級緩沖鎖存器。DAC0832是電流輸出型D/A轉(zhuǎn)換器,要得到電壓信號,輸出端需接運(yùn)算放大器進(jìn)行轉(zhuǎn)換。根據(jù)數(shù)據(jù)輸入的過程,DAC0832有三種聯(lián)接方式:二級緩沖器聯(lián)接方式,單級緩沖器聯(lián)接方式和直通聯(lián)接方式。
3.3.2  DAC0832的引腳功能
      DI0~~DI7:位數(shù)字輸入端,其中DI0為最低位( LSB ),DI7為最高位( MSB );
      C S :片選信號輸入端(低電平有效),與 ILE 共同作用,對 WR1行控制;
      ILE :輸入寄存器鎖存允許信號(高電平有效)。當(dāng) ILE = 1 且 = 0 , WR1= 0 時(shí), 8 位輸入寄存器允許輸入數(shù)據(jù);
 WR1 :輸入寄存器寫信號(低電平有效)。只有當(dāng) ILE = 1 ,且CS= 0 ,WR1= 0 時(shí),才能對8位輸入寄存器的數(shù)據(jù)進(jìn)行更新; WR1= 1 時(shí),8位輸入寄存器的數(shù)據(jù)被鎖定;
 WR2 : DAC寄存器寫信號(低電平有效),與 XFER一道控制將輸入寄存器的數(shù)據(jù)寫入 DAC 寄存器。當(dāng) WR2= 0 和 XFER= 0 時(shí),輸入寄存器中的數(shù)據(jù)傳送到 DAC 寄存器中;
 Iout1 :DAC電流輸出1端。當(dāng)輸入數(shù)字量全都為1時(shí), Iout1為最大值;當(dāng)輸入數(shù)字量全都為 0 時(shí), Iout1為最小值(近似為 0 );
 Iout1 :DAC電流輸出2端。Iout1+I(xiàn)out2=常數(shù)。外接運(yùn)放時(shí),Iout1接運(yùn)放的反相輸入端, Iout2接運(yùn)放的同相輸入端或模擬地;
 Rfb:反饋信號輸入端,為外部運(yùn)放提供一個(gè)反饋電壓。Rfb可由芯片內(nèi)部提供(可將此端直接接運(yùn)放輸出端)或通過外部電阻再接輸出端;
 Vref:基準(zhǔn)電壓輸入端,要求是一精密電源,電壓范圍為- 10V ~ +10V ;
 Vcc: :電源電壓,一般為 +5V ~ +15V ;
4 硬件系統(tǒng)設(shè)計(jì)方案
      單片機(jī)波形發(fā)生器硬件由微機(jī)控制電路和功放電路兩部分組成,參見圖3和圖4微機(jī)控制電路由89C51,0832,8279,F(xiàn)032等芯片組成。CPU芯片選用89C51,內(nèi)部含有4K的EPROM用來存儲程序和數(shù)據(jù)庫;8279用于支持鍵盤和LED顯示器,鍵盤用于控制各種波形的相互轉(zhuǎn)換以及調(diào)整波形的頻率,顯示器用來顯示當(dāng)前的工作狀態(tài)和波形頻率大小。D/A轉(zhuǎn)換電路由DAC0832和兩個(gè)運(yùn)算放大器F032組成,DAC0832有3種連接方式:第一種是兩極緩沖型,既輸入數(shù)據(jù)經(jīng)過這兩極緩沖器后,送D/A轉(zhuǎn)換電路;第二種是單級緩沖型,輸入數(shù)據(jù)經(jīng)輸入寄存器直接送入DAC寄存器,然后送D/A轉(zhuǎn)換電路;第三種是兩個(gè)緩沖直接相連,輸入數(shù)據(jù)直接送D/A轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換。設(shè)計(jì)制作的波形發(fā)生器采用第三種方法,即直接連接方式,WR1,WR2,CS和XFER接地,ILE和Vcc接+5V電源,89C51的數(shù)據(jù)輸出線直接與DAC0832的數(shù)字輸入端相連。D/A轉(zhuǎn)換電路可采用單級性輸出,也可采用雙極輸出,該設(shè)計(jì)采用雙級性輸出,既經(jīng)過兩個(gè)運(yùn)算放大器F032后,輸出電壓Uout與輸入數(shù)字量的關(guān)系如表1所示。

                    
             單片機(jī)波形發(fā)生器硬件電路圖
 圖(3)


               8279鍵盤,顯示器接口電路框圖
                         圖(4)

     有表1可知,當(dāng)輸入數(shù)字量D=00H,輸入電壓Uout=-Vref;當(dāng)D=80H時(shí),Uout=Vref-1/128Vref.由此可見,波形的最大幅值由D/A的參考電壓Vref決定。
 如需要用本波形發(fā)生器驅(qū)動大功率負(fù)載則必須外接功率放大器,功放電路可采用互補(bǔ)對稱功率放大器。
5 波形軟件系統(tǒng)程序設(shè)計(jì)
 5.1波形軟件程序設(shè)計(jì)原理:
 波形發(fā)生器的常見波形有方波(矩形波),三角波正弦波等,波形發(fā)生器的程序由系統(tǒng)主程序,波形子程序和調(diào)頻中斷子程序組成。系統(tǒng)主程序主要完成系統(tǒng)的原始參數(shù)設(shè)定,人機(jī)接口,波形選擇,系統(tǒng)安全等功能。波形子程序分為方波子程序,三角波子程序和正弦波子程序。波形子程序的功能主要包括:波形數(shù)字信號的函數(shù)生成,延時(shí)調(diào)解,循環(huán)周期和輸入等。調(diào)頻中斷子程序的功能是系統(tǒng)在中斷狀態(tài)下實(shí)現(xiàn)當(dāng)前輸入波形的頻率調(diào)解。各程序流程圖5—圖9
程序?qū)ο到y(tǒng)初始化之后則進(jìn)入等待狀態(tài),等待用戶選擇波形,然后調(diào)用相應(yīng)的波形子程序,此時(shí)則在運(yùn)算放大器的輸出端輸出相應(yīng)的波形信號,同時(shí)在顯示器上顯示相應(yīng)的波形標(biāo)志和頻率。在波形發(fā)生期間,可以按頻率調(diào)整鍵(增大鍵和減小鍵),此時(shí)則執(zhí)行中斷程序,若是“增大鍵”則減小延時(shí)時(shí)間,反之則增大延 時(shí)時(shí)間,若一直按此兩鍵之一不放,則頻率一直變化,直到不再按此兩鍵為止,并從中斷程序返回,繼續(xù)執(zhí)行波形發(fā)生字程序;在一種波形的發(fā)生期內(nèi),可以直接選擇其他的波形鍵,此時(shí)則調(diào)用所選波形的子程序,對波形的調(diào)整同上所述。
 5.2 波形軟件程序設(shè)計(jì)
 波形軟件程序設(shè)計(jì)框圖如下圖(5)至圖(9):
 
   

6 功能擴(kuò)展
 依據(jù)上述硬件原理,如在89C51上外接三片D/A轉(zhuǎn)換芯片0832,則可同時(shí)產(chǎn)生3路波形輸出,對程序只需稍做修改,就可以使3路輸出產(chǎn)生相位差為120度的正弦波,即生產(chǎn)三相交流信號。輸出的三相交流既可取相電壓,也可取線電壓,并且其頻率可以調(diào)節(jié);若外接功放,則輸出可以驅(qū)動大功率負(fù)載(如三相交流伺服電機(jī)),這時(shí)如要對三相交流電機(jī)調(diào)數(shù)速,則只需調(diào)整波形的頻率和功放輸出的電流(或電壓),即實(shí)現(xiàn)了三相交流電機(jī)的變頻調(diào)速,波形發(fā)生器也就起到了變頻起的作用。該單片機(jī)電路選用12MHZ晶振,故單片機(jī)機(jī)器周期為1us,綜合分析各種波形的具體情況和軟件結(jié)構(gòu),計(jì)算得出各種波形的可調(diào)制頻率范圍為:方波,三角波,正弦波100HZ到20HZ,為了方便快速調(diào)制出所需波形的頻率,可以在鍵盤設(shè)置一個(gè)頻率調(diào)整鍵,即100HZ,該鍵對所有的波形都開放,按一下鍵疲勞就加100HZ。
 
7 結(jié)束語
 這次畢業(yè)設(shè)計(jì)的基本功能都能夠得到實(shí)現(xiàn),在這個(gè)過程中我多次請教老師和同學(xué),還查閱大量的資料。通過這次畢業(yè)設(shè)計(jì)使我大學(xué)四年所學(xué)知識大大地提高,通過這次的學(xué)習(xí)和實(shí)踐將我已學(xué)的知識成系統(tǒng)的得到復(fù)習(xí)和鞏固。使我在以前的學(xué)習(xí)中不夠清晰的概念得以清晰化,同時(shí)鍛煉和培養(yǎng)了我的動手能力,對自己以后的工作有極大的幫助。這段時(shí)間的學(xué)習(xí),使我在模擬電路、數(shù)字電路和單片機(jī)方面的知識得以鞏固,并使我真正接觸到在系統(tǒng)工程開發(fā)的過程中所遇到的實(shí)際問題。但在實(shí)際的設(shè)計(jì)開發(fā)過程中我也接觸到了很多現(xiàn)實(shí)與理論知識之間的不同差距,這就需要我把以往的理論學(xué)習(xí)運(yùn)用到實(shí)踐中去。這些經(jīng)驗(yàn)也使我在以后的學(xué)習(xí)和工作中能夠得到較快適應(yīng)。同時(shí)我也發(fā)現(xiàn)自己在實(shí)際操作中的不足,這也是我亟需加強(qiáng)的方面。
 
  
 
  8 參考文獻(xiàn)
 1  王武江 陳樹海 常用集成電路速查手冊[M] 冶金工業(yè)出版社   2002年
 2   陳明熒  89C51單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教程[M] 清華大學(xué)出版社 2001年
 3   郁慧綈 微機(jī)系統(tǒng)及其接口技術(shù)[M] 南京東南大學(xué)出版社     1999年
 4   王福瑞  單片機(jī)測控系統(tǒng)設(shè)計(jì)[J] 北京航空航天大學(xué)出版社   1996年
 5   何立民   單片機(jī)高級教程[J]    北京航空航天出版社       2003年
 6   李清泉等編著 集成運(yùn)算放大器原理與應(yīng)用[J] 科學(xué)出版社    1999年
 7   楊剛,周群等  電子系統(tǒng)設(shè)計(jì)與實(shí)踐[J]  電子工業(yè)出版社    1996年
8   黃智偉  全國大學(xué)生電子設(shè)計(jì)競賽教程[M]    電子工業(yè)出版社  2005年9   謝自美  電子線路設(shè)計(jì)•實(shí)驗(yàn)•測試[J]     華中科技大學(xué)出版社 2000年10   閻石   數(shù)字電子技術(shù)基礎(chǔ)[J]         高等教育出版社        1998年11   康華光  電子技術(shù)基礎(chǔ)[M]           高等教育出版社        1999年12   劉維恒  實(shí)用電子電路基礎(chǔ)[M]        電子工業(yè)出版社       2004年13   王新賢  通用集成電路速查手冊[M]  科學(xué)技術(shù)出版社        2002年
附件:
 MAIN:  CLR     EA
                MOV    DPTR,#7FFH
                MOV    A,#0D1H
                MOVX  @DPTR,A
 LP:     MOVX   A,@DPTR
                JB      ACC.7,LP
                MOV    A,#00H
                MOVX  @DPTR,A
 MOV   A,#2AH
 MOV   @DPTR,A
                SETB IT1
 SETB EA
 SETB EX1
 AA:       MOV   A,#0FFH
 MOV   P0,A
 LACALL  DEL
 B0:        MOV   A,#00H
 B1:        MOV   P0,A
 LCALL DEL
 AJMP AA
 BB:        MOV   A,#00H
 MOV   P0,A
 LCALL  DEL
 INC   A
 JNZ  B1
 B2:          MOV P0,A
 LCALL DEL
 DEC  A
 JNZ B2
 AJMP B0
 CC:          MOV   B,#00H
 C0:           MOV  P0,LCALL DEL
 JNZ  B,C0
 AJMP CC
 KEY1:      PUSH PSW
 PUSH DPH
 PUSH A
 MOV DPTR,#7FFFH
 MOV A,#40H
 MOVX @DPTR,A
 MOV DPTR,#7FFEH
 MOVX A,@DPTR
 MOV    30H,A
 POP     A
 POP    DPL
 POP    DPH
 POP    PSW
 RET1
 DIR:       MOV   DPTR,#7FFFH
 MOV   A,#90H
 MOV   @DPTR,A
 MOV   R0,#70H
 MOV   R7,#08H
 MOV   DPTR,#7FFEH
 LOOP:      MOV   A,@R0
 ADD  A,#05H
 MOVC  A,@A+PC
 MOVX  @DPTR,A
 INC R0
 DJNZ    R7,LOOP
 RET
 TAB1:   DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
         DB      38H,06H,52H,4FH,66H,6DH
         DB      7DH,07H,72H,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,06H,51H,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,52H,79H,71H
 DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,03H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,01H,5BH,4FH,66H,6DH
         DB      7DH,02H,7FH,6FH,77H,7CH
 DB      39H,53H,79H,71H
 TAB2:  DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
         DB      38H,06H,52H,4FH,66H,6DH
         DB      7DH,07H,72H,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,06H,51H,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,52H,79H,71H
 DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,03H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,01H,5BH,4FH,66H,6DH
         DB      7DH,02H,7FH,6FH,77H,7CH
 DB      39H,53H,79H,71H
 TAB3:   DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
         DB      38H,06H,52H,4FH,66H,6DH
         DB      7DH,07H,72H,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,06H,51H,4FH,66H,6DH
         DB      7DH,07H,7FH,6FH,77H,7CH
 DB      39H,52H,79H,71H
 DB      3FH,06H,5BH,4FH,66H,6DH
         DB      7DH,03H,7FH,6FH,77H,7CH
 DB      39H,5EH,79H,71H
 DB      3FH,01H,5BH,4FH,66H,6DH
         DB      7DH,02H,7FH,6FH,77H,7CH
 DB      39H,53H,79H,71H
 DEL:  MOV    R7,#200
 DEL1: MOV    R6,#125
 DEL2: DJNZ    R6,DEL2
         DJNZ    R7,DEL1
         RET
         END

【基于單片機(jī)技術(shù)的波形發(fā)生器采用單片機(jī)設(shè)計(jì)(一)】相關(guān)文章:

小型熱水鍋爐單片機(jī)溫度控制系統(tǒng)(一)08-10

基于分組技術(shù)的下一代光傳送網(wǎng)05-29

證據(jù)的采用標(biāo)準(zhǔn)07-06

基于軍網(wǎng)的雷達(dá)遠(yuǎn)程診斷技術(shù)研究08-10

基于勝任力的企業(yè)個(gè)體績效管理流程設(shè)計(jì)06-03

基于CS管理的房地產(chǎn)企業(yè)開發(fā)設(shè)計(jì)06-04

基于PLC的斷路器型式試驗(yàn)系統(tǒng)設(shè)計(jì)03-10

基于web的異地并行設(shè)計(jì)與制造系統(tǒng)研究06-02

基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)05-11

基于工業(yè)機(jī)器人的自動化生產(chǎn)技術(shù)研究論文04-14