基于单片机的低频信号发生器设计.docx

上传人:b****4 文档编号:3774485 上传时间:2022-11-25 格式:DOCX 页数:18 大小:304.78KB
下载 相关 举报
基于单片机的低频信号发生器设计.docx_第1页
第1页 / 共18页
基于单片机的低频信号发生器设计.docx_第2页
第2页 / 共18页
基于单片机的低频信号发生器设计.docx_第3页
第3页 / 共18页
基于单片机的低频信号发生器设计.docx_第4页
第4页 / 共18页
基于单片机的低频信号发生器设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于单片机的低频信号发生器设计.docx

《基于单片机的低频信号发生器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的低频信号发生器设计.docx(18页珍藏版)》请在冰豆网上搜索。

基于单片机的低频信号发生器设计.docx

基于单片机的低频信号发生器设计

基于单片机的低频信号发生器设计

摘要

本文设计低频信号发生器,以AT89C52单片机为核心,通过键盘输入控制信号类型和频率的选择,采用DA转换芯片输出相应的波形,同时以示波器进行实时显示信号相关信息,采用汇编语言进行编程,可实现方波,三角波。

锯齿波,正弦波四中波形的产生,且波形的频率可调。

经测试该设计方案线路优化,结构紧凑,性能优越,满足设计要求。

关键词:

单片机,DA转换,信号发生器

ABSTRACT

Lowfrequencysignalgeneratordesign,thispaperUSESAT89C52single-chipmicrocomputerasthecore,throughthekeyboardinputcontrolsignaltypeandfrequencyofchoice,withDAconversionchipoutputcorrespondingwaveform,atthesametime,theLEDdisplayinformationreal-timedisplaysignal,usingassemblylanguageprogramming,whichcanrealizesquarewave,trianglewave.Productionofsawtooth,sinewave4waveform,andthefrequencyofthewaveformisadjustable.Bytestingthedesignschemeofcircuitoptimization,compactstructure,superiorperformance,meetthedesignrequirements.

KeyWords:

Singlechipmicrocomputer,DAconversion,signalgenerator

 

目 录

摘要II

ABSTRACTII

1设计要求及方案选择3

1.1设计要求3

1.2方案选择2

2理论分析与设计3

2.1按键电路的分析与设计4

2.2D/A转换模块的分析与设计5

3 电路设计3

3.1硬件电路的设计3

3.2软件的设计3

4系统测试4

4.1调试所用的基本仪器清单4

4.2调试结果4

4.3测试结果分析4

5总结4

参考文献5

 

1设计要求及方案选择

1.1设计要求

(一)任务

利用单片机与D/A转换器件DAC0832设计一个低频信号发生器,能产生正弦波、方波、锯齿波、三角波等波形。

(二)要求

1.基本要求

(1)输出波形可用按键选择。

(2)设计电路

(3)在KEIL中编辑、编译、调试程序,并在protuse中仿真。

2.扩展部分(选作)

(1)输出正弦波幅度:

Vppm≥20V.

(2)输出负载能力:

≥250Ma。

3.写出设计报告(报告有规定格式要求)

1.2方案选择

依据应用场合.需要实现的波形种类,波形发生器的具体指标要求会有所不同。

依据不间的设计要求选取不同的设计方案。

通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波。

有些场合可能还需要任意波形的产生。

各种波形共有的指标有:

波形的频率、幅度要求,频率稳定度,准确度等。

对于不同波形,具体的指标要求也会有所差异。

其具体的实现方法具体有以下几种:

方案一:

采用函数信号发生器ICL8038集成模拟芯片,它足一种可以同时产生方波、三角波、正弦波的专用集成屯路。

但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除-些,但不能完全滤除掉。

方案二:

釆用単片函数发生器(如8038).8038可以同时产生方波,三角波和正弦波等,而且方法简单易行,用D/A转换器的输出来调制电H压也可以实现数控调整频率,但是产生的信号频率的稳定性差。

方案二:

可以由晶体管、运放IC等通用器件制作,更多的则采用专门的函数倍号发生器1C产生。

早期的函数倍号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生史高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。

方案四:

釆用锁相式频率合成器,利用锁相环,将压控振荡器的输出频率锁定在所需要的频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,而且电路复杂不容易实现。

方案五:

釆用单片机编程的方法来实现。

该方法可以通过编程来控制波箱的频率和幅度,而且在硬件电路不变的情况下可以通过改变程序来实现频率的改变。

该种方案要对AT89C52中片机的各个I/O口允分利用。

这样总体来说,能对中片机各个接口都利用上,而不多用其它芯片,从而减小了系统的成本。

比较几种方案,方案一波形不理想,方案二所产生的频率信号不够稳定,方案二不能更好的体现所学知识而且效果不佳,方案四电路复杂不容易实现,方案五在低频范围内稳定性好、操作方便、功耗小、耗电少,而且方案更加满足设计的要求,在完成设计的同时能够更好的发挥间学们的各种各样的想法。

综合考虑,方案五各项性能和指标都优于其他几种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,所以本设计采用方案五。

2理论分析与设计

2.1按键电路的分析与设计

键盘电路是整个电路的控制部分。

通过K1控制产生方波,K2控制产生三角波,K3控制产生正弦波,K4控制产生锯齿波。

调幅与调频本应采用另连个键控制,但在分析DAC0832的输出,U=(Vref/2n)*D,由此公式可知,输出波形的幅度与Vref的大小有关,所以我们通过控制Vref的大小来改变波形的幅度,以简化我们的程序。

频率我们采用P2口控制,通过控制P2口的大小来改变程序中循环次数,来达到控制延时的目的,继而控制了频率。

键盘接口如下图

图2.1键盘接口电路

2.2D/A转换模块的电路分析与设计

数模转换电路采用的是DAC0832芯片。

它是一种使用较多的8位D/A转换器,其转换时间lus,工作电压为+5V到+15V,基准电压-10V到+10V。

由于其内部有两个8位寄存器和一个8位D/A转换器,故可进行两级缓冲操作,使操作有很大的灵活性,本设计采用单缓冲方式。

DAC0832与AT89C52的连接。

单机P0口与数模转换器的数据口连接,为保证单片机P0口的驱动能力,在P0口加上上拉电阻。

数模转换电路的连接如下图:

图2.2数模转换电路的连接图

3 电路设计

3.1硬件电路的设计

3.1.1硬件电路连接图

图3.1硬件电路连接图

3.1.2芯片说明

(1)AT89C52单片机

图3.2为AT89C52单片机引脚图

图3.2单片机引脚图

AT89C51管脚说明:

VCC:

供电电压

GND:

接地

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的笫八位。

在FIASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

PI口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,PI口作为第八位地址接收。

P2口:

P2口为个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

RST:

复位输入。

当振荡器复位器件时,耍保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节,在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0,此时,ALE只有在执行MOVX,MOVC指令足ALE才起作用。

此外,该引脚被略微拉髙。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA;VPP:

当VEA持低电平时,则在:

此期间外部程储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;/EA端保持髙电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加I2V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

(2)DAC0832转换器

图3.3为DAC0832引脚图

图3.3DAC0832引脚图

由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。

DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。

但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。

DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。

根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:

直通方式、单缓冲方式和双缓冲方式。

本设计选用直通方式。

DAC0832的数据口和单片机的P0口相连。

CSDA:

片选信号输入线(选通数据锁存器),低电平有效;

WR:

数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存

3.2 软件的设计

Keil是德国Keil公司出的目前世界上最好的51单片机的C语言开发工具[2],与汇编相比,C语言在功能、结构、可读性、可移植性上有明显优势,因此常用C语言开发符合实际工程需要的单片机系统,应用TCP/IP协议,Pro-teus与Keil的联调很好地解决了Proteus自带的编译系统无法对C语言进行编译的问题。

程序设计采用汇编语言编程,应用Keil软件编译程序段。

在汇编语言设计中,采用实时扫描按键,检查是否有按键被按下,检测到按键按下单片机才去执行相关程序。

程序设计代码如下:

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

JNBP1.0,PFB;定义按键

JNBP1.1,PSJ

JNBP1.2,PZX

JNBP1.3,PJC

LJMPMAIN

PFB:

MOVR7,#00H;方波

LCALLSQU

LJMPMAIN

PSJ:

MOVR7,#01H;三角

LCALLTRI

LJMPMAIN

PZX:

MOVR7,#02H;正弦

LCALLSIN

LJMPMAIN

PJC:

MOVR7,#03H;锯齿波

LCALLJCB

LJMPMAIN

SQU:

JNBP1.1,N1

JNBP1.2,N2

JNBP1.3,N7

LJMPSSQU

N1:

MOVR7,#01H

LJMPTC0

N2:

MOVR7,#02H

LJMPTC0

SSQU:

CJNER7,#00H,TC0

MOVR0,#00H

K00:

MOVP0,#0FFH

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L00:

DECR3

CJNER3,#255,L00

INCR0

INCR0

CJNER0,#254,K00

MOVR0,#00H

K01:

MOVP0,#00H

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L01:

DECR3

CJNER3,#255,L01

INCR0

INCR0

CJNER0,#254,K01

LJMPSQU

TC0:

RET

TRI:

JNBP1.0,N3

JNBP1.2,N4

JNBP1.3,N8

LJMPTTRI

JCB:

JNBP1.0,N3

JNBP1.2,N4

JNBP1.1,N1

LJMPJJCB

N3:

MOVR7,#00H

LJMPTC2

N4:

MOVR7,#02H

LJMPTC2

N7:

MOVR7,#03H

LJMPTC4

TTRI:

CJNER7,#01H,TC2

MOVR0,#00H

K20:

MOVP0,R0

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L20:

DECR3

CJNER3,#255,L20

INCR0

INCR0

CJNER0,#254,K20

K21:

MOVP0,R0

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L21:

DECR3

CJNER3,#255,L21

DECR0

DECR0

CJNER0,#0,K21

LJMPTRI

TC2:

RET

JJCB:

CJNER7,#03H,TC4

MOVR0,#00H

K22:

MOVP0,R0

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L22:

DECR3

CJNER3,#255,L22

INCR0

INCR0

CJNER0,#254,K22

LJMPJCB

TC4:

RET

SIN:

JNBP1.0,N5

JNBP1.1,N6

JNBP1.3,N8

LJMPSSIN

N5:

MOVR7,#00H

LJMPTC3

N6:

MOVR7,#01H

LJMPTC3

N8:

MOVR7,#03H

LJMPTC4

SSIN:

CJNER7,#02H,TC3

MOVR0,#00H

K30:

MOVA,R0

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

INCR0

MOVP2,#0FFH

MOVA,P2

CPLA

MOVR3,A

L30:

DECR3

CJNER3,#255,L30

CJNER0,#255,K30

LJMPSIN

TC3:

RET

TAB:

DB80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH

DB0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ABH,0ADH,0AFH,0B1H,0B2H,0B4H,0B6H,0B7H,0B9H,0BAH

DB0BCH,0BDH,0BFH,0C0H,0C1H,0C3H,0C4H,0C5H,0C6H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH

DB0CEH,0CFH,0D0H,0D1H,0D1H,0D2H,0D2H,0D3H,0D3H,0D4H,0D4H,0D4H,0D4H,0D5H,0D5H,0D5H

DB0D5H,0D5H,0D5H,0D5H,0D4H,0D4H,0D4H,0D4H,0D3H,0D3H,0D2H,0D2H,0D1H,0D1H,0D0H,0CFH

DB0CEH,0CEH,0CDH,0CCH,0CBH,0CAH,0C9H,0C8H,0C6H,0C5H,0C4H,0C3H,0C1H,0C0H,0BFH,0BDH

DB0BCH,0BAH,0B9H,0B7H,0B6H,0B4H,0B2H,0B1H,0AFH,0ADH,0ABH,0AAH,0A8H,0A6H,0A4H,0A2H

DB0A0H,9EH,9CH,9AH,98H,96H,94H,92H,90H,8EH,8CH,8AH,88H,86H,84H,82H

DB80H,7DH,7BH,79H,77H,75H,73H,71H,6FH,6DH,6BH,69H,67H,65H,63H,61H

DB5FH,5DH,5BH,59H,57H,55H,54H,52H,50H,4EH,4DH,4BH,49H,48H,46H,45H

DB43H,42H,40H,3FH,3EH,3CH,3BH,3AH,39H,37H,36H,35H,34H,33H,32H,31H

DB31H,30H,2FH,2EH,2EH,2DH,2DH,2CH,2CH,2BH,2BH,2BH,2BH,2AH,2AH,2AH

DB2AH,2AH,2AH,2AH,2BH,2BH,2BH,2BH,2CH,2CH,2DH,2DH,2EH,2EH,2FH,30H

DB31H,31H,32H,33H,34H,35H,36H,37H,39H,3AH,3BH,3CH,3EH,3FH,40H,42H

DB43H,45H,46H,48H,49H,4BH,4DH,4EH,50H,52H,54H,55H,57H,59H,5BH,5DH

DB5FH,61H,63H,65H,67H,69H,6BH,6DH,6FH,71H,73H,75H,77H,79H,7BH,7DH

END

改变程序中有关递增变量大小,即可改变输出波形的频率。

4系统测试

4.1调试所用的基本仪器清单

(1)AT89C52单片机

(2)DAC0832转换器

(3)OP1P集成运算放大器

(4)虚拟示波器

4.2调试结果

4.3 测试结果分析

5总结

参考文献

(5个左右参考文献,要按照严格标准写)

[1]张肃文.高频电子线路北京[M].北京:

高等教育出版社,2000.

[2]江思敏、姚鹏翼.PADS电路原理图和PCB设计[M].机械工业出版社,2007.

参考文献、注释的表述及编排格式说明(仅供参考)

一、参考文献表述和编排格式:

参考文献指的是写作论文时研究过、阅读查找过并且对形成本文有借鉴、参考作用的所有文献资料。

从理论上说,参考文献可以是引用过的文献,也可以是仅仅潜在性地启发了作者的思路而并没有直接引用的文献。

参考文献的类型标识:

M-专著,C-论文集,N-报纸文章,J-期刊文章,D-学位论文,R-报告,S-标准,P-专利,A-专著、论文集中的析出文献,EB/OL-电子文献,Z-其他未说明的文献类型。

如下表:

参考文献

类  型

期刊

文章

学位

论文

报告

报纸

文章

标准

专利

专著、析出文献

电子文献

其他

文献类型

标  示

J

M

C

D

R

N

S

P

A

EB/OL

Z

(一)参考文献的常用的表述格式:

1.专著、论文集、研究报告:

[序号]主要责任者(注:

两个责任者之间用逗号隔开).文献题名[文献类型标识].出版地:

出版者,出版年.

举例:

[1] 刘小龙.电视艺术美学[M].北京:

中国广播电视出版社,1999.

[2] 吴海霞,沈剑平.电视论坛[C].北京:

人民教育出版社,2003.

(2).

[3] 中国教育与人力资源问题报告课题组.从人口大国迈向人力资源强国[R].北京:

高等教育出版社,2003.

2.学位论文:

[序号]主要责任者.文献题名[D].保管地:

保管单位,完成年.

举例:

[1] 邓友.论电视艺术的美学性[D].北京:

北京广播学院,2004.

3.析出文献:

[序号]析出文献主要责任者(注:

两个责任者之间用逗号隔开).析出文献题名[A].原文献主要责任者.原文献题名[C].出版地:

出版者,出版年.析出文献起止页码(如文内已列明,则省略).

举例:

[1] [英]穆尔.电影理论的结构[A].瞿涛.电影学文集[C].北京:

人民出版社,1993.

4.期刊文章:

[序号]主要责任者.文献题名[J].刊名,出版年,卷(期).起止页码.

举例:

[9] 李海.音乐传播的文化思考[J].当代传播,2004,(10):

26-27.

5.报纸文章:

[序号]主要责任者.文献题名[N].报纸名,出版日期(版次).

举例:

[1] 周济.情系教育办好教育[N].中国教育报,2004-1-29

(1).

6.网络文献:

[序号]主要责任者.网络文献题名[文献类型标识].网络文献的出处或可获得地址.

举例:

[1] 吴霓.教育科学大家谈[J/OL].

[14] 方锦柔.中国人民大学学报论文文摘(1983—1993).英文版(DB/CD).北京:

中国百科全书出版社,1996.

7.外文期刊文献编排格式及示例

①作者姓名采用“姓在前名在后”原则,具体格式是:

姓,名字的首字母.如:

MalcolmRichardCowley应为:

Cowley,M.R.,如果有两位作者,第一位作者方式不变,&之后第二位作者名字的首字母放在前面,姓放在后面,如:

FrankNorris与IrvingGordon应为:

Norris,F.&I.Gordon.;

②书名、报刊名使用斜体字,如:

MasteringEnglishLiterature,EnglishWeekly。

其它与中文格式相同。

举例:

[1] JONESRM..MechanicsofCompositeMaterials[M].NewYork:

McGrawHillBookCompany,1975.

[2] DOWLERL.TheResearchUniversity'sDilemma:

ResourceSharingandResearchinaTransinstitutionalEnvironment[J].JournalLibraryAdministration,1995,21(1/2):

5-26.

[3] GUOAi-bing.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1