2940|0

6366

帖子

4914

TA的资源

版主

楼主
 

基于Proteus的MSP430单片机仿真实例19-D/A转换之正弦波发生器 [复制链接]




此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处



一、任务要求
利用MSP30F247单片机作为控制器,实现正弦波信号输出,最大值正负5V,频率50Hz。。
二、硬件电路
硬件电路如下图所示。
输出最大值正负5V正弦信号,运放电路采用两级设计,第二级为加法电路,可实现双极性输出。
三、程序设计
//main.c
#include "msp430f247.h"
#include "stdlib.h"
#include "string.h"
/*****************************************软件延时,主频1M*******************/
#define CPU_F1 ((double)1000000)
#define delay_us1M(x) __delay_cycles((long)(CPU_F1*(double)x/1000000.0))
#define delay_ms1M(x) __delay_cycles((long)(CPU_F1*(double)x/1000.0))
/****************************************************************************/
/*****************************************软件延时,主频1M*******************/
#define CPU_F8 ((double)8000000)
#define delay_us8M(x) __delay_cycles((long)(CPU_F8*(double)x/1000000.0))
#define delay_ms8M(x) __delay_cycles((long)(CPU_F8*(double)x/1000.0))
/****************************************************************************/
//128点输出正弦波样本值
char data_Sin[128]={
128,134,140,147,153,159,165,171,177,182,188,193,199,204,209,213,
218,222,226,230,234,237,240,243,245,248,250,251,253,254,254,255,
255,255,254,254,253,251,250,248,245,243,240,237,234,230,226,222,
218,213,209,204,199,193,188,182,177,171,165,159,153,147,140,134,
128,122,116,109,103,97,91,85,79,74,68,63,57,52,47,43,38,34,30,26,
22,19,16,13,11,8,6,5,3,2,2,1,1,1,2,2,3,5,6,8,11,13,16,19,22,26,30,
34,38,43,47,52,57,63,68,74,79,85,91,97,103,109,116,122};
/************************************************
函数名称:主函数
函数功能:D/A转换器应用二:正弦波发生器
入口参数:无
出口参数:无
描述:
作者:老马识途单片机
日期:2018年1月10日
************************************************/
main()
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD;//关看门狗
P4DIR=0xff;
while(1)
{
for(i=0;i<128;i++)
{
P4OUT=data_Sin;
delay_us1M(156);
}
}
}
四、程序说明
单片机产生正弦波信号的一般方法是:先建立一张正弦波数据表,单片机按查表方式经D/A输出得到正弦波信号。实例中采用的D/A转换器是8位的,因此正弦波数据表最多有256个值,一般单片机输出64点或128点,经D/A电路后得到的正弦波波形就比较完美了。。
五、仿真结果与分析
在proteus中画好电路图后,双击单片机,将可执行文件装载到单片机内,点击运行,观察虚拟示波器的波形。如下图所示。

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表