11智能在线
新记
运用汇编语言编写两段方波和三角波的程序
要求:两端独立的程序,电压+5V,频率为500HZ,每一句都要有注解
没有注解啊
举报该文章
相关建议 2009-09-09
这要结合具体的电路,比如12MHz主频的8031与DAC0832构成的单缓冲连接及双极性输出电路。
1、三角波输出程序
START:MOV DPTR,#7FFFH;向DAC0832输出的地址(取决于你电路中地址线的连接方式)
DA:MOV R0,#80H;输出初始值入R0(从0伏开始输出),兼做输出计数控制
UP:MOV A,R0;输出值入A
MOVX @DPTR,A;正向增长,DA转换输出
INC R0;输出值加1
NOP;延时1微秒
NOP;延时1微秒
CJNE R0,#0FFH,UP;输出未到5伏则转UP,继续正向增长
DOWN:DEC R0;输出值减1
MOV A,R0;输出值入A
MOVX @DPTR,A;反向减小,DA转换输出
NOP;延时1微秒
NOP;延时1微秒
CJNE R0,#80H,DOWN;输出未到0伏则转DOWN,继续反向减小
AJMP DA;一个周期结束进入下一个周期
注:此程序输出的三角波频率不是很精确的500HZ,但相差也不大,
2、方波输出程序
START:MOV DPTR,#7FFFH;向DAC0832输出的地址(取决于你电路中地址线的连接方式)
DA:MOV R0,#80H;输出初始值入R0(从0伏开始输出),兼做输出计数控制
UP:MOV A,#80H;0伏输出值入A
MOVX @DPTR,A;0伏DA转换输出
INC R0;输出计数加1
NOP;延时1微秒
NOP;延时1微秒
CJNE R0,#0FFH,UP;未到半个周期则转UP,继续0伏输出
DOWN:DEC R0;输出计数减1
MOV A,#0FFH;5伏输出值入A
MOVX @DPTR,A;5伏DA转换输出
NOP;延时1微秒
NOP;延时1微秒
CJNE R0,#80H,DOWN;输出未到0伏则转DOWN,继续反向减小
AJMP DA;一个周期结束进入下一个周期
注:同样,此程序输出的方波频率不是很精确的500HZ
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/ffv8vp842.html
其他看法
第1个回答 2009-09-09
三角波程序:
SSW:
MOV DPTR,#0BFFFH
DAS0:
MOV R7,#80H
DAS1:
MOV A,R7
MOVX @DPTR,A
INC R7
CJNE R7,#255,DAS1
DAS2:
DEC R7
MOV A,R7
MOVX @DPTR,A
CJNE R7,#80H,DAS2
LJMP DAS0
相似回答
大家正在搜
相关问题
单片机汇编语言编程 方波源程序如下,锯齿波和三角波的源程序怎...
求汇编语言高手帮解释下这个三角波程序
proteus模拟锯齿波,方波,三角波输出,两个问题 1.电...
汇编语言用编写完整的程序,控制p1.2输出以50赫兹的方波。...
51单片机产生锯齿波变方波汇编语言程序
51单片机用汇编语言编写PWM方波
用C语言中的数组编写出正弦波、方波和三角波,写一种就可以了