c语言锯齿波,c语言锯齿波代码

dfnjsfkhak 10 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言锯齿波的问题,于是小编就整理了2个c语言锯齿波的解答,让我们一起看看吧。

  1. 请大神解释一下锯齿波产生的这个程序?
  2. 51单片机可以输出锯齿信号吗?

请大神解释一下锯齿波产生的这个程序

你光看程序当然是看不明白咯!咱一步一步说吧

首先0FEFH这是一个地址如果我分析的没错的话,这个地址连接的应该是DA转换器,将数字信号转换成模拟信号的。

c语言锯齿波,c语言锯齿波代码-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

A是累加器,8未的单片机累加器应该最多是0FFH 也就是255,

LOOP循环里,第一个循环将#00H送到DA转换器里面(MOVX,@DPTR,A这条语句实现的,第一次循环的时候A里面的值是#00H),DA转换器将#00H这个数字信号转换成模拟信号(#00H对应的是0V,#01H对应的是5/255*1V,#02H对应的是5/255*2V以此类推)。

DA转换器实现DA转换之后,我们要给锯齿波一个时间信号来控制锯齿波的周期,靠的是MOV R0,#DATA和DJNZ R0,$这两条语句实现的,其中#DATA这个数值由你自己设置可以在#00H和#FFH中任选),实际上的锯齿波周期就是#DATA*255*单片机的时钟

c语言锯齿波,c语言锯齿波代码-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

第二个循环就送#01H给DA 第三个周期送#02H………… 一直送到#FFH。

DA转换器就根据送数据不同输出不同的电压,最终形成锯齿波。

写的有点乱不知道你能不能看懂!

c语言锯齿波,c语言锯齿波代码-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

51单片机可以输出锯齿信号吗?

51单片机可以输出锯齿信号的。根据51单片机产生锯齿波c语言,单片机产生方波、锯齿波、三角波程序

#include#defineucharunsignedchar

#defineuintunsignedint

unsignedcharx=0,m=0,y=128;

***itWR_DA=P2^1;

***itCS_DA=P2^0;//DA与 单片机 的接口

***itS0=P3^0;//波形选择,每次按下将产生不同的波形按juchi();//锯齿波

break;

到此,以上就是小编对于c语言锯齿波的问题就介绍到这了,希望介绍关于c语言锯齿波的2点解答对大家有用

标签: 锯齿 单片机 信号