微机 信号发生器汇编.docx
- 文档编号:2927945
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:23
- 大小:18.68KB
微机 信号发生器汇编.docx
《微机 信号发生器汇编.docx》由会员分享,可在线阅读,更多相关《微机 信号发生器汇编.docx(23页珍藏版)》请在冰豆网上搜索。
微机信号发生器汇编
程序清单和程序注释
;***************根据CHECK配置信息修改下列符号值*******************
IOY0EQU0E400H;片选IOY0对应的端口始地址
IOY1EQU0E440H;片选IOY0对应的端口始地址
;*****************************************************************
MY8255_AEQUIOY0+00H*4;8255的A口地址
MY8255_BEQUIOY0+01H*4;8255的B口地址
MY8255_CEQUIOY0+02H*4;8255的C口地址
MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址
DA0832EQUIOY1+00H*4;DA0832的端口地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
SINTABDB19H,1EH,22H,27H,2BH,2EH,31H,32H;正弦函数表
DB33H,32H,31H,2EH,2BH,27H,22H,1EH
DB19H,14H,0FH,0BH,07H,04H,02H,01H
DB00H,01H,02H,04H,07H,0BH,0FH,14H
STR1DB'press1tooutputwave',0AH,0DH
DB'press2toquit',0AH,0DH,0AH,0DH,0AH,0DH,'$'
SQRTABDB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB13H,13H,13H,13H,13H,13H,13H,13H
DB13H,13H,13H,13H,13H,13H,13H,13H
STR2DB'press1tosinwave',0AH,0DH
DB'press2torecangle',0AH,0DH
DB'press3tosquare',0AH,0DH
DB'press4totriangle',0AH,0DH
DB'press5toreturn0',0AH,0DH,0AH,0DH,0AH,0DH,'$'
STR3DB'press1toreducefecency',0AH,0DH
DB'press2toincreasefecency',0AH,0DH
DB'press3toreduceamplitude',0AH,0DH
DB'press4toincreaseamplitude',0AH,0DH
DB'press5toreturn0',0AH,0DH,0AH,0DH,0AH,0DH,'$'
SQUDB'outputsqurewavenow.......',0AH,0DH,0AH,0DH,'$'
TRIDB'outputtrianglewavenow.......',0AH,0DH,0AH,0DH,'$'
RECDB'outputrecanglewavenow.......',0AH,0DH,0AH,0DH,'$'
SINDB'outputsinwavenow.......',0AH,0DH,0AH,0DH,'$'
AMPLDB3
FENCDB3
TIAOFUDB?
TIAOPINDB?
SQUAREDB?
KEYASSDB?
DATAENDS;键值表,0~F对应的7段数码管的段位值
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVSI,3000H;建立缓冲区,存放要显示的键值
MOVAL,00H;先初始化键值为0
MOV[SI],AL
MOV[SI+1],AL
MOV[SI+2],AL
MOV[SI+3],AL
MOVDI,3003H
MOVDX,MY8255_MODE;初始化8255工作方式
MOVAL,81H;方式0,A口、B口输出,C口低4位输入
OUTDX,AL
PREBEGIN:
MOVAH,09H;显示第一个菜单
MOVDX,OFFSETSTR1
INT21H
MOVSI,3000H;把数码管清0
MOVAL,00H;先初始化键值为0
MOV[SI],AL
MOV[SI+1],AL
MOV[SI+2],AL
MOV[SI+3],AL
MOVDI,3003H
BEGIN:
CALLDIS;显示刷新
CALLGETKEY1;在第一菜单下,等待按键的按下
MOVSI,OFFSETKEYASS
MOVAL,[SI]
CMPAL,1;按下第二个键就退出
JZQUIT
CMPAL,0;按下第一个键进入第二个菜单
JZLBEGIN
JMPBEGIN;不是按下第一或二键就继续等待输入
LBEGIN:
MOVAH,09H;显示第二个标题
MOVDX,OFFSETSTR2
INT21H
LBEGIN4:
CALLGETKEY1;第二个菜单等待输入
MOVSI,OFFSETKEYASS
MOVAL,[SI]
CMPAL,4;第5个键退出
JZLBEGIN1
CMPAL,0;第一个键到sin(正弦)函数
JZLBEGIN6
CMPAL,1;第二个键到rec(锯齿)函数
JZLBEGIN7
CMPAL,2;第三个键到squ(方波)函数
JZLBEGIN2
CMPAL,3;第四个键到tri(三角波)函数
JZLBEGIN5
JMPLBEGIN3;其他键则跳到继续等待输入
LBEGIN2:
CALLSQUREW
JMPPREBEGIN
LBEGIN5:
CALLTRIANW
JMPPREBEGIN
LBEGIN6:
CALLSINW
JMPPREBEGIN
LBEGIN7:
CALLRECW
JMPPREBEGIN;执行完输出波形之后回到第一个菜单
LBEGIN3:
JMPLBEGIN4
LBEGIN1:
MOVAH,1;判断PC键盘是否有按键按下
INT16H
JZPREBEGIN
QUIT:
MOVAX,4C00H;返回到DOS
INT21H
;上面是主程序
TRIANWPROCNEAR;三角波的子程序
MOVAH,09H
MOVDX,OFFSETTRI
INT21H
MOVAH,09H
MOVDX,OFFSETSTR3
INT21H;..............
MOVAL,FENC;初始化显示管的值为3
MOVSI,3000H
MOV[SI],AL
MOVAL,AMPL
MOVSI,3001H
MOV[SI],AL
TRIAN1:
CALLAMPLFENC
MOVSI,OFFSETKEYASS
MOVAL,4
CMP[SI],AL
JZTRIAN4
CALLDIS
TRILOOP11:
;输出三角波
MOVSI,3000H;幅值
MOVBL,[SI]
MOVSI,OFFSETTIAOFU
MOV[SI],BL
MOVSI,3001H
MOVBL,[SI]
MOVSI,OFFSETTIAOPIN
MOV[SI],BL
TRILOOP:
MOVAL,00H;D/A转换起始值
TRIUP:
PUSHAX
MOVBL,TIAOFU
MULBL
MOVDX,DA0832;启动D/A转换
OUTDX,AL
POPAX
MOVCL,TIAOPIN
MOVCH,00H
DALLYTRI1:
CALLDALLY
CALLDIS
CALLCCSCAN
JNZTRIAN1
LOOPDALLYTRI1
INCAL
CMPAL,33H
JNETRIUP
TRIDOWN:
PUSHAX
MOVBL,TIAOFU
MULBL
MOVDX,DA0832
OUTDX,AL
POPAX
MOVCL,TIAOPIN
MOVCH,00H
DALLYTRI2:
CALLDALLY
CALLDIS
CALLCCSCAN
JNZTRIAN1
LOOPDALLYTRI2
DECAL
CMPAL,00H
JNETRIDOWN
JZTRILOOP;无按键则跳回继续循环,有则退出
TRIAN4:
RET
TRIANWENDP
RECWPROCNEAR;锯齿波的子程序
MOVAH,09H
MOVDX,OFFSETREC
INT21H
MOVAH,09H
MOVDX,OFFSETSTR3
INT21H
MOVDI,OFFSETFENC;初始化显示管的值为5
MOVAL,[DI]
MOVSI,3000H
MOV[SI],AL
MOVDI,OFFSETAMPL
MOVAL,[DI]
MOVSI,3001H
MOV[SI],AL
REC1:
CALLAMPLFENC
MOVSI,OFFSETKEYASS
MOVAL,4
CMP[SI],AL
JZREC4
CALLDIS
MOVSI,3000H;幅值
MOVBL,[SI]
MOVSI,OFFSETTIAOFU
MOV[SI],BL
MOVSI,3001H
MOVBL,[SI]
MOVSI,OFFSETTIAOPIN
MOV[SI],BL
RECLOOP11:
MOVAL,00H;D/A转换起始值
RECUP:
PUSHAX
MOVBL,TIAOFU
MULBL
MOVDX,DA0832;启动D/A转换
OUTDX,AL
POPAX
MOVSI,OFFSETTIAOPIN
MOVCL,[SI]
MOVCH,00H
DALLYREC1:
CALLDALLY
CALLDIS
CALLCCSCAN
JNZ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 信号发生器汇编 信号发生器 汇编