久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2317|回復: 0
打印 上一主題 下一主題
收起左側

51單片機實現函數發生器的實驗及總結

[復制鏈接]
跳轉到指定樓層
樓主
ID:415079 發表于 2018-10-25 10:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

摘  要

本文介紹一種用AT89C51單片機構成的波形發生器,可產生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據需要選擇單極性輸出或雙極性輸出,具有線路簡單、結構緊湊、性能優越等特點。 文章給出了源代碼,通過仿真測試,其性能指標達到了設計要求。

目錄

摘 要            
目  錄            
第一章 緒論            
1.1單片機概述            
1.2信號發生器的分類            
1.3研究內容            
第二章 方案的設計與選擇            
2.1方案的比較            
2.2設計原理            
2.3設計思想            
2.4設計功能            
第三章 硬件設計            
3.1硬件原理框圖            
3.2主控電路            
3.3數、模轉換電路            
3.4按鍵接口電路            
3.5時鐘電路            
3.6顯示電路            
第四章 軟件設計            
4.1程序流程圖            
第五章 總結與展望            
致  謝            
參考文獻            
附錄1電路原理圖            
附錄2 源程序            
附錄 3 器件清單

第一章 緒論

1.1單片機概述

隨著大規模集成電路技術的發展,中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、(I/O)接口、定時器/計數器和串行通信接口,以及其他一些計算機外圍電路等均可集成在一塊芯片上構成單片微型計算機,簡稱為單片機。 單片機具有體積小、成本低,性能穩定、使用壽命長等特點。 其最明顯的優勢就是可以嵌入到各種儀器、設備中,這是其他計算機和網絡都無法做到的[9, 10]。

1.2信號發生器的分類

信號發生器應用廣泛,種類繁多,性能各異,分類也不盡一致。 按照頻率范圍分類可以分為:超低頻信號發生器、低頻信號發生器、視頻信號發生器、高頻波形發生器、甚高頻波形發生器和超高頻信號發生器。 按照輸出波形分類可以分為:正弦信號發生器和非正弦信號發生器,非正弦信號發生器又包括:脈沖信號發生器,函數信號發生器、掃頻信號發生器、數字序列波形發生器、圖形信號發生器、噪聲信號發生器等。 按照信號發生器性能指標可以分為一般信號發生器和標準信號發生器。 前者指對輸出信號的頻率、幅度的準確度和穩定度以及波形失真等要求不高的一類信號發生器。 后者是指其輸出信號的頻率、幅度、調制系數等在一定范圍內連續可調,并且讀數準確、穩定、屏蔽良好的中、高檔信號發生器。

1.3 研究內容

本文是做基于單片機的信號發生器的設計,將采用編程的方法來實現三角波、鋸齒波、矩形波、正弦波的發生。 根據設計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。 在程序運行中,當接收到來自外界的命令,需要輸出某種波形時再調用相應的中斷服務子程序和波形發生程序,經電路的數/模轉換器和運算放大器處理后,從信號發生器的輸出端口輸出。     


第二章 方案的設計與選擇

2.1 方案的比較

方案一:采用單片函數發生器(如8038),8038可同時產生正弦波、方波等,而且方法簡單易行,用D/A轉換器的輸出來改變調制電壓,也可以實現數控調整頻率,但產生信號的頻率穩定度不高。
方案二:采用鎖相式頻率合成器,利用鎖相環,將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數的要求,且電路復雜。
方案三:采用單片機編程的方法來實現。 該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實現頻率的變換。 此外,由于通過編程方法產生的是數字信號,所以信號的精度可以做的很高。
鑒于方案一的信號頻率不夠穩定和方案二的電路復雜,頻率覆蓋系數難以達標等缺點,所以決定采用方案三的設計方法。 它不僅采用軟硬件結合,軟件控制硬件的方法來實現,使得信號頻率的穩定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價格便宜,使得硬件的開銷達到最省。

2.2 設計原理

數字信號可以通過數/模轉換器轉換成模擬信號,因此可通過產生數字信號再轉換成模擬信號的方法來獲得所需要的波形。 89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數器以及串行通訊接口等,只要將89C51再配置鍵盤及其接口、顯示器及其接口、數模轉換及波形輸出、指示燈及其接口等四部分,即可構成所需的波形發生器,其信號發生器構成原理框圖如圖2.1所示。
圖2.1  信號發生器原理框圖
89C51是整個波形發生器的核心部分,通過程序的編寫和執行,產生各種各樣的信號,并從鍵盤接收數據,進行各種功能的轉換和信號幅度的調節。 當數字信號經過接口電路到達轉換電路,將其轉換成模擬信號也就是所需要的輸出波形。
1

2.3 設計思想

(1)利用單片機產生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。
(2)將一個周期的信號分離成256個點(按X軸等分),每兩點之間的時間間隔為T,用單片機的定時器產生,其表示式為:T=T/256。
如果單片機的晶振為12MHz,采用定時器方式0,則定時器的初值為:
                         X=213—T/Tmec                                  (2.1)

定時時間常數為:
                     TL =(8192—T)/MOD256                           (2.2)
TH=(8192T)/256                                  (2.3)
MOD32表示除32取余數
(3)正弦波的模擬信號是D/A轉換器的模擬量輸出,其計算公式為:
                         Y=(A/2sint)+A/2   (其中A=VREF)                 (2.4)
                        t=NT             (N=1~256)                      (2.5)
那么對應著存放在計算機里的這一點的數據為:                    
                                                                             (2.6)   (4)一個周期被分離成256個點,對應的四種波形的256個數據存放在以TAB1--TAB4為起始地址的存儲器中。

2.4 設計功能
(1)本方案利用8155擴展8個獨立式按鍵,6個LED顯示器。 其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出,“S3” 號鍵代表鋸齒波輸出。
(2)“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號,6個LED顯示器輸出信號的頻率值,選用共陽極LED。
(3)利用兩片DAC0832實現幅度可調的信號源,(其中一片用來調節幅度,另外一片用來實現信號源的輸出)。
(4)頻率范圍:10~1000Hz。
(5)輸出波形幅度為0~5V。
1

第三章 硬件設計
3.1 硬件原理框圖

硬件原理方框圖如圖3.1所示。

圖3.1 硬件原理框圖

3.2 主控電路

AT89C51單處機內部設置兩個16位可編程的定時器/計數器T0和T1,它們具有計數器方式和定時器方式兩種工作方式及4種工作模式。 在波形發生器中,將其作定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。 模式1采用的是16位計數器,當T0或T1被允許計數后,從初值開始加計數,最高位產生溢出時向CPU請求中斷。
中斷系統是使處理器具有對外界異步事件的處理能力而設置的。 當中央處理器CPU正在處理某件事的時候外界發生了緊急事件,要求CPU暫停當前的工作,轉而去處理這個緊急事件。 在波形發生器中,只用到片內定時器/計數器溢出時產生的中斷請求,即是在AT89C51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產生中斷之前,AT89C51等待,直到定時器計時結束,產生中斷請求,AT89C51響應中斷,接著輸出下一個采樣點信號,如此循環產生所需要的信號波形[6]。
如圖3.2所示,AT89C51從P0口接收來自鍵盤的信號,并通過P2口輸出一些控制信號,將其輸入到8155的信號控制端,用于控制其信號的輸入、輸出。 如果有鍵按下,則在讀控制端會產生一個讀信號,使單片機讀入信號。 如果有信號輸出,則在寫控制端產生一個寫信號,并將所要輸出的信號通過8155的PB口輸出,并在數碼管上顯示出來。

  7

圖3.2  主控電路圖

3.3 數/模轉換電路

由于單片機產生的是數字信號,要想得到所需要的波形,就要把數字信號轉換成模擬信號,所以該文選用價格低廉、接口簡單、轉換控制容易并具有8位分辨率的數模轉換器DAC0832。 DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉換器以及輸入控制電路四部分組成。 但實際上,DAC0832輸出的電量也不是真正能連續可調,而是以其絕對分辨率為單位增減,是準模擬量的輸出。 DAC0832是電流型輸出,在應用時外接運放使之成為電壓型輸出。
由圖3.3可知,DAC0832的片選地址為7FFFH,當P25有效時,若P0口向其送的數據為00H, 則U1 的輸出電壓為0V;若P0口向其送的數據為0FFH時, 則U1的輸出電壓為-5V. 故當U1 輸出電壓為0V時,由公式                  得:Vout = - 5V.當輸出電壓為- 5V時,可得:Vout = +5V,所以輸出波形的電壓變化范圍為- 5V~+ 5V. 故可推得,當P0所送數據為80H時,Vout為0V[4]。


圖3.3 數模轉換電路

3.4 按鍵接口電路

圖3.4為鍵盤接口電路的原理圖,圖中鍵盤和8155的PA口相連,AT89C51的P0口和8155的D0口相連,AT89C51不斷的掃描鍵盤,看是否有鍵按下,如有,則根據相應按鍵作出反應。 其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出。“S3”號鍵代表鋸齒波輸出,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號[3]。

   圖3.4 按鍵接口

3.5 時鐘電路
8051單片機有兩個引腳(XTAL1,XTAL2)用于外接石英晶體和微調電容,從而構成時鐘電路,其電路圖如圖3.5所示。
電容C1、C2對振蕩頻率有穩定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。 由于頻率較大時,三角波、正弦波、鋸齒波中每一點的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的頻率波形[9]。

     圖3.5 時鐘電路

3.6 顯示電路

顯示電路是用來顯示波形信號的頻率,使得整個系統更加合理,從經濟的角度出發,所以顯示器件采用LED數碼管顯示器。 而且LED數碼管是采用共陽極接法,當主控端口輸出一個低電平后,與其相對應的數碼管即變亮,顯示所需數據。 其器件模型如圖3.6所示。

圖3.6 LED顯示電路


第四章 軟件設計
4.1 程序流程圖
本文中子程序的調用是通過按鍵的選擇來實現,在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數據值,通過轉換輸出相應的電壓,從而形成所需的各種波形。
主程序的流程圖如圖4.1所示,在程序開始運行之后,首先是對8155進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數,并通過顯示器顯示出來,不符則返回。 在中斷結束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。

圖4.1  主程序流程圖

圖4.2為各波形子程序的流程圖。 如圖所示,在中斷服務子程序開始后,通過判斷來確定各種波形的輸出,當判斷選擇的不是方波后,則轉向對正弦波的判斷,如此反復。 如果選擇的是方波,則用查表的方法求出相應的數據,并通過D/A轉換
器將數據轉換成模擬信號,形成所需波形信號。


圖4.2  子程序流程圖

綜合實驗總結

課程設計是培養學生綜合運用所學知識, 發現, 提出, 分析和解決實際問題, 鍛煉實踐能力的重要環節, 是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。 因此作為二十一世紀的大學來說掌握單片機的開發技術是十分重要的。
回顧起此次單片機課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在好幾個星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。 在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……通過這次課程設計之后,一定把以前所學過的知識重新溫故。
這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在宋老師的辛勤指導下,終于游逆而解。 同時,在宋老師那里我學得到很多實用的知識,在次我表示感謝!同時,對給過我幫助的所有同學和各位指導老師再次表示忠心的感謝!


完整的Word格式文檔51黑下載地址:
單片機函數信號發生器(51單片機).doc (372.5 KB, 下載次數: 28)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线不卡视频 | 亚洲三级av | 欧美日韩大片 | 亚洲精品一区中文字幕乱码 | 国产69精品久久99不卡免费版 | 毛片韩国 | 亚洲九色 | 欧美色人 | 国产在线精品免费 | 狠狠躁躁夜夜躁波多野结依 | av官网在线| 婷婷91| 国产精品免费一区二区三区四区 | 日韩视频在线观看中文字幕 | 国产精品久久久久久久久久免费看 | 精品久久久久久一区二区 | 国产精品视频区 | 性做久久久久久免费观看欧美 | 久久黄网 | 久久久久久国产精品 | 国产小视频在线观看 | 欧美精品一区二区三区视频 | 免费av毛片 | 免费一级片 | 国产成人精品999在线观看 | 日韩日韩日韩日韩日韩日韩日韩 | 天天躁日日躁狠狠躁白人 | 欧美老妇交乱视频 | 成人高清在线视频 | www.亚洲精品| 亚洲一区 中文字幕 | 日韩电影一区二区三区 | 久久精品一区二区三区四区 | 91精品国产91久久久久游泳池 | 欧美一级三级在线观看 | av一级久久 | 在线观看涩涩视频 | 91麻豆精品国产91久久久资源速度 | 国产成人亚洲精品 | av手机免费在线观看 | 日本精品视频 |