求汇编语言高手帮解释下这个三角波程序

为什么这个程序就能产生三角波,且是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
展开
 我来答
VODLH
2011-12-04
知道答主
回答量:3
采纳率:0%
帮助的人:3.4万
展开全部
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子程序
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机编程是指使用单片机编程语言,如C语言,来编写单片机的程序代码,以控制单片机的行为。这种技术在电子工程、计算机科学和电子通信等领域中被广泛应用。单片机编程的主要任务是设计和实现单片机的程序,包括定义单片机的指令系统、编写程序代码、处理器... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
匿名用户
2011-12-04
展开全部
估计是可以输出三角波吧. 控制输出频率的方法可以加入延时程序. 根据晶振频率计算出延时,然后插入到递增递减代码后边就完了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式