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

📄 mimasuo.lst

📁 2010年新增TX-1C程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   MIMASUO                                                               07/14/2010 14:24:02 PAGE 1   


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

line level    source

   1          /*******************************************************************************
   2                                                  “天祥电子”    倾情奉献
   3                                                                  www.txmcu.cn
   4                                                                  www.txmcu.com
   5          ********************************************************************************
   6                                                                          功能键
   7                                                          S6---S15        数字键0-9
   8                                          S16---更改密码          S17---更改密码完毕后确认
   9                                          S18---重试密码、重新设定        S19---关闭密码锁
  10                                          初始密码:000000        密码位数:6位
  11                                          注意:掉电后,所设密码会丢失,重新上点时,密码恢复为原始的000000
  12                                          与P1相连的8位发光LED点亮代表锁被打开;熄灭代表锁被锁上
  13          
  14          程序功能:
  15                            1、开锁:
  16                            下载程序后,直接按六次S7(即代表数字1),8位LED亮,锁被打开,输入密码时,
  17                            六位数码管依次显示小横杠。
  18                            2、更改密码:
  19                            只有当开锁(LED亮)后,该功能方可使用。
  20                            首先按下更改密码键S16,然后设置相应密码,此时六位数码管会显示设置密码对应
  21                            的数字。最后设置完六位后,按下S17确认密码更改,此后新密码即生效。
  22                            3、重试密码:
  23                            当输入密码时,密码输错后按下键S18,可重新输入六位密码。
  24                            当设置密码时,设置中途想更改密码,也可按下此键重新设置。
  25                            4、关闭密码锁:
  26                            按下S19即可将打开的密码锁关闭。
  27          推荐初级演示步骤:输入原始密码111111---按下更改密码按键S16---按0到9设置密码---按S17
  28                                  确认密码更改---按S18关闭密码锁---输入新的密码打开密码锁
  29          *******************************************************************************/
  30          #include<reg52.h>
  31          
  32          #define uchar unsigned char
  33          #define uint unsigned int
  34          
  35          uchar old1,old2,old3,old4,old5,old6; //原始密码
  36          uchar new1,new2,new3,new4,new5,new6;  //每次MCU采集到的密码输入
  37          uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入数码管显示的变量
  38          uchar wei,key,temp;
  39          
  40          bit allow,genggai,ok,wanbi,retry,close;  //各个状态位
  41          
  42          sbit dula=P2^6;
  43          sbit wela=P2^7;
  44          sbit beep=P2^3;
  45          
  46          unsigned char code table[]=
  47          {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
  48          0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};
  49          
  50          void delay(unsigned char i)
  51          {
  52   1              uchar j,k;
  53   1        for(j=i;j>0;j--)
  54   1          for(k=125;k>0;k--);
  55   1      }
C51 COMPILER V8.02   MIMASUO                                                               07/14/2010 14:24:02 PAGE 2   

  56          
  57          void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
  58          {
  59   1         dula=0;
  60   1         P0=table[a];
  61   1         dula=1;
  62   1         dula=0;
  63   1         
  64   1         wela=0;
  65   1         P0=0xfe;
  66   1         wela=1;
  67   1         wela=0;
  68   1         delay(5);
  69   1         
  70   1         P0=table[b];
  71   1         dula=1;
  72   1         dula=0;
  73   1         
  74   1         P0=0xfd;
  75   1         wela=1;
  76   1         wela=0;
  77   1         delay(5);
  78   1      
  79   1         P0=table[c];
  80   1         dula=1;
  81   1         dula=0;
  82   1         
  83   1         P0=0xfb;
  84   1         wela=1;
  85   1         wela=0;
  86   1         delay(5);
  87   1         
  88   1         P0=table[d];
  89   1         dula=1;
  90   1         dula=0;
  91   1         
  92   1         P0=0xf7;
  93   1         wela=1;
  94   1         wela=0;
  95   1         delay(5);
  96   1         
  97   1         P0=table[e];
  98   1         dula=1;
  99   1         dula=0;
 100   1         
 101   1         P0=0xef;
 102   1         wela=1;
 103   1         wela=0;
 104   1         delay(5);
 105   1         
 106   1         P0=table[f];
 107   1         dula=1;
 108   1         dula=0;
 109   1         
 110   1         P0=0xdf;
 111   1         wela=1;
 112   1         wela=0;
 113   1         delay(5);
 114   1      }
 115          
 116          
 117          void keyscan()
C51 COMPILER V8.02   MIMASUO                                                               07/14/2010 14:24:02 PAGE 3   

 118          {
 119   1        {     
 120   2          P3=0xfe;
 121   2          temp=P3;
 122   2          temp=temp&0xf0;
 123   2          if(temp!=0xf0)
 124   2          {
 125   3            delay(10);
 126   3            if(temp!=0xf0)
 127   3            { 
 128   4              temp=P3;
 129   4              switch(temp)
 130   4              {
 131   5                case 0xee:
 132   5                     key=0;
 133   5                                 wei++;
 134   5                     break;
 135   5      
 136   5                case 0xde:
 137   5                     key=1;
 138   5                                 wei++;
 139   5                     break;
 140   5      
 141   5                case 0xbe:
 142   5                     key=2;
 143   5                                 wei++;
 144   5                     break;
 145   5      
 146   5                case 0x7e:
 147   5                     key=3;
 148   5                                 wei++;
 149   5                     break;
 150   5               }
 151   4               while(temp!=0xf0) 
 152   4              {
 153   5                 temp=P3;
 154   5                 temp=temp&0xf0;
 155   5                 beep=0;
 156   5               }
 157   4               beep=1;
 158   4            }
 159   3          }
 160   2          P3=0xfd;
 161   2          temp=P3;
 162   2          temp=temp&0xf0;
 163   2          if(temp!=0xf0)
 164   2          {
 165   3            delay(10);
 166   3            if(temp!=0xf0)
 167   3            {
 168   4              temp=P3;
 169   4              switch(temp)
 170   4              {
 171   5                case 0xed:
 172   5                     key=4;
 173   5                                 wei++;
 174   5                     break;
 175   5      
 176   5                case 0xdd:
 177   5                     key=5;
 178   5                                 wei++;
 179   5                     break;
C51 COMPILER V8.02   MIMASUO                                                               07/14/2010 14:24:02 PAGE 4   

 180   5      
 181   5                case 0xbd:
 182   5                     key=6;
 183   5                                 wei++;
 184   5                     break;
 185   5      

⌨️ 快捷键说明

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