大键盘电子音符合成程序模板.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按照实验方案中的流程图,请在省略号处依次填入相应的程序! ; 大键盘电子音符合成实验 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400H START1: JMP START ; 字符 LED 显示编码 LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H ;KEYTAB DB 66H,65H,63H,56H,55H,53H,36H,35H,33H ;- 试验 20 的键值表 ; 高中低音键值表 其中 0号键位于第一行的最后 1 2 3 4 5 6 7 0EFDH,0EF7H,0EDFH, 0E7FH,0BFDH,0BF7H,0BDFH 2 3 4 5 6 7 0DFEH,0DFBH,0DEFH, 0DBFH,07FEH,07FBH,07EFH 2 3 4 5 6 7 1 2 3 4 5 6 7 0EFDH,0EF7H,0EDFH, 0E7FH,0BFDH,0BF7H,0BDFH 2 3 4 5 6 7 0DFEH,0DFBH,0DEFH, 0DBFH,07FEH,07FBH,07EFH 2 3 4 5 6 7 0 DW 1 DW 1 MIDNOTEK ;对应中音 HIGNOTEK ;对应高音 ;-音符的预置计数初值 -LS393 经 2分频后即接 T0 LOWNOTE ;--- 对应 MIDNOTE ;对应中音 HIGNOTE ;对应高音 BUF BUF1 KEY2 DW 0 DW DW DB ?,?,?,?,?,? DB ? DB ? 9398, 9398, 8373, 7458, 7041, 6269, 5585, 4925 1 2 3 4 5 6 7 4699, 4186, 3729, 3521, 3134, 2793, 2463 1 2 3 4 5 6 7 2349, 2093, 1864, 1760, 1567, 1396, 1231 1 2 3 4 5 ;显示缓冲区 6 7 ;存键号值 , 最大值是 32 ; BIG KEYBORD DISPLAY PORT ADRESS PA EQU 0FFDCH PB PC EQU 0FFDDH EQU 0FFDEH ;字形口 ;高4位字位口 ;键入口 /第3位键扫描口 ; 8255 PORT ADRESS PA2 PB2 PC2 PD2 EQU 0FFD8H EQU 0FFD9H EQU 0FFDAH EQU 0FFDBH ;8255 命令口 ; 8253 PORT ADRESS---Y3- PT0 PT1 PT2 PTC START : EQU 0FFECH EQU 0FFEDH EQU 0FFEEH EQU 0FFEFH ;8253 控制口 ;--8255 初始化 ,000000000000000 MOV AL,80H MOV DX,PD2 OUT DX,AL ;--8253 初始化 ,不赋初值 。。。。。。。。。。。。。。。 MOV AL,36H MOV DX,PT0 OUT DX,AL ;-显示缓冲区初始化 CALL WP MOV DI, OFFSET BUF PPP: ;---键识别 -- CALL KEY ;--- 启动定时 CALL STAT1 ; --- 键释放, 8253 停止计数 -- CALL STOP2 ;-- 调用显示 - CALL DISPLAY ;--停止定时 --- ;CALL STOP2 JMP PPP ; 8253 置初值 -并启动 --- STAT1: ,00000000000000 MOV BX,OFFSET BUF MOV AX,[BX] ;查表 ;查表,得到 8253计数初值 XLAT MOV DX,PT0 OUT DX,AL MOV AL,AH OUT DX,AL ;-- 门信号启动计时,即 PC0=1 ,000000000000000 MOV AL,01H MOV DX,PD2 OUT DX,AL RET ;--- 等待键释放 -并停止计数 --- STOP2: PUSH AX KEY1: MOV IN AND CMP JNZ ;CALL DELAY DX, AL, AL, AL, KEY1 PC DX 0FH 0FH POP AX ;停止计数, PC0=0--- ,000000000000000 MOV AL,00H MOV DX,PD2 OUT DX,AL RET MOV AL, 0ffh ; 关显示口 MOV DX, PA OUT DX, AL ; ;-- 判断是否有键按下 MOV AL, 00

文档评论(0)

zhaohuifei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档