基于单片机的正弦信号发生器的设计.docx
- 文档编号:6016667
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:30
- 大小:1.05MB
基于单片机的正弦信号发生器的设计.docx
《基于单片机的正弦信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的正弦信号发生器的设计.docx(30页珍藏版)》请在冰豆网上搜索。
基于单片机的正弦信号发生器的设计
南昌大学职业技术学院
毕业设计
课题名称:
基于单片机的正弦信号发生器设
设计时间:
2011.11——2011.12
系部:
电子信息工程系
班级:
09电信专
姓名:
陈松
指导教师:
胡亮
总目录
第一部分任务书
第二部分开题报告
第三部分毕业设计正文
第一部分
任
务
书
南昌大学职业技术学院
毕业设计任务书
系部
电子信息
工程系
指导老师
胡亮
职称
助教
学生姓名
陈松
班级
09电信专
学号
8210309002
设计题目
基于单片机的正弦信号发生器设计
设计
内容
目标
和
要求
设计内容目标:
1、通过对单片机AT89C51的掌握,实现正弦信号的产生,并且能在液晶显示器上显示频率的示数。
2、整个设计过程包括电路原理图的绘制,Keil软件的程序设计与编译调试,以及利用Proteus软件进行仿真调试。
设计要求:
1、收集、整理与毕业设计课题有关领域的信息资料;
2、按照毕业设计的要求形成符合学院规定的毕业设计书面文档;
3、论文用语规范、单位标准、参数符合行业规定范围;
4、论文中图、表整齐、规范。
教研室
审核
系部
审核
南昌大学职业技术学院电子信息工程系12届
毕业设计(论文)开题报告书(表1)
学生姓名
陈松
专业
电子信息工程
班级
09电信专
学号
8210309002
题目
基于单片机的正弦信号发生器设计
指导教师
胡亮
职称
助教
学位
学士
题目类别
□工程设计□基础研究□应用研究□其它
【课题的内容与要求】
1、通过对单片机AT89C51的掌握,利用单片机实现正弦信号的产生,并且能在液晶显示器上显示频率的示数。
2、整个设计过程包括电路原理图的绘制,Keil软件的程序设计与编译调试,以及利用Proteus软件进行仿真调试。
【前言】
信号发生器是一种常用的信号源,广泛应用于科学研究、生产实践和教学实验等领域。
特别是通信系统的科研实验中,常常需要用到多种不同频率和相位的信号,如正弦波、三角波、方波和锯齿波等,因此多功能信号发生器应用十分广泛。
在数字化时代的今天,经典的有模拟电路组成的信号发生器已经渐渐远离了人,取而代之的事电路简洁、功能多样、功耗低的数字电路。
在以后的时间里,将会有越来越多的数字化的信号发生器运用在各种科学技术领域和工程实践中,给人们的日常生活带来更多的便利。
【方案的比较与评价】
方案一:
采用专用信号发生器。
MAX038是美信公司的低失真单片信号发生器集成电路,内部电路完善。
使用该芯片,设计简单,可以生成同一频率信号的各种波形信号,但频率精度我稳定度都难以达到要求。
方案二:
选用AT89C51单片机作为控制器,与D/A转换器DAC0832连接,再经过运算放大器放大输出,使用按键扫描来实现波形的可变,这样输出的波形稳定、精度高、滤波好、抗干扰效果好、连接简单、性价比高
因此我们设计中选择方案二。
【预期的效果及指标】
本系统采用单片机AT89C51单片机实现正弦信号发生器的设计,利用Proteus软件完成系统硬件电路设计,采用Keiluvision2软件进行系统程序设计以及编译调试,做种能够利用Proteus软件进行调试仿真。
第三部分
毕
业
设
计
正
文
基于单片机的正弦信号发生器设计
陈松
09电信专
[摘要]本系统利用单片机AT89C51完成正弦信号发生器的设计。
首先通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来1Hz—3kHz的波形。
同时通过键盘来调整频率变化,并通过LCD1602显示波形类型及其频率值。
该系统大致包括单片机主控电路、数/模转换电路以及液晶显示电路三部分,其中对数/模转换部分和波形调整部分进行详细论述。
[关键词]单片机AT89C51、正弦信号发生器、DAC0832、LCD1602
DesignoftheSineSignalGeneratorBasedonSCM
TianHesi
0802ElectricAutomation
Abstract:
thissystemcapitalizeonAT89C51,itmakesuseofcentralprocessortogeneratethreekindsofwaves,theyaretrianglewave,anduseD/Aconversionmodule,wavegeneratemoduleandliquidcrystaldisplayof1602,itcanhavethe1Hz-3KHzprofile.Inthissystemitcancontrolwaveformchoosing,frequency,range,canhavethesinewave.Simultaneouslymayalsotakethefrequencymeasurementfrequency,anddisplaysthemthroughliquidcrystaldisplayof1602.thisdesignincludesthreemodules.TheyareD/Aconversionmodule,wavegeneratemoduleandliquidcrystaldisplayofLEDmodule.Inthisdesign,thewavegeneratorintowaveformmoduleandD/Aconversionmodulearediscussedindetail.
Keywords:
AT89C51、DAC0832、Liquidcrystal1602.
第一章绪论
1.1课题简介
1.1.1课题来源
本课题适用于科学教研、生产实践和教学实验等领域。
它是有AT89C51单片机、DAC0832。
通过按键来实现波形的产生。
1.1.2技术现状
运用单片机来完成本设计具有好的实用性和操作性。
因为单片机具有体积小、功能强、成本低、应用面广等功能。
1.2单片机的产生和发展
1.2.1单片机的定义
计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展,从而出现了单片微型计算机。
所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处理器CPU、存储器ROM和RAM、输入/输出(I/O)接口电路等集成在一块集成电路芯片上的微型计算机,简称单片机。
总体来讲,单片机可以用以下“表达式”来表示:
单片机=CPU+ROM+RAM+I/O+功能部件
1.2.2单片机的发展史及发展趋势
单片机的历史可以追朔到1974年,美国仙童公司研究出世界上第一台单片微型计算机F8,该机由两块集成电路芯片组成,结构奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。
从此,单片机开始迅速发展,应用范围也在不断扩大。
单片机的发展历史大致可分为下面三个阶段:
第一阶段(1976年~1978年):
初级单片机微处理阶段。
以Intel公司是MCS-48为代表,此系列的单片机具有8为CPU、并行I/O端口、8位时序同步计数器,寻址范围不大于4KB,但是没有串行口。
第二阶段(1978年~1982年):
高性能单片机微处理阶段,如Intel公司的MCS-51、Motorola公司的6801和Zilog公司的Z8等。
该类型单片机具有串行I/O端口,有多级中断处理系统,16位时序同步计数器,RAM,ROM容量加大,寻址范围可达64KB,有的芯片甚至还带有A/D转换接口。
由于该系统单片机应用领域极其广泛,各公司正大力改进其结构与性能。
第三阶段(1982年~现在):
8位单片机微处理改良型及16位单片机微处理阶段。
1.3单片机的特点及应用
1.3.1单片机的特点
随着现代科技的发展,单片机的集成度越来越高,CPU的位数也越来越高,已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有以下特点:
①体积小,功耗低,价格便宜,重量轻,易于产品化。
②控制功能强,运行速度快,能针对性地解决从简单到复杂的各类控制问题,满足工业控制要求,并有很强的位处理和接口逻辑操作等多种功能。
③抗干扰能力强,适用温度范围宽。
由于许多功能部件集成在芯片内部,受外界影响小,故可靠性高。
④虽然单片机内存储器的容量不可能很大,但存储器和I/O接口都易于扩展。
⑤可以方便的实现多机和分布式控制
1.3.2单片机的应用
单片机的应用具有面广量大的特点,目前它广泛的应用于国民经济各个领域,对技术改造和产品的更新起着重要作用。
主要表现在以下几个方面:
①单片机在智能化仪器、仪表中的应用:
由于单片机有计算机的功能,它不仅能完成测量,还既有数据处理、温度控制等功能,易于实现仪器、仪表的数字化和智能化。
②单片机在实时控制中的应用:
单片机可以用于各种不太复杂的实时控制系统中,如一般性的温度控制、液面控制、电镀顺序控制等。
将测量技术、自动控制技术和单片机技术相结合,充分发挥单片机的数据处理和实时控制功能,使系统工作于最佳状态。
③单片机在机电一体化中的应用:
单片机有利于机电一体化技术的发展,已广泛应用于数控机床、医疗设备、汽车设备等。
④单片机在多机系统中的应用:
单片机在多机系统中的应用是将来单片机发展的主要模式,它可以提高单片机的可靠性,使系统运行速度更快。
⑤单片机在计算机外围设备中的应用:
单片机广泛应用于打印机、绘图机等多种计算机的外围设备,特别是用于智能终端,可大大减轻主机负担,提高系统的运行速度。
⑥单片机在家用电器中的应用:
单片具有体积小、重量轻、价格便宜等特点,所以家电产品中配上微电脑后,使其身价百倍,功能更强,使用方便,灵活,深得用户欢迎。
⑦单片机在通信中的应用:
单片机广泛应用于移动通信领域,使移动电话的功能更强大,操作更方便。
第二章AT89C51单片机的特性与功能
2.1单片机的应用与选择
8051是MCS-51系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、64kB的程序存储器、256B字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。
由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。
MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。
MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。
8051中集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。
MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。
由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。
因此,在工业测控系统中,使用单片机是最理想的选择。
单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。
2.2芯片简介
2.2.1AT89C51性能简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2.2AT89C51的主要特性
⑴8031CPU与MCS-51兼容
⑵4K字节可编程FLASH存储器(寿命:
1000写/擦循环)
⑶全静态工作:
0Hz-24KHz
⑷三级程序存储器保密锁定
⑸128*8位内部RAM
⑹32条可编程I/O线
⑺两个16位定时器/计数器
⑻5个中断源
⑼可编程串行通道
⑽低功耗的闲置和掉电模式
⑾片内振荡器和时钟电路
2.2.3AT89C51管脚功能
MCS-51系列单片机芯片均为40个引脚,HMOS工艺制造的芯片采用双列直插(DIP)方式封装,其引脚示意及功能分类如图2-1:
图2-1MCS-51引脚图
MCS-51系列单片机的40个引脚中有2个专用于主电源的引脚,2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
VCC:
供电电压。
GND:
接地。
①P0口(P0.0~P0.7)为双向8位三态I/O口,当作为I/O口使用时,可直接连接外部I/O设备。
它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。
一般作为扩展时地址/数据总线口使用。
②P1口(P1.0~P1.7)为8位准双向I/O口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载。
③P2口(P2.0~P2.7)为8位准双向I/O口,当作为I/O口使用时,可直接连接外部I/O设备。
它是与地址总线高8位复用,可驱动4个TTL负载。
一般作为扩展时地址总线的高8位使用。
④P3口(P3.0~P3.7)为8位准双向I/O口,是双功能复用口,可驱动4个TTL负载。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
综上所述,MCS-51系列单片机的引脚作用可归纳为以下两点:
⑴单片机功能多,引脚数少,因而许多引脚都具有第2功能;
⑵单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线;由ALE、PSEN/、EA/与P3口中的INT0/、INT1/、T0、T1、WR/、RD/共10个引脚组成控制总线。
第三章系统硬件电路设计
3.1正弦信号发生器设计方案框图
图3-1设计方框图
3.2DAC0832硬件简介
3.2.1管脚功能
DAC0832管脚功能如图3-2所示。
图3-2DAC0832管脚图
DAC0832的主要特性参数如下:
*分辨率为8位;
*输出为电流信号,电流的建立时间为1us;
*可单缓冲、双缓冲或直接数字输入;
*只需在满量程下调整其线性度;
*单一电源供电(+5V~+15V),低功耗,20mW;
*参考电压可以达到±10V;
*直接的数字接口可以与任何一款单片机相连。
DAC0832的引脚功能:
*D0~D7:
8位数据输入线,TTL电平,通常与单片机的数据总线相连,用于输入CUP送来的待转换数字量。
有效时间应大于90ns(否则锁存器的数据会出错);
*ILE:
数据锁存允许控制信号输入线,高电平有效;
*
:
片选信号输入线(选通数据锁存器),低电平有效;
*
:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、
、
的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
*
:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
*
:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由
、
的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
*IOUT1:
电流输出端1,其值随DAC寄存器的内容线性变化;
*IOUT2:
电流输出端2,其值与IOUT1值之和为一常数;
—当DAC寄存器内容全为1时,IOUT1为最大,IOUT2=0;
—当DAC寄存器内容全为0时,IOUT1=0,IOUT2为最大;
为了保证输出电流的线性,应将IOUT1及IOUT2接到外部运算放大器的输入端上。
*Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
*Vcc:
芯片工作电源,范围为+5V~+15V;
*VREF:
基准电压输入线,VREF的范围为-10V~+10V;
*AGND:
模拟信号地,为模拟信号和基准电源的参考地;
*DGND:
数字信号地,为工作电源地和数字逻辑地;
3.2.2DAC0832芯片与单片机硬件接口设计
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种连接方式:
直通方式、单缓冲方式和双缓冲方式。
1、双缓冲方式:
进行两级缓冲;
2、单缓冲方式:
只进行一级缓冲;
3、直通方式:
不进行缓冲,适用于比较简单的场合。
本设计采用的是直通连接方式。
具体电路设计如图3-3所示:
图3-3连接图
3.3放大整形电路
为了输入的是小信号时也能对精确的测出它的频率,所以在信号的输入口加电压放大。
有时输入的信号波形不是很好时,放大后也是失真的信号,这就会影响到所测信号的频率,因此要经过整形。
其电路如图3-4所示:
图3-4放大电路
3.4LCD1602硬件介绍
图3-5LCD1602引脚图
LCD1602引脚及其功能介绍如表3-1所示。
表3-1
管脚号
管脚名称
LEVER
管脚功能描述
1
VSS
0V
电源地
2
VDD
5.0V
电源电压
3
VEE
对比调整电压
4
RS
H/L
RS=“H”,表示DB7~DB0为显示数据
RS=“L”,表示DB7~DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”,数据被读到DB7~DB0
R/W=“L”,E=“H→L”DB7~DB0的数据被写到IR或DR
6
E
H/L
使能信号:
R/W=“L”,E信号下降沿锁存DB7~DB0
R/W=“H”,E=“H”
DRAM
数据读到
D7~D0
7
D0
H/L
数据线
8
D1
H/L
数据线
9
D2
H/L
数据线
10
D3
H/L
数据线
11
D4
H/L
数据线
12
D5
H/L
数据线
13
D6
H/L
数据线
14
D7
H/L
数据线
3.5振荡电路
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
系统所采用的振荡电路如图3-6所示。
图3-6振荡电路图
系统选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,常用fosc表示。
如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs。
3.6复位电路
复位电路如图3-7所示,采用上电复位,由极性电容C3和电阻组成。
复位电路具有上电自动复位功能,高电平有效,在正常工作状态下复位管脚为低电平。
图3-7复位电路图
3.7键盘电路
键盘电路如图3-8所示,P2.0对应的按键有启动和停止作用,P2.1对应的按键是减少频率,P2.1对应的按键是加频率。
图3-8键盘电路
3.8显示电路
显示电路如图3-9所示,频率通过与单片机相连接的LCD1602显示
图3-9显示电路
第四章软件设计和仿真调试
4.1正弦信号发生器程序的流程图
图4-1流程图
4.2程序设计
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitlcdrw=P3^3;//位变量的定义
sbitlcdrs=P3^2;//位变量的定义
sbitlcde=P3^4;//位变量的定义
sbits1=P2^0;//位变量的定义
sbits2=P2^1;//位变量的定义
sbits3=P2^2;//位变量的定义
sbitcs1=P3^5;//位变量的定义
sbitcs2=P3^6;//位变量的定义
uchars1num,a,ys,j;//变量的定义(字符型)
uintfre;//变量的定义(整型)
ucharcodetosin[256]={
0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,
0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,
0xc7,0xca,0xcc,0xcf,0xd1,0xd4,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 正弦 信号发生器 设计