- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目6 彩灯键盘显示控制系统电路
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6.2 键盘中断模块的应用 6.2 键盘中断模块的应用 分析:根据原理图和LED的基础知识,要使连接在PTB引脚上的LED灯亮,必须让PTB输出低电平;另外,按键接在PTA引脚上,所以必须有按键程序,本例是应用键盘中断模块来识别按键盘的,如图6-8所示。下面分别用汇编语言程序和C语言程序实现上述要求: 6.2 键盘中断模块的应用 6.2 键盘中断模块的应用 1. 汇编源程序: INCLUDE derivative.inc XDEF _Startup, main XREF __SEG_END_SSTACK ; MY_ZEROPAGE: SECTION SHORT ;定义变量区 ; 6.2 键盘中断模块的应用 ORG $FFD2 ; 键盘中断矢量地址 _vect: DC.W isrVkeyboard1 ; MyCode: SECTION ;代码区 main: ;主程序 _Startup: LDHX #__SEG_END_SSTACK 6.2 键盘中断模块的应用 TXS JSR MCU_init ;初始化 mainLoop: MOV #$FF,PTBD ;灯灭 NOP ;可加入其他的代码 BRA mainLoop 6.2 键盘中断模块的应用 ; MCU_init: ;初始化子程序 ; KBI1SC: KBIE=0 BCLR $01,KBI1SC ;先禁止键盘硬件中断 LDA KBI1SC ;使PTA7PTA4下降沿/低电平有效 AND #$0F ORA #$01 ;边沿触发和电平触发 STA KBI1SC MOV #$FF,KBI1PE ; 键盘中断输入使能 BSET $02,KBI1SC ; KBI1SC: KBACK=1 BSET $01,KBI1SC ; KBI1SC: KBIE=1 6.2 键盘中断模块的应用 MOV #$FF,PTBD MOV #$FF,PTBDD CLI ; 使能中断 RTS 6.2 键盘中断模块的应用 ;** ================================= XDEF isrVkeyboard1 ;键盘中断子程序 isrVkeyboard1: BSET 2,KBI1SC BRCLR 0,PTAD,KEY_0 BRCLR 1,PTAD,KEY_1 BRCLR 2,PTAD,KEY_2 BRCLR 3,PTAD,KEY_3 BRCLR 4,PTAD,KEY_4 BRCLR 5,PTAD,KEY_5 BRCLR 6,PTAD,KEY_6 BRCLR 7,PTAD,KEY_7 RTI 6.2 键盘中断模块的应用 KEY_0: BCLR 0,PTBD RTI KEY_1: BCLR
文档评论(0)