- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号发生器波形设计程序
ORG 0000H ;程序开始
MOV SP,#60H ;设置堆栈
MOV DPTR,#8000H ;0832的地址
LOP: JB P3.5,TIAO ;是否需要调频
MOV R6,#01H ;设置步长
MOV R5,#01H
START:JB P3.0,JCHI ;输出锯齿波程序
JB P3.1,SJIAO ;输出三角波程序
JB P3.2,TXING ;输出梯形波程序
JB P3.3,FBO ;输出方波程序
JB P3.4,ZXUAN ;输出正弦波程序
SJMP LOP ;循环检测
;------------------------
JCHI:MOV A,#00H ;设置初值
LOOP:MOVX @DPTR,A ;把数据送到端口转换
ADD A,R6 ;通过步长改变数据,上升波形
CJNE A,#00H,LOOP ;A值是否到最高点
; DJNZ R5,LOOP
SJMP LOP ;返回检测开关
;---------------------------
SJIAO:MOV A,#00H ;设置初值
LOOP3:MOVX @DPTR,A ;把数据送到端口转换
ADD A,R6 ;通过步长改变数据上升波形
CJNE A,#00H,LOOP3 ; A值是否到最高点
DEC A ;减少步长改变数据下降波形
LOOP2:MOVX @DPTR,A ;把数据送到端口转换
DEC A ;减少步长改变数据下降波形
CJNE A,#00H,LOOP2 ;A值是否到最低点
DJNZ R5,LOOP3 ;波形周期
SJMP LOP ;返回检测开关
;---------------------------
TXING:MOV A,#00H ;设置初值
LOOP4:MOVX @DPTR,A ;把数据送到端口转换
ADD A,R6 ;增加步长改变数据上升波形
CJNE A,#00H,LOOP4 ;A值是否到最高点
;SUBB A,R6 ;下降波形做准备
DEC A
MOV R7,0EEH ;循环次数
LOP2:MOVX @DPTR,A ;进行延时
DJNZ R7,LOP2
LOOP1:MOVX @DPTR,A ;把数据送到端口转换
;SUBB A,R6
DEC A
CJNE A,#00H,LOOP1 ;是否到最低点
MOV R7,0EEH ;循环次数
LOP1:MOVX @DPTR,A ;把数据送到端口转换
DJNZ R7,LOP1 ;进行延时
SJMP LOP ;返回检测开关
;---------------------------------
FBO: MOV A,#00H ;设置初值最低点
MOV R7,#0EEH ;循环次数
LOOP5:MOVX @DPTR,A ;进行数据转换
DJNZ R7,LOOP5 ;进行延时
MOV A,#0FFH ;设置最高点
MOV R7,#0EEH ;循环次数
LOOP6:MOVX @DPTR,A ;进行数据转换
DJNZ R7,LOOP6 ;进行延时
MOV A,#00H
SJMP LOP ;返回检测开关变化
;-------------------------------
ZXUAN: MOV A,#00H ;设置初值
LOOP7: MOV R7,A ;保存当前的数据
MOV DPTR,#SIN ;读取表的地址
MOVC A,@A+DPTR ;读取表中的数据
MOV DPTR,#8000H ;D/A0832的端口地址
MOVX @DPTR,A ;进行数据转换
MOV A,R7 ;恢复当前数据
INC A ;为读取表的下一个值做准备
CJNE A,#00H,LOOP7 是否读完表的数据
SJMP START ;返回检测开关
文档评论(0)