第一范文网 - 专业文章范例文档资料分享平台

基于单片机多路发生器的设计

来源:用户分享 时间:2025/11/17 4:02:05 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

三角波流程图如图4-3所示

开始 A=00H Y A送到0832输出 A=00H?A=A+1 A送到0832输出 N

N A=00H?Y A=A-1

图4-3 三角波流程图

三角波产生通过A中数值的加一递升,当A中的内容加到为0时, A中的内容减一递减,从而循环产生三角波。

三角波产生子程序如下: uchar code sanjiao[64]={

0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,

248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0

};

正弦波程序流程图如图4-4所示

开始 A=00H A=正弦函数表数据 A送到0832输出 N DPTR1=DPTR1+1 Y A=129?

图4-4 正弦波程序流程图

正弦波波形设计通过查表指令得出。其产生子程序如下: uchar code sin[64]={

135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,

146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128

};

方波程序流程图如图4-5所示

开始 A=00H A送到0832输出 延时 A=FFH A送到0832输出 延时

图4-5 方波程序流程图

方波产生是当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。

方波产生子程序如下:

uchar code juxing[64]={

255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,

255,255,255,255,255,255,255,255,

255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0

};

延时子程序流程图如图4-6所示

开始 R6赋初值 R7赋初值 R7减1,R7是否 为0? Y N N R6减1,R6是否 为0? Y 返回 图4-6 延时子程序流程图

延时程序如下:

void delay(uint xms) //延时函数 {

int a,b;

for(a=xms;a>0;a--) for(b=110;b>0;b--);

}方波的上限和下限的延时时间为:3ms S=1+(1+1+2×256+2)×7=3612μS

搜索更多关于: 基于单片机多路发生器的设计 的文档
基于单片机多路发生器的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4d3a82tuxc2v3bu3zrf8_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top