單片機(jī)課程設(shè)計(jì)---波形發(fā)生器_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  2011~2012學(xué)年 第二學(xué)期</p><p><b>  《單片機(jī)設(shè)計(jì)》</b></p><p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  題 目: </p><p>  專 業(yè): 通信工程 &l

2、t;/p><p>  班 級(jí): 09通信一班 </p><p>  姓 名: </p><p>  指導(dǎo)教師: </p><p><b>  電氣工程系</b></p><

3、;p>  2012年5月27日摘 要</p><p>  各種各樣的信號(hào)是通信領(lǐng)域的重要組成部分,其中正弦波、三角波和方波等是較為常見(jiàn)的信號(hào)。在科學(xué)研究及教學(xué)實(shí)驗(yàn)中常常需要這幾種信號(hào)的發(fā)生裝置。為了實(shí)驗(yàn)、研究方便,研制一種靈活適用、功能齊全、使用方便的信號(hào)源是十分必要的。</p><p>  本次關(guān)于產(chǎn)生不同低頻信號(hào)的信號(hào)源的設(shè)計(jì)方案,不僅在理論和實(shí)踐上都能滿足實(shí)驗(yàn)的要求,而且具有

4、很強(qiáng)的可行性。該信號(hào)源的特點(diǎn)是:體積小、價(jià)格低廉、性能穩(wěn)定、實(shí)現(xiàn)方便、功能齊全。</p><p>  關(guān)鍵詞:正弦波;三角波;方波;信號(hào)源;低頻信號(hào)</p><p><b>  引言</b></p><p>  波形發(fā)生器是信號(hào)源的一種,它是具有信號(hào)源所具有的特點(diǎn),更因它高的性能優(yōu)勢(shì)而備受人們青睞。信號(hào)源主要給被測(cè)電路提供所需要的已知信號(hào)(各種

5、波形),然后用其它儀表測(cè)量感興趣的參數(shù)??梢?jiàn)信號(hào)源在各種實(shí)驗(yàn)應(yīng)用和試驗(yàn)測(cè)試處理中,它不是測(cè)量?jī)x器,而是根據(jù)使用者的要求,作為激勵(lì)源,仿真各種測(cè)試信號(hào),提供給被測(cè)電路,以滿足測(cè)量或各種實(shí)際需要。目前我國(guó)已經(jīng)開(kāi)始研制波形發(fā)生器,并取得了可喜的成果。但總的來(lái)說(shuō),我國(guó)波形發(fā)生器還沒(méi)有形成真正的產(chǎn)業(yè)。就目前國(guó)內(nèi)的成熟產(chǎn)品來(lái)看,多為一些PC儀器插卡,獨(dú)立的儀器和VXI系統(tǒng)的模塊很少。并且我國(guó)目前在任意波形發(fā)生器的種類和性能都與國(guó)外同類產(chǎn)品存在較大的

6、差異,因此加緊對(duì)這類產(chǎn)品的研制顯得迫在眉睫。</p><p><b>  硬件設(shè)計(jì)</b></p><p>  利用AT89C51單片機(jī)外接數(shù)模轉(zhuǎn)換器和運(yùn)算放大電路,由用戶通過(guò)按鍵選擇輸出實(shí)驗(yàn)室中經(jīng)常使用到的幾種基本波形:方波、鋸齒波、正弦波和三角波。方波由AT89C51單片機(jī)將最大值和最小值輸出給D/A進(jìn)行轉(zhuǎn)換,并由用戶通過(guò)鍵盤選擇波形周期。與微處理器兼容的8位數(shù)模

7、轉(zhuǎn)換器DAC0832將數(shù)字量轉(zhuǎn)換為模擬量電壓信號(hào),通過(guò)運(yùn)放電路得到鋸齒波、正弦波、三角波信號(hào),波形保證了它的精度、平滑和穩(wěn)定。</p><p>  可采用單片機(jī)程序產(chǎn)生以上4種波形,并通過(guò)一片D/A轉(zhuǎn)換器輸出。另外,采用一片D/A轉(zhuǎn)換器來(lái)控制前一片D/A轉(zhuǎn)換器的參考電壓,從而可以改變輸出波形幅值,見(jiàn)圖1所示。通過(guò)外接鍵盤來(lái)設(shè)定波形的類型、幅值和頻率,并在擴(kuò)展的七段LED顯示器上顯示響應(yīng)的波形的類型、幅值和頻率。&

8、lt;/p><p>  AT89C51單片機(jī)時(shí)鐘電路采用內(nèi)部方式,外接陶瓷諧振器(頻率為12MHz),微調(diào)電容值為30pF。系統(tǒng)復(fù)位采用按鍵式外部復(fù)位方式,復(fù)位信號(hào)至少保持8us以上。通過(guò)按鍵由用戶選擇要輸出的波形,按鍵選擇占用P10—P17口,采用獨(dú)立式鍵盤結(jié)構(gòu),框圖如圖2.1所示。</p><p>  圖2.1 總體方案結(jié)構(gòu)框圖</p><p><b>

9、  單元模塊設(shè)計(jì)</b></p><p><b>  單片機(jī)的選擇</b></p><p>  AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機(jī),片內(nèi)含4Kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)抽取數(shù)據(jù)</p><p>  存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度

10、、非易失性存儲(chǔ)技術(shù)生產(chǎn)。兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大。AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。</p><p>  AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。

11、同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作方式。空閑工作方式停止CPU的工作,但允許RAM,定時(shí)器/計(jì)數(shù)器串口通信及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p><p>  2.2 輸入電路鍵盤的接口電路</p><p>  在單片機(jī)控制系統(tǒng)中,為了實(shí)現(xiàn)人對(duì)系統(tǒng)的操縱控制及向系統(tǒng)輸入?yún)?shù),

12、都需要為系統(tǒng)設(shè)置按鍵或鍵盤,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)會(huì)話。鍵盤是一組(通常多于8個(gè))按鍵的集合。鍵盤所使用的按鍵一般都是具有一對(duì)常開(kāi)觸點(diǎn)的按鍵開(kāi)關(guān),平時(shí)不按鍵時(shí),觸點(diǎn)處于斷開(kāi)(開(kāi)路)狀態(tài),當(dāng)按下按鍵時(shí),觸點(diǎn)才處于閉合(短路)狀態(tài),而當(dāng)按鍵被松開(kāi)后,觸點(diǎn)又處于斷開(kāi)狀態(tài)。</p><p>  根據(jù)鍵盤上閉合鍵的識(shí)別方法不同,鍵盤可分為非編碼鍵盤和編碼鍵盤兩種。非編碼鍵盤上,閉合鍵的識(shí)別采用軟件實(shí)現(xiàn);編碼鍵盤上,閉合鍵的識(shí)別則由

13、專門的硬件譯碼器產(chǎn)生按鍵的編號(hào)(即鍵碼),并產(chǎn)生一個(gè)脈沖信號(hào),以通知CPU接受鍵碼。編碼鍵盤使用較為方便,易于編程,但硬件電路較為復(fù)雜,因此在單片機(jī)的控制系統(tǒng)中應(yīng)用較少。而非編碼鍵盤幾乎不需要附加什么硬件電路,因此在實(shí)際單片機(jī)控制系統(tǒng)中較多采用。</p><p>  從鍵盤的結(jié)構(gòu)來(lái)分,鍵盤可分為獨(dú)立式和矩陣式兩類。當(dāng)系統(tǒng)操作比較簡(jiǎn)單,所需鍵盤較少時(shí),可采用獨(dú)立式非編碼鍵盤;而當(dāng)系統(tǒng)操作比較復(fù)雜,需要數(shù)量較多的按鍵

14、時(shí),可采用矩陣式非編碼鍵盤。</p><p>  在本課題設(shè)計(jì)中,采用的是獨(dú)立式鍵盤。其電路圖如圖3.1所示。</p><p>  圖3.1 鍵盤與單片機(jī)接口電路</p><p>  輸出波形種類、幅值和頻率的設(shè)定由鍵盤輸入。由于單片機(jī)的PI口不作它用,可用它擴(kuò)展一個(gè)4行*4列鍵盤。鍵盤的4根行線接到單片機(jī)的P1.0~P1.3口線,4根列線接P1.4~P1.7口線

15、。16個(gè)按鍵分別定義為數(shù)字0~9和功能鍵Enter(確認(rèn)鍵)、Clear(清除鍵)、Wave(波形選擇鍵)、Frequenency(改變頻率鍵)、Amplitude(改變幅值鍵)和(小數(shù)點(diǎn)鍵)。</p><p><b>  2.3 顯示電路</b></p><p>  當(dāng)前輸出波形的種類、幅值和頻率需要顯示出來(lái)。由于單片機(jī)的串行不作它用,可用它接8片串入并出移位寄存器

16、來(lái)擴(kuò)展8位7段LED顯示器,L1~L4用于顯示輸出波形的頻率;L5~L7用于顯示輸出波形的幅值,L6的小數(shù)點(diǎn)接+5V,常亮,則可顯示0.0V到10.0V;L8用于顯示波形的種類,1表示正弦波,2表示方波,3表示三角波,4表示鋸齒波,如圖3.2。</p><p>  圖3.2 顯示電路</p><p>  2.4 D/A轉(zhuǎn)換器與單片機(jī)的接口電路</p><p>  

17、在本設(shè)計(jì)中選用DAC0832的單緩沖工作方式,它與單片機(jī)AT89C51的接口電路如圖3.3所示</p><p>  圖3.3 DAC0832與單片機(jī)AT89C51的接口電路</p><p>  按應(yīng)用要求的不同,DAC0832可以接成單極性電壓輸出和雙極性電壓輸出,當(dāng)數(shù)字量在00—FF范圍時(shí),電壓輸出量若為0—+xV或0---xV,這種輸出方式稱為單極性電壓輸出方式;若電壓的輸出為-xV

18、--+xV,則為雙極性電壓輸出方式。本課題根據(jù)實(shí)際要求選擇IC3為單極性輸出和IC4為雙極性電壓輸出。</p><p>  2.5 運(yùn)算放大器電路</p><p>  將得到的模擬信號(hào)量分別進(jìn)行放大,以利于對(duì)系統(tǒng)的信號(hào)量進(jìn)行觀察、讀取等研究。由于信號(hào)從D/A轉(zhuǎn)換器出來(lái)的模擬信號(hào)量是比較微弱的,因而需要對(duì)所得到的信號(hào)量進(jìn)行放大</p><p><b>  3

19、 軟件設(shè)計(jì)</b></p><p>  通過(guò)單片機(jī)AT89C51的P1.0口輸出方波,而方波的輸出周期通過(guò)控制小鍵盤來(lái)實(shí)現(xiàn),與單片機(jī)相連的數(shù)模轉(zhuǎn)換模塊DAC0832,它通過(guò)連一個(gè)I/V轉(zhuǎn)換電路后輸出正弦波和鋸齒波,其波形的周期也是通過(guò)控制小鍵盤來(lái)實(shí)現(xiàn)的。在該系統(tǒng)中,應(yīng)有高可靠性、抗干擾性,在斷電或出現(xiàn)故障時(shí)有保護(hù)、數(shù)據(jù)存儲(chǔ)和復(fù)位功能。</p><p>  擇的是匯編語(yǔ)言,用助記

20、符和標(biāo)號(hào)地址編寫(xiě)的程序稱為匯編語(yǔ)言源程序,其作用相當(dāng)于人們直接用指令的機(jī)器碼以及指令地址編寫(xiě)程序。</p><p><b>  3.1 初始化程序</b></p><p>  初始化程序模塊主要進(jìn)行設(shè)置定時(shí)器、串行口的工作方式,設(shè)置波形的類型、幅值和頻率,并在顯示器上顯示提示字符12345678等工作。這部分程序如下:</p><p>  MO

21、V TMOD,#02H ;設(shè)置定時(shí)器0為方式2工作</p><p>  MOV TL0,#7FH ;置初值</p><p>  MOV TH0,#7FH</p><p>  CLR TR0 ;不啟動(dòng)</p><p>  MOV S

22、CON,#00H ;將串行口初始化為方式0</p><p>  MOV DPTR,#0FFFDH ;IC3的地址送DPTR</p><p>  MOV A,#0FFH</p><p>  MOVX @DPTR,A ;輸出波形的幅值初始化為10V</p><p>

23、  MOV DPTR,#0FFFEH ;IC4的地址送DPTR</p><p>  MOV A,#80H</p><p>  MOVX @DPTR,A ;輸出設(shè)定為0</p><p>  MOV WAVKD,#01H ;波形類型初始化為1,即正弦波</p><p>  3.2 正弦波的產(chǎn)生程序<

24、;/p><p>  正弦波產(chǎn)生程序流程圖如圖4.1</p><p>  圖4.1 正弦波產(chǎn)生程序流程圖</p><p><b>  其程序清單如下:</b></p><p><b>  SETB TRO</b></p><p>  SINWAV:MOV RO,#00H

25、 ;查表指針初始化為0</p><p>  SINLP1:MOV DPTR,#SINTAB ;正弦波函數(shù)表地址送DPTR</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR ;</p><p>  MOV DPTR,#0FFFEH ;IC4地

26、址送DPTR</p><p>  MOVX @ DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  SINLP2:JNB TFO,SINLP2 ;由定時(shí)器控制頻率</p><p><b>  CLR TFO</b></p><p><b>  INC RO</b><

27、/p><p>  CJNE RO,#13H,SINTAB ;</p><p>  SINLP3:MOV DPTR,#SINTAB ;正弦波函數(shù)表表地址送DPTR</p><p><b>  MOV A,RO</b></p><p>  MOVC A,@ A,RO</p><p> 

28、 MOVC A,@ A+DPTR ;</p><p>  MOV DPTR,#FFFEH ;IC4F 地址送DPTR</p><p>  MOVX @DPTR,A </p><p>  SINLP4:JNB TFO ,DINLP4 ;由定時(shí)器控制頻率</p><p><b>  C

29、LR TFO</b></p><p><b>  DEC RO</b></p><p>  CJNE RO,#OOH,SINLP3 ;</p><p>  SINLP5:MOV DPTR,#SINTAB ;正弦波涵數(shù)表表地址送DPTR</p><p>  MOV A,RO </p

30、><p>  MOVC A,@ A+DPTR ;</p><p>  CPL A;取反</p><p>  MOV DPTR,#OFFFEH ;IC4地址送DPTR</p><p>  MOVX @ DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  SINLP6:JNB

31、TFO,SINLP6 ;由定時(shí)器控頻率</p><p><b>  CLR TFO</b></p><p><b>  INC RO</b></p><p>  CJNE RO,#13H,SINLP6 ;</p><p>  SINLP7:MOV DPTR,#SINTAB

32、 ;正弦波函數(shù)表地址送DPTR</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR ;</p><p>  CPL A ;取反</p><p>  MOV DPTR,#0FFFEH ;IC4地址送DP

33、TR</p><p>  MOVX @DPTR,A</p><p>  SINLP8:JNB TF0,SINLP8 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0</b></p><p><b>  DEC R0</b></p><p>

34、  CJNE R0,#00H,SINLP7 ;</p><p>  SJMP SINWAV ;輸出下一個(gè)周期</p><p>  SINTAB:DB 7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H</p><p>  DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,

35、0FEH,0FFH</p><p>  3.3 三角波的產(chǎn)生程序</p><p>  三角波產(chǎn)生程序流程圖如圖4.2</p><p>  圖4.2 三角波產(chǎn)生程序流程圖</p><p><b>  程序清單如下:</b></p><p><b>  SETB TR0</b&g

36、t;</p><p>  TRIWAV:MOV R0,#00H ;查表指針初始化為0</p><p>  TRILP1:MOV DPTR,#TRITAB ;正弦波函數(shù)表地址送DPTR</p><p><b>  MOV A,R0</b></p><p>  MOVC A,

37、@A+DPTR ;</p><p>  MOV DPTR,#0FFFEH ;IC4地址送DPTR</p><p>  MOVX @DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  TRILP2:JNB TF0,TRILP2 ;由定時(shí)器控制頻率</p><p><b

38、>  CLR TF0</b></p><p><b>  INC R0</b></p><p>  CJNE R0,#13H,TRILP1 ;</p><p>  TRILP3:MOV DPTR,#TRITAB ;正弦波函數(shù)表地址送DPTR</p><p><b&g

39、t;  MOV A,R0</b></p><p>  MOVC A,@A+DPTR ;</p><p>  MOV DPTR,#0FFFEH ;IC4地址送DPTR</p><p>  MOVX @DPTR,A</p><p>  TRILP4:JNB TF0,TRILP4

40、 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0</b></p><p><b>  DEC R0</b></p><p>  CJNE R0,#00H,TRILP3 ;</p><p>  TRILP5:MOV DPTR,#TRITAB ;正弦波函

41、數(shù)表地址送DPTR</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR ;</p><p>  CPL A ;取反</p><p>  MOV DPTR,#0FFFEH ;IC4地址送DPTR

42、</p><p>  MOVX @DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  TRILP6:JNB TF0,TRILP6 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0</b></p><p><b>  INC R0</b>

43、</p><p>  CJNE R0,#13H,TRILP6 ;</p><p>  TRILP7:MOV DPTR,#TRITAB ;正弦波函數(shù)表地址送DPTR</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR ;<

44、;/p><p>  CPL A ;取反</p><p>  MOV DPTR,#0FFFEH ;IC4地址送DPTR</p><p>  MOVX @DPTR,A</p><p>  TRILP8:JNB TF0,TRILP8 ;由定時(shí)器控制頻率</p>

45、<p><b>  CLR TF0</b></p><p><b>  DEC R0</b></p><p>  CJNE R0,#00H,TRILP7 ;</p><p>  SJMP TRIWAV ;輸出下一個(gè)周期</p><p>  TRITA

46、B:DB 7FH,86H,8DH,94H,9BH,0A2H,0A9H,0B0H,0B7H,0BEH</p><p>  DB 0C5H,0CCH,0D3H,0DAH,0E1H,0E8H,0EFH,0F6H,0FDH</p><p>  3.4 鋸齒波的產(chǎn)生程序</p><p>  鋸齒波產(chǎn)生程序流程圖如圖4.3</p><p>  圖4.

47、3 鋸齒波產(chǎn)生程序流程圖</p><p><b>  程序清單如下:</b></p><p><b>  SETB TR0</b></p><p>  SOWWAV:MOV DPTR,#0FFFEH ;IC4地址送DPTR</p><p>  MOV R0,#00H

48、 ;波形輸出初值為0</p><p>  SOWLP1:MOV A,R0</p><p>  MOVX @DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  SOWLP2:JNB TF0,SOWLP2 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0<

49、/b></p><p>  INC R0 ;R0加1</p><p>  SJMP SOWLP1</p><p>  3.5 方波的產(chǎn)生程序</p><p>  方波產(chǎn)生程序流程圖如圖4.4</p><p>  圖4.4 方波產(chǎn)生程序流程圖</p><p

50、><b>  其程序清單如下:</b></p><p><b>  SETB TR0</b></p><p>  BOXWAV:MOV DPTR,#0FFFEH ;IC4地址送DPTR</p><p>  BOXLP1:MOV A,#0FFH ;高脈沖</p>

51、<p>  MOVX @DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  BOXLP2:JNB TF0,BOXLP2 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0</b></p><p>  MOV A,#00H ;低脈沖

52、</p><p>  MOVX @DPTR,A ;輸出數(shù)據(jù)給D/A</p><p>  BOXLP3:JNB TF0,BOXLP3 ;由定時(shí)器控制頻率</p><p><b>  CLR TF0</b></p><p>  SJMP BOXLP1</p>&l

53、t;p><b>  3.6 顯示程序</b></p><p>  顯示程序模塊主要用于初始化顯示、鍵入數(shù)據(jù)的顯示,其中初始化顯示程序在顯示電路的調(diào)試部分已給出,這里不再重復(fù)。下面就鍵入數(shù)據(jù)的顯示程序作一說(shuō)明。</p><p>  本顯示器由8個(gè)7段LED組成。其中,L1~L4四位用于顯示頻率;L5~L7三位用于顯示幅值,L6的小數(shù)點(diǎn)常亮,顯示范圍是00.0~99

54、.9V,滿足本波形發(fā)生器的幅值要求;L8用于顯示波形類型,1為正弦波,2為方波,3為三角波,4為鋸齒波。</p><p>  輸入數(shù)據(jù)通過(guò)查表轉(zhuǎn)換為對(duì)應(yīng)顯示碼,然后存于單片機(jī)內(nèi)存30H~37H中。由于采用單片機(jī)的串口外接串入并出移位寄存器驅(qū)動(dòng)顯示,越早寫(xiě)入串口的數(shù)據(jù)移到離單片機(jī)越遠(yuǎn)的顯示器。這樣顯示碼的存儲(chǔ)順序應(yīng)和顯示器的次序剛好相反,即L8的顯示碼存于30H中,L7~L5的顯示碼存于31H~33H,L4~L1的

55、顯示碼存于34H~37H中。顯示時(shí),將30H~37H中的顯示碼依次取出,寫(xiě)入單片機(jī)的串口中即可。</p><p><b>  程序清單如下:</b></p><p>  DISP8:MOV R0,#30H ;顯示指針初始化為指向第一個(gè)數(shù)</p><p>  MOV SCON,#00H ;將串行口初始化為方式0</p

56、><p>  DISP80:MOV A,@R0 ;顯示碼送A</p><p>  MOV SBUF,A ;由串行口發(fā)送到7段LED上顯示</p><p>  DISP81:JNB TI,DISP81 ;等待本次串行輸出完成</p><p>  ACALL DLAY1 ;延時(shí)一段時(shí)間</p&

57、gt;<p>  CLR TI ;清發(fā)送中斷標(biāo)志</p><p>  INC R0 ;準(zhǔn)備查下一個(gè)數(shù)</p><p>  CJNE R0,#38H,LOOP ;看8個(gè)數(shù)是否已輸出顯示完,未顯示完,則繼續(xù)</p><p>  RET ;已顯示完,則退出</p>

58、<p>  對(duì)于一個(gè)復(fù)雜的軟件,一定要有一個(gè)軟件總流程圖,以便反映各個(gè)軟件子模塊間的內(nèi)在聯(lián)系,表達(dá)各個(gè)子模塊的功能。根據(jù)對(duì)軟件任務(wù)的討論,得到波形發(fā)生器的軟件總流程圖如圖4.5所示</p><p>  圖4.5 系統(tǒng)總程序流程圖</p><p><b>  4系統(tǒng)調(diào)試</b></p><p>  4.1 系統(tǒng)硬件調(diào)試</p&

59、gt;<p>  一個(gè)單片機(jī)應(yīng)用系統(tǒng)經(jīng)過(guò)方案論證、硬件設(shè)計(jì)、印刷版的布局、加工和焊接包括軟件的編制,通常不可能一次成功,不可避免地要出現(xiàn)一些錯(cuò)誤,這就要靠調(diào)試來(lái)解決。調(diào)試的次序一般是先易后難,后面的調(diào)試應(yīng)盡可能采用以前已調(diào)好的電路,各單元電路(或稱作單元模塊)都調(diào)好以后,再進(jìn)行系統(tǒng)總調(diào)。</p><p>  對(duì)于本波形發(fā)生器,其硬件電路的調(diào)試可以按如下步驟進(jìn)行。</p><p&g

60、t;  1)硬件電路的總體檢查</p><p>  在一塊電路試驗(yàn)板上,焊接好電路,按實(shí)際電路圖插好元器件,連好線。在接上電源之前,用萬(wàn)用表粗略檢查電路的正確性,尤其是要檢查電源和地之間的電阻。對(duì)于本波形發(fā)生器來(lái)講,電源和地之間的電阻應(yīng)為1k歐以上,若太小,應(yīng)檢查電源和地之間是否有短路現(xiàn)象或電源接錯(cuò)現(xiàn)象或有不良元器件。確保電源</p><p>  和地?zé)o故障之后,再通電,然后檢查各電源+5

61、V、+12V和—12V電壓數(shù)值的正確性。排除可能出現(xiàn)的故障后,再進(jìn)行各單元電路調(diào)試。</p><p><b>  2)單元電路調(diào)試</b></p><p>  ①單片機(jī)最小系統(tǒng)調(diào)試</p><p>  按照前面設(shè)計(jì)的單片機(jī)最小系統(tǒng)和電源,焊接并插上相應(yīng)的元器件,連好線,檢查正確無(wú)誤后,接上電源,用示波器測(cè)試單片機(jī)的時(shí)鐘波形。若時(shí)鐘波形和頻率正確

62、,則進(jìn)行下一步檢查。</p><p>  切斷電源,空出單片機(jī)AT89C51的位置,并在此位置上插入仿真器的40芯仿真頭。連好相應(yīng)線,檢查正確無(wú)誤后,接上電源,然后啟動(dòng)仿真器,檢查地址鎖存等電路的正確性。</p><p><b> ?、诓ㄐ屋敵鲭娐氛{(diào)試</b></p><p>  按電路接線方法,我們可以知道D/A轉(zhuǎn)換器IC3和IC4的地址分別

63、為0FDH和0FEH,向著兩個(gè)地址分別寫(xiě)入相應(yīng)的數(shù)據(jù)后,若電路正確就啟動(dòng)了它們的D/A轉(zhuǎn)換,若這時(shí)運(yùn)放IC6和IC8輸出的電壓值相符,則說(shuō)明波形輸出電路正確。</p><p>  4.2 系統(tǒng)軟件調(diào)試</p><p>  首先,將源程序進(jìn)行匯編,若匯編未通過(guò),則匯編程序會(huì)提示出錯(cuò)類型,比如操作碼錯(cuò)、缺少操作數(shù)、跳轉(zhuǎn)出范圍、符號(hào)未定義、缺少“,”等常見(jiàn)錯(cuò)誤。經(jīng)過(guò)修改后再進(jìn)行匯編,若這時(shí)提示匯

64、編成功,保存目標(biāo)文件,則說(shuō)明源程序的指令使用沒(méi)有錯(cuò)誤。但并不表示程序沒(méi)有錯(cuò)誤,還必須經(jīng)過(guò)仿真調(diào)試,仿真通過(guò)才說(shuō)明程序設(shè)計(jì)正確。</p><p>  接下來(lái)要進(jìn)行實(shí)物仿真調(diào)試,在用戶電路板上插好仿真頭,接好通信電纜,接通電源,運(yùn)行仿真程序。在進(jìn)行實(shí)物仿真之前,要選擇正確的仿真頭、通信口、通信協(xié)議和波特率等,并設(shè)置用戶程序空間和數(shù)據(jù)空間所處的位置(用戶板上或仿真頭)。然后,裝入前面的提示符顯示程序,匯編并執(zhí)行。若在用

65、戶板上的8個(gè)七段LED顯示器上顯示的結(jié)果是“12345678”,則說(shuō)明提示符程序設(shè)計(jì)完全正確。其他軟件模塊的調(diào)試方法類似。</p><p>  4.3 系統(tǒng)整體調(diào)試</p><p>  在系統(tǒng)的硬件各軟件分別調(diào)試成功后,可以進(jìn)行系統(tǒng)的整體調(diào)試.先用仿真器進(jìn)行調(diào)試,插好仿真頭,接通電源,啟動(dòng)仿真器,將本波形發(fā)生器的系統(tǒng)軟件</p><p>  裝入仿真器中,并運(yùn)行,調(diào)

66、試系統(tǒng)的整體配合的正確性,直到滿意為止。</p><p><b>  5 設(shè)計(jì)總結(jié)</b></p><p>  小結(jié):本設(shè)計(jì)基本上達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。本設(shè)計(jì)是通過(guò)大量閱讀國(guó)內(nèi)外相關(guān)文獻(xiàn),總結(jié)了波形發(fā)生器、AT89C51和DAC0832還有匯編語(yǔ)言的各自的特點(diǎn)的基礎(chǔ)上而提出的。</p><p>  收獲:1.本設(shè)計(jì)采用了單片機(jī)技術(shù)來(lái)設(shè)計(jì)波形發(fā)生器

67、,使波形發(fā)生器操作和使用都非常方便;</p><p>  2.本文比較了不同系列的單片機(jī)的功能和特性,最終選取了AT89C51單片機(jī),研究了系統(tǒng)各個(gè)模塊的特點(diǎn),分別列寫(xiě)了各個(gè)模塊的流程圖和匯編程序,使得具體工作有的放矢,很好的滿足了要求;</p><p>  3. 經(jīng)過(guò)本次畢業(yè)設(shè)計(jì),作者對(duì)開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過(guò)程得到了進(jìn)一步的了解和體會(huì)。</p><p>  意見(jiàn)

68、和建議:1. 由于個(gè)人能力和時(shí)間上的限制,匯編程序及系統(tǒng)程序還略有不足和粗糙,在考慮問(wèn)題的全面性上還有一定的欠缺;</p><p>  2. 每一個(gè)處理階段的程序模塊的優(yōu)化和各個(gè)模塊的銜接性有待增強(qiáng)。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 蔣廷彪,劉電霆,高富強(qiáng),方華.單片機(jī)原理及應(yīng)用(MCS-51).

69、重慶:重慶大學(xué)出版社,2003</p><p>  [2] 劉南平,吉紅.模擬電子技術(shù).北京:科學(xué)出版社,2005.9.153-183</p><p>  [3] 李朝青.單片機(jī)原理及接口技術(shù)[M].北京:航空航天大學(xué)出版社,1994</p><p>  [4] 趙亮,侯國(guó)銳.單片機(jī)C語(yǔ)言編程與實(shí)例.北京:人民郵電出版社,2003</p><p&

70、gt;  [5] 陳光東,趙性初.單片機(jī)微型計(jì)算機(jī)原理與接口技術(shù).第二版.武漢:華中科技大學(xué)出版社,1999</p><p>  [6] 江思敏,姚鵬翼,胡榮等.Protel電路設(shè)計(jì)教程.北京:清華大學(xué)出版社,2002</p><p>  [7] 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試 .第二版.武漢:華中科技大學(xué)出版社,1999</p><p>  

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論