基于51单片机的信号发生器

合集下载

51单片机多功能信号发生器

51单片机多功能信号发生器

51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是atme公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。

一、主要功能和特性

1,可以仿真63K程序空间,接近64K 的16位地址空间;2,可以仿真64Kxdata 空间,全部64K 的16位地址空间;3,可以真实仿真全部32 条IO脚;4,完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;5,可以使用C51语言或者ASM汇编语言进行调试;6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;7,可选使用用户晶振,支持0-40MHZ 晶振频率;8,片上带有768字节的xdata,您可以在仿真时选使用他们,进行xdata 的仿真;9,可以仿真双DPTR 指针;10,可以仿真去除ALE 信号输出. ;11,自适应300-38400bps 的所有波特率通讯;12,体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;13,仿真插针采用优质

单片机的三角波信号发生器设计

单片机的三角波信号发生器设计

单⽚机的三⾓波信号发⽣器设计

基于51单⽚机的三⾓波信号发⽣器设计

【内容摘要】单⽚机是⼀种集成在电路芯⽚,是采⽤超⼤规模集成电路技术把具有数据处理能⼒的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O⼝和中断系统、定时器/计时器等功能(可能还包括显⽰驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到⼀块硅⽚上构成的⼀个⼩⽽完善的计算机系统。单⽚机我感觉很重要,现在⾃动控制在各个领域被⼴泛应⽤,这少不了单⽚机的功劳。⽬前使⽤的信号发⽣器是函数信号发⽣器,且特殊波形发⽣器的价格昂贵。所以使⽤我设计单⽚机构成的发⽣器,可产⽣三⾓波、⽅波、正弦波等多种特殊形和任意波,波形的频率可以⽤程序控制、在单⽚机上外围器件距阵式键盘,通过其控制波形并选择,并⽤显⽰器显⽰频率⼤⼩。在单⽚机的输出端⼝进⾏转换,再通过运放进⾏波形调整,最后输出波在⽰波器上显⽰。本设计性能优越、价格低廉、结构紧凑、线路简单,希望能在以后产品上能⼴泛的应⽤。

【关键词】单⽚机三⾓波信号发⽣器性能优越

⽬录:第⼀章绪论

1.1课题背景……………………………………….3--4

1.2课题意义 (5)

第⼆章系统设计

2.1三⾓波的产⽣ (6)

2.2 设计思路 (7)

2.3结构模块划分 (8)

第三章硬件电路的设计

3.1基本原理………………………………………………………9--10

3.2 显⽰电路 (11)

3.3、D/A电路 (12)

第四章

软件设计...........................................................................13--16 论⽂总结..............................................................................17--18 参考⽂献 (19)

51单片机延时函数

51单片机延时函数

51单片机延时函数

在嵌入式系统开发中,51单片机因其易于学习和使用、成本低廉等优点被广泛使用。在51单片机的程序设计中,延时函数是一个常见的需求。通过延时函数,我们可以控制程序的执行速度,实现定时器功能,或者在需要的时候进行延时操作。本文将介绍51单片机中常见的延时函数及其实现方法。

一、使用for循环延时

这种方法不精确,但是对于要求不高的场合,可以用来估算延时。c

void delay(unsigned int time)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<1275;j++);

}

这个延时函数的原理是:在第一个for循环中,我们循环了指定的时间次数(time次),然后在每一次循环中,我们又循环了1275次。这样,整个函数的执行时间就是time乘以1275,大致上形成了一个延时效果。但是需要注意的是,这种方法因为硬件和编译器的不同,延时时间会有很大差异,所以只适用于对延时时间要求不精确的场合。

二、使用while循环延时

这种方法比使用for循环延时更精确一些,但是同样因为硬件和编译器的不同,延时时间会有差异。

c

void delay(unsigned int time)

{

unsigned int i;

while(time--)

for(i=0;i<1275;i++);

}

这个延时函数的原理是:我们先进入一个while循环,在这个循环中,我们循环指定的时间次数(time次)。然后在每一次循环中,我们又循环了1275次。这样,整个函数的执行时间就是time乘以1275,大致上形成了一个延时效果。但是需要注意的是,这种方法因为硬件和编译器的不同,延时时间会有差异,所以只适用于对延时时间要求不精确的场合。

单片机控制之信号发生器(振荡器)设计 单片机技术课程设计

单片机控制之信号发生器(振荡器)设计 单片机技术课程设计

单片机技术课程设计说明书

课题名称

目录

引言 (3)

一设计任务 (3)

1设计内容 (3)

2设计要求 (3)

二芯片功能介绍 (3)

三总体功能图和总原理图 (5)

四程序流程图 (6)

1 锯齿波程序流程图 (6)

2 三角波程序流程图 (7)

3 梯形波程序流程图 (8)

4 方波程序流程图 (9)

5 正弦波程序流程图 (10)

6 整体程序流程图 (11)

五程序设计 (12)

六仿真测试 (16)

七总结与体会 (19)

八参考文献 (20)

引言

信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波形产生模块、输出显示模块、电源模块。使用

AT98C52作为主控台结合芯片DAC0832产生1HZ-10HZ频率可调的五种信号波(锯齿波、三角波、方波、梯形波、正弦波)。这几种波形有几个开关控制,可以随意进行切换,十分方便。另外,波形的频率和振幅也可以通过开关进行更改。可以说这次的设计操作简单,内容丰富,而且电路快捷明了。

1设计任务

1.1设计内容

以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且频率、幅度可变的函数发生器。

1.2设计要求

设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真图,并编写出控制波形的程序。

2芯片功能介绍

2.1、DAC0832芯片介绍:

DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。DAC0832的内部结构框图如下图所示。

基于51单片机的信号发生器

基于51单片机的信号发生器
(4)三角波:使用查表法。将三角波的一个周期(360 度)分为 256 个点, 相邻点等差,生成数组。反复输出该数组数据到 DAC0832,就可以在系统输出端 得到想要的三角波。
该波形发生器以AT89C51单片机作为整个系统的控制核心,应用其强大的接 口功能,构成整个波形发生控制的硬件系统。通过C 语言对单片机编程即可产 生相应的正弦波,方波,三角波,锯齿波等波形信号。将所写程序装入单片机的 程序存储器中,在程序运行中,当接收到来自外界的命令,需要输出某种波形时 调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大 器处理后,从信号发生器的输出端口输出。并且可以通过数码管显示模块实现可 视化,通过拨码开关进行各种功能的转换和信号频率的控制。该波形发生器系统 的原理图如图2-1所示。
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
20 19 18 17 16 15 14 13 12 11
U3
A
DAC0832
B OP1P
C
D
RP1
1
key1 2
key2 key3 key4 key5 key6 key7 key8

基于51单片机的简易信号发生器

基于51单片机的简易信号发生器

/****************简易信号发生器****************************

程序功能:输出正弦波、锯齿波、方波、三角波

涉及芯片:TLC5615

**********************************************************/

#include

#define uint unsigned int

#define uchar unsigned char

sbit din=P3^0;

sbit scl=P3^1;

sbit cs1=P3^2;

sbit key1=P1^0;

sbit key2=P1^1;

sbit key3=P1^2;

sbit key4=P1^3;

//sbit w2= P1^0;

uchar code sine_tab[256]={

//输出电压从0到最大值(正弦波1/4部分)

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, 0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,

0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,

--基于51单片机的简易函数信号发生器的设计与分析

--基于51单片机的简易函数信号发生器的设计与分析

基于51单片机的简易函数信号发生器的设计与分析

郭 辉

(阜阳师范学院信息工程学院,安徽阜阳,236037)

摘要:函数信号发生器设计与分析是单片机实践中的一重要实验。本文采用Proteus 对函数信号发生器的原理图进行设计,并通过Keil 软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus 制作出该电路的PCB 原理图。本设计对单片机项目设计与实现具有一定的指导意义。

关键词:信号发生器;AT89C51;Proteus ;Keil ;PCB 中图分类号:TP368.1 文献标识码:B

Design and analysis of a simple function signal generator based on 51 single chip microcomputer

Guo Hui

(College of Information Engineering,Fuyang Teachers' College,Fuyang Anhui,236037)

Abstract :This paper uses the principle of figure Proteus function signal generator is designed,and the feasibility of the design is verified by Keil software programming,by adjusting the key,the simple function signal generator can output sine wave,Ju Chibo,trapezoidal wave,rectangular wave,and can be adjusted through the key corresponding to the frequency of the waveform, eventually produced by Proteus PCB principle diagram of the circuit.

基于单片机的信号发生器(完整电路,程序)

基于单片机的信号发生器(完整电路,程序)

电子和信息工程学院

综合实验课程报告

实验名称:基于单片机的信号发生器的设计和实现

班级:200808XX

学号:200808XXXX

姓名:何XX

指导教师:安XX

时间:2011-5-4至2011-5-11

摘要

本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生

器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,

如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以

产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、

功能齐全的优点。

关键词:低频信号发生器;单片机;D /A转换;

1设计选题及任务

设计题目:基于单片机的信号发生器的设计和实现

任务和要求:

设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。

基本要求:

1. 产生三种以上波形。如正弦波、三角波、矩形波等。

2.最大频率不低于500Hz。并且频率可按一定规律调节,如周期按1T,2T,3T,4T

或1T,2T,4T,8T变化。

3.幅度可调,峰峰值在0——5V之间变化。

扩展要求:产生更多的频率和波形。

2系统概述

2.1方案论证和比较

2.1.1总体方案:

方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。

基于51单片机的简易函数信号发生器资料

基于51单片机的简易函数信号发生器资料

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

1、运用keil软件对程序进行编写,运行程序,并进行程序修改。

2、运用protues软件进行硬件电路仿真设计。

3、将程序下载到仿真单片机中,并观测输出波形。

4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。

5、仿照仿真软件进行硬件电路的焊接。

6、将程序下载到单片机,并用示波器测试输出波形。

7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤

1、首先打开keil软件.

2、运用keil软件对程序进行编写,程序见附件。

3、打开protues软件.

4、运用protues软件对硬件电路进行设计。

9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:�XTAL1,XTAL2:外接晶振,产生时钟信号。

�RST:复位电路;

�P2口:8位数字信号输出输出,外接DAC0832;

�P3.6口和P3.7口:DAC0832的时钟信号;

单片机模块

单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

51单片机信号发生器频率调整思路

51单片机信号发生器频率调整思路

51单片机信号发生器频率调整思路

一、引言

51单片机信号发生器是一种常见的电子设备,它可以产生各种不同频率的信号。在实际应用中,有时需要调整信号发生器的频率以满足特

定的需求。本文将介绍如何通过51单片机实现信号发生器频率调整。

二、基本原理

信号发生器是一种能够产生不同频率、振幅和波形的电子设备。在其

内部,通常采用了一个稳定的时钟源和一个可变频率的振荡电路来产

生不同频率的信号。其中,时钟源通常采用晶体振荡器或者RC振荡器;而可变频率的振荡电路则可以采用多种不同的方案,比如VCO (Voltage Controlled Oscillator)或PLL(Phase Locked Loop)等。

在51单片机中,可以通过控制其内部定时器/计数器来实现可变频率

的振荡电路。具体来说,我们可以将定时器/计数器设置为一定的计数值,并且将其工作模式设置为定时模式或者计数模式。当计数值达到

预设值时,定时器/计数器就会产生一个中断请求,在中断服务函数中我们可以进行相应处理从而实现对输出波形频率和占空比的控制。

三、实现步骤

1. 硬件设计

在硬件设计上,我们需要准备一个51单片机开发板、一个LCD显示屏、一个旋转编码器和一些必要的电子元件。其中,旋转编码器用于

调节输出波形的频率,而LCD显示屏用于显示当前频率和占空比等信息。

2. 软件设计

在软件设计上,我们需要编写51单片机的程序来实现信号发生器的控制。具体来说,程序需要完成以下几个任务:

(1)初始化定时器/计数器,并将其工作模式设置为定时模式或者计

数模式;

(2)设置定时器/计数器的计数值,并启动定时器/计数器;

基于51单片机的三角波信号发生器设计论文

基于51单片机的三角波信号发生器设计论文

基于51单片机的三角波信号发生器设计

【内容摘要】单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机我感觉很重要,现在自动控制在各个领域被广泛应用,这少不了单片机的功劳。目前使用的信号发生器是函数信号发生器,且特殊波形发生器的价格昂贵。所以使用我设计单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊形和任意波,波形的频率可以用程序控制、在单片机上外围器件距阵式键盘,通过其控制波形并选择,并用显示器显示频率大小。在单片机的输出端口进行转换,再通过运放进行波形调整,最后输出波在示波器上显示。本设计性能优越、价格低廉、结构紧凑、线路简单,希望能在以后产品上能广泛的应用。

【关键词】单片机三角波信号发生器性能优越

目录:第一章绪论

1.1课题背景……………………………………….3--4

1.2课题意义 (5)

第二章系统设计

2.1三角波的产生 (6)

2.2 设计思路 (7)

2.3结构模块划分 (8)

第三章硬件电路的设计

3.1基本原理………………………………………………………9--10

3.2 显示电路 (11)

3.3、D/A电路 (12)

第四章

软件设计...........................................................................13--16 论文总结..............................................................................17--18 参考文献 (19)

基于51单片机的信号发生器-完整电路、程序

基于51单片机的信号发生器-完整电路、程序

摘要

本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。

关键词:低频信号发生器;单片机;D /A转换;

1设计选题及任务

设计题目:基于单片机的信号发生器的设计与实现

任务与要求:

设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。

基本要求:

1. 产生三种以上波形。如正弦波、三角波、矩形波等。

2.最大频率不低于 500Hz。并且频率可按一定规律调节,如周期按1T,2T,3T,4T

或1T,2T,4T,8T变化。

3.幅度可调,峰峰值在0——5V之间变化。

扩展要求:产生更多的频率和波形。

2系统概述

2.1方案论证和比较

2.1.1总体方案:

方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。

方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

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

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

第1章绪论

1.1 信号发生器的现状与发展

信号发生器是一种常用的信号源,广泛的应用于电子电路、自动控制和科学实验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。

自六十年代以来,信号发生器就有了迅速的发展,出现了函数发生器、扫描信号发生器、合成信号发生器、控制信号发生器等种类。各种信号发生器的主要性能指标也都有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方面也有了显著的发展。

1.2 设计内容及方案的确定

本课题要求以MCS-51系列单片机为核心,设计一个简易低频信号发生器。要求能输出0.1~50HZ的正弦波、三角波和方波信号,能方便的用键盘选择不同的输出并在LED显示器上显示。单片机通过查表的方法完成波形数据要求,输出的正弦波、三角波和方波信号频率在0.1~50HZ可调,系统有启动、调频和不同波形选择按键,转速显示要求至少4位。根据要求我们组讨论如下:直接采用8位DA转换芯片,让单片机对8位DA芯片进行控制,从而输出波形。

第2章 基于单片机的简易低频信号发生器的设

2.1 总体设计框图

图2.1.1总体设计框图

如方框图所示根据要求我们组讨论如下:通过C 程序的编译,频率档位选择按键UP 、DOWN 以及波形选择按键SWITCH ,通过数码管显示频率档位和波形。并且通过DAC0832实现数模转换,最后用示波器观察输出的结果。

基于单片机的信号发生器(完整电路,程序)

基于单片机的信号发生器(完整电路,程序)
最终做出来的信号发生器满足了题目中的所有要求:
1.产生五种波形。正弦波、三角波、矩形波、梯形波,锯齿波。
2.最大频率为798.6HZ。并且频率可按按1T,2T,3T,4T,5T,6T,7T,8T变化。
3.幅度可调,峰峰值在0——5V之间变化。
当然还是存在不足的地方,比如不能实现频率的按一个小的步进调整。并且当频率太小时矩形波会有些失真。
关键词:低频信号发生器;单片机;D /A转换;
1设计选题及任务
设计题目:基于单片机的信号发生器的设计与实现
任务与要求:
设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。
4.4系统仿真波形:
矩形波
锯齿波
正弦波
4.5效果分析:
由4.2的频率理论值与实际值,可知频率在T,2T,3T,4T,5T,6T,7T,8T上频率误差很小。
最终的波形输出效果也很不错。
4.6测量仪器
示波器
直流稳压电源
万用表
5结束语
基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。

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

基于51单片机信号发生器的设计
展望
完成这次毕业设计也是对大学的一个圆满的交Baidu Nhomakorabea, 对以后的工作生活也有很大的帮助。对电子行业以及 对自己以后的发展有一个美好的展望。
2. D/A转换器选择:DAC0832
DAC0832是8分辨率的D/A转换集成芯片。与微处 理器完全兼容。这个DA芯片以其价格低廉、接口简 单、转换控制容易等优点,在单片机应用系统中得 到广泛的应用。D/A转换器由8位输入锁存器、8位 DAC寄存器、8位D/A转换电路及转换控制电路构成。
3.显示器LCD1602
液晶显示器普遍地用于直观地显示数字系统或字符的运行状 态和工作数据,按照材料及产品工艺单片机应用系统中常用的 显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示 器等。LCD显示器是现在最常用的显示器之一。
4.按键输入电路
按键是由一组按压式或触摸式开关构成的阵列,是一种常用 的输入设备。键盘可分为编码式键盘和非编码式键盘两种。
指导老师:XXX 专业:电子信息工程 学生:XXX 学号:XXXX
第一章:绪论 第二章:方案论证 第三章:相关硬件介绍 第四章:相关软件介绍 第五章:电路设计与仿真 第六章:总结与展望
1.选题的意义,背景及现状
本章的前三节介绍了本次毕业设计的选题意义,背 景。并对现如今这一方面的研究现状作了一定的了解。
2.本课题的主要研究内容

基于51单片机波形发生器课程设计

基于51单片机波形发生器课程设计

基于51单片机波形发生器课程设计

1. 引言

波形发生器是电子技术领域中常用的仪器设备,用于产生各种不同形状的电信号波形。在电子电路实验和测试中,波形发生器能够提供不同频率、幅度和相位的信号,用于测试和验证电路的性能。

本篇文章将介绍一个基于51单片机的波形发生器设计。通过使用51单片机,我们可以实现一个简单但功能强大的波形发生器,并通过编程控制实现不同类型的波形输出。

2. 硬件设计

2.1 51单片机

51单片机是一种常见的8位微控制器,具有低功耗、高性能和广泛应用等特点。

在本设计中,我们选择使用51单片机作为主控芯片。

2.2 数模转换芯片

为了将数字信号转换为模拟信号输出,我们需要使用一个数模转换芯片。在本设计中,我们选择使用DAC0800芯片作为数模转换器。

2.3 操作面板

为了方便用户操作和设置参数,我们设计了一个操作面板。该面板包括按键、旋钮和显示屏等组件,用户可以通过操作面板来控制波形发生器的参数和功能。

2.4 输出接口

为了将模拟信号输出到外部设备,我们设计了一个输出接口。该接口可以连接到示波器或其他测试仪器,以便观察和测量输出信号。

3. 软件设计

3.1 程序框架

波形发生器的软件设计主要包括初始化设置、参数调整和波形生成等功能。我们可以使用C语言编程,在51单片机上实现这些功能。

以下是程序框架的伪代码:

void main()

{

初始化设置();

while(1)

{

获取用户输入();

参数调整();

波形生成();

}

}

3.2 初始化设置

在初始化设置阶段,我们需要对51单片机和数模转换芯片进行初始化配置。这包括设置时钟频率、IO口方向、数模转换精度等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号发生器是一种经常使用的设备,若按照传统的设计方法,由纯粹的物理 器件构成,存在许多弊端,如:体积较大、重量较沉、移动不方便、信号失真较 大、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等要求。研 究设计出一种具有频率稳定、准确,波形质量好,便携性好等特点的波形发生器 来满足工业领域对信号源的要求,具有较好的市场前景。
3.5 键盘接口电路
该模块采用了一般的键盘接口,键盘输出信号。具体为: P3.0、P3.1 波形选择,其中当 P3.0=0,P3.1=0 输出正弦波,当 P3.0=0,P3.1=1 输出锯齿波,当 P3.0=1,P3.1=0 输出方波;当 P3.0=1,P3.1=1 输出三角波。P3.2、 P3.3、P3.4 进行频率调节,P3.2=0,P3.3=0,P3.4=0 时,信号频率为 10Hz,P3.2=1, P3.3=0,P3.4=0 时,信号频率为 20Hz,P3.2=0,P3.3=1,P3.4=0 时,信号频率 为 30Hz,P3.2=1,P3.3=1,P3.4=0 时,信号频率为 40Hz,P3.2=0,P3.3=0,P3.4=1 时,信号频率为 50Hz,P3.2=1,P3.3=0,P3.4=1 时,信号频率为 60Hz,P3.2=0, P3.3=1,P3.4=1 时,信号频率为 70Hz,P3.2=1,P3.3=1,P3.4=1 时,信号频率 为 80Hz。 键盘与单片机的连接如图 3-4 所示。
本设计选择了按键复位如图 3-2, 在系统运行时,按一下开关,就在 RST 断 出现一段高电平,使图 3-2 时钟电路图器件复位。此时 ALE、PSEN、P0、P1、 P2、P4 输出高电平,RST 上输入返回低电平以后,变退出复位状态开始工作。
图 3-2 单片机复位电路
本设计所用 D/A 转换电路采用通用的 DAC0832 模数转换芯片,它是一种 8 分辨率的 D/A 转换集成芯片。D/A 转换器由 8 位输入锁存器、8 位 DAC 寄存器、 8 位 D/A 转换电路及转换控制电路构成。其主要特性有:
1. 设计任务
结合实际情况,基于 AT89C51 单片机设计一个波形发生器系统。该系统应 满足的功能要求为:
(1)四种波形,方波、正弦波、锯齿波、三角波; (2)通过按键实现四种波形的切换; (3)通过按键进行频率选择; 主要硬件设备:AT89C51 单片机、DAC0832 数模转换芯片、UA741 运算放 大器、示波器、PC 机一台
图 3-5 运算放大器与 DAC0832 接口电路图
(2)示波器显示 利用示波器输出获得的信号的波形如图 3-6:
8
哈尔滨工业大学(威海)课程设计报告 9
哈尔滨工业大学(威海)课程设计报告
图 3-6 四种信号波形不同频率对比仿真结果
10
哈尔滨工业大学(威海)课程设计报告
单片机原理及接口技术
课程设计报告
设计题目: 基于 51 单片机的波形发生器 学 号: 姓 名: 指导教师:
信息与电气工程学院 二零一三年七月
哈尔滨工业大学(威海)课程设计报告
基于 51 单片机的波形发生器设计
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应 用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如方波、 锯齿波、三角波、正弦波的电路被称为函数信号发生器。在通信、广播、电视系 统,工业、农业、生物医学领域内,函数信号发生器在实验室和设备检测中具有 十分广泛的用途。
(2)ILE:数据锁存允许控制信号输入线,高电平有效; (3)CS:片选信号输入线(选通数据锁存器),低电平有效; (4)WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。 由 ILE、CS、WR1 的逻辑组合产生 LE1,当 LE1 为高电平时,数据锁存器状态 随输入数据线变换,LE1 的负跳变时将输入数据锁存; (5)XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于 500ns)有效; (6)WR2:DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。 由 WR1、XFER 的逻辑组合产生 LE2,当 LE2 为高电平时,DAC 寄存器的输出 随寄存器的输入而变化,LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器 并开始 D/A 转换。 (7)IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化; (8)IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数; (9)Rfb:反馈信号输入线,改变 Rfb 端外接电阻值可调整转换满量程精度; (10)Vcc:电源输入端,Vcc 的范围为+5V~+15V; (11)VREF:基准电压输入线,VREF 的范围为-10V~+10V; (12)AGND:模拟信号地 (13)DGND:数字信号地 DAC0832 的工作原理为:DAC0832 是常用的 8 位电流输出型并行低速数模 转换芯片,当需要转换为电压输出时,可外接运算放大器。集成电路内有两级输 入寄存器使得芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路 的需要(如要求多路 D/A 异步输入、同步转换等)。 使用 DAC0832 应该注意 DAC0832 通常需外接运算放大器,进行电流/电压 转换,才能得到模拟输出电压。 其与单片机的接口电路如图 3-3 所示。
本次设计的低频信号发生器,以AT89C51 单片机为核心,通过拨码开关输 入控制类型和频率的的选择,采用8位D/A 转换芯片DAC0832输出相应的波形, 同时以数码管实时显示信号相关信息。我们采用C 语言进行编程,可实现方波, 三角波,锯齿波和正弦波四种波形的产生,且波形的频率可调。
经测试该设计方案不仅在理论和实践上都能满足设计要求,而且具有很强的 可行性,线路优化,结构紧凑,性能优越。
2
哈尔滨工业大学(威海)课程设计报告
(2)锯齿波:使用查表法。将三角波的一个周期(360 度)分为 128 个点, 相邻点等差,生成数组。反复输出前 128 个数据到 DAC0832,就可以在系统输出 端得到想要的锯齿波。
(3)方波:使用查表法。将方波的一个周期(360 度)分为 256 个点,相 邻点等差,生成数组,反复输出该数组数据到 DAC0832,就可以在系统输出端得 到想要的方波。
21 22 23 24 25 26 27 28
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
key1 key2 key3 key4 key5
U2
1 2 3 4 5 6 7 8 9 10
图 2-1 基于单片机的波形发生器系统原理图
本系统硬件主要 D/A 转换电路、键盘接口电路、显示电路等几部分组成。 各模块的主要功能如下:
(1) D/A转换电路的功能是把数字量变换成模拟量的线性电路。单片机产生 的数字信号通过DAC0832 转化成模拟信号,输出相应的电流值。
(2)显示电路的功能通过UA741集成运算放大器取出DAC0832输出的模拟量 的电压值,最后利用示波器输出获得的信号的波形。
(4)三角波:使用查表法。将三角波的一个周期(360 度)分为 256 个点, 相邻点等差,生成数组。反复输出该数组数据到 DAC0832,就可以在系统输出端 得到想要的三角波。
该波形发生器以AT89C51单片机作为整个系统的控制核心,应用其强大的接 口功能,构成整个波形发生控制的硬件系统。通过C 语言对单片机编程即可产 生相应的正弦波,方波,三角波,锯齿波等波形信号。将所写程序装入单片机的 程序存储器中,在程序运行中,当接收到来自外界的命令,需要输出某种波形时 调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大 器处理后,从信号发生器的输出端口输出。并且可以通过数码管显示模块实现可 视化,通过拨码开关进行各种功能的转换和信号频率的控制。该波形发生器系统 的原理图如图2-1所示。
6
哈尔滨工业大学(威海)课程设计报告
图 3-3 DAC0832 与单片机的接口电路
图 3-4 键盘和单片机的连接电路图
3.6 显示电路
(1)运算放大电路 运算放大器型号为 UA741,它是一种高增益运算放大器,用于军事、工业和商
7
哈尔滨工业大学(威海)课程设计报告
业应用。这类单片硅整集成电路器件提供输出短路保护和闭锁自由运作。 运算放大器与 DAC0832 接口电路如图 3-5 所示。
单片机时钟电路如图 3-1 所示
图 2-2 系统的整体方案设计图
C1
10pF
C2
10pF
X1
CRYSTAL
Biblioteka Baidu
U1
19 XTAL1
18 XTAL2
9 RST
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C51
2. 整体方案设计
课设需要各个波形的基本输出,正弦波、锯齿波、方波、三角波,这些波形 的实现的具体步骤:
(1)正弦波:使用查表法。通过手动的方法计算出输出各点的电压值,然 后在编写程序时以数组的方式给出。当需要时,只要按照顺序进行输出即可。这 种方法比在软件中计算速度快且曲线的形状修改灵活。在本设计中将一个周期 (360 度)分为 256 个点,则每两个点之间的间隔为 1.4 度,然后计算出每个点 电压对应的数字量,形成数组。只要反复输出这组数据到 DAC0832,就可以在系 统输出端得到想要的正弦波。
(3)按键电路的功能是通过拨码开关的不同状态实现四中信号波形的切换及 信号频率的改变。
系统的整体设计方案设计图如图 2-2 所示。 系统的整体电路连接图如图 2-3 所示。
3 系统硬件电路设计
3.1 时钟电路
单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。在 引脚 XTAL1 和 XTAL2 外接晶体振荡器,构成了内部振荡方式。由于单片机内 部有一个高增益的反相放大器,当外接晶振后,就构成了自激振荡,并产生振动
3
哈尔滨工业大学(威海)课程设计报告
时钟脉冲。晶振通常选用 6MHZ、12MHZ、24MHZ。 本设计中时钟电路,我们选择了 12MHZ 的晶振分别接引脚 XTAL1 和
XTAL2,电容 C1,C2 均选择为 10pF,对振荡器的频率有稳定作用,当频率较 大时,正弦波、方波、三角波及锯齿波中每一点的延时时间为几微妙,故延时时 间还要加上指令时间才能获得较大的频率波形。
3 4 5 6 7 8 9
RESPACK-8
图 2-3 系统的整体电路连接图
4
哈尔滨工业大学(威海)课程设计报告
图 3-1 单片机时钟电路
3.2 复位电路
复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来 抑制噪声,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复 位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
20 19 18 17 16 15 14 13 12 11
U3
A
DAC0832
B OP1P
C
D
RP1
1
key1 2
key2 key3 key4 key5 key6 key7 key8
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 38 37 36 35 34 33 32
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
(1)电流稳定时间 1us; (2)可单缓冲、双缓冲或直接数字输入; (3)单一电源供电(+5V~+15V); (4)低功耗,200mW。 DAC0832 结构: (1)D0~D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁 存器的数据会出错);
5
哈尔滨工业大学(威海)课程设计报告
相关文档
最新文档