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

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

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

用A T89C51单片机采用程序设计方法构成的波形发生器,可产生方波、三角波、正弦波,再通过DA转换器DAC0832将数字信号转换成模拟信号,并通过LM324集成运放把信号放大,通过示波器将波形显示在屏幕上。波形的周期可用程序改变,此设计具有线路简单、结构紧凑、性能优越等特点。通过仿真测试,其性能指标达到了设计要求。并进行实际焊接电路板,进行波形测试,均达到了实验目的。

二、实验目的

1、进行硬件电路设计。

2、编写程序,并进行程序测试。

3、利用单片机采用软件设计方法产生三种波形。

4、焊接电路,将程序下载到单片机,并用示波器对输出程序进行测试。

三、实验场地及仪器、设备和材料:

实验场地:电子技术实验室。

仪器、设备和材料:双通道数字示波器、AT89C52单片机、DAC0832、LM324、电脑、杜邦线、洞洞板、电烙铁等。

四、实验内容

1、实验原理

数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如下图所示。

单片机数模转换电路滤波放大电路

89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。并经过滤波放大电路将波形输出出来。

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使之转换为电压输出。最后通过示波器显示输出的波形。

数模转换模块运放模块

整体硬件电路图

五、实验结果与分析

1、实验现象、数据记录

仿真波形

2、对实验现象、数据及观察结果的分析与讨论:

经过观察调试,再观察,再调试,最终输出的波形较为理想。此次试验经过一系列的调试,最终输出的波形为正弦波、方波、三角波。

刚开始在给运放接电源时,接的电源不是稳恒直流电源(用示波器测试了一下电源的输出波形,虽然电源上写的是直流稳恒电源,但是发现他的波形掺杂有杂波),所以测出来的波形不是正弦波、方波和三角波。分析原因可能与运放的电源有关,所以在实验室找到了数控稳恒直流电源,经过给运放供电,发现输出了正弦波、方波、三角波。所以给运放供电的电源必须是经滤波后的平稳电源,否则对运放有很大影响。

3、关键点:

此次试验关键点是程序的编写,在程序编写的过程中请教了众多的编程高手,最终在大家的帮助下编写出了能输出正弦波、方波、三角波的程序。

此次试验另一个关键点是硬件电路的焊接。在硬件电路焊接中首先应根据仿真软件进行焊接,当焊完以后还要对电路进行测试,以防止电路不通。

第三个关键点是在给运放供电时的电源一定要是稳恒直流电源,不能掺杂有杂波。

六、实验结论

基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。

最终做出来的信号发生器满足了题目中的所有要求:

产生三种波形。正弦波、三角波、矩形波。

当然还是存在不足的地方,比如不能实现频率的按一个小的步进调整。并且当频率太小时矩形波会有些失真。

信号发生器可以生成更多的波形,只需要再加些波形表即可。

七、指导老师评语及得分:

签名:年月日

附件:源程序等。

正弦波程序:

#include

#define uchar unsigned char

#define uint unsigned int

sbit cs=P3^7;

sbit wr=P3^6;

uchar j;

uint ys,a=0;

uchar code tosin[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,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,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,

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

0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,

0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,

0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,

0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,

0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,

0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,

0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,

0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,

0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,

0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,

0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,

0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,

0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,

0x76,0x79,0x7c,0x80 };/*正弦波码*/

void delay(uint z) //延时子程序

{

uchar i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void delay1(uint y)

{

uint i;

for(i=y;i>0;i--);

}

void main()

{

cs=1;

wr=1;

cs=0;

wr=0;

while(1) //正弦波

{

P2=tosin[j];

j++;

delay(1);

}

wr=1;

cs=1;

}

方波程序:

#include

#define uchar unsigned char

#define uint unsigned int

sbit cs=P3^7;

sbit wr=P3^6;

uchar j;

uint ys,a=0;

uchar code tosin[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,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,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,

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

0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,

0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,

0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,

0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,

0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,

0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,

0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,

0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,

0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,

0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,

0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,

0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,

0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,

0x76,0x79,0x7c,0x80 };/*正弦波码*/

void delay(uint z) //延时子程序

{

uchar i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void delay1(uint y)

{

uint i;

for(i=y;i>0;i--);

}

void main()

{

cs=1;

wr=1;

cs=0;

wr=0;

while(1) //方波

{

P2=0xff;

delay(1);

P2=0;

delay(1);

}

wr=1;

cs=1;

}

三角波程序:

#include

#define uchar unsigned char

#define uint unsigned int

sbit cs=P3^7;

sbit wr=P3^6;

uchar j;

uint ys,a=0;

uchar code tosin[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,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,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,

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

0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,

0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,

0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,

0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,

0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,

0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,

0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,

0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,

0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,

0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,

0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,

0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,

0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,

0x76,0x79,0x7c,0x80 };/*正弦波码*/

void delay(uint z) //延时子程序

{

uchar i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void delay1(uint y)

{

uint i;

for(i=y;i>0;i--);

}

void main()

{

cs=1;

wr=1;

cs=0;

wr=0;

while(1) //三角波

{

if(a<128)

{

P2=a;

delay(10);

}

else

{

P2=255-a;

delay(10);

}

a++;

if(a==255)

{

a=0;

}

}

wr=1;

cs=1;

}

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

龙源期刊网 https://www.360docs.net/doc/4c1621864.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

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

电子与信息工程学院综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级:10电工2班 学号:20101851046 姓名:李俊 指导教师: 时间:

摘要 本文以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)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

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

基于51单片机的函数信号发生器 设计方案 利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz 的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 设计要求 1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 方案设计 1 信号发生电路方案

通过单片机控制D/A,输出四种波形。此方案虽输出的波形不够稳定,抗干扰能力弱,不易调节,但此方案电路简单、成本低。因此选用此方案。 2 单片机的选择 AT89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 3 显示方案 采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。 4 键盘方案论证 采用独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键

输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图: 总体方框图 硬件实现及单元电路设计 1单片机最小系统的设计 AT89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2) 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。

基于51单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟 院系:电气与电子工程系 专业:电气工程及其自动化 班级:电气工程1503 姓名: 学号: 指导教师: 二零一七年十二月

多功能电子闹钟 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机定时器中断闹钟 LED

目录 第1章方案的选择和论证 (1) 1.1单片机型号的选择 (1) 1.2按键的选择 (1) 1.3显示器的选择 (1) 1.4计时部分的选择 (1) 1.5发音部分的设计 (2) 1.6显示器驱动电路 (2) 1.7电源的选择 (2) 第2章数字电子钟的设计原理和方法 (3) 2.1设计原理 (3) 2.2硬件电路的设计 (3) 2.2.1 AT89C51单片机简介 (3) 2.2.2 键盘电路的设计 (3) 2.2.3 段码驱动电路 (4) 2.2.4 蜂鸣器驱动电路 (4) 2.3软件部分的设计 (5) 2.3.1 主程序部分的设计 (5) 2.3.2 中断定时器的设置 (5) 2.3.3 闹钟子函数 (6) 2.3.4 计时函数 (6) 2.3.5 键盘扫描函数 (8) 2.3.6 时间和闹钟的设置 (8) 第3章实验结果 (10) 总结 (11) 致谢 (12) 参考文献 (13) 附录 (14)

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602. 目录

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

基于51单片机的信号发生器设计报告 二零一四年十二月十一日

摘要 根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。本设计经过测试,性能和各项指标基本满足题目要求。 关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片

目录 摘要...................................................................... 目录...................................................................... 第一章绪论................................................................. 1.1单片机概述........................................................... 1.2信号发生器的概述和分类.............................................. 1.3问题重述及要求....................................................... 第二章方案的设计与选择................................................... 2.1方案的比较........................................................... 2.2设计原理 ............................................................. 2.3设计思想 ............................................................. 2.4实际功能 ............................................................. 第三章硬件设计............................................................ 3.1硬件原理框图......................................................... 3.2主控电路 ............................................................. 3.3数、模转换电路....................................................... 3.4按键接口电路......................................................... 3.5时钟电路 ............................................................. 3.6显示电路 ............................................................. 第四章软件设计............................................................ 4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................

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

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

四、实验内容

2、实验内容 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单片机的函数发生器和示波器解析

《智能仪器仪表设计基础》 课程设计报告 单位:自动化学院 学生姓名:汪连升 专业:测控技术与仪器 班级:0821001 学号:2010212950 指导老师:耿道渠 成绩: 设计时间:2013 年5月 重庆邮电大学自动化学院制

一、题目:基于单片机的多波形信号发生器设计 二、指导教师:耿道渠 三、设计要求: 设计一个信号发生器,实现如下功能: (1)可产生正弦波、方波、三角波、脉冲等波形; (2)通过按钮或键盘选定输出波形; (3)波形频率可设定; (4)波形可通过液晶屏显示。 四、给定条件: 1、8051单片机最小系统; 2、ADC,DAC器件; 五、设计: 1、方案论证,并确定设计方案 2、给出信号发生器的整体设计框图 3、硬件电路设计 4、软件设计(画出程序流程图,并给出相应模块程序代码) 5、完成设计报告 六、具体设计过程及实验结果: 七、设计的心得体会: 八、附件:(可选) 完成心率波、指数上升和指数下降波形; 九、参考书目: 给出主要参考书目(如:《单片机原理与应用》、《电子测量技术》、《单片机C语言程序设计》等),包括作者,书目名称,出版社等。

基于51单片机的波形发生器 引言 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。 本系统通过对51单片机的控制,用DA-AD等模块实现了正弦波、方波、三角波和锯齿波的产生,同时可以通过按键实现波形的选择和波形频率的改变。在实现波形的发生的同时又实现了波形图线的显示,通过NoKia5110对AD实时采集数据的显示、波形类型和波形频率的显示。 摘要: 本系统采用单片C8052为控制核心,通过其端口实现数字量的输出,然后由DAC0832把数字量转换成模拟量;但是DAC芯片输出的是电流信号,本系统用LM324运放把电流信号转换为电压信号。然后利用LM358搭建一个同相比例放大器,将转换后的电压信号按可调比例放大一定倍数。波形显示利用NoKia5110液晶屏,显示其波形、频率和实时的图像。显示其图像的时候我们利用ADC0804模数转换芯片将产生的模拟信号转换为数字信号,把AD实时读取到的值等比例显示到液晶屏上。本系统通过按键实现波形的选择以及波形频率的改变。 关键字:STC89C52 DAC0832 Nokia5110 ADC0804 LM324 独立按键

51单片机信号发生器实验报告

微控制器技术创新设计实验报告姓名:学号:班级: 一、项目背景 信号发生器也叫做振荡器或是信号源,在现在的科技生产实践中有着广泛而重要的应用。现在的特殊波形发生器在价格上不够经济,有些昂贵。而基于AT89C51单片机的函数信号发生器可以满足此要求。根据傅里叶变换,各种波形均可以用三角函数的相关式子表示出来。函数信号发生器能够产生多种波形,如三角波、锯齿波、矩形波、方波和正弦波。 二、项目整体方案设计 可以利用单片机编程的方法来实现波形的输出。可选用AT89C51作为控制器,输出相应波形的数字信号,再用D/A 转换器输出相应波形的模拟信号。用DAC0832作为D/A转换器,再经过两级放大后输出,最终在示波器上显示。可以使用按键扫描来实现波形的变化

三、硬件设计 四、软件设计 #include #define uchar unsigned char #define uint unsigned int Const tab[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff ,0xff,0xff,0xff,0xff,0xff,0xff}; void delay(void) { uchar i; for(i=230;i>0;i--); }

void main() { uchar i; while(1) { for(i=0;i<18;i++) { P1=tab[i]; delay(); } } } 五、实验结果

六、项目总结 通过这次实验设计,锻炼我们综合运用知识,提出问题,分析问题,及解决问题的能力。我感慨颇多,在着手设计的这段日子里,我又学到了很多东西。特别是理论联系实际。我认为掌握单片机的应用及开发技术是最基本的也是必要的。单片机是以后从事相关嵌入式研发最为基本的入门芯片。所以学好单片机是我们电子类的必要任务。通过这次单片机课程设计的顺利完成,离不开付老师指导,也离不开班上同学的耐心帮助。在此,我对所有帮助过我的老师和同学表示我真挚的感谢!

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

摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602.

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

专业方向课程设计报告设计课题:信号发生器的设计 设计时间:2012年06月6日

信号发生器的设计 摘要:本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。 关键词:低频信号发生器; 单片机;D/A转换 1设计要求 设计一个能产生方波、三角波、梯形波、锯齿波并且频率、幅度可调的信号发生器。 发挥部分:作品还能产生正弦波。 2系统概述 2.1.1波形产生方案 采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ 以上。 2.1.2改变幅度方案: 方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低;并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。 方案二:将输出电压通过一个运算放大器的放大。这样还有个优点是幅度连续可调。经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。 2.2工作原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模

拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如图2.2所示。 89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下: x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128 图2.2 系统框图 3单元电路设计与分析 3.1.1主控电路(如图3.1.1所示) 设计中主要采用STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。 在波形发生器中,用两个开关直接与外部中断0和外部中断1的管脚相连,其中S1开光用来改变波形,S2开光用来改变频率。在程序主函数中,我们写了个死循环一直输出一个默认的波形和频率(正弦波),当S1或S2按下(接通低电平)又抬起(STC89C51单片机管脚使能高电平)时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率

(完整word版)51单片机函数信号发生器

基于51单片机的函数信号发生器 设计报告 队员1 姓名:杨颉 学号: 2 专业:电子信息科学与技术 队员2 姓名:王鼎鸿 学号: 2 专业:电子信息科学与技术 基于51单片机的函数信号发生器 摘要 本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转 换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz— 10kHz的波形。通过键盘来控制四种波形的类型选择、拨码开关控 制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系 统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。

关键词:单片机AT89S52、DAC0832、液晶1602 目录 1. 系统设计 1.1 设计要求 1.2方案设计与论证1.2方案设计与论证 1.2.1 信号发生电路方案论证 1.2.2 单片机的选择论证 1.2.3 显示方案论证 1.2.4 键盘方案论证 1.3 总体系统设计 1.4 硬件实现及单元电路设计 1.4.1 单片机最小系统的设计 1.4.2 波形产生模块设计 1.4.3 显示模块的设计 1.4.4 键盘模块的设计 1.5 软件设计流程 1.6源程序 2. 输出波形的种类与频率的测试 2.1 测试仪器及测试说明 2.2 测试结果 3、附录

3.1 参考文献 3.2 附图 1、系统设计 经过考虑,我们确定方案如下:利用AT89C52单片机采用程序设计 方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转 换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波 器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最 终输出显示其各自的类型以及数值。 1.1、设计要求 1>、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 1.2方案设计与论证 1.2.1 信号发生电路方案论证 方案一:通过单片机控制D/A,输出四种波形。此方案输出的 波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成 本低。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过 零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。

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

唐山师范学院 题目基于单片机的信号发生器的设计 院系名称:电子信息科学与技术 学号: 摘要 波形发生器即简易函数信号发生器,是一个能够产生多种波形,如三角波、锯

齿波、方波、正弦波等波形电路。函数信号发生器在电路实验和设备仪器中具有十分广泛的用途。通过对函数发生器的原理以及构成分析,可设计一个能变换出三角波、锯齿波、方波、正弦波的函数波形发生器。在工业生产和科研中利用函数信号发生器发出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品进行指数验证、参数调整及性能鉴定。常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不仅参数准确度难以保证,而且体积和功耗都很大,而由数字电路构成的低频信号发生器,虽然其性能好但体积较大,价格较贵,因此,高精度,宽调幅将成为数字量信号发生器的趋势。 本文介绍的是利用89C52单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介绍了 DAC0832数模转换器的结构原理和使用方法,89C52的基础理论,以及与设计电路有关的各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信号频率幅度也按要求可调。 本设计核心任务是:以AT89C52为核心,结合D/A转换器和DAC0832等器件,用仿真软件设计硬件电路,用C语言编写驱动程序,以实现程序控制产生正弦波、三角波、方波、三种常用低频信号。可以通过键盘选择波形和输入任意频率值。

关键词: AT89C52单片机函数波形发生器 DAC0832 方波三角波正弦波 目次 1 引言 (4) 2 系统设计 (6) 方案 (6) 器件选择 (6) 总体系统设计 (6) 硬件实现及单元电路设计 (7) 单片机最小系统设计 (7) D/A转换器 (8) 运算放大器电路 (10) LED显示器接口电路 (11) 波形产生原理及模块设计 (11) 显示模块设计 (13) 键盘显示模块设计 (14) 软件设计流程 (14) 软件中的重点模块设计 (14) 3 输出波形种类与频率的测试 (18) 测量仪器及调试说明 (18) 调试过程 (18) 调试结果 (22) 结论 (23) 致谢 (25) 参考文献 (26) 附录A 源程序 (27)

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

湘南学院 电子工程设计 题目:基于51单片机的函数信号发生器设计 学院(系):电子信息与电气工程学院 年级专业: 2013级电子信息科学与技术 学号: 201314110144 ,201314110106 学生姓名:周慧程迅 指导教师:王龙 2016年 4 月 1 日

课程设计任务书 学生姓名:程迅周慧 专业班级:电子信息科学与技术(一)班 指导教师:王龙 工作单位:电子信息与电气工程学院 题目:基于51单片机的函数信号发生器的设计 初始条件: 1. 运用所学的单片机原理与接口技术知识和数字电路知识; 2. 51单片机最小系统; 3. PC机及相关应用软件。 要求完成的主要任务: 系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。 1.完成函数信号发生器的设计和调试。 2.撰写课程设计说明书,说明书使用A4打印纸计算机打印,用proteus等仿真软件绘制电子线路图纸。

基于51单片机的函数信号发生器的设计 摘要 本系统利用单片机STC89C52采用程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产0Hz—535Hz的波形。通过按键来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机STC89C52、DAC0832、液晶1602

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

课程设计任务书

指导教师: 2012 年12 月17 日 3 目录 目录 (2) 1.系统设计 (5) 1.1设计要求 (5) 1.2方案设计与论证 (5) 1.2.1 信号发生电路方案论证 (5) 1.2.3 显示方案论证 (6) 1.2.4键盘方案论证 (6) 1.3总体系统设计 (6) 1.4硬件实现及单元电路设计 (6) 1.4.1单片机最小系统的设计 (7) 1.4.2 波形产生模块设计 (7) 1.4.3 显示模块的设计 (8) 1.4.4 键盘显示模块的设计 (8) 1.5 软件设计流程 (9) 2.输出波形的种类与频率的测试 (10) 2.1、测量仪器及测试说明 (10) 2.2测试过程 (10) 2.3、测试结果 (11) 3.设计心得及体会 (11) 参考文献 (11)

4 1.系统设计 经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。 1.1、设计要求 1)、利用单片机采用软件设计方法产生三种波形 2)、三种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其平率 1.2方案设计与论证 1.2.1 信号发生电路方案论证 方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。 方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。 以上三种方案综合考虑,选择方案一。 1.2.2 单片机的选择论证 方案一:AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 以上两种方案综合考虑,选择方案一 5 1.2.3 显示方案论证

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

基于单片机的函数信号发生器 设计所用元器件: 基于单片机的函数信号发生器1.设计目的 1.学习使用keil编程,使用Altium Designer绘制原理图;

2.使用单片机产生正弦波、方波、三角波、锯齿波并可通过按键对波形切换、幅值和频率的调整; 3.学习使用示波器显示波形; 2.设计原理 基于单片机的函数发生器原理以STC89C51为整个函数发生器的核心部分,通过编写程序和执行程序,运用示波器显示出四种波形,分别是正弦波、三角波、方波和锯齿波。本设计拥有五个按键,分别实现波形的切换,改变波形的频率和幅值的大小。芯片DAC0832将数字信号转换成模拟信号输出并通过外接运算放大器OP07实现电流向电压的转换,最后通过示波器显示出波形。 3.设计内容 3.1基本设计内容 本次设计的主要内容是设计一个基于单片的函数信号发生器实现正弦波、三角波、方波和锯齿波。利用单片机设计程序,使其能够通过按键有效切换四种波形,并且实现波形幅值和频率的调整满足本设计的要求,进行硬件系统和软件系统的设计,最后调试完成本次设计。 LCD1602液晶显示波形种类、幅值以及频率。频率的可调范围在1—10HZ,幅值可调范围在1—5V。显示屏上显示参数,第一行显示波形。第二行左边显示波形频率,右边显示波形幅值。本设计由五个功能按键,分别进行波形切换,加减幅值和加减频率。电压在示波器上显示,硬件原理示意图,如图1.1所示。 图1.1 硬件原理设计图 3.2模块设计 3.2.1单片机最小系统模块 本设计STC89C51为整个函数发生器的核心部分,单片机、时钟电路和复位电路构成单片机的最小系统,如图2.1所示。

(完整)基于51单片机的数字温度计设计

(完整)基于51单片机的数字温度计设计 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机的数字温度计设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机的数字温度计设计的全部内容。

基于51单片机的数字温度计设计 一.课题选择 随着时代的发展,控制智能化,仪器小型化,功耗微量化得到广泛关注。单片机控制系统无疑在这方面起到了举足轻重的作用。单片机的应用系统设计业已成为新的技术热点,其中数字温度计就是一个典型的例子,它可广泛应用与生产生活的各个方面,具有巨大的市场前景。二.设计目的 1.理解掌握51单片机的功能和实际应用。 2.掌握仿真开发软件的使用。 3.掌握数字式温度计电路的设计、组装与调试方法。 三.实验要求 1.以51系列单片机为核心器件,组成一个数字式温度计. 2.采用数字式温度传感器为检测器件,进行单点温度检测。 3.温度显示采用4位LED数码管显示,三位整数,一位小数。 四.设计思路 1.根据设计要求,选择STC89C51RC单片机为核心器件。 2.温度检测采用DS18B20数字式温度传感器。与单片机的接口为P3。6引脚. 3.采用usb数据线连接充电宝供电,接电后由按钮开关控制电路供电。 硬件电路设计总体框图为图1: 五.系统的硬件构成及功能 1.主控制器 单片机STC89C51RC具有低电压供电和体积小等特点,有40个引脚,其仿真图像如下图所示:

51单片机函数信号发生器

51单片机函数信号发生器 部门: xxx 时间: xxx 制作人:xxx 整理范文,仅供参考,可下载自行修改

基于51单片机的函数信号发生器 设计报告 队员1 姓名:杨颉 学号: 200805020220 专业:电子信息科学与技术 队员2 姓名:王鼎鸿 学号: 200805020205 专业:电子信息科学与技术 基于51单片机的函数信号发生器 摘要 本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生 10Hz—10kHz的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分

三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。b5E2RGbCAP 关键词:单片机AT89S52、DAC0832、液晶1602 目录 1. 系统设计 .1 设计要求 .2方案设计与论证1.2方案设计与论证 1.2.1 信号发生电路方案论证 1.2.2 单片机的选择论证 1.2.3 显示方案论证 1.2.4 键盘方案论证 1.3 总体系统设计 1.4 硬件实现及单元电路设计 1.4.1 单片机最小系统的设计 1.4.2 波形产生模块设计 1.4.3 显示模块的设计 1.4.4 键盘模块的设计 .5 软件设计流程

1.6源程序 2. 输出波形的种类与频率的测试 2.1 测试仪器及测试说明 2.2 测试结果 3、附录 3.1 参考文献 3.2 附图 1、系统设计 经过考虑,我们确定方案如下:利用AT89C52单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。p1EanqFDPw 1.1、设计要求 1>、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 1.2方案设计与论证 1.2.1 信号发生电路方案论证

相关文档
最新文档