如何用单片机产生一个三角波?
今天要学习的这个芯片叫做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直流供电,可双缓冲、单缓冲或直接数据输入。
三、程序设计流程图
流程
四、凸形波形示意图
波形
相关问答
求51 单片机 控制dac0832产生正弦波、方波、 三角波 输出程序?设计制作一个函数信号发生器。要求1、基本要求(1)正弦波、三角波、方波输出频率范围:1kHz~10MHz;(2)具有频率设置功能,频率步进:100Hz;(3)输出信...设计...
用 单片机 STC12C5410AD控制DAC0832输出方波, 三角波 ,正弦波...由于题目没有给出DAC0832的接口,本人将采用以下接口:DAC0832的CS引脚接单片机的P1.0口DAC0832的CLK引脚接单片机的P1.1口DAC0832的DIN引脚接单片机...
几种正弦波产生电路的比较?正弦波产生方案:1、较低频率的正弦波可采用单片机产生正弦调制的PWM波,其后连接积分电路实现。2、采用运算放大器和RC阻容电路实现3、采用RLC谐振选频网络...
51 单片机 怎样计算sin(x);和cos(x)?三角函数的计算是使用的弧度(rad),如果你得到的角度单位是度(deg),需要将deg转换为rad才能用三角函数计算。1rad=180/π,所以任意度数x转换为弧度就是x*π...
【怎么使用C51 单片机 编写反 三角函数 ,如α=arcsin((1-cosθ)...[最佳回答]这么复杂的函数,还不如余弦算好各个角度对应的函数值,做一个θ和α对应的表格,查表输出效率更高
怎样把keil软件写的程序代码下载到 单片机 ?1,keil中,需要把写好的代码程序生成HEX文件,在keil软件的菜单栏中的点击Project--Optionsfortarget选项。2,在Optionsfortarget对话框中,切...
pwm信号发生器使用方法?基本原理是由单片机内部集成PWM发生器模块在程序控制下产生PWM信号。优点是电路简单、便于程序控制。缺点是不利于学生观测PWM产生过程,闭环控制复杂和使用...
【mma7361lc倾角算法,现已经采出值,想算出角度,可以给出例程...[回答]重力分量垂直向下,三分量投影算一下反三角函数就行.51单片机算反三角函数可以用查表方法,自己设计一下吧,很简单的我给你个建议啊.通过三角形,然后...
【51 单片机 怎样计算sin(x);和cos(x);?x是我用编码器采集到的...[最佳回答]三角函数的计算是使用的弧度(rad),如果你得到的角度单位是度(deg),需要将deg转换为rad才能用三角函数计算.1rad=180/π,所以任意度数x转换为弧度就...
有谁能给我推荐一下 正规的电机回收电话,电机回收保质期有...[回答]2)采用步进电机。对电机的控制可分为如下3个部分:·单片机系统:控制步进电动机;·外围电路:PIC单片机和步进电动机的接口电路;·PIC程序:编写单片机...