新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 矩形波电压发生器

矩形波电压发生器

作者:时间:2016-11-14来源:网络收藏

采用单缓冲方式,口地址设为FEFFH.
参考程序如下:
ORG 1100H
START: MOV DPTR , #00FEH ;送DAC0832口地址
LOOP: MOV A , #dataH ;送高电平数据
MOVX @ DPTR , A
LCALL DELAYH ;调用延时子程序
MOV A , #dataL ;送低电平数据
MOVX @ DPTR , A
LCALL DELAYL ;调用延时子程序
SJMP LCALL

执行上述程序就可得到如图9.5所示的

图9.5 D/A转换产生的
几点说明:
(1)以上程序产生的是矩形波,其低点平的宽度由延时子程序DELAYL所延时的时间来决定,高电平的宽度则由DELAYH所延时的时间决定。
(2) 改变延时子程序DELAYL和的DELAYH延时时间,就可改变矩形波上下沿的宽度。若DELAYL=DELAYH(两者延时一样),则输出的是方波。
(3) 改变上限值或下限值便可改变矩形波的幅值;单极性输出时为0~-5V或0~+5V;双极性输出时为-5V~+5V。
【例9.3】三角波
利用DAC0832产生三角波的参考程序如下:
MOV A , #00H ;取下限值
MOVX DPTR , #FEFFH ;指向0832口地址 SS1: MOVX @DPTR , A ;输出
NOP ;延时
NOP
NOP
SS2: INC A ;转换值增量
JNZ SS1 ;未到峰值,则继续
SS3: DEC A ;已到峰值,则取后沿
MOVX @DPTR , A ;输出
NOP ;延时
NOP
NOP
JNZ SS3 ;未到谷值,则继续
SJMP SS2 ;已到谷值,则反复



评论


相关推荐

技术专区

关闭