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

📄 key.lst

📁 2010年新增TX-1C程序
💻 LST
字号:
C51 COMPILER V8.02   KEY                                                                   06/17/2010 09:52:34 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN Key.OBJ
COMPILER INVOKED BY: D:\处理软件\keil\C51\BIN\C51.EXE Key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************************************
   2             本程序只供学习使用,未经作者许可,不得用于其它任何用途
   3                                           
   4                                           欢迎光临天祥电子  www.txmcu.cn
   5                    
   6          *******************************************************************/
   7          
   8          
   9          #include "Key.h"
  10          #include "MyType.h"
  11          #include "config.h"
  12          extern unsigned char s6,s7,s10,s11,s14,s15,s,again1,again2,pp,qq;
  13          volatile uint8 idata KeyCurrent,KeyOld,KeyNoChangedTime;
  14          volatile uint8 idata KeyPress;
  15          volatile uint8 idata KeyDown,KeyUp,KeyLast;
  16          
  17          volatile uint8 KeyCanChange;
  18          
  19          /********************************************************************
  20          函数功能:定时器0初始化,用来做键盘扫描。
  21          入口参数:无。
  22          返    回:无。
  23          备    注:无。
  24          ********************************************************************/
  25          void InitTimer0(void)
  26          {
  27   1       TMOD&=0xF0;
  28   1       TMOD|=0x01;
  29   1       ET0=1;
  30   1       TR0=1;
  31   1      }
  32          /*******************************************************************/
  33          
  34          
  35          /********************************************************************
  36          函数功能:键盘初始化
  37          入口参数:无。
  38          返    回:无。
  39          备    注:无。
  40          ********************************************************************/
  41          void InitKeyboard(void)
  42          {
  43   1       KeyIO=0xFF;      //键盘对应的口设置为输入状态
  44   1       KeyPress=0;          //无按键按下
  45   1       KeyNoChangedTime=0;
  46   1       KeyOld=0;
  47   1       KeyCurrent=0;
  48   1       KeyLast=0;
  49   1       KeyDown=0;
  50   1       KeyUp=0;
  51   1       InitTimer0();            //初始化定时器
  52   1       KeyCanChange=1;          //允许键值改变
  53   1      }
  54          /*******************************************************************/
  55          
C51 COMPILER V8.02   KEY                                                                   06/17/2010 09:52:34 PAGE 2   

  56          /********************************************************************
  57          函数功能:定时器0中断处理。
  58          入口参数:无。
  59          返    回:无。
  60          备    注:22.1184M晶体约5ms中断一次。
  61          ********************************************************************/
  62          void Timer0Isr(void) interrupt 1
  63          { 
  64   1      //定时器0重装,定时间隔为5ms,加15是为了修正重装所花费时间
  65   1      //这个值可以通过软件仿真来确定,在这里设置断点,调整使两次运行
  66   1      //时间差刚好为5ms即可。
  67   1       TH0=(65536-Fclk/1000/12*5+15)/256;      
  68   1       TL0=(65536-Fclk/1000/12*5+15)%256;   // 
  69   1      
  70   1       if(!KeyCanChange)return;     //如果正在处理按键,则不再扫描键盘 
  71   1      
  72   1       //开始键盘扫描
  73   1       //保存按键状态到当前按键情况
  74   1       //KeyCurrent总共有8个bit
  75   1       //当某个开关按下时,对应的bit为1
  76   1      
  77   1       P3|=0x37;
  78   1       lcden=0;
  79   1       rs=1;
  80   1       if(rxd==0) s6=1;
  81   1       if(txd==0) s10=1;
  82   1       if(csda==0) 
  83   1              {
  84   2                      s14=1;
  85   2                      again1=1;
  86   2              }
  87   1      if((csda==1)&(again1==1))
  88   1      {       
  89   2              pp=1;
  90   2              again1=0;
  91   2      }
  92   1       lcden=1;
  93   1       rs=0;
  94   1       if(rxd==0) s7=1;
  95   1       if(txd==0) s11=1;
  96   1       if(csda==0) 
  97   1       {
  98   2        s15=1;
  99   2        again2=1;
 100   2       }                                                                                                         
 101   1       if((csda==1)&(again2==1))
 102   1       {
 103   2              again2=0;
 104   2              qq=1;
 105   2       }
 106   1       
 107   1       s=s6|s7|s10|s11|s14|s15|pp|qq; 
 108   1      }
 109          /*******************************************************************/
 110          
 111          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    205    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V8.02   KEY                                                                   06/17/2010 09:52:34 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =      7    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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