微机 信号发生器汇编Word格式文档下载.docx

上传人:b****5 文档编号:15838965 上传时间:2022-11-16 格式:DOCX 页数:23 大小:18.68KB
下载 相关 举报
微机 信号发生器汇编Word格式文档下载.docx_第1页
第1页 / 共23页
微机 信号发生器汇编Word格式文档下载.docx_第2页
第2页 / 共23页
微机 信号发生器汇编Word格式文档下载.docx_第3页
第3页 / 共23页
微机 信号发生器汇编Word格式文档下载.docx_第4页
第4页 / 共23页
微机 信号发生器汇编Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

微机 信号发生器汇编Word格式文档下载.docx

《微机 信号发生器汇编Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机 信号发生器汇编Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。

微机 信号发生器汇编Word格式文档下载.docx

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

STR2DB'

press1tosinwave'

press2torecangle'

press3tosquare'

press4totriangle'

press5toreturn0'

0AH,0DH,0AH,0DH,0AH,0DH,'

STR3DB'

press1toreducefecency'

press2toincreasefecency'

press3toreduceamplitude'

press4toincreaseamplitude'

SQUDB'

outputsqurewavenow.......'

0AH,0DH,0AH,0DH,'

TRIDB'

outputtrianglewavenow.......'

RECDB'

outputrecanglewavenow.......'

SINDB'

outputsinwavenow.......'

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

把数码管清0

先初始化键值为0

BEGIN:

CALLDIS;

显示刷新

CALLGETKEY1;

在第一菜单下,等待按键的按下

MOVSI,OFFSETKEYASS

MOVAL,[SI]

CMPAL,1;

按下第二个键就退出

JZQUIT

CMPAL,0;

按下第一个键进入第二个菜单

JZLBEGIN

JMPBEGIN;

不是按下第一或二键就继续等待输入

LBEGIN:

显示第二个标题

MOVDX,OFFSETSTR2

LBEGIN4:

第二个菜单等待输入

CMPAL,4;

第5个键退出

JZLBEGIN1

第一个键到sin(正弦)函数

JZLBEGIN6

第二个键到rec(锯齿)函数

JZLBEGIN7

CMPAL,2;

第三个键到squ(方波)函数

JZLBEGIN2

CMPAL,3;

第四个键到tri(三角波)函数

JZLBEGIN5

JMPLBEGIN3;

其他键则跳到继续等待输入

LBEGIN2:

CALLSQUREW

JMPPREBEGIN

LBEGIN5:

CALLTRIANW

LBEGIN6:

CALLSINW

LBEGIN7:

CALLRECW

JMPPREBEGIN;

执行完输出波形之后回到第一个菜单

LBEGIN3:

JMPLBEGIN4

LBEGIN1:

MOVAH,1;

判断PC键盘是否有按键按下

INT16H

JZPREBEGIN

QUIT:

MOVAX,4C00H;

返回到DOS

;

上面是主程序

TRIANWPROCNEAR;

三角波的子程序

MOVAH,09H

MOVDX,OFFSETTRI

MOVDX,OFFSETSTR3

INT21H;

..............

MOVAL,FENC;

初始化显示管的值为3

MOVSI,3000H

MOVAL,AMPL

MOVSI,3001H

TRIAN1:

CALLAMPLFENC

MOVAL,4

CMP[SI],AL

JZTRIAN4

CALLDIS

TRILOOP11:

输出三角波

幅值

MOVBL,[SI]

MOVSI,OFFSETTIAOFU

MOV[SI],BL

MOVSI,OFFSETTIAOPIN

TRILOOP:

D/A转换起始值

TRIUP:

PUSHAX

MOVBL,TIAOFU

MULBL

MOVDX,DA0832;

启动D/A转换

POPAX

MOVCL,TIAOPIN

MOVCH,00H

DALLYTRI1:

CALLDALLY

CALLCCSCAN

JNZTRIAN1

LOOPDALLYTRI1

INCAL

CMPAL,33H

JNETRIUP

TRIDOWN:

MOVDX,DA0832

DALLYTRI2:

LOOPDALLYTRI2

DECAL

CMPAL,00H

JNETRIDOWN

JZTRILOOP;

无按键则跳回继续循环,有则退出

TRIAN4:

RET

TRIANWENDP

RECWPROCNEAR;

锯齿波的子程序

MOVDX,OFFSETREC

MOVDI,OFFSETFENC;

初始化显示管的值为5

MOVAL,[DI]

MOVDI,OFFSETAMPL

REC1:

JZREC4

RECLOOP11:

RECUP:

MOVCL,[SI]

DALLYREC1:

JNZ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1