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

📄 mcu51_set.lst

📁 本文件用于智能云台电机控制和图像处理
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.01   MCU51_SET                                                             01/09/2009 17:53:58 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE MCU51_SET
OBJECT MODULE PLACED IN mcu51_set.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE mcu51_set.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*----------------------------------------------------------
   2          系统时钟取11.059M
   3          串口在初始时取9600发送,延时操作和下一级协调,然后按相机的的要求
   4          设置
   5          ----------------------------------------------------------*/
   6          
   7          #include <general.h>
   8          volatile unsigned char bdata  bflag;
   9          sbit bflag_0=bflag^0; sbit bflag_1=bflag^1;     sbit bflag_2=bflag^2; 
  10          sbit bflag_3=bflag^3; sbit bflag_4=bflag^4; sbit bflag_5=bflag^5;
  11          sbit bflag_6=bflag^6;sbit bflag_7=bflag^7;      
  12          extern volatile unsigned char   flagTxd;
  13          extern volatile unsigned char countTxd;
  14          extern volatile unsigned int comTxd ;
  15          void TxdString(unsigned int com)
  16          { 
  17   1      if(flagTxd==0xee)
  18   1      {
  19   2      flagTxd=0xff;
  20   2      countTxd=0;
  21   2      comTxd=com;
  22   2      SBUF=0xff;
  23   2      } 
  24   1      }
  25          void  GlobalSet()
  26          {
  27   1       AUXR   = 1;               //全增益和外部存储器输出关闭
  28   1       P0=P1=P2=P3=P4=0xff;
  29   1      }
  30          void IntSet()
  31            {
  32   1              EX0=0,EX1=0,EX2=0,EX3=0;    //中断四个外部全关闭
  33   1      
  34   1              ET0=1,ET1=0;ET2=1;ES=1;                         //定时器02开
  35   1              TCON=0;
  36   1              IPH=0x10;IP=0x30;                   //串口为3定时器0为1级2:2
  37   1          XICON=0;                    //不允许外部23中断
  38   1        }
  39           void  IntEnable(void)
  40          {
  41   1              EA=1;                                           //全局开
  42   1      }
  43          void IntDisable(void)
  44          {
  45   1              EA=0;                                           //全局关
  46   1      }
  47          void TimerSet(void)
  48          {
  49   1              TCON=0;
  50   1          TMOD=0x23;                                  //定时器0工作于模式3两个定时器,定时器1工作于8位重装
  51   1              T2CON=0;                                        //定时器2自动重装
  52   1                                   
  53   1                                          
  54   1      }
  55          void SciSet(void)
C51 COMPILER V8.01   MCU51_SET                                                             01/09/2009 17:53:58 PAGE 2   

  56          {
  57   1              SCON=0x50;                                      //定义串口工作方式
  58   1          PCON=0x80;                    //定时器1溢出/2,=0x80则直接采用溢出率
  59   1      }
  60          
  61          void HIntSet()
  62            {
  63   1              EX0=0,EX1=0,EX2=1,EX3=0;    
  64   1      
  65   1              ET0=0,ET1=0;ET2=1;ES=0; 
  66   1              TCON=0;                 
  67   1              IPH=0x40;IP=0;              
  68   1          XICON=0x0d;                    
  69   1        }
  70          void VIntSet()
  71            {
  72   1              EX0=1,EX1=1,EX2=0,EX3=0;    
  73   1      
  74   1              ET0=1,ET1=0;ET2=0;ES=0; 
  75   1              TCON=5;                 
  76   1              IPH=0x01;IP=0x05;                  
  77   1          XICON=0;                    
  78   1        }
  79          /*------------------------------------------------------
  80          
  81          串行口计算公式如下;
  82          RCLK=1接收采用定时器2   Baud=Frequence/2/(65536-T2)/16
  83          TCLK=0发送采用定时器1   Baud=Frequence/12/(256-TH1)/16
  84          定时器1溢出=Frequence/12/(256-TH1)
  85          
  86          
  87          --------------------------------------------------------*/
  88          void TxdBaud19200()
  89          {
  90   1         TH1=-3;               //重装值
  91   1         TL1=TH1;
  92   1      }
  93          void TxdBaud9600()
  94          {
  95   1         TH1=-6;               //重装值
  96   1         TL1=TH1;
  97   1      }
  98          void TxdBaud4800()
  99          {
 100   1         TH1=-12;               //重装值
 101   1         TL1=TH1;
 102   1      }
 103          void TxdBaud2400()
 104          {
 105   1           TH1=-24;               //重装值
 106   1         TL1=TH1;
 107   1      }
 108          
 109          
 110          void T0Start(void)
 111          {
 112   1              TR0=1;                                  
 113   1              }
 114          void T0Stop(void)
 115          {
 116   1              TR0=0;
 117   1                               //计数关   
C51 COMPILER V8.01   MCU51_SET                                                             01/09/2009 17:53:58 PAGE 3   

 118   1      }
 119          void T1Start(void)
 120          {
 121   1              TR1=1;                                  
 122   1              }
 123          void T1Stop(void)
 124          {
 125   1              TR1=0;
 126   1                               //计数关   
 127   1      }
 128          void T2Start(void)
 129          
 130          {
 131   1              TR2=1;
 132   1      }
 133          void T2Stop(void)
 134          {
 135   1              TR2=0;
 136   1      }
 137          void Delay()
 138          {
 139   1      unsigned int x;
 140   1      for(x=0;x<0xffff;x++)
 141   1      WdtCls();
 142   1      }
 143          void HVolecity( unsigned int x)
 144          {
 145   1      
 146   1              RCAP2L=(unsigned char)x;
 147   1              RCAP2H=(unsigned char)(x>>8);
 148   1      }
 149          void VVolecity(unsigned char x)
 150          {
 151   1      
 152   1              TL0=x;
 153   1      
 154   1      }
 155          void BeginCharOut()
 156             {
 157   1                      
 158   1              STB6464=1;CLK6464=1;STB6464=0;  CLK6464=0; 
 159   1              DATA6464=1;CLK6464=1;CLK6464=0;
 160   1              DATA6464=1;CLK6464=1;CLK6464=0;
 161   1              DATA6464=0;CLK6464=1;CLK6464=0;
 162   1              DATA6464=0;CLK6464=1;CLK6464=0;
 163   1              DATA6464=0;CLK6464=1;CLK6464=0;
 164   1              DATA6464=0;CLK6464=1;CLK6464=0;
 165   1              DATA6464=0;CLK6464=1;CLK6464=0;
 166   1              DATA6464=0;CLK6464=1;
 167   1              }
 168          void SecCharOut(unsigned char x)
 169             {
 170   1              CLK6464=0; 
 171   1              DATA6464=(0x80&x);CLK6464=1;CLK6464=0;
 172   1              DATA6464=(0x40&x);CLK6464=1;CLK6464=0;
 173   1              DATA6464=(0x20&x);CLK6464=1;CLK6464=0;
 174   1              DATA6464=(0x10&x);CLK6464=1;CLK6464=0;
 175   1              DATA6464=(0x08&x);CLK6464=1;CLK6464=0;
 176   1              DATA6464=(0x04&x);CLK6464=1;CLK6464=0;
 177   1              DATA6464=(0x02&x);CLK6464=1;CLK6464=0;
 178   1              DATA6464=(1&x)  ; CLK6464=1; 
 179   1              }
C51 COMPILER V8.01   MCU51_SET                                                             01/09/2009 17:53:58 PAGE 4   

 180           void EndCharOut()
 181             {
 182   1              STB6464=1;
 183   1              }

⌨️ 快捷键说明

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