📄 keyinput.s
字号:
.module KeyInput.c
.area text
.dbfile KeyInput.c
.dbfunc e KeyInput_Init _KeyInput_Init fV
_KeyInput_Init::
.dbline -1
.dbline 13
; /*------------------------------------------------------------------------*
; *文件描述:本文件包含了开关量输入的2个子程序,分别为: *
; *(1)KeyInput_Init:开关量输入初始化 *
; *(2)KeyInput_Judge:读取8路开关量输入的状态 *
; *------------------------------------------------------------------------*/
; #include "Includes.h"
; /* KeyInput_Init:开关量输入初始化-----------------------------------------*
; *功 能:初始化两个需要中断的开关量输入,但中断并不开放 *
; *参 数: 无 *
; *返 回: 无 *
; *------------------------------------------------------------------------*/
; void KeyInput_Init(void) //开关量输入初始化
; {
.dbline 14
; key_D =0x00; //定义PTA7-0为输入
clr 0x4
.dbline 15
; key_PUE =0xff;//定义输入引脚有内部上拉电阻
lda #-1
sta 0xd
.dbline 16
; INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKk=1)
bset #1,0x1a
.dbline 17
; INTKBIER=0xff; //定义PTA作为中断输入引脚
lda #-1
sta 0x1b
.dbline 18
; INTKBSCR|= (1<<ACKKBit); //清键盘中断请求(ACKK=1)
bset #2,0x1a
.dbline -2
L1:
.dbline 0 ; func end
rts
.dbend
.dbfunc e KeyInput_Judge _KeyInput_Judge fV
; SwInFlag -> 2,X
_KeyInput_Judge::
.dbline -1
tsx
.dbline 36
; }
;
; /* KeyInput_Judge:读取4路开关量/4个按键的状态------------------------------*
; *功 能:读取开关量/键盘输入口存入内存中 *
; *参 数:SwInFlag-开关量/键盘输入状态字节的地址 *
; *返 回:开关量/键盘输入状态字节 *
; *说 明:*SwInFlag:0bxxxxdddd *
; * |||||||_初效压差开关 *
; * |||||||_中效压差开关 *
; * ||||||__防火阀1 *
; * |||||___防火阀2 *
; * ||||____按钮-上移 *
; * |||_____按钮-下移 *
; * ||______按钮-确定 *
; * |_______电源按钮按下,此时其他按键才有效(PTA6~4才有效) *
; *-------------------------------------------------------------------------*/
; void KeyInput_Judge(INT8U *SwInFlag) //读取开关量/键盘输入口存入内存中
; {
.dbline 37
; asm("nop");
nop
.dbline 38
; asm("nop");
nop
.dbline 39
; *SwInFlag=key_P;
lda 3,X
sta *__r1
lda 2,X
sta *__r0
lda 0
ldhx *__r0
sta ,x
tsx
.dbline -2
L2:
.dbline 0 ; func end
rts
.dbsym l SwInFlag 2 pc
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -