老古开发网首页
导航:老古开发网首页文章索引文章分类DSP数字信号处理→[TI C54xx DSP 十天速成讲义 <五>]
| -文章搜索 - 最新文章 - |

TI C54xx DSP 十天速成讲义 <五>

发布时间:2006年6月18日 点击次数:1370
来源:   作者:
 

作者:佚名

实验4.2 键盘接口实验
实验板上有四个按键,当有键按下时,会触发DSP的INT1中断,在INT1的中断服务程序中读入键码,判断哪一个键被按下,然后执行相应的操作。各键对应的二进制和十六进制键码分别为:
按键1: 0001B 1H
按键2: 0010B 2H
按键3: 0100B 4H
按键4: 1000B 8H

下面有一个小例子:
******************************************************
*keyboardTest.asm
*测试按键的功能,响应按键中断,读取键值,
*并对不同键按键次数计数
******************************************************
.mmregs
.global CodeStart
.global INT1_ISR
.include "../DefineIO.asm"


.data
DATA_DP:
Counter1: .word 0 ;按键1计数器
Counter2: .word 0 ;按键2计数器
Counter3: .word 0 ;按键3计数器
Counter4: .word 0 ;按键4计数器
KeyValue: .space 30H*16 ;按键历史缓冲区

.text
CodeStart:
.copy "../SP_DP_IPTR.asm" ;初始化SP、DP和IPTR代码段
;初始化变量
STM #KeyValue,AR2
ST #0,Counter1
ST #0,Counter2
ST #0,Counter3
ST #0,Counter4

SSBX INTM ;关中断
STM #00000010B,IMR ;允许INT1中断
STM #0FFH,IFR ;清除挂起的中断
RSBX INTM ;开中断

wait:
B wait;
*******************************************************
*键盘中断子程序
*******************************************************
INT1_ISR:
PORTR #Keyboard,*AR2 ;读取键码
ANDM #0FH,*AR2 ;Keyvalue只有低四位有效
BITF *AR2,#01H ;如果键码为1,跳转到FuncKey1
BC FuncKey1,TC
BITF *AR2,#02H ;如果键码为2,跳转到FuncKey2
BC FuncKey2,TC
BITF *AR2,#04H ;如果键码为3,跳转到FuncKey3
BC FuncKey3,TC
BITF *AR2,#08H ;如果键码为4,跳转到FuncKey4
BC FuncKey4,TC
B FuncKeyEnd ;

FuncKey1:
ADDM #1,Counter1 ;按键1计数器+1
B FuncKeyEnd
FuncKey2:
ADDM #1,Counter2 ;按键2计数器+1
B FuncKeyEnd
FuncKey3:
ADDM #1,Counter3 ;按键3计数器+1
B FuncKeyEnd
FuncKey4:
ADDM #1,Counter4 ;按键4计数器+1
B FuncKeyEnd
FuncKeyEnd:
PORTW *AR2+,Digital0 ;当前键码显示到数码管上
STM #0FFH,IFR ;清除挂起的中断

欢迎进入老古论坛进行讨论
[DSP数字信号处理] 相关文章:
TI C54xx DSP 十天速成讲义 <七>
简介:
实验7.1 FIR ;============================================================= ; fir4.asm ;用用循环缓冲区和双操作数寻址方法实现FIR滤波器 ;先用matlab,选择80点汉明窗设计一个截止频率为0.2π的低通滤波器 ; 本例与前不同的是系数直接引用程序存储器的系数表 ;N=5 y(n)=h0*x(n)+h1*x(n-1)+h2*x(n-2)+h3*x(n-3)+h4*x(n-4) ;============================================================= .tit......

ISP1362 USB OTG控制芯片及其应用[转]
TMS320VC5402通用I/O资源及其应用
32位CPU架构具有DSP指令和JAVA引擎
温控芯片解决处理器发热量激增问题
基于DSP的雷达视频信号数字采集与检测
ADI发表内置闪存的车载音视频DSP
CreamWare高保真音箱采用ADI SHARC®处理器
通用变频器中基于DSP的数字控制器实现
TigerSHARC结构的ADSP-TSl01及其应用
 
下一个:[DSP数字信号处理]TI C54xx DSP 十天速成讲义 <八>
简介:
实验7.2 IIR .mmregs .global codestart K_DATA_SIZE .set 256 ;输入数据个数 K_BUFFER_SIZE .set 8 ;缓冲大小,需是2的整数次幂,并大于a、b的个数 K_STACK_SIZE .set 256 ;堆栈大小 K_A .set 3 ;a向量个数 K_B .set 4 ;b向量的个数 K_CIR .set 4 ;&gt;=a、b的长度,也可以设为K_BUFFER_SIZE-1 STACK .usect "stack",K_STACK_SIZE SYSTEM_STACK .set K_STACK_SIZE+STACK .......
 

上一个:[新闻热点]TDK与电盛兰达启用统一的产品品牌,促进共同销售

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒