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

📄 zkjp.lst

📁 串口通信实用程序,适合初学者做串口通信实验,
💻 LST
字号:
C51 COMPILER V7.06   ZKJP                                                                  05/27/2008 13:30:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ZKJP
OBJECT MODULE PLACED IN ZKJP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ZKJP.c DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************/
   2          /*杭州电子&计算机工作室                                                    */
   3          /*http://www.hificat.com                                                   */
   4          /*RS232接收显示实验                                                        */
   5          /*目标器件:AT89S51                                                                */
   6          /*晶振:11.0592MHZ                                                                  */
   7          /*编译环境:Keil 7.50A                                                     */
   8          /*******************************************************/
   9          
  10          #include "reg51.h"              
  11          
  12          unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  13          
  14          unsigned char dat;                              //定义全局变量
  15          unsigned long dat1;
  16          unsigned int ii;
  17          
  18          
  19          //串行口初始化程序
  20          void Init_Com(void)
  21          {
  22   1           TMOD = 0x20;
  23   1           PCON = 0x00;
  24   1           SCON = 0x50;                       
  25   1           TH1 = 0xFd;
  26   1           TL1 = 0xFd;
  27   1           TR1 = 1;                           
  28   1      }
  29          
  30          //LED数码管延时程序
  31          void delay(void)
  32          {
  33   1              int k;
  34   1              for(k=0;k<600;k++);
  35   1      }
  36          
  37          
  38          
  39          
  40          //LED数码管延时程序
  41          void delay1(void)
  42          {
  43   1              int k;
  44   1              for(k=0;k<60000;k++);
  45   1      }
  46          
  47          
  48          
  49          //串行中断服务程序
  50          serial()interrupt 4 using 1
  51          {
  52   1              if(RI)
  53   1              RI=0;
  54   1              dat=SBUF;
  55   1      //      ii=ii+1;
C51 COMPILER V7.06   ZKJP                                                                  05/27/2008 13:30:21 PAGE 2   

  56   1      
  57   1      //      if(ii>4) dat=0;
  58   1      //      if (ii>4) ii=0;
  59   1              if (dat== 'a') dat1=0;   
  60   1              if (dat!= 'a') dat1=dat1*10+(dat-48);
  61   1      }
  62          //\0
  63          //LED数码管显示程序
  64          void display(int k)
  65          {
  66   1          
  67   1      
  68   1              P2=0xfe;                                                                //位选                  
  69   1              P0=tab[k/1000];                                                 //显示千位数字
  70   1              delay();                                                                //延时
  71   1              P2=0xfd;                                                                //位选
  72   1              P0=tab[k%1000/100];                                             //显示百位数字
  73   1              delay();                                                                //延时
  74   1              P2=0xfb;                                                                //位选
  75   1              P0=tab[k%100/10];                                               //显示十位数字
  76   1              delay();                                                                //延时
  77   1              P2=0xf7;                                                                //位选
  78   1              P0=tab[k%10];                                                   //显示个位数字
  79   1              delay();                                                                //延时
  80   1              P2=0xff;                                                                //位选
  81   1      
  82   1       
  83   1      /*
  84   1          P2=0xfe;                                                            //位选                  
  85   1              P0=tab[k/100000];                                                       //显示千位数字
  86   1              delay();                                                                //延时
  87   1              P2=0xfd;                                                                //位选
  88   1              P0=tab[k%100000/10000];                                         //显示百位数字
  89   1              delay();                                                                //延时
  90   1      
  91   1              P2=0xfb;                                                                //位选                  
  92   1              P0=tab[k/100000/1000];                                                  //显示千位数字
  93   1              delay();                                                                //延时
  94   1              P2=0xf7;                                                                //位选
  95   1              P0=tab[k%100000/10000];                                         //显示百位数字
  96   1              delay();                                                                //延时
  97   1              P2=0xef;                                                                //位选
  98   1              P0=tab[k%10000/10];                                             //显示十位数字
  99   1              delay();                                                                //延时
 100   1              P2=0xdf;                                                                //位选
 101   1              P0=tab[k%10];                                                   //显示个位数字
 102   1              delay();                                                                //延时
 103   1              P2=0xff;        */ 
 104   1              
 105   1      }
 106          
 107          //主程序
 108          void main()
 109          {   
 110   1              P2=0xff;
 111   1              P0=0xff;
 112   1              P1=0xff;
 113   1              EA=1;
 114   1              ES=1;
 115   1              Init_Com();
 116   1              ii=0;
 117   1              while(1)
C51 COMPILER V7.06   ZKJP                                                                  05/27/2008 13:30:21 PAGE 3   

 118   1         {  
 119   2      
 120   2                if (dat1>9999) dat1=dat1 % 10000;
 121   2            display(dat1);                                                    //显示数据
 122   2      
 123   2         }
 124   1      }
 125          
 126          
 127          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    366    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7    ----
   IDATA SIZE       =   ----    ----
   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 + -