基于51单片机的信号发生器
目录
一、项目功能
二、仿真
三、程序
资料下载地址:基于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单片机的信号发生器相关推荐
- 基于51单片机低频信号发生器
具体实现功能 系统由STC89C51/52+DAC0832模块+指示及按键模块+LM358模块+LCD1602显示模块+电源模块构成. 1.LCD1602显示波形种类和频率值(频率范围10-100HZ ...
- 25、基于51单片机函数信号发生器四种波形和频率显示系统设计
摘 要 本文所设计的系统是利用51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,即采用STC89C51 单片机作为控制核心,而在外围采用数字/模拟转换电路(DAC0832).运放电 ...
- 基于51单片机的信号发生器设计
目 录 引言... 1 1 课题背景意义及研究内容... 1 1.1 课题背景及研究意义... 1 1.2 课题研究内容... 2 2 设计方案选择... 2 2.1 系统控制芯片选择... ...
- 基于51单片机的三角波信号发生器设计
基于51单片机的三角波信号发生器设计 一.任务要求: 设计内容 选择51单片机,晶振采用12MHz. 设计一个能产生50HZ至100HZ的三角波信号.通过0832/A芯片完成数模转换. 频率值由LED ...
- 基于51单片机信号发生器仿真设计
本设计 基于51单片机信号发生器仿真设计 (仿真+程序源码+设计说明书) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0015 目录标题 ...
- 【011】基于51单片机的低频信号发生proteus仿真与实物设计
一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...
- 51单片机小车的立项书_毕业论文:基于51单片机智能避障小车的设计报告(范文1)...
<毕业论文:基于51单片机智能避障小车的设计报告.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:基于51单片机智能避障小车的设计报告>相关文档资源请在帮帮文库(ww ...
- 基于51单片机的脉搏测量仪设计与实现
目录 前言 一.设计背景 二.系统功能 三.系统硬件设计 3.1 总体方案设计 3.2 信号采集电路设计 3.3 报警电路设计 3.4 下载电路 3.5 电源电路设计 3.6 OLED显示设计 3.7 ...
- 基于51单片机的车速里程表项目设计
基于51单片机的车速里程表项目设计 背景介绍 备选的三个题目 脉冲波部分(单片机模拟信号发生器) 源代码1 接收端主程序 基本思路 源代码2 设计过程中遇到的问题和解决的办法 结束语 背景介绍 (这是 ...
最新文章
- python 统计文件夹各类格式文件数量, 具通用性
- 今天俺要说一说工厂方法模式(Factory)
- c语言定义数组a10 指定各元素,C语言填空题.doc
- [通俗易懂]深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
- python udp创建addr_一篇文章搞定Python 网络编程之UDP协议
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
- dubbo + zookeeper 简介和部署
- 条件表达式计算个人所得税c语言,个税的计算C语言实现,结果为什么是负的?...
- 离散时间信号常见函数的实现(matlab)
- python:json文件的保存与读取
- DHTML【4】--HTML
- 算法:Three sum求三个数之和
- 工业界论文被CVPR收录有捷径?| CVPR 2017
- C语言实现推箱子游戏完整代码
- oracle漏洞修补,01-oracle漏洞修复
- Python | 基于basemap绘图的路径示意图
- 阅读笔记0001之聊聊数据分析现状
- Linux如何卸载坚果云,解决ubuntu16.04安装坚果云闪两下打不开问题(示例代码)
- 微信小程序制作-----日历记事本
- OpenCV-二值图像连通域分析