⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex6.asm

📁 用dsp编写的四个程序,关于数组,还有语音,录音功能的实现
💻 ASM
字号:
************************************************
* FileName:		ex6.asm                        *
* Description:	硬件中断实验                   *
* Copyright(C) SanZhi Electronic, Author Zpin  *
************************************************
  ; 问题是不响应键盘中断,以及装入是在4000H处有错。

; 使用FIR实验中的 PAGE1设定,就没有装入问题了。
; 无中断响应,可能是系统硬件设置有错。如跳线不对。
		.title 	"ex6"
		.global _c_int00
		.mmregs

KEY_ADDR	.set	0A008h
D_LED_ADDR	.set	1003h

KEY_CODE1	.set	60h
KEY_CODE2	.set	61h

CONVERT		.macro	rawdata
            STM #4000h,AR3
            ANDM #001Fh,rawdata
            LD rawdata,A
            ADD AR3,A
			STL A,AR3
			nop
			nop
			LD *AR3,A
			STL A,rawdata
			nop
			nop
			nop
			nop
			.endm

		.data; 下面的初始化语句引起程序装入错误,在4000H
	    .word 0000h,3F06h,0605h,5B04h,4f03h,6602h,6d01h,7d06h,0705h,7f04h,6f03h,7702h,7c01h,3906h,5e05h,07904h,07103h,8002h
        ;BCD CODE  0      1     2     3     4     5     6     7      8    9     a      b      c     d     e      f      .
        ;hight 8 bit enable,low 8 bit is address 
        .sect ".vectors"
rst:	B _c_int00
		NOP
		NOP
		.space 17*4*16
int2:	B _onkey
		NOP
		NOP
		.space 13*4*16

		.text
_c_int00:
		LD #0h,DP
		STM #3000h,SP
		SSBX INTM; 禁止非屏蔽中断
		ssbx XF; 
		STM #07FFFh,SWWSR
		
		ST #1100h,KEY_CODE2; 
		
		STM #0ffffh,IFR; 
		;ORM #0004h,IMR; 原语句错误。
		ORM #0004h,IMR; INT2=1,允许键盘中断。
		RSBX INTM; 
		nop
susp:	PORTW KEY_CODE2,D_LED_ADDR	;显示到数码管
        rpt #0fh; 
        NOP
		NOP
		B susp
		
_onkey:	nop	;从没有进入这里。
		rpt #0fh; 
	    nop
		PORTR KEY_ADDR,KEY_CODE2	;读取按键
		ldm KEY_CODE2,A
		NOP

		CONVERT KEY_CODE2            ;将按键码转换成显示码
exit	rpt #0fh
		nop
		STM #0ffffh,IFR
		RETE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -