单片机方波da转换c语言程序,基于51单片机的波形发生器DA转换(dac0832)
代码如下:
#include"reg51.h"
#define uchar unsigned char
sbit ksaw=P2^0; //锯齿波按键.
sbit ktran=P2^1; //三角波按键.
sbit ksquare=P2^2; //方波按键.
sbit ksin=P2^3; //正弦波按键.本文引用地址:http://www.eepw.com.cn/article/201611/315465.htm
uchar key1;
uchar keya;
uchar keyb;
uchar keyc;
uchar keyd;void delay( );
uchar code tab[128]={
64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,
109,111,113,115,117,118,120,121,123,124,125,126,126,
127,127,127,127,127,127,127,126,126,125,124,123,121,
120,118,117,115,113,111,109,106,104,102,99,96,94,91,
88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,
36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,
1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,
25,28,31,33,36,39,42,45,48,51,54,57,60};
void delay( )
{
uchar i;
for(i=0;i<255;i++);
}
void saw(void) //锯齿波.
{
uchar i;
while(1)
{
if(keya==1)
{
for(i=0;i<255;i++)
P0=i;
}
else break;
}
}
void tran(void) //三角波
{
uchar i;
while(1)
{
if(keyb==1)
{
for(i=0;i<255;i++)
P0=i;
for(i=255;i>0;i--)
P0=i;
}
else break;
}
}
void square(void) //方波
{
while(1)
{
if(keyc==1)
{
P0=0x00;
delay();
P0=0xff;
delay();
}
else break;
}
}
void sin( ) //正弦波
{
unsigned int i=0;
while(1)
{
if(keyd==1)
{
if(++i==128)i=0;
{P0=tab[i];}
}
else break;
}
}
void main(void) //主函数
{
EA=1;
EX0=1;
while(1)
{
if(key1)
{
switch(key1)
{
case 0x01:
//P0=0XC0;//
saw();
break;
case 0x02:
//P0=0XC0;//
tran();
break;
case 0x03:
//P0=0XBE;//
square();
break;
case 0x04:
//P0=0XB6;//
sin();
break;
}
}
}
}
void int0(void)interrupt0 using 1
{
if(ksaw==0)
{key1=0x01;keya=1;keyb=0;keyc=0;keyd=0;}
if(ktran==0)
{key1=0x02;keya=0;keyb=1;keyc=0;keyd=0;}
if(ksquare==0)
{ key1=0x03;keya=0;keyb=0;keyc=1;keyd=0;}
if(ksin==0)
{key1=0x04;keya=0;keyb=0;keyc=0;keyd=1;}
}
图片如下:
单片机方波da转换c语言程序,基于51单片机的波形发生器DA转换(dac0832)相关推荐
- 基于51单片机的光照强度检测c语言程序,基于51单片机光照强度检测报告.doc
基于51单片机光照强度检测报告 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 光敏电阻测光强度系统,该系统可以自动检测光照强度的强弱并显示让人们知道此时光照强度 ...
- 单片机控制灯光亮度c语言程序,基于51单片机控制LED灯光亮度并报警
利用pwm控制led灯光亮度大小.可以显示许多亮度等级 到最低或者最高亮度等级会发出报警.设计思路: LED一般是恒流操作的,如何改变LED的亮度呢?答案就是PWM控制.在一定的频率的方波中,调整高电 ...
- 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc
基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...
- 湿度控制c语言程序,基于51单片机的湿度控制系统设计.doc
基于51单片机的湿度控制系统设计 基于51单片机的湿度控制系统设计 摘要 关键词:单片机:湿度传感器:ADC0832数模转换 目 录 序 言1 第一章 系统的整体设计方案2 1.1设计内容2 1.2系 ...
- 51单片机的电子钟c语言程序,基于51单片机的电子钟C语言程序
基于单片机C语言的电子钟程序代码与仿真 基于51单片机的电子钟C语言程序: 程序代码 #include #include #define uchar unsigned char #define uin ...
- 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真
基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...
- 水塔水位测量c语言程序,基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)...
基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)(任务书,开题报告,外文翻译,论文18000字) 摘 要 为了能实现水位监测与控制,以STC89C52作为核心控制芯片,进行了水位检测系统控 ...
- 51lcd显示光传感器c语言程序,基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例...
基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例,系统由GY-30数字光照传感器.51单片机最小系统.1602液晶显示屏组成,电路简单,附件中的程序是实物验证过了的.1 ...
- 水质检测c语言程序,基于51单片机的水质监测系统的设计.doc
基于51单片机的水质监测系统的设计 基于AT89C51单片机的水质监测系统的设计 摘要:现在水源污染已经成了社会密切关注的话题,所以对水质进行监测成了保护水资源的一项重要措施,基于此本文设计了一款能够 ...
最新文章
- 智能指针unique_ptr
- 【java 性能优化实战】3 工具实践:如何获取代码性能数据?
- linux通过tftp下载的文件大小为0,linux 通过 tftp下载文件
- 阿里云联合中国信通院发布《云计算开放应用架构》标准
- (视频+图文)机器学习入门系列-第10章 人工神经网络
- 游戏寻路中 A* 算法的改进
- 134. 加油站 golang
- markdown基础语法整理
- 局域网内数据采集总结(三)
- 英特尔宣布推出锐炫 A 系列移动端独立显卡
- pandas (loc、iloc、ix)的区别
- JavaWeb快速入门(一)——新建JavaWeb项目
- 网络安全从业者“行话”
- 小白学习meshlab(1)——基本的edit工具学习
- UWP—网易云音乐的APP分析
- 有关js获取屏幕宽度问题
- gatk过滤_「简化基因组」如何过滤用GATK分析得到的SNP
- 机器学习及深度学习技术在海洋科学方面的应用
- 分分钟搞定python破解无线wifi
- 京东架构师讲解京东是如何优化列表页的