目录

一、项目功能

二、仿真

三、程序


资料下载地址:基于51单片机的信号发生器

一、项目功能

1. 输出矩形波、梯形波、三角波、锯齿波、正弦波五种波形;

2. 每种波形的频率可更改;

3. 采用lcd12864中文显示屏显示波形和相关信息;

二、仿真

正弦波

三角波

方波

锯齿波

三、程序

部分程序

#include <reg52.h>
#include <math.h>
#include <intrins.h>
#include <lcd12864.h>#define DAC_OUT  P2sbit change_wave=P3^2;               //改变波形按键
sbit change_rate=P3^3;               //改变频率按键
uchar mode=0,rate=0,delay_time=0,k,p; //为波形发生模块提供中间变量
uchar *which_wave,*which_wave2;
uint rate_num;void main()
{lcd_init();clr_screen();which_wave=&Sine_wave[0];disp_chinese();disp_function(chinese_sine);disp_rate(400);disp_xy();disp_wave(which_wave);wave_init();while(1){delay_time=rate;            //rate=0时,12mhz下,为400hz的波形。循环一次的时间为0.00025msDAC_OUT=*(which_wave+k);k++;if(k==64)k=0;while(delay_time)delay_time--;}
}void int0() interrupt 0    //波形选择中断服务程序
{EX0=0;wave_delay();mode++;if(mode==4)mode=0;switch(mode){case 0 :                                                                                //显示正弦波which_wave=&Sine_wave[0];which_wave2=&chinese_sine[0];break;case 1 :                                                                               //显示三角波which_wave=&Triangular_Wave[0];which_wave2=&chinese_triangular[0];break;case 2 :                                                                               //显示方波which_wave=&Square_wave[0];which_wave2=&chinese_square[0];break;case 3 :                                                                                //显示锯齿波which_wave=&Sawtooth_Wave[0];which_wave2=&chinese_sawtooth[0];break;}wave_delay();clr_screen();                                                                        disp_chinese();                                                             disp_rate(400/rate);disp_function(which_wave2);disp_xy();disp_wave(which_wave);while(!change_wave);EX0=1;
}

基于51单片机的信号发生器相关推荐

  1. 基于51单片机低频信号发生器

    具体实现功能 系统由STC89C51/52+DAC0832模块+指示及按键模块+LM358模块+LCD1602显示模块+电源模块构成. 1.LCD1602显示波形种类和频率值(频率范围10-100HZ ...

  2. 25、基于51单片机函数信号发生器四种波形和频率显示系统设计

    摘  要 本文所设计的系统是利用51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,即采用STC89C51 单片机作为控制核心,而在外围采用数字/模拟转换电路(DAC0832).运放电 ...

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

    目    录 引言... 1 1  课题背景意义及研究内容... 1 1.1 课题背景及研究意义... 1 1.2 课题研究内容... 2 2  设计方案选择... 2 2.1 系统控制芯片选择... ...

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

    基于51单片机的三角波信号发生器设计 一.任务要求: 设计内容 选择51单片机,晶振采用12MHz. 设计一个能产生50HZ至100HZ的三角波信号.通过0832/A芯片完成数模转换. 频率值由LED ...

  5. 基于51单片机信号发生器仿真设计

    本设计 基于51单片机信号发生器仿真设计 (仿真+程序源码+设计说明书) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0015 目录标题 ...

  6. 【011】基于51单片机的低频信号发生proteus仿真与实物设计

    ​一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...

  7. 51单片机小车的立项书_毕业论文:基于51单片机智能避障小车的设计报告(范文1)...

    <毕业论文:基于51单片机智能避障小车的设计报告.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:基于51单片机智能避障小车的设计报告>相关文档资源请在帮帮文库(ww ...

  8. 基于51单片机的脉搏测量仪设计与实现

    目录 前言 一.设计背景 二.系统功能 三.系统硬件设计 3.1 总体方案设计 3.2 信号采集电路设计 3.3 报警电路设计 3.4 下载电路 3.5 电源电路设计 3.6 OLED显示设计 3.7 ...

  9. 基于51单片机的车速里程表项目设计

    基于51单片机的车速里程表项目设计 背景介绍 备选的三个题目 脉冲波部分(单片机模拟信号发生器) 源代码1 接收端主程序 基本思路 源代码2 设计过程中遇到的问题和解决的办法 结束语 背景介绍 (这是 ...

最新文章

  1. python 统计文件夹各类格式文件数量, 具通用性
  2. 今天俺要说一说工厂方法模式(Factory)
  3. c语言定义数组a10 指定各元素,C语言填空题.doc
  4. [通俗易懂]深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
  5. python udp创建addr_一篇文章搞定Python 网络编程之UDP协议
  6. ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
  7. dubbo + zookeeper 简介和部署
  8. 条件表达式计算个人所得税c语言,个税的计算C语言实现,结果为什么是负的?...
  9. 离散时间信号常见函数的实现(matlab)
  10. python:json文件的保存与读取
  11. DHTML【4】--HTML
  12. 算法:Three sum求三个数之和
  13. 工业界论文被CVPR收录有捷径?| CVPR 2017
  14. C语言实现推箱子游戏完整代码
  15. oracle漏洞修补,01-oracle漏洞修复
  16. Python | 基于basemap绘图的路径示意图
  17. 阅读笔记0001之聊聊数据分析现状
  18. Linux如何卸载坚果云,解决ubuntu16.04安装坚果云闪两下打不开问题(示例代码)
  19. 微信小程序制作-----日历记事本
  20. OpenCV-二值图像连通域分析

热门文章

  1. 关于Win7系统不能删除avast!
  2. 戴尔电脑开机时卡在logo处进不去系统的解决办法(Win10)
  3. 啄木鸟,python讲座,源码_Part1
  4. 甲乙丙丁四个人去商店每人买了一台计算机,寒假数学作业一
  5. TeXworks文献引用问题
  6. 手绘 | 深入解析风控8大场景中的机器学习应用
  7. 简单实现CSS导航栏二级菜单从上往下平滑滑下弹出效果
  8. python的集合和字典
  9. jspm律所应用管理系统毕业设计(附源码、运行环境)
  10. excel拆分表格如何快速完成?