如何用单片机产生一个三角波?
今天要学习的这个芯片叫做DAC0832技术流程我们不讲,就讲怎么用,学习单片机技术,我提倡如果看不懂,就先拿着用。
看一下如何接线:
wr低电平有效,输入寄存器写选通信号
cs低电平有效, 输入寄存器选择信号
ILE 允许锁存信号,高电平有效
D0-D7 转换数据信号,也就是接在51单片机上接收数据。
XFER 数据传输信号,低电平有效。
Iout 电流输出引脚。
然后先看一下效果图:
然后代码送给大家:
#include "reg52.h" //头文件,包含51类单片机的头文件
#define uchar unsigned char //宏定义,把后面的长句子,定义为前面的短句子
#define uint unsigned int //宏定义,把后面的长句子,定义为前面的短句子
sbit cs=P3^7; //位操作定义,把3.7这个口,重新取个名字。叫CS
sbit wr=P3^6;//位操作定义,把3.6这个口,重新取个名字。叫wr
void delayms(uint xms) //延时子程序
{
uint i,j; //定义两个 无符号整形参数,
for(i=xms;i>0;i--) //循环XMS次
for(j=110;j>0;j--); //循环 xms*110
} //就是上面的循环一次,下面的循环110次,约为1毫秒。
void main() //主程序
{
uchar k= 0; //定义一个无符号数据 K=0,
cs=0; //输入寄存器选择信号 让他低电平。
wr=0;//输入寄存器写选通信号 也让他低电平 ,让他们都有效。
while(1) //判断为真,进行循环
{
while(1) //判断为真进行循环
{
P1= k++ ; //把k+1每次,送入P1口,
delayms(10);//延时10毫秒
if(k==0xff) //如果K+1不等于 256也就是FF,那么就会循环再次加一。
break; //如果等于256,就会退出,执行下一行。
}
while(1) //判断为真,进行循环。
{
P1= k-- ;// 把K-1每次,送到P1口。
delayms(10);//延时10毫秒
if(k==0x00) //如果K=0,那么就结束,如果不等于就继续循环去减一。
break; 如果等于0就退出。从主程序的开头继续运行程序。循环。
然后我们看一下仿真效果。
}
}
}
单片机入门-C51语言DAC0832实现三角波方波波形发生器第三节解说
单片机入门-C51语言用DAC0832实现三角波和方波波形发生器第三节视频教程如下:
视频教程
一.DA转换器指标
(1)分辨率:分辨率指最小输出电压(对应的输入数字量最低有效位为1)与最大输出电压(对应的数字输入量所有位全为1)之比。对于n位D/A转换器,其分辨率为2-n ;
(2)建立时间:描述D/A转换器转换快慢的参数,是指从数字输入端发生变化开始,到输出模拟信号电压(或模拟信号电流)达到满刻度值(1/2)LSB时所需要的时间。
(3)转换精度:D/A转换器的转换精度主要取决于D/A转换器的二进制位数。例如,8位的D/A相对误差是1/256,16位的D/A相对误差为1/65536。显然,二进制位数越多精度越高。
二、DAC0832介绍
DAC0832是用先进的CMOS/Si-Cr工艺制成的双列直插式单片8位D/A转换器。它可以直接和8088CPU相接口。它采用二次缓冲方式(有两个写信号/WR1、/WR2),这样可以在输出的同时,采集下一个数字量,以提高转换速度。 而更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。它的主要技术参数如下:分辨率为8 位,电流建立时间为1us,单一电源5V-15V直流供电,可双缓冲、单缓冲或直接数据输入。
三、程序设计流程图
流程
四、凸形波形示意图
波形
相关问答
单片机 8051 D/A转换实验,利用DAC0832,编制程序产生 三角波 和梯形波, 单片机 编程?用定时器来实现吧,三角波其实也可以用积分器实现。用定时器来实现吧,三角波其实也可以用积分器实现。
用 单片机 STC12C5410AD控制DAC0832 输出 方波, 三角波 ,正弦波...用FOB写啊娱城亚洲版由于题目没有给出DAC0832的接口,本人将采用以下接口:DAC0832的CS引脚接单片机的P1.0口DAC0832的CLK引脚接单片机的P1.1口DAC08...
51 单片机 可以 输出 锯齿信号吗?根据51单片机产生锯齿波c语言,单片机产生方波、锯齿波、三角波程序#include#defineucharunsignedchar#defineuintunsignedin...51单片机可...
设计一个正弦波-方波- 三角波 发生电路正弦波-方波- 三角波 的频...[最佳回答]这个问题有人问过,我也回答过.请参见上面这个网址里面,我提供了一个方案,可以实现你要功能.提问者自己找了一个方案,但要实现你要的功能有点难.因为...
求助:用 单片机 如何产生一个频率、相位、幅度可调的正弦波?有一种器件叫信号发生器就是实现此类功能的,例如MAX038、ICL8038,你看看它们的数据手册就会了(附件是MAX038的数据手册),里边有典型应用电路,正弦波、矩形...
单片机 正弦波怎么改频率?第一,可以使用1T单片机使得速度更快第二,程序上可以减少输出的采样值精度,比如8位da,应存在255个值,我们可以删减掉一些点,保留关键点,比如波风波谷,使...第...
【怎么使用C51 单片机 编写反 三角函数 ,如α=arcsin((1-cosθ)...[最佳回答]这么复杂的函数,还不如余弦算好各个角度对应的函数值,做一个θ和α对应的表格,查表输出效率更高
单片机 如何测电机相序?单片机可以通过读取电机的三个相的电压值,然后分析它们的相位差来确定电机的相序。具体的方法是使用单片机内置的模拟转换器将电机三个相的电压转换成数字信号...
8038 是 单片机 吗?8038不是单片机。ICL8038是精密振荡集成电路,能产生从0.001HZ~300kHz的低失真正弦波、三角波、矩形波等脉冲信号。而单片机51结构的有Atmel的AT89CXX系...
几种正弦波产生电路的比较?正弦波产生方案:1、较低频率的正弦波可采用单片机产生正弦调制的PWM波,其后连接积分电路实现。2、采用运算放大器和RC阻容电路实现3、采用RLC谐振选频网络...