在Keil上实现的24输入编码功能源代码

源代码在线查看: code.lst

软件大小: 73 K
上传用户: tswccyt
关键词: Keil 输入 编码 代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 1   
				
				
				C51 COMPILER V7.50, COMPILATION OF MODULE CODE
				OBJECT MODULE PLACED IN Code.OBJ
				COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Code.C BROWSE DEBUG OBJECTEXTEND
				
				line level    source
				
				   1          /*********************************************************************
				   2          **********************************************************************
				   3          **项目名称:电磁脉冲振打控制系统(控制板程序)
				   4          **作    者:周文委      浙江工业大学电子工程系
				   5          **起始日期:2006年9月15日
				   6          **结束日期:
				   7          **********************************************************************
				   8          **修 改 人:
				   9          **修改日期:
				  10          **********************************************************************
				  11          *********************************************************************/
				  12          #include 
				  13          //#include 
				  14          #include 
				  15          #include 
				  16          #include 
				  17          /**************************************************************
				  18          宏定义:
				  19          **************************************************************/
				  20          #define uchar                   unsigned char
				  21          #define uint                    unsigned int
				  22          #define ulong                   unsigned long
				  23          #define T                       0xc8                    //100us计时数
				  24          #define Device1Address  0xa0
				  25          #define Device2Address  0xa1
				  26          #define Tmax                    0xffff                  //振打周期最大值
				  27          #define Imax                    100                             //电流最大值待定
				  28          #define dI                              0                               //闭环控制允许电流波动范围
				  29          #define QMax                    90                              //占空比允许最大值
				  30          #define QMin                    0                               //占空比允许最小值
				  31          #define dtl                             27                              //tl的修正参数
				  32          #define START           0xfa            //开始分组振打代码
				  33          //#define START2          0xaf            //开始无分组振打代码
				  34          //#define START3          0xf5            //开始维护手动振打代码
				  35          //#define START4          0x5f            //开始维护自动振打代码
				  36          #define END             0x99            //结束振打代码
				  37          #define WError          0x64            //严重短路代码
				  38          #define WOverI          0x65            //过流代码
				  39          #define WUnderI         0x66            //欠流代码
				  40          #define WCOM            0x67            //RS232通信故障代码
				  41          #define WEEPROM         0x68            //EEPROM通信故障代码
				  42          #define WPARA           0x69            //EEPROM结果错误代码
				  43          #define StackOver               0x70                    //堆栈溢出代码
				  44          #define RunError                0x71                    //程序跑飞代码
				  45          #define CONTACT                 0xaa                    //联络信号代码
				  46          #define CONTACTSUCESS   0x55                    //联络成功代码
				  47          #define CONTACTFAIL             0xcc                    //联络失败代码
				  48          #define COMSUCESS               0xa5                    //接收成功代码
				  49          #define COMFAIL                 0x5a                    //接收失败代码
				  50          #define MaxTeam                 10                              //设置最大组数
				  51          #define MaxT                    0xffff                  //设置最大运行周期,防止停打
				  52          #define StackSize               64                              //堆栈大小
				  53          
				  54          //#define FastWork
				  55          #define test
				C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 2   
				
				  56          //#define test2
				  57          /*============================================================
				  58          Variables Definition:
				  59          ============================================================*/
				  60          uchar C0,C1,C2;
				  61          sbit GS0=P1^0;
				  62          sbit GS1=P1^1;
				  63          sbit GS2=P3^4;
				  64          sbit ADC573=P1^2;
				  65          
				  66          bit First_Bit;                                  //首轮振打标志
				  67          sbit WarnIndicate=P1^3;         //报警指示信号
				  68          
				  69          sfr WDT_COUNTER=0xe1;
				  70          
				  71          //=============================================================
				  72          //主函数里的一些初始化
				  73          void Main_Init()
				  74          {
				  75   1              if(F0)                                                  //异常复位报警指示信号有效
				  76   1              {
				  77   2      //              TR0=0;TR1=0;EA=0;       //异常复位,停止所有工作
				  78   2                      WarnIndicate=1;
				  79   2              }
				  80   1              else                                                    //正常启动不报警
				  81   1                      WarnIndicate=0;
				  82   1              First_Bit=1;
				  83   1              //参数初始化
				  84   1      /*    IP = 0xb;//0x8;                     //优先级:INT0,T0,T1,INT1,COM,T2
				  85   1          TMOD=0x11;                     //2个定时器均为方式1,16位定时器
				  86   1          TH0=0xff;TL0=0xaf;//TH0=0x3c;TL0=0xaf;
				  87   1          TH1=0xff;TL1=0xff;
				  88   1          IT0=0;                                                      //外部中断0采用电平触发方式
				  89   1          IT1=1;                                                      //外部中断1采用边沿触发方式
				  90   1          IE=0x1f;                                            //ET0=ET1=EX1=ES=1;T0,T1,INT1,COM中断允许
				  91   1          SCON = 0x50;                                        //串口方式1,允许接收
				  92   1          RCAP2H=0xff;RCAP2L=0x64;T2CON=0x34;
				  93   1      */      WDT_COUNTER=0x33;
				  94   1      
				  95   1      /*      if(F0)
				  96   1              Error(7);
				  97   1      */      F0=1;
				  98   1              P0=0xff;
				  99   1      }
				 100          /*********************************************************************
				 101          **main函数
				 102          *********************************************************************/
				 103          void main()
				 104          {
				 105   1      //start:
				 106   1      //      uchar i;
				 107   1           Main_Init();                                       //一些初始化,中断etc
				 108   1      //     EA=1;                                            //开CPU总中断
				 109   1           while(1)
				 110   1           {
				 111   2                      ADC573=0;//i=P0;
				 112   2              C0=P1;C2=P3;
				 113   2                      C1=(C0>>5)&0x7; C0=(C0>>2)&0x7; C2=(C2>>5)&0x7;
				 114   2                      if(!GS2)
				 115   2                      {
				 116   3      //              C2=(C2>>5)&0x7;
				 117   3                      P0=C2;
				C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 3   
				
				 118   3              }
				 119   2                      else if(!GS1)
				 120   2                      {
				 121   3      //              C1=(P1>>5)&0x7;
				 122   3                      P0=8+C1;
				 123   3                      }
				 124   2                      else if(!GS0)
				 125   2                      {
				 126   3      //              C0=(P1>>2)&0x7;
				 127   3                      P0=16+C0;
				 128   3              }
				 129   2              else
				 130   2              {
				 131   3                      P0=0xff;
				 132   3              }
				 133   2      
				 134   2                      WDT_COUNTER=0x33;
				 135   2           }
				 136   1      }
				 137          /**************************main  函数结束****************************/
				 138          
				
				
				MODULE INFORMATION:   STATIC OVERLAYABLE
				   CODE SIZE        =     92    ----
				   CONSTANT SIZE    =   ----    ----
				   XDATA SIZE       =   ----    ----
				   PDATA SIZE       =   ----    ----
				   DATA SIZE        =      3    ----
				   IDATA SIZE       =   ----    ----
				   BIT SIZE         =      1    ----
				END OF MODULE INFORMATION.
				
				
				C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
							

相关资源