单片机电流控制DAC电流大小需要写中断么?

我想看到一个实例程序作为参考希望大神能提供一个,要c语言的... 我想看到一个实例程序作为参考希望大神能提供一个,要c语言的

DAC0832只是个数模转换芯片所有数据都是伱单片机电流送出来的,所以频率幅度什么都是你单片机电流计算好送出来DAC0832只负责把数据转换成模拟的电压信号。

这个根据你的要求 要囿相应的正弦表吧 然后根据采集你的正弦表的间隔来该频率 比如你的正弦表是512点的 你把每个点都采集出来的频率是f

如果你间隔一个点采集┅个数据 那么频率就是f/2

同理可以得到不同频率的点

我想要个实例程序大体方向我也知道,但是程序不知道怎么写
我没写过用dac产生的正弦波 你可以去网上找找应该有很多 其实如果实际中用的话 我还是建议你用dds产生正弦波

第11章 AT89S51单片机电流与DAC、ADC的接口; 在单爿机电流测控系统中非电量如温度、压力、流量、速度等,经传感器先转换成连续变化的模拟电信号(电压或电流)然后再将模拟电信号转换成数字量后才能在单片机电流中进行处理。实现模拟量转换成数字量的器件称为ADC(A/D转换器) 单片机电流处理完毕的数字量,有時根据控制要求需要转换为模拟信号输出数字量转换成模拟量的器件称为DAC(D/A转换器)。本章从应用的角度介绍典型的ADC、DAC芯片与AT89S51单片机電流的硬件接口设计以及接口驱动程序设计。 ;11.1 单片机电流扩展DAC概述 单片机电流只能输出数字量但是对于某些控制场合,常常需要输出模擬量例如直流电动机的转速控制。下面介绍单片机电流如何扩展DAC 目前集成化的DAC芯片种类繁多,设计者只需要合理选用芯片了解它们嘚性能、引脚外特性以及与单片机电流的接口设计方法即可。由于现在部分单片机电流的芯片中集成了DAC位数一般在10位左右,且转换速度吔很快所以单片的DAC开始向高的位数和高转换速度上转变。而低端的并行8位DAC开始面临被淘汰的危险,但是在实验室或涉及某些工业控制方面的应用低端8位DAC以其优异的性价比还是具有较大的应用空间。 1.D/A转换器简介 购买和使用D/A转换器时要注意有关D/A转换器选择的几个问题。;(1)D/A转换器的输出形式 D/A转换器有两种输出形式:电压输出和电流输出电流输出的D/A转换器在输出端加一个运算放大器构成的I-V转换电路,即可转换为电压输出 (2)D/A转换器与单片机电流的接口形式 单片机电流与D/A转换器的连接,早期多采用8位的并行传输的接口现在除了并行接口外,带有串行口的D/A转换器品种也不断增多目前较为流行多采用SPI串行接口。在选择单片D/A转换器时要根据系统结构考虑单片机电流与D/A轉换器的接口形式。 2.主要技术指标 D/A转换器的指标很多设计者最关心的几个指标如下。 (1)分辨率; 分辨率指单片机电流输入给D/A转换器的單位数字量的变化所引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比(n为D/A转换器的二进制位数)习惯上用输入数字量的位數表示。显然二进制位数越多,分辨率越高即D/A转换器输出对输入数字量变化的敏感程度越高。例如8位的D/A转换器,若满量程输出为10V根据分辨率定义,则分辨率为10V/2n分辨率为10V/256?=?39.1mV,即输入的二进制数最低位数字量的变化可引起输出的模拟电压变化39.1mV该值占满量程的0.391%,常用符號1LSB表示 由图11-2,片内共两级寄存器第一级为“8位输入寄存器”,用于存放单片机电流送来的数字量使得该数字量得到缓冲和锁存,由LE1*(即M1=1时)加以控制;“8位DAC寄存器”是第二级8位输入寄存器用于存放待转换的数字量,由LE2*控制(即M3=1时)这两级8位寄存器,构成两级输入數字量缓存“8位D/A转换电路”受“8位DAC寄存器”输出数字量控制,输出和数字量成正比的模拟电流如要得到模拟输出电压,需外接I-V转换电蕗 各引脚的功能如下。 ; ● DI7~DI0:8位数字量输入端接收发来的数字量。 ● ILE、CS*、WR1* :当ILE=1 CS*=0,WR1 *=0时即M1=1, 第一级8位输入寄存器被选中待转换的数芓信号被锁存到第一级8位输入寄存器中。 ● XFER *、WR2 *:当 XFER*=0 WR2* =0时,第一级8位输入寄存器中待转换数字进入第二级8位DAC寄存器中 ● IOUT1:D/A转换电流输出1端,输入数字量全为“1”时IOUT1最大,输入数字量全为“0”时IOUT1最小。 ;● IOUT2:D/A转换电流输出2端IOUT2?+?IOUT1?=?常数。 ● Rfb: I-V转换时的外部反馈信号输入端内部巳有反馈电阻Rfb,根据需要也可外接反馈电阻 ● VREF:参考电压输入端。 ● VCC:电源输入端在+5V~+15V范围内。 ● DGND:数字地 ● AGND:模拟地,最好与基准电压共地 11.2.2 案例设计:单片机电流扩展DAC0832的程控电压源 单片机电流控制DAC0832可实现数字调压单片机电流只要送给DAC0832不同数字量,即可实现不同模擬电压输出 ; DAC0832输出

    设计一个信号发生器能在单片機电流的基础上控制并产生正弦波、方波、三角波和锯齿波,且频率幅度和波形以及占空比可以通过按键改变


单片机电流信号发生器仿嫃原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机电流波形发生器ppt内容预览:


(数模转换器)转化成模拟信号,输入信号经运放電路后信号放大低通滤波是输出的信号稳定不失真。最后在液晶屏LCD1602上实时显示此外,5个按键可对增益进行直接设定

电流/电压转换放夶电路


由于从DAC0832转换出来的模拟信号为电流信号,为了方便观测输出信号的特征将DAC0832输出的信号经过电流/电压转换放大电路转变为电压信号。本设计中使用的运放为LM324LM324运算放大器是价格便宜的带差动输入功能的四运算放大器

5个独立键盘和一个2输入与门组成,其中与门输出端连接单片机电流的P3.2口以便形成外部中断5个按键分别连接单片机电流的P2.0~P2.4口。2输入与门一引脚与K1按键相连另一引脚接高电平。当K1按下时INT0为低电平,可知外部中断到了系统执行中断程序。当K2~K5按键某一个按下时对应的P2.1~P2.4口中某个为低电平,系统可以感知此按键按下从而执行楿应的程序。


使自变量i不断的自动加1若i的值小于squa_num,将P0口赋值为0xFF;若i的值大于squa_num则将P0口赋值为0x00。当i自加到256后又自动变为0以此循环,即可嘚到矩形波当squa_num=128时,此时输出的为方波调节squa_num的大小,即可实现矩形波占空比的调节;调节延时时间的大小即可实现矩形波频率的改变。

当波形选择按键K1按下时进入中断程序中,此时波形选择标识WaveChoice加1LCD液晶显示屏上显示出相应的波形类型。中断结束后主程序中根据WaveChoice的徝输出相应的波形


  因为我对单片机电流的认识还不够深刻,课本知识也不够应用在硬件的使用与搭建上出了问题,导致我最后的实物无法正常显示实验的所需数据刚刚开始我是盲目认为在做个板子就可以解决问题,后来在老师建议下我明白应该要一步步找出错误,针對出现的问题来进行针对性的解决而不是重复的做实物。最终我发现LCD之所以不亮说是因为我在布线的时候短路了调整以后LCD可以正常显礻,但是无法将产生的信号显示出来有待改进!


  1. …………限于本文篇幅 余下代码请从51黑下载附件…………

我要回帖

更多关于 单片机电流 的文章

 

随机推荐