微控制器課程設計訊號發生器的設計

2022-10-14 09:51:05 字數 6600 閱讀 8106

摘要隨著資訊科技的高速發展,微控制器在生活以及工業生產中擔任著越來越重要的角色,因而掌握好微控制器的知識對我們資訊專業的學生來說非常重要。本文介紹一種用at89c52微控制器接乙個數模轉換器構成的微控制器波形發生器,可產生較清晰的方波、

三角波、鋸齒波和正弦波4種波形訊號,用示波器可以顯示輸出的波形,波形的週期可用程式改變,並可根據需要選擇單極性輸出或雙極性輸出,訊號的週期則通過乙個電位器可以調節,可以輸出集中頻率的波形,本設計電路具有線路簡單、結構緊湊、

效能優越等特點。

關鍵詞:訊號發生器 at89c52微控制器adc0808i目錄

摘要i 第1章緒論. (1)

第2章系統設計 (2)

2.1設計思路 (2)

2.2設計功能 (2)

第3章過程論述 (3)

3.1 硬體設計 (3)

3.2 軟體設計 (5)

第4章電路實現 (9)

第5章波形** (11)

5.1正弦波的** (11)

5.2方波的** (11)

5.3鋸齒波的** (12)

5.4 三角波的** (12)

第6章課程設計總結 (12)

參考文獻 (14)

附錄源程式清單 (15)

第一章緒論

隨著資訊科技的飛鼠發展,微控制器技術作為計算機技術的乙個分支,廣泛地應用於工業控制,智慧型儀器儀表,機電一體化產品,家用電器等各個領域。成為現代化電子系統中最重要的智慧型化工具。因而掌握一定的微控制器技術對與工科類的學生來說十分重要。

訊號發生器應用廣泛,種類繁多,效能各異,分類也不盡一致。按照頻率範圍分類可以分為:超低頻訊號發生器、低頻訊號發生器、**訊號發生器、高頻波形發生器、甚高頻波形發生器和超高頻訊號發生器。

按照輸出波形分類可以分為:正弦訊號發生器和非正弦訊號發生器,非正弦訊號發生器又包括:脈衝訊號發生器,函式訊號發生器、掃頻訊號發生器、數字序列波形發生器、圖形訊號發生器、雜訊訊號發生器等。

按照訊號發生器效能指標可以分為一般訊號發生器和標準訊號發生器。前者指對輸出訊號的頻率、幅度的準確度和穩定度以及波形失真等要求不高的一類訊號發生器。後者是指其輸出訊號的頻率、幅度、調製係數等在一定範圍內連續可調,並且讀數準確、穩定、遮蔽良好的中、高檔訊號發生器。

訊號發生器是一種常用的訊號源,廣泛應用於科學研究、生產實踐和教學實驗等領域。特別是在通訊系統的科研實驗中,常常需要用到多種不同頻率和相位的訊號,如正弦波、三角波、方波和鋸齒波等,因此多功能訊號發生器應用十分廣泛。在數位化時代的今天,經典的由模擬電路組成的訊號發生器已經漸漸遠離了人們,取而代之的是電路簡潔、功能多樣、功耗低的數位電路。

在以後的時間裡,將會有越來越多的數位化的訊號發生器運用在各種科學技術領域和工程實踐中,給人們的日常生活帶來更多的便利。

本文是做基於微控制器的訊號發生器的設計,將採用程式設計的方法來實現三角波、鋸齒波方波、正弦波的發生。根據設計的要求,對各種波形的頻率和幅度進行程式的編寫,並將所寫程式裝入微控制器的程式儲存器中。在程式執行中,當接收到來自外界的命令,需要輸出某種波形時再呼叫相應的中斷服務子程式和波形發生程式,經電路的數/模轉換器和運算放大器處理後,從訊號發生器的輸出埠輸出

第二章系統設計

2.1設計思路

數碼訊號可以通過數/模轉換器轉換成模擬訊號,因此可通過產生數碼訊號

再轉換成模擬訊號的方法來獲得所需要的波形。at89c52微控制器本身就是乙個完整的微型計算機,具有組成微型計算機的各部分部件:**處理器cpu、隨機訪問儲存器ram、唯讀儲存器rom、i/o介面電路、定時器/計數器以及序列通訊介面等,只要將at89c52再配置鍵盤及其介面、數模轉換及波形輸出、

指示燈及其介面等三部分,即可構成所需的波形發生器,其訊號發生器構成原理框圖如圖所示。[2]

圖2.1 原理圖

2.2設計功能

(1)本方案利用4個獨立式按鍵。其中「k0」號鍵代表方波輸出,「k1」號鍵代表鋸齒波輸出,「k2」號鍵代表三角波輸出,「k3」號鍵代表正弦波輸出。

(2)利用dac0808接變阻器可對訊號源幅度的調節,

(3)頻率範圍:10~1000hz。

第3章過程論述

3.1 硬體設計

本系統由微控制器、顯示介面電路,波形轉換(d/a)電路和電源等四部分構成。硬體原理方框圖如圖所示。

圖3.1 硬體原理方框圖

3.1.1 按鍵介面電路

圖4.1.1為鍵盤介面電路的原理圖,圖中「k1」號鍵控制方波輸出,「k2」號鍵控制鋸齒波輸出。「k3」號鍵控制三角波輸出,「k4」號鍵控制正弦波輸出。

圖3.2 按鍵介面圖

3.1.2 d/a轉換電路

由於微控制器產生的是數碼訊號,要想得到所需要的波形,就要把數碼訊號轉換成模擬訊號,所以該文選用**低廉、介面簡單、轉換控制容易並具有8位解析度的數模轉換器dac0808。dac0832主要由8位輸入暫存器、8位dac 暫存器、8位d/a轉換器以及輸入控制電路四部分組成。dac0808輸出的電量也不是真正能連續可調,而是以其絕對解析度為單位增減,是準模擬量的輸出。

dac0808是電流型輸出,在應用時外接運放使之成為電壓型輸出。如圖 3.1.

2所示圖3.3 d/a轉換圖

3.1.3 微控制器控制電路

如圖4.1.3所示,at89c52從p3口接收來自按鍵訊號,並通過p0口輸出一些控制訊號,將其輸入到dac0808輸出特定的訊號。

圖3.4 微控制器控制電路圖

3.2 軟體設計

3.2.1主程式流程圖

圖3.5 主程式流程圖

3.2.2 子程式流程圖

(1)方波程式流程圖

圖3.6 方波程式流程圖

(2)鋸齒波程式流程圖

圖3.7 鋸齒波程式流程圖

(3)三角波程式流程圖

圖3.8 三角波程式流程圖

(4)正弦波程式流程圖

圖3.9 正弦波程式流程圖

第4章電路實現如圖4.1 為本設計的電路圖

圖4.1 總電路圖

第5章波形**

5.1正弦波的**

如圖6.1所示,為正弦波的**圖,由於電路上的某些缺陷導致訊號幅度有時有些跳變。[1]

圖5.1 正弦波**圖

5.2方波的**

如圖6.2為方波的**圖,可以看出,方波的**效果較好

圖5.2 方波**圖

5.3鋸齒波的**

圖5.3 鋸齒波**圖5.4 三角波的**

圖5.4 三角波**圖

第6章課程設計總結

課程設計鍛鍊同學們獨立動手能力,發現問題,解決問題的重要環節。對於同學們能力的提高具有很大的作用。一方面他能幫助同學們鞏固學過的知識,另一方面又能幫助我們學到一些新的知識。

因此,它是非常有意義的。

在剛拿到這個題目的時候,腦袋裡還是一塌糊塗,根本還不知道到底該如

何動手,但在老師的精心指導下。發現他並不是之前想象的那麼難。很多大的問題把它化解成小問題,再把小問題逐個解決後,大的問題也就沒有了。

其中還發現乙個很大的問題:就是很難將書本上的東西靈活地運用到這裡面來,自己的動手能力還有待提高。

這次課程設計終於順利完成了,在設計中遇到了很多問題,這在平時的學習當中是沒有法相的,比如數模轉換器的應用以及它的附加電路,平時就沒有和足以到。這次的課程設計業相當於對自己學過的知識進行了一次比較全面的總結於

檢查,他涉及到很多方面的知識,如:電路,組合語言,微控制器等,對學生的動

手能力要求比較高。最後我要對在這次課程設計中的指導老師表示感謝同時也對

所有幫助過我的同學們表示衷心的感謝!

參考文獻

[1] 李泉溪,微控制器原理與應用例項**,北京,北京航空航天大學出版社,2009

[2] 江世明,基於protues的微控制器應用技術,北京,電子工業出版社,2009

[3] 張克農,數字電子技術,高等教育出版社,北京,2009

附錄源程式清單

squ_k bit p3.4

saw_k bit p3.5

tri_k bit p3.6

sin_k bit p3.7

squ_l bit p1.0

saw_l bit p1.1

tri_l bit p1.2

sin_l bit p1.3

org 00h

start: mov p1,#0ffh ;將p1初始化為0ffh

mov p2,#0ffh

mov p3,#0ffh

mov dptr,#sin_tab ;將dptr指向正弦資料表頭main: mov p0,#00h ;將p0初始化為00h

jnb squ_k,s1 ;檢測方波選擇端squ_k,若squ_k=0,程式轉向s1

setb squ_l ;將squ_l置1

jnb saw_k,s2

setb saw_l

jnb tri_k,s3

setb tri_l

jnb sin_k,s4

setb sin_l

sjmp main

s1: clr squ_l ;清除squ_l

lcall square ;調方波子程式

sjmp main

s2: clr saw_l

lcall sawtooth ;調鋸齒波子程式

sjmp main

s3: clr tri_l

lcall triang

sjmp main ;調三角波子程式

s4: clr sin_l

lcall sinw**e ;調正弦波子程式

square: mov r0,#00h

j11: mov p0,#0ffh ;p0口輸出0ffh

mov p2,#0ffh

mov a,p2 ;讀p2口狀態

cpl a ;取反

mov r3,a

l11: dec r3

cjne r3,#255,l11 ;比較若r3不等於255,轉向l11 inc r0

cjne r0,#254,j11 ;比較若r3不等於254,轉向j11

mov r0,#00h ;r0清0

j12: mov p0,#00h ;p0口輸出00h

mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l12: dec r3

cjne r3,#255,l12 ;比較若r3不等於255,轉向l12

inc r0

cjne r0,#254,j12 ;比較若r0不等於254,轉向j12

mov r0,#00h

retsawtooth: clr a

mov r7,a

j21: mov p0,r7 ;p0口輸出00h mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l21: dec r3

cjne r3,#255,l21

inc r7

cjne r7,#255,j21

rettriang: mov r7,#00h

j31: mov p0,r7

mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l31: dec r3

cjne r3,#255,l31

inc r7

cjne r7,#255,j31

j32: mov p0,r7

mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l32: dec r3

cjne r3,#255,l32

dec r7

dec r7

cjne r7,#00,j32

retsinw**e: mov r0,#00h ;r0指向正弦資料表頭k41: mov a,r0

movc a,@a+dptr ;查表

mov p0,a ;輸出資料

inc r0

mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l41: dec r3

cjne r3,#255,l41

cjne r0,#92,k41

k42: dec r0

mov a,r0

movc a,@a+dptr

mov p0,a

mov p2,#0ffh

mov a,p2

cpl a

mov r3,a

l42: dec r3

cjne r3,#255,l42

cjne r0,#0,k42

retsin_tab: db 0,0,0,0,1,1,2,3,4,5,6,8,9,11

db 13,15,17,19,22,24,27,30,33,36,39

db 42,46,49,53,56,60,64,68,72,76,80

db 84,88,92,97,101,105,110,114,119,123

db 128,132,136,141,145,150,154,158,163

db 167,171,175,179,183,187,191,195,199

邵陽學院課程設計(**)

db 202,206,209,213,216,219,222,225,228

db 231,233,236,238,240,242,244,246,247,249 db 250,251,252,253,254,255,255,255

end19

函式訊號發生器課程設計報告

鄭州科技學院 模擬電子技術課程設計 題目函式訊號發生器 姓名孫增光 專業班級 13級電氣工程及其自動化4班 學號201347105 院 系 電氣工程學院 指導教師周喜 完成時間 2015 年 6 月 12 日 目錄1 課程設計的目的1 2 課程設計的任務與要求2 3 設計方案與論證3 3.1方波 三...

基於微控制器的函式訊號發生器的設計與製作

第一章計算機基礎知識及mcs 51微控制器硬體結構1.1 數制與編碼 在計算機中,任何命令和資訊都是以二進位制資料的形式儲存的。本節將講解常用的十進位制 二進位制 十六進製制的含義及相互轉換的方法。1.1.1 二進位制數 二進位制數只有兩個數字符號 0和1。計數時按 逢二進一 的原則進行計數。在計算...

課程設計 函式發生器的設計

四川航天職業技術學院 電子工程系課程設計 班級g10應電1班 課程名稱函式發生器的設計 設計人員劉波 指導教師申勇 2011年 6 月 8日 四川航天職業技術學院電子工程應電1班 函式發生器的設計課程設計 任務書 元 器件清單 函式發生器的設計 摘要函式訊號發生器是一種能能夠產生多種波形,如三角波 ...