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

📄 gbw.lst

📁 用单片机实现了电动车库门的功能
💻 LST
字号:
C51 COMPILER V7.50   GBW                                                                   03/14/2007 09:41:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE GBW
OBJECT MODULE PLACED IN gbw.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE gbw.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REGX51.H>
   2          //#include <AT89X55.H>
   3          #include <absacc.h>
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          #define ulong unsigned long
   7          
   8          //for key
   9          sbit dio=P1^0;
  10          sbit clk=P1^1;
  11          sbit cs=P1^2;
  12          sbit key=P3^2;
  13          bit ctr = 0;
  14          
  15          //for moto
  16          sbit direct=P0^5;
  17          sbit pulse=P0^4;
  18          
  19          //for light
  20          sbit led=P3^5;
  21          
  22          void removedlms(void) //去抖动
  23          {
  24   1              uchar i;
  25   1              for(i=200;i>0;i--)
  26   1              {}
  27   1      }
  28          
  29          void delay(ulong count) //延时函数
  30          {
  31   1              for(;count>0;count--)
  32   1              {}
  33   1      }
  34          
  35          void send(unsigned char send_buf,bit cs_sign)   //按位发送数据函数
  36          {
  37   1              unsigned char i;
  38   1              cs=0;
  39   1              delay(25);
  40   1              for(i=0;i<8;i++,send_buf<<=1)
  41   1              {
  42   2                      dio=(send_buf&0x80)?1:0;
  43   2                      clk=1;
  44   2                      delay(5);
  45   2                      clk=0;
  46   2                      delay(5);
  47   2              }
  48   1              delay(10);
  49   1              cs=cs_sign;
  50   1              delay(25);
  51   1      }
  52          
  53          unsigned char receive() //接收键码函数
  54          {
  55   1              unsigned char rece_buf=0;
C51 COMPILER V7.50   GBW                                                                   03/14/2007 09:41:41 PAGE 2   

  56   1              unsigned char j;
  57   1              clk=0;
  58   1              dio=1;
  59   1              delay(25);
  60   1              for(j=0;j<8;j++)
  61   1              {
  62   2                      clk=1;
  63   2                      delay(5);
  64   2                      rece_buf=(rece_buf<<1)|dio;
  65   2                      clk=0;
  66   2                      delay(5);
  67   2              }
  68   1              dio=0;
  69   1              cs=1;
  70   1              delay(25);
  71   1              return rece_buf;
  72   1      }
  73          void zhuan(uchar step)
  74          {
  75   1          ulong i;
  76   1          for(i=0;i<2000;i++)//改变转动的角度
  77   1              {
  78   2               delay(step);
  79   2               pulse=!pulse;
  80   2              }
  81   1      }
  82          
  83          main()  //主函数
  84          {
  85   1              uchar step;
  86   1              uchar reled;
  87   1              uchar rekey;
  88   1              uchar num = 0,num1 =0,num2=0;
  89   1              send(0xA4,1);   //ZLG7289复位
  90   1              step=4500;
  91   1              direct=0;
  92   1              pulse=0;
  93   1              while(1)
  94   1              {
  95   2                      reled=led;
  96   2      
  97   2                      if(reled!=led&&led==0)
  98   2                      {
  99   3                              direct=!direct;
 100   3                              num = num+1;
 101   3                              zhuan(step);
 102   3                              delay(50000);//改变数值改变延时时间
 103   3                              direct=!direct;
 104   3                              //反转
 105   3                              zhuan(step);
 106   3                              num1=num/10;
 107   3                              num2=num%10;
 108   3                              send(0x86,0);
 109   3                              send(num1,1);
 110   3                              delay(25);      
 111   3                              send(0x87,0);
 112   3                              send(num2,1);
 113   3                              delay(25);
 114   3                                                              
 115   3                      }
 116   2      
 117   2                      if(key==0)
C51 COMPILER V7.50   GBW                                                                   03/14/2007 09:41:41 PAGE 3   

 118   2                      {
 119   3                              removedlms();
 120   3                              send(0x15,0);
 121   3                              rekey=receive();
 122   3                              while(key==0);
 123   3                              switch(rekey)
 124   3                              {
 125   4       
 126   4                              case 36:
 127   4                                      num = 0;
 128   4                                      send(0x86,0);
 129   4                                      send(0,1);
 130   4                                      delay(25);      
 131   4                                      send(0x87,0);
 132   4                                      send(0,1);
 133   4                                      delay(25);
 134   4                                      break;
 135   4                              default:
 136   4                                      break;
 137   4                              }
 138   3                      }
 139   2                      
 140   2      
 141   2              }
 142   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    445    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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