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

 

随着电子测量技术与计算机技术的紧密结合,一种新的信号发生器-----波形发生器应运而生。所谓波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。单片机作为微型计算机的一个重要分支,有着广泛的应用范围。本文介绍的是利用89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。本设计核心任务是:以AT89C51为核心,结合D/A转换器和DAC0832等器件,用仿真软件设计硬件电路,用汇编语言编写驱动程序,以实现程序控制产生正弦波、三角波、方波、三种常用低频信号。可以通过按键选择波形和输入任意频率值。

关键词:AT89C51单片机;信号发生器;DAC0832

      #include<reg52.h>
#define  uchar unsigned char
#define  uint  unsigned int
#define DAdata  P0  //DA数据端口
sbit DA_S1= P2^0;   // 控制DAC0832的8位输入寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存
sbit DA_S2= P2^1;   // 控制DAC0832的8位DAC寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存
sbit key=   P3^2;
uchar wavecount;    //'抽点'计数
uchar THtemp,TLtemp;//传递频率的中间变量
uchar judge=1;      //在方波输出函数中用于简单判别作用
uchar waveform;     //当其为0、1、2时,分别代表三种波
uchar code freq_unit[3]={10,50,200}; //三种波的频率单位
uchar idata wavefreq[3]={1,1,1};     //给每种波定义一个数组单元,用于存放单位频率的个数
uchar code  lcd_hang1[]={"Sine Wave       " "Triangle Wave   " "Square Wave     " "Select Wave:    " "press No.1 key! "};
uchar idata lcd_hang2[16]={"f=    Hz        "};
uchar code waveTH[]={0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xec,0xf6,0xf9,0xfb,0xfc,0xfc,0xfd,0xfd,0xfd,0xfe};
uchar code waveTL[]={ 0x06,0x8a,0x10,0x4e,0x78,0x93,0xa8,0xb3,0xbe,0xc6, //正弦波频率调整中间值
0xac,0xde,0x48,0x7a,0x99,0xaf,0xbb,0xc8,0xd0,0xde,  //三角波频率调整中间值
0x88,0x50,0x90,0x32,0x34,0xbe,0x4a,0xa3,0xe5,0x2c};
/*************************************************************************************************/
uchar code triangle_tab[]={     //每隔数字8,采取一次
0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78,
0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0xe0,0xe8,0xf0,0xf8,0xff,
0xf8,0xf0,0xe8,0xe0,0xd8,0xd0,0xc8,0xc0,0xb8,0xb0,0xa8,0xa0,0x98,0x90,0x88,0x80,
0x78,0x70,0x68,0x60,0x58,0x50,0x48,0x40,0x38,0x30,0x28,0x20,0x18,0x10,0x08,0x00};
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,0xff,0xff,0xff,0xff,
//输出电压从最大值到0(正弦波1/4部分)
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,

基于单片机信号波形发生器系统设计-毕设课设相关推荐

  1. 基于单片机烟雾报警器硬件系统设计-毕设课设

    [资源下载]下载地址如下1536: https://docs.qq.com/doc/DTlRSd01BZXNpRUxl 火灾报警器,主要检测温度和烟雾,再通过单片机控制相应的报警和驱动负载.通过液晶显 ...

  2. 基于单片机家庭火灾报警系统设计-毕设课设资料

    资料下载地址-1045(百度网盘):点击下载 随着生活水平的提高,罐装煤气和煤气管道已经进入千家万户.在人们享受它带来的方便的同时,也受到了由于设备使用不当或者设备老化而导致的煤气泄漏的巨大威胁.煤气 ...

  3. 基于单片机智能门禁密码锁仿真系统-毕设课设资料

    百度网盘下载地址(1128):点击下载 随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器.随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机 ...

  4. 基于单片机节水定时智能控制器设计-毕设课设资料

    资料下载地址-1050(百度网盘):点击下载 功能: 1.实现实时时间的显示和校时: 2.实现温度的实时采集: 3.实现农历显示: 4.手动开关放水: 5.定时时间自动放水: 6.两路红外检测,水的开 ...

  5. 基于单片机干湿垃圾自动分类系统-毕设课设资料

    资料下载地址-1031(百度网盘):点击下载 通过湿度范围来区分是干垃圾还是湿垃圾,范围可以手动按键设定当实际湿度<HL,那么判定为干垃圾,此时电机转动打开干垃圾桶.当实际湿度>HH,那么 ...

  6. 基于8086投票器仿真系统设计-毕设课设资料

    资料下载地址-1090(百度网盘):点击下载 使用八个按键开关,可以实现八个人同时投票,通过一位数码管显示十进制的投票数,八个led对应亮灭标志对应是否进行投票. 使用八个按键开关,可以实现八个人同时 ...

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

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

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

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

  9. 基于物联网的智能家居系统设计(课设)

    基于物联网的智能家居系统设计(课设) 摘 要 一.概述 二.系统分析 三.系统设计 四.系统实现 1.硬件实现 2.软件实现 五.结论与心得 六.参考文献 摘 要   科技的快速发展给人们的生活带来了 ...

最新文章

  1. 递归二分法php,PHP基于二分法实现数组查找功能示例【循环与递归算法】
  2. 超图iserver登录密码忘记,重置密码
  3. 第一个Hibernate项目
  4. PHP 接收 UDP包_UDP详解(广播,组播)(转)
  5. 765g处理器可以用两年吗?
  6. 安卓拍照上传php服务器,Android拍照上传至PHP服务器并写入MySql数据库(下)
  7. 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处
  8. maven 压缩html,YUI Compressor Maven插件压缩 js、css并输出war包
  9. node.js 将jade变为html
  10. Java使用itext 生成PDF,以生成个人简历为例
  11. dos命令行的四种打开方式
  12. C语言练习题:输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。
  13. 主板4线风扇原理分析
  14. el-descriptions文本水平垂直居中
  15. 我是如何用一行代码表白学妹~❤520情人节送女朋友的3D樱花雨相册礼物❤~(程序员表白专属)...
  16. ArcGIS GeoEvent 使用教程(二)
  17. 苹果闪存性能测试软件,iPhone 12 Pro性能测试,再次秒杀所有!
  18. 项目经理需要的基本技能
  19. CSS3-@keyframes动画
  20. 真正让你明白Hive调优系列3:笛卡尔乘积,小表join大表,Mapjoin等问题

热门文章

  1. SpringBoot邮件发送(QQ邮箱)
  2. FTP文件服务器的搭建
  3. linux内核信号处理机制--do_signal函数讲解 (适用mips架构)
  4. JPA的@Query用法
  5. 计算两个日期相隔的时间
  6. BZOJ1707 : [Usaco2007 Nov]tanning分配防晒霜
  7. 科技新品 | 大疆航拍小飞机重量不到249克;绘王数位屏薄至12毫米;追觅科技机器人吸尘器低至65分贝静音水平...
  8. 2021年制冷与空调设备运行操作免费试题及制冷与空调设备运行操作考试试卷
  9. wireshark域名过滤
  10. 通过VBA将一个工作簿中的多个工作表拆分为多个工作簿,以工作表名称命名工作簿