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

📄 keyinput.lis

📁 为苏州一家公司所做的的恒温恒湿车间控制 系统
💻 LIS
字号:
                        .module KeyInput.c
                        .area text
 0000                   .dbfile KeyInput.c
 0000                   .dbfunc e KeyInput_Init _KeyInput_Init fV
 0000           _KeyInput_Init::
 0000                   .dbline -1
 0000                   .dbline 13
 0000           ; /*------------------------------------------------------------------------*
 0000           ; *文件描述:本文件包含了开关量输入的2个子程序,分别为:                       *  
 0000           ; *(1)KeyInput_Init:开关量输入初始化                                        *
 0000           ; *(2)KeyInput_Judge:读取8路开关量输入的状态                                *
 0000           ; *------------------------------------------------------------------------*/
 0000           ; #include "Includes.h"
 0000           ; /* KeyInput_Init:开关量输入初始化-----------------------------------------*
 0000           ; *功  能:初始化两个需要中断的开关量输入,但中断并不开放                    *
 0000           ; *参  数: 无                                                               *
 0000           ; *返  回: 无                                                               *
 0000           ; *------------------------------------------------------------------------*/
 0000           ; void KeyInput_Init(void)  //开关量输入初始化
 0000           ; {
 0000                   .dbline 14
 0000           ;     key_D =0x00;  //定义PTA7-0为输入
 0000 3F04              clr 0x4
 0002                   .dbline 15
 0002           ;     key_PUE =0xff;//定义输入引脚有内部上拉电阻
 0002 A6FF              lda #-1
 0004 B70D              sta 0xd
 0006                   .dbline 16
 0006           ;     INTKBSCR|= (1<<IntBit);      //屏蔽键盘中断(IMASKk=1)
 0006 121A              bset #1,0x1a
 0008                   .dbline 17
 0008           ;       INTKBIER=0xff;        //定义PTA作为中断输入引脚
 0008 A6FF              lda #-1
 000A B71B              sta 0x1b
 000C                   .dbline 18
 000C           ;       INTKBSCR|= (1<<ACKKBit);     //清键盘中断请求(ACKK=1)     
 000C 141A              bset #2,0x1a
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 81                rts
 000F                   .dbend
 000F                   .dbfunc e KeyInput_Judge _KeyInput_Judge fV
 000F           ;       SwInFlag -> 2,X
 000F           _KeyInput_Judge::
 000F                   .dbline -1
 000F 95                tsx
 0010                   .dbline 36
 0010           ; }
 0010           ; 
 0010           ; /* KeyInput_Judge:读取4路开关量/4个按键的状态------------------------------*
 0010           ; *功  能:读取开关量/键盘输入口存入内存中                                    *
 0010           ; *参  数:SwInFlag-开关量/键盘输入状态字节的地址                             *
 0010           ; *返  回:开关量/键盘输入状态字节                                            *
 0010           ; *说  明:*SwInFlag:0bxxxxdddd                                               *
 0010           ; *                   |||||||_初效压差开关                                   *
 0010           ; *                   |||||||_中效压差开关                                   *
 0010           ; *                   ||||||__防火阀1                                        *
 0010           ; *                   |||||___防火阀2                                        *
 0010           ; *                   ||||____按钮-上移                                     *
 0010           ; *                   |||_____按钮-下移                                     *
 0010           ; *                   ||______按钮-确定                                     *
 0010           ; *                   |_______电源按钮按下,此时其他按键才有效(PTA6~4才有效)  *
 0010           ; *-------------------------------------------------------------------------*/
 0010           ; void KeyInput_Judge(INT8U *SwInFlag)  //读取开关量/键盘输入口存入内存中
 0010           ; {    
 0010                   .dbline 37
 0010           ;   asm("nop");
 0010 9D                nop
 0011                   .dbline 38
 0011           ;   asm("nop");  
 0011 9D                nop
 0012                   .dbline 39
 0012           ;   *SwInFlag=key_P;       
 0012 E603              lda 3,X
 0014 B700              sta *__r1
 0016 E602              lda 2,X
 0018 B700              sta *__r0
 001A B600              lda 0
 001C 5500              ldhx *__r0
 001E F7                sta ,x
 001F 95                tsx
 0020                   .dbline -2
 0020           L2:
 0020                   .dbline 0 ; func end
 0020 81                rts
 0021                   .dbsym l SwInFlag 2 pc
 0021                   .dbend

⌨️ 快捷键说明

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