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

📄 serio.lst

📁 C51单片机一个小项目源程序:包含液晶12232驱动,AD7705驱动,按键扫描及单片机内部EEPROM的驱动,是一个比较值得参考的源程序
💻 LST
字号:
C51 COMPILER V7.50   SERIO                                                                 09/26/2007 17:19:06 PAGE 1   


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

line level    source

   1          #include "mylib.h"
   2          uchar idata buf_data[4];
   3          uchar sum;
   4          uint countdat=0;
   5          extern uchar Baudrate,choice1;
   6          extern uint Ch1k,Ch2k;
   7          //bit Send_suessful=0;
   8          /*发送程序*/
   9          /*void send()
  10          {
  11              uchar i;
  12                  SetSerio=1;
  13              if(ChoiceSend==0)
  14                      {  
  15                                  do{
  16                                  SBUF=0xAA;          //发送联络信号“AA”踏力
  17                                  //while(TI==0); //等待发送结束
  18                                          while(TI==0)
  19                                          {
  20                                              countdat++;
  21                                                  if(countdat==30)
  22                                                  {
  23                                                     lcd_clr();
  24                                                     dprintf(10,0,"数据发送失败",1);
  25                                                   }
  26                                          }
  27                                  TI=0;                   //软件清0
  28                                  while(RI==0);   //等待B机回答
  29                                  RI=0;
  30                             }while((SBUF^0xAB)!=0);  //B机未准备好,继续联络
  31                           }
  32                   if(ChoiceSend==1)
  33                          {
  34                                   do
  35                                   {
  36                                  SBUF=0xCC;          //发送联络信号“CC”踏力
  37                                 // while(TI==0); //等待发送结束
  38                                          while(TI==0)
  39                                          {
  40                                              countdat++;
  41                                                  if(countdat==30)
  42                                                  {
  43                                                     lcd_clr();
  44                                                     dprintf(10,0,"数据发送失败",1);
  45                                                   }
  46                                          }
  47                                  TI=0;                   //软件清0
  48                                  while(RI==0);   //等待B机回答
  49                                  RI=0;
  50                            }while((SBUF^0xCD)!=0);  //B机未准备好,继续联络
  51                          }
  52                    if(ChoiceSend==2)
  53                          {
  54                                   do
  55                                   {
C51 COMPILER V7.50   SERIO                                                                 09/26/2007 17:19:06 PAGE 2   

  56                                  SBUF=0xEE;          //发送联络信号“EE”踏力
  57                                  //while(TI==0); //等待发送结束
  58                                          while(TI==0)
  59                                          {
  60                                              countdat++;
  61                                                  if(countdat==30)
  62                                                  {
  63                                                     lcd_clr();
  64                                                     dprintf(10,0,"数据发送失败",1);
  65                                                   }
  66                                          }
  67                                  TI=0;                   //软件清0
  68                                  while(RI==0);   //等待B机回答
  69                                  RI=0;
  70                            }while((SBUF^0xEF)!=0);  //B机未准备好,继续联络
  71                          }
  72                     if(ChoiceSend==3)
  73                          {
  74                                   do
  75                                   {
  76                                  SBUF=0xAC;          //发送联络信号“AC”踏力
  77                                  //while(TI==0); //等待发送结束
  78                                          while(TI==0)
  79                                          {
  80                                              countdat++;
  81                                                  if(countdat==30)
  82                                                  {
  83                                                     lcd_clr();
  84                                                     dprintf(10,0,"数据发送失败",1);
  85                                                   }
  86                                          }
  87                                  TI=0;                   //软件清0
  88                                  while(RI==0);   //等待B机回答
  89                                  RI=0;
  90                            }while((SBUF^0xCF)!=0);  //B机未准备好,继续联络
  91                          }
  92                  do{
  93                           sum=0;                               //清较验和
  94                           for(i=0;i<4;i++)         
  95                           {
  96                               SBUF=buf_data[i];    //发送数据
  97                                   sum+=buf_data[i];        //求较验和
  98                                   while(TI==0);    //等待发送是否完成
  99                                   TI=0;
 100                           }
 101                           SBUF=sum;                        //发送校验和
 102                           while(TI==0);
 103                           TI=0;
 104                           while(RI==0);
 105                           RI=0;
 106                    }while(SBUF==0xff);
 107                    Led=1; 
 108          //        SetSerio=0;
 109          } */
 110          
 111          void init_serial(void)
 112          {
 113   1          SCON=0x50;      /*定时器1,模式样,8BIT UART */
 114   1          TMOD=0x20;     /*BAUND 9600  FOSCE=11.0592  */
 115   1              TH1=0xf4;
 116   1              TL1=0xf4;
 117   1              PCON=0x00;
C51 COMPILER V7.50   SERIO                                                                 09/26/2007 17:19:06 PAGE 3   

 118   1              EA=0;
 119   1              ES=1;
 120   1              PS=1;
 121   1          TR1=1;
 122   1              AUXR=0x01;    //允许使用STC59C58RD内部扩展的1KRAM。
 123   1      }
 124          void send_string_com(unsigned char *str,unsigned int strlen) 
 125          { 
 126   1       unsigned int k=0; 
 127   1       do 
 128   1       { 
 129   2        send_char(*(str + k));
 130   2        
 131   2        k++; 
 132   2       } while(k < strlen); 
 133   1      }  
 134          
 135          void send_string_com1(unsigned char *str,unsigned int strlen) 
 136          { 
 137   1       unsigned int k=0; 
 138   1       do 
 139   1       { 
 140   2        send_char(*(str + k));
 141   2        
 142   2        k++; 
 143   2       } while(k < strlen); 
 144   1      }  
 145          
 146          void send_char(unsigned char ch)  
 147          {   
 148   1          TI=0;
 149   1          SBUF=ch;
 150   1          while(TI==0);       
 151   1          TI=0;
 152   1      } 
 153          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    198    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      3      14
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =      4    ----
   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 + -