求高手帮解释下这个汇编程序

为什么这个程序就能产生三角波,且是P2.0为信号输出(要是太复杂这个问题就算了)?要怎么修改输出的频率?这个程序这样算完善吗?要怎么改ORG0000HAJMPSTARTO... 为什么这个程序就能产生三角波,且是P2.0为信号输出(要是太复杂这个问题就算了)?要怎么修改输出的频率?这个程序这样算完善吗?要怎么改
ORG 0000H
AJMP START
ORG 0050H
START: MOV DPTR,#0FEFFH
TRI: MOV A,#00H
UP: MOVX @DPTR,A
INC A
CJNE A,#0FFH,UP
DOWN: MOVX @DPTR,A
DEC A
CJNE A,#00H,DOWN
LJMP UP
END
展开
 我来答
tony_sgt
2011-12-04 · TA获得超过8427个赞
知道大有可为答主
回答量:5330
采纳率:66%
帮助的人:1437万
展开全部
START: MOV DPTR,#0FEFFH
TRI: MOV A,#00H
UP: MOVX @DPTR,A
INC A
CJNE A,#0FFH,UP
这段程序设置片外DAC地址在FEFFH也就是P2.0=0的地方,P2.0又是接你的片外DAC的片选讯号,所以在P2.0=0时候片外DAC有效,之後开始做三角波的输出,上面这段程序是从0递增到FF也就是三角波的正斜率部分从0到最高点,下面这段程序是做负斜率部分,也就是从FF递减到0,也就是从最高点到0点
DOWN: MOVX @DPTR,A
DEC A
CJNE A,#00H,DOWN
LJMP UP

要改变频率,可以在每个INC A或是DEC A之後跟著一段延时的delay子程序
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式