完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
利用ADC0809和DAC0832进行数模模数转换,如何对ADC0809转换后的数据操作实现积分操作呢,自己写的程序代码如下:
这样测试发现示波器波形不对,没有效果 蓝色是输入到ADC的波形,黄色是DAC输出波形。 |
|
相关推荐
3个回答
|
|
ad和da程序分别调试好,然后在结合算法,这样你就知道问题出在哪里
|
|
2 条评论
|
|
#include
#include sbit START=P1^0; sbit EOC=P1^1; sbit OE=P1^2; unsigned int getdata, temp, sum, real, out; // DAC0832写入数值 void writeDAC(unsigned char val) { P2 = val; P1_1 = 1; P1_1 = 0; } // 积分函数 void integrate() { int i; for(i=0; i<50; i++) { START=1; START=0; while(EOC==0); OE=1; getdata=P0; OE=0; temp=(unsigned int)getdata; // 将ADC0809的输出转换为-5~5V的实际电压 real=temp*1.238-626; // 将实际电压进行离散积分,假设采样周期为1ms sum += real; out = sum * 2.5 / 255; // 将积分结果输出到DAC0832,控制输出电压 writeDAC(out); // 延时1ms Delayms(1); } } void main() { // 初始化 START=1; EOC=1; OE=0; sum = 0; // 不断积分 while(1) { integrate(); } } |
|
2 条评论
|
|
黄色是输出信号,蓝色是输出100Hz,0-5V正弦信号
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12020 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 17:13 , Processed in 0.546529 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号