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

📄 2.lst

📁 一个关于51单片机的双串口转换程序
💻 LST
字号:
C51 COMPILER V8.09   2                                                                     04/13/2009 14:05:08 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE 2
OBJECT MODULE PLACED IN 2.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE 2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "STC12C5410AD.H"
   2          #define         uint            unsigned int
   3          #define         uchar           unsigned char
   4          sfr AURX1=0xA2;
   5          
   6          sbit N485=P3^2;
   7          sbit N4852=P3^5;
   8          sbit led1=P1^3;
   9          sbit led2=P1^4;
  10          uchar bdata DATA;
  11          sbit BIT0=DATA^0;
  12          sbit BIT7=DATA^7;
  13          
  14          uchar           idata RX[10],TX[28];
  15          uchar           Rx_Num;
  16          uchar       FASONG;
  17          
  18          void IN1_init()   //外中断1初始化
  19           {
  20   1              PX1=1;   //中断最高级
  21   1              EX1=1;   //中断允许
  22   1              IT1=1;   //下降沿触发
  23   1        }
  24          
  25          
  26          void ser_int1 (void) interrupt 2 using 3
  27              {
  28   1                              EX1=0;
  29   1                          AURX1=0x80;
  30   1                              FASONG=1;
  31   1           }
  32          void InitialUart()
  33           {
  34   1              SCON = 0x50;
  35   1              TMOD |= 0x20;
  36   1              TH1 = 0xFa;
  37   1              TL1 = 0xFa;
  38   1              TR1 = 1;
  39   1              ES  = 1;
  40   1       }
  41          //-----------------------------------------------------------------------------
  42          //串口发送一个字节
  43          //功能:发送一个字节数据
  44          //入口参数:发送数据
  45          //出口参数:无
  46          //-----------------------------------------------------------------------------
  47          void Send_Data(uchar Serial_data)
  48          {
  49   1          TI = 0;
  50   1          SBUF = Serial_data;
  51   1          while(!TI);
  52   1          TI = 0;
  53   1      }
  54          //-----------------------------------------------------------------------------
  55          //发送一帧数据函数
C51 COMPILER V8.09   2                                                                     04/13/2009 14:05:08 PAGE 2   

  56          //原型:void TXD_Int(uchar *TX);
  57          //功能:发送一帧数据
  58          //入口参数:发送数据帧地址指针,Send_Num:发送数据的个数
  59          //出口参数:无
  60          //-----------------------------------------------------------------------------
  61          void TXD_Int(uchar *TX,uchar Send_Num)
  62          {
  63   1          uchar i;
  64   1          for(i = 0; i < Send_Num; i ++)      Send_Data(*(TX+i));
  65   1              RI = 0;
  66   1      }
  67          
  68          //-----------------------------------------------------------------------------
  69          //UART0_interrupt
  70          //-----------------------------------------------------------------------------
  71          void UART0_ISR (void) interrupt 4
  72           {      
  73   1                      if(RI == 1)
  74   1              {
  75   2                      RI = 0;
  76   2                      RX[Rx_Num] = SBUF;
  77   2                      Rx_Num ++;
  78   2                      if((Rx_Num >= 5)&&(FASONG==1))
  79   2                      {       
  80   3                          N4852=0;
  81   3                              Rx_Num = 0;
  82   3                              TXD_Int(RX,5);  
  83   3                      N4852=1;
  84   3                              AURX1=0x00;
  85   3                              FASONG=0;
  86   3                              EX1=1;
  87   3                        }
  88   2              }  
  89   1      }
  90                  
  91          
  92          void T0_init(void)             //定时器0初始化  
  93          {
  94   1              TR0=0; 
  95   1          TMOD = 0X01;
  96   1              TL0 =0X66;
  97   1              TH0 =0XFC;
  98   1              TR0=1;
  99   1          ET0 = 1;                        //置中断优先级为高  
 100   1          PT0 = 1;                        //允许定时器中断    
 101   1      }
 102          void timer0 (void) interrupt 1 using 3
 103          {
 104   1              uchar i;
 105   1              int j;
 106   1              TR0=0;
 107   1              TL0 =0X66;
 108   1              TH0 =0XFC;
 109   1              j++;
 110   1              if ((j>=2000)&&(FASONG==1))
 111   1            {         
 112   2                      j=0;
 113   2                  AURX1=0x00;
 114   2                      EX1=0;
 115   2                          N485=0;
 116   2                      for (i=0;i<24;i++)      TX[i]=i+16;
 117   2                          TXD_Int(TX,24);
C51 COMPILER V8.09   2                                                                     04/13/2009 14:05:08 PAGE 3   

 118   2                              N485=1;
 119   2                          EX1=1;
 120   2                 }
 121   1              TR0=1;  
 122   1      }  
 123          void main(void)
 124          {
 125   1              unsigned int  ShowNum;  
 126   1          for(ShowNum = 0; ShowNum < 0xffff; ShowNum ++);           
 127   1              T0_init();
 128   1              InitialUart();
 129   1              IN1_init();
 130   1              EA=1;
 131   1              ES = 1;
 132   1              N485=1;
 133   1              Rx_Num = 0;
 134   1          while (1)
 135   1                  {
 136   2                      
 137   2              }  
 138   1        }
 139          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    327    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       5
   IDATA SIZE       =     38    ----
   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 + -