【资源下载】下载地址如下1557:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。 本设计采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和LCD液晶显示电路。电路采用单片机和一片DAC0832数模转换器组成数字式低频信号发生器,可产生正弦波、矩形波、锯齿波和三角波四种波形。系统通过单片机产生数字信号,通过DAC0832转换为模拟信号,再通过放大器LM324就可以得到双极性的各种波形,最终由示波器显示出来。通过键盘来控制四种波形的类型选择、频率变化,并通过液晶1602显示其各自的波形类型以及频率数值。

本设计硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用价值和参考价值。

关键词:AT89C51 单片机; 函数信号发生器;DAC0832;LCD液晶显示

#include <reg51.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned intuchar 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 }; //正弦波码//--按键
sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;
sbit K5=P2^4;uchar WaveChoice=0;
uchar ys=30;
uchar i,a=0;
uchar sqar_num=128;//--延时MS          输入一个确切的值用于键盘输入时消除按键抖动
void DelayMS(uchar ms)
{uchar i;while(ms--) for(i=0;i<120;i++);
}
//--延时y*9us    改变ys的值进而利用该函数达到调频率的目的void Delay1(uint y){uint i;for(i=y;i>0;i--);}//---输出波形
void Out_Wave(uchar i)
{    uchar j;   switch(i){case 0:   P0=0x00;break;case 1://---正弦波for (j=0;j<255;j++){P0=tosin[j];Delay1(ys);} break;case 2://----矩形波{if(a<sqar_num){P0=0xff;Delay1(ys);}else  {P0=0x00;Delay1(ys);}a++;}  break;case 3://----三角波{if(a<128){P0=a;Delay1(ys);}else  {P0=255-a;Delay1(ys);}a++;}   break;case 4://----锯齿波{if(a<255){P0=a;Delay1(ys);}

基于单片机智能波形发生器设计相关推荐

  1. 基于单片机的波形发生器设计

    单片机可以用来设计各种类型的波形发生器,下面是一种基于单片机的波形发生器设计方案. 所需材料: 单片机:可以选择常见的Atmel AVR单片机,如ATmega328P等. 调制器:可以使用AD9833 ...

  2. 热电偶单片机代码c语言,基于单片机的热电偶发生器设计(含电路原理图,程序)...

    基于单片机的热电偶发生器设计(含电路原理图,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文15000字,程序,答辩PPT) 摘 要 热电偶标准信号发生器为袖珍式键控现场检测仪表.其由 ...

  3. 基于单片机的波形发生器,可以发送正弦、三角、锯齿和方波,可以支持调频和调幅,能够提供相关设计说明。

    基于单片机的波形发生器,可以发送正弦.三角.锯齿和方波,可以支持调频和调幅,能够提供相关设计说明. :9740631428454681l***4

  4. stm32锯齿波_工程师实战:基于STM32的波形发生器设计

    本文摘自21ic论坛,作者:21ic网友 一路向北lm) 为了调动大家的积极性,先开个贴,万一你们都不参加呢!哈哈侥幸心理............... 先发个波让你们看看 ,吓吓你们,快点来参赛!! ...

  5. 基于单片机信号波形发生器系统设计-毕设课设

    [资源下载]下载地址如下1533: https://docs.qq.com/doc/DTlRSd01BZXNpRUxl 前  言 随着电子测量技术与计算机技术的紧密结合,一种新的信号发生器-----波 ...

  6. 基于51单片机的波形发生器设计(proteus仿真波幅周期可调)

    /********************************************* Waveform generator based on 512023/1/10 ************* ...

  7. 基于单片机智能婴儿车控制设计(毕业设计)

    前言: 我们都知道照顾三岁以下的孩子是非常需要耐心和时间的,也是一件困难的事情.为了满足工作繁忙的人们更好地照顾年幼的小孩,我们设计了这款多功能智能婴儿车. 智能婴儿车设计原理概述: 智能婴儿车通过无 ...

  8. 基于FPGA的波形发生器设计

    用Spartan6的FPGA开发板实现,外接lcd1602液晶显示和TLC5615 dac数模转换模块.仅通过仿真未在实物上调试过.使用matlab生成波形数据的ROM查找表方法设计. 目录 dds_ ...

  9. 基于单片机智能鱼缸系统仿真设计-资料

    百度网盘下载地址(1131):点击下载 说明: 1.能够分别检测鱼缸和室内温度并显示2.能够实现鱼缸温度自动调节(升温降温恒温)3.系统能够实现 依据被投食设定相应的定时时间.4.系统可以实现自动和手 ...

最新文章

  1. 程序员裸辞求夸,众网友上演大型夸夸秀现场:楼主好样的
  2. How to Convert Array to ArrayList in Java?
  3. 一个或多个实体的验证失败。 有关更多详细信息,请参见“ EntityValidationErrors”属性
  4. 腾讯下载的视频转换为MP4
  5. K-periodic Garland CodeForces - 1353E(贪心)
  6. CDMA系统的三种码
  7. mysql处理重复数据
  8. Python项目实践:绘制玫瑰花
  9. java集合框架源代码_面试必备——Java集合框架
  10. 基于web的客栈、公寓、民宿管理平台的设计与实现
  11. 游戏是怎么赚钱的 - 科普篇
  12. excel数据分析 - 13个图表可视化技巧
  13. python flask用户权限管理 接口访问权限思路
  14. 2020腾讯实习生招聘面试算法题
  15. 计算机CPU像人的大脑,人脑与电脑的相似性与差异性及全球脑
  16. 利用Arduino Esp8266 心知天气API 获取天气预报信息(修改后可以DIY一个小型的桌面气象台)
  17. linux测试读写的工具,Linux 下的硬盘读写速度测试工具
  18. Java虚拟机jvm和Java内存模型jmm浅尝
  19. 怎样在xampp中使用mysql以及配置xampp
  20. php对接花呗,对接 花呗分期 不支持问题

热门文章

  1. 水下超声波测距c语言程序,超声波测距51C程序
  2. 一个39岁程序员的应聘被拒 | 文末送书
  3. FastReport 分组按每组单独一页打印
  4. 《人,绩效和职业道德》及博客读后感
  5. oracle中12560,Oracle ORA-12560解决方法
  6. HTTP 2.0 中文版
  7. 视觉导航定位系统工作原理及过程
  8. 登录onedrive显示无法连接服务器,Win10打不开OneDrive提示“连接到onedrive时出现问题”解决方法...
  9. 计算机编程数学不好能学吗,高中数学学的不好,对学习计算机编程有影响吗?...
  10. knn鸢尾花数据集java_1.从鸢尾花数据集与KNN说起