作业帮 > 综合 > 作业

这是显示锯齿波的程序,我想知道如果我想产生三角波应改变哪?为什么?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 13:09:06
这是显示锯齿波的程序,我想知道如果我想产生三角波应改变哪?为什么?

ORG 0000H

LJMP MAIN

ORG 3000H

MAIN:MOV DPTR,#07FFFH

         MOV  A,#00H

LOOP:MOVX @DPTR,A

            INC  A

            AJMP   LOOP

             END


如下即可:
ORG 0000H
LJMP MAIN
ORG 3000H
MAIN:
MOV DPTR,#07FFFH
MOV A,#00H
LOOP:
MOVX @DPTR,A ;输出
INC A ;递增
JNZ LOOP ;非零则转移到前面,继续输出、递增
;----------------------------------------------------
LP2:;为0则执行下面的
MOVX @DPTR,A ;输出
DEC A ;递减,将为255、254.
JNZ LP2 ;非零,就转移,继续输出、递减
AJMP LOOP ;无限循环
END
再问: 朋友我还想问一下,就是这个地址是多少?对不起我就只有这些财富值,我知道我的问题比较难一些,但我真的是不会,求求你满足一下我的求知欲望吧!谢了它的型号是0832
再答: 这个地址号码,取决于线路的连接方法。 你的电路,看起来,不很清楚。 按照你的程序,是 7FFFH,那就应该是这个。 其实,使用单片机本身的接口,也可以直接驱动 0832,并不需要 373 芯片。 看看: http://hi.baidu.com/do_sermon/item/a4ad641a9b8102ffddeeca30 即可知道。
再问: 可我不明白为什么必须是07FFFH,而不能识别的为什么07FFFH就好使呢?还有这个程序为什么要有INC A
再答: 为什么必须是07FFFH, --取决于电路。 --P2、P0,输出16位的地址号码。 --如果仅用 P2.7 连接到外设,且低电平有效,就是 P2 = 7FH。 为什么要有INC A, --这是加一指令。
再问: 我知道是加1指令,可我不明白为什么这个程序要用个加一指令?
再答: 你给出的程序,是产生锯齿波的程序。 锯齿波,就是,一点一点的递增,再突然下降。 所以,要加一。 加到了255,再加,就是0了。