重要基于51单片机的低频信号发生器C语言.docx

上传人:b****6 文档编号:6728811 上传时间:2023-01-09 格式:DOCX 页数:53 大小:30.98KB
下载 相关 举报
重要基于51单片机的低频信号发生器C语言.docx_第1页
第1页 / 共53页
重要基于51单片机的低频信号发生器C语言.docx_第2页
第2页 / 共53页
重要基于51单片机的低频信号发生器C语言.docx_第3页
第3页 / 共53页
重要基于51单片机的低频信号发生器C语言.docx_第4页
第4页 / 共53页
重要基于51单片机的低频信号发生器C语言.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

重要基于51单片机的低频信号发生器C语言.docx

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

重要基于51单片机的低频信号发生器C语言.docx

重要基于51单片机的低频信号发生器C语言

 

大学

 

电类课程设计报告

 

课题名称

 

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

学生

指导教师

 

2011年

 

6月

 

摘要

 

本文设计低频信号发生器,以AT89C51单片机为核心,通过键盘输入控制信号类型

和频率的的选择,采用DA转换芯片输出相应的波形,同时以LED显示器进行实时显示

信号相关信息。

我们采用C语言进行编程,可实现方波,三角波,锯齿波和正弦波四种

波形的产生,且波形的频率可调。

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

满足设计要求。

 

关键字:

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

 

1

 

摘要.........................................................................................................1

第一章绪论............................................................................................1

1.1选题背景及其意义...............................................................................................................1

1.2单片机概述...........................................................................................................................3

1.3信号发生器分类----------------------------------------------------------1

1.4研究题目及其意义--------------------------------------------------------1

1.5章节安排设计的任务和要求------------------------------------------------2

第二章信号发生器方案设计与选择---------------------------2

2.1方案的设计与选择--------------------------------------------------------2

2.2设计原理简介------------------------------------------------------------3

2.3设计功能----------------------------------------------------------------4

第三章主要电路元器件介绍----------------------------------5

3.1AT89C51单片机简介-------------------------------------------------------5

3.1.1单片机简介--------------------------------------------------------5

3.1.2主要特性----------------------------------------------------------5

3.1.3管脚功能说明------------------------------------------------------5

3.2DAC0809-----------------------------------------------------------------6

3.2.1工作原理----------------------------------------------------------6

3.2.2DAC0832的主要特性参数----------------------------------------7

3.2.3DAC0832引脚功能简介------------------------------------------8

3.3数码显示管--------------------------------------------------------------8

3.3.1原理及分类---------------------------------------------------------8

3.3.2显示器的工作方式---------------------------------------------------8

3.3.3显示管字型码-------------------------------------------------------9

第四章单元电路的硬件设计----------------------------------10

4.1硬件又原理框图-----------------------------------------------------------10

4.2单片机AT89C51系统的设计--------------------------------------------------10

4.3时钟电路------------------------------------------------------------------11

4.4复位电路------------------------------------------------------------------11

4.5键盘接口电路--------------------------------------------------------------12

4.6LED显示电路-------------------------------------------------------------12

4.7数、模转换及放大电路------------------------------------------------------13

 

2

 

第五章系统软件设计-----------------------------------------14

5.1主函数---------------------------------------------------------------------14

5.1.1程序流程图------------------------------------------------------------14

5.1.2简介-----------------------------------------------------------------14

5.2信号频率数据采集程序-------------------------------------------------------14

5.2.1正弦波产生------------------------------------------------------------15

5.1.2三角波产生------------------------------------------------------------15

5.1.3锯齿波产生-----------------------------------------------------------16

5.1.4方波产生-------------------------------------------------------------17

第六章设计总结---------------------------------------------19

参考文献----------------------------------------------------20

附件A主要元器件清单----------------------------------------21

附件B系统电路图--------------------------------------------22

 

3

 

第一章绪论

 

1.1选题背景及其意义

信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。

各种

波形曲线均可以用三角函数方程式来表示。

能够产生多种波形,如方波、锯齿波、三角

波、正弦波的电路被称为函数信号发生器。

在通信、广播、电视系统,在工业、农业、

生物医学领域,函数信号发生器在实验室和设备检测中具有十分广泛的用途。

 

1.2单片机概述

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力

的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/

计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换

器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机具有集成度高、

系统结构简单、使用方便、实现模块化、可靠性高、处理功能强、速度快等特点,因为

被广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过

程控制等领域。

 

1.3信号发生器分类

信号发生器是指产生所需参数的电测试信号的仪器。

因其应用广泛,种类繁多,特

性各异,分类也不尽一致。

按信号波形可分为正弦信号、函数信号、脉冲信号和随机信

号发生器等四大类;按频率覆盖围分为低频信号发生器、高频信号发生器和微波信号

发生器;按输出电平可调节围和稳定度分为简易信号发生器、标准信号发生器和功率

信号发生器;按频率改变的方式分为调谐式信号发生器、扫频式信号发生器、程控式信

号发生器和频率合成式信号发生器等。

信号发生器又称信号源或振荡器,在生产实践和

科技领域中有着广泛的应用。

 

1.4研究题目及其意义

信号发生器是一种经常使用的设备,由纯粹物理器件构成的传统的设计方法存在

许多弊端,如:

体积较大、重量较沉、移动不方便、信号失真较大、波形形状调节过于

死板,无法满足用户对精度、便携性、稳定性等要求,研究设计出一种具有频率稳定、

准确、波形质量好、输出频率围宽、便携性好等特点的波形发生器具有较好的市场前

景。

以满足工业领域对信号源的要求。

本次试验实现利用单片机AT89S52和8位D/A转换芯片DAC0832共同实现方波、锯

齿波、三角波、正弦波这四种常用波形的发生。

根据设计的要求,对各种波形的频率和

 

1

 

幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。

在程序运行中,当接

收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程

序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。

并且

可以通过数码管和键盘显示模块,键盘可以实现对几种波形的切换。

 

1.5章节安排设计的任务和要求

第一章绪论:

介绍选题的背景意思,单片机的概述,信号发生器的分类等

第二章方案设计:

介绍系统功能要求和整体结构,包括数码管的显示信号频率,

按键波形选择及信号频率调整等。

第三章系统的硬件设计:

介绍各单元电路设计,主要介绍单片机主控制器,信号

产生电路、显示电路、键盘电路等

第四章系统的软件设计:

介绍各子程序的算法和流程,包括主程序、方波、锯齿

波、三角波、正弦波的信号产生、数码管显示、键盘扫描、按键处理等。

第五章总结:

设计体会,设计过程中俄困难与收获。

 

第二章信号发生器方案设计与选择

 

信号发生器是指产生所需参数的电测试信号的仪器。

按信号波形可分为正弦信号、

波形信号、脉冲信号和随机信号发生器等四大类。

本文利用单片机构造低频信号发生器,

可产生正弦波,方波,三角波,锯齿波四种波形,再通过D/A转换器DAC0832把数字信

号转变为模拟信号,经OP07放大输出到示波器,与此同时外接8位LED显示输出信号

的类型和频率。

 

2.1方案的设计与选择

方案一:

采用单片函数发生器可产生正弦波、方波等,操作简单易行,用D/A转换

器的输出来改变调节电压,可以实现数控调整频率,但产生信号的频率稳定度不高。

方案二:

利用芯片组成的电路输出波形,MAX038是MAXIM公司生产的一个只需要很

少外部元件的精密高频波形产生器,他能产生准确的高频正弦波、三角波、方波。

输出

频率和占空比可以通过调整电流、电压或电阻来分别地控制。

所需的输出波形可由在A0

和A1输入端设置适当的代码来选择,且具有输出频率围宽、波形稳定、失真小、使

用方便等特点。

方案三:

采用Atmel公司的AT89C51单片机编程方法实现,该方法的可以通过编程

的方法控制信号波形的频率和幅度,而在硬件电路不便的情况下,通过程序实现频率的

 

2

 

变化和输出波形的选择,并同时在显示器显示相应的结果。

方案一输出信号频率不够稳定;方案二成本高,程序复杂度高;方案三,软硬件结

合,硬件成本低,软件起点低,优化型相对比较好,容易实现,且满足设计要求。

综合

考虑,我们采用了方案三,用AT89C51单片机设计低频信号发生器,能够满足信号的频

率稳定性和精度的准确行。

 

2.2设计原理简介

该设计设计一个低频信号发生器,我们采用的是AT89C51单片机用软件实现信号的

输出。

该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O接口电路、

定时计数器、串行通讯等,是波形设计的核心。

该信号发生器原理框图如图2.1,总体

原理为:

利用AT89C51单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯

齿波四种波形,通过C语言对单片机的编程即可产生相应的波形信号,并可以通过键盘

进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也

就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的

波形信息。

 

键盘

输入

 

AT89C51

单片机

接口

电路

数/模准换器

DAC0832

 

UA741

运放放大

 

输出

 

图2.1信号发生器原理框图

 

本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A转化及LED显示。

各个模块的工作原理如下:

(1)复位电路是为单片机复位使用,使单片机接口初始化;89C51等CMOS51系列

单片机的复位引脚RET是施密特触发输入脚,部有一个上拉低电阻,当振荡器起振以

后,在RST引脚上输出2个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、

PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始

工作。

该方案采用的是人工开关复位,在系统运行时,按一下开关,就在RST断出现一

段高电平,使器件复位。

(2)时钟信号是产生单片机工作的时钟信号,控制着计算机的工作节奏,可以通

过提高时钟频率来提高CPU的速度。

89C51部有一个可控的反相放大器,引脚XTAL1、

XTAL2为反相放大器输入端和输出端,在XTAL1、XTAL2上外接12MHZ晶振和30pF电容

便组成振荡器。

时钟信号常用于CPU定时和计数。

(3)键盘模块是是用于控制信号输入的类型,当按键按下时,可以通过单片机编

 

3

 

程读取闭合的键号,实现相应的信号输出。

其步骤主要是a、判断是否有键按下;b、去

抖动,延时20ms左右;c、识别被按下的键号;d、处理,实现功能。

(4)D/A转换也称为数模转换,是把数字量变换成模拟量的线性电路。

单片机产生

的数字信号通过DAC0832转化成模拟信号,输出相应的电流值,通过OP07集成运算放

大器可以取出模拟量得电压值,最后利用示波器获得输出的模拟信号的波形;衡量数模

转换的性能指标有分辨率、转换时间、精度、线性度等。

LED显示器用由若干个发光二极管按一定的规律排列而成,是一种能够将电能转化

为可见光的固态的半导体器件,它可以直接把电转化为光用于是显示相关输出波形的信

息,包括信号的类型和频率。

 

2.3设计功能

(1)本方案利用利用2位(P1.0和P1.1)控制开关信号输入类型,其中当P1.0=0,

P1.1=0输出正弦波;当P1.0=0,P1.1=1输出三角波;当P1.0=1,P1.1=0输出锯齿波;

当P1.0=1,P1.1=1输出方波。

(2)本方案输出利用8位LED显示器,该显示器为共阴极,输入段选码低电平有效,

用于显示输出信号的类型和频率,如1KHz正弦波,显示为1.1000。

根据设计要求,我

们在系统启动时,还要在LED中显示“COE学号加上后4位”5秒钟,即显示“CEO3632”。

(3)利用DAC0832数模转换芯片实现信号的转换,并通过集成运算放大器将信号

放大,输出信号能够在Proteus软件中的示波器中显示。

(4)信号频率围要求:

1—1KHz。

(5)输出信号幅度:

0~5V。

 

4

 

第三章主要电路元器件介绍

 

3.1AT89C51单片机简介

3.1.1单片机简介

AT89C51是一种带4K字节FLASH存储器

的低电压、高性能CMOS8位微处理器,俗

称单片机。

该芯片具有优异的性价比,集成

度高,体积小,可靠性强,控制功能强等优

点。

其外形及引脚排列如图3.1所示。

 

3.1.2主要特性

�兼容性能强

�4K字节可编程FLASH存储器

�全静态工作:

0Hz-24MHz

图3.1

AT89C51引脚图

�128×8位部RAM

�32可编程I/O线

�两个16位定时器/计数器

�5个中断源

�可编程串行通道

�低功耗的闲置和掉电模式

�片振荡器和时钟电路

 

3.1.3管脚功能说明

�VCC:

供电电压4~6V典型值5V);

�GND:

接地;

____

�EA/Vpp:

运行方式时,EA为程序存储器选择信号,EA接地时CPU总是从外部存

____

储器中取指令,EA接高电平时CPU可以从部或外部取指令;FLASH编程方式时,

该引脚为编程电源输入端Vpp(=5V或12V);

_________

_________

 

PSEN:

外部程序存储器读选通信号,CPU从外部储存器取指令时,从PSEN引脚输

通信

ALE/PROG:

运行方式时,ALE为外部储存器低8位地址锁存信号,FLASH编程方

式时,该引脚为负脉冲输入端;

 

5

出读选_________号(负脉冲);

 

�XTAL1,XTAL2为部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路;

�P0口:

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

当P0口的

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

P0能够用于外部程序数据存储器,它可以

被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH

进行校验时,P0输出原码,此时P0外部必须被拉高;

�P1口:

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

4TTL门电流。

P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下

拉为低电平时,将输出电流,这是由于部上拉的缘故。

在FLASH编程和校验时,

P1口作为第八位地址接收;

�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)这是由于上拉的缘故。

P3口也可作为

AT89C51的一些特殊功能口如表2.1。

 

表2.1

P3口第二功能

 

3.2DAC0809

3.2.1工作原理

 

6

 

DAC0832是8分辨率的D/A转换集成芯片,由8位输入锁存器、8位DAC寄存器、

8位D/A转换器及转换控制电路四部分构成。

8位输入锁存器用于存放主机送来的数字

量,使输入数字得到缓冲和锁存,并加以控制;

8位DAC寄存器用于存放存放待转换的数字量,

并加以控制;8位D/A转换器输出与数字量成正

比的模拟电流,由与门、与非门组成的输入控制

的输入电路来控制2个寄存器的选通或锁存状

态,其原理框图如3.3。

当WR2和XFER同时有效时,8位DAC寄存器

端为高电平“1”,此时DAC寄存器的输出端Q跟

随输入端D也就是出入寄存器Q端得电平变化,

反之,当端为低电平“0”时,第一级8位输入

寄存器Q端得状态则锁存到第二级8位DAC寄存器中,

图3.2DAC0832引脚图

以便第三极8位DAC转换器进行D/A转换。

 

图3.3DAC0832原理图

 

3.2.2DAC0832的主要特性参数

�分辨率为8位;电流稳定时间1us;

�可单缓冲、双缓冲或直接数字输入;

�只需在满量程下调整其线性度;

�单一电源供电(+5V~+15V);

 

7

 

�低功耗,20mW。

 

3.2.3DAC0832引脚功能简介

�D0~D7:

8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出

错);

�ILE:

数据锁存允许控制信号输入线,高电平有效;

�CS:

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

�WR1:

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

由ILE

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

换,LE1的负跳变时将输入数据锁存

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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