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

📄 rs232.lst

📁 通过PC端的串口调试工具
💻 LST
字号:
C51 COMPILER V8.02   RS232                                                                 10/24/2007 23:16:51 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE RS232
OBJECT MODULE PLACED IN RS232.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RS232.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************
   2          程序功能:通过PC端的串口调试工具,从PC端发出一个十六进制的数,
   3                    通过串口传输到单片机,并有单片机通过
   4                    LED数码管显示出来,而且单片机又将
   5                    这个数发回PC端,并在PC端显示出来,从而
   6                            实现单片机与PC机的通讯
   7          *****************************************/
   8          #include <reg52.h>
   9          
  10          unsigned char date;
  11          code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
  12                                         0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
  13          
  14          
  15          //***********************************************************
  16          
  17          //                     延时子程序
  18          
  19          //************************************************************
  20          void delay1ms()
  21          {
  22   1       unsigned char i;
  23   1       for(i=124;i>0;i--);  //延时124*8+10=1002us
  24   1      }
  25          
  26          //***********************************************************
  27          
  28          //显示函数,显示四位的date数据
  29          
  30          //P0口接段码,P2.0-P2.3接位选
  31          
  32          //************************************************************
  33          
  34          void LED_display(int date)  //显示4位数
  35          {
  36   1       P2=0xfb;     //P2.2=0,选通第三位
  37   1       P0=seg7code[date%100/10];
  38   1       delay1ms();
  39   1       P0=0xff;         //消隐
  40   1      
  41   1       P2=0xf7;     //P2.3=0,选通第四位
  42   1       P0=seg7code[date%10];
  43   1       delay1ms();
  44   1       P0=0xff;       //消隐
  45   1      }
  46          
  47          //******************************
  48          
  49          //*****串口初始化函数***********
  50          
  51          //******************************
  52          Initial_com()
  53          {
  54   1       EA=1;        //开总中断
  55   1       ES=1;        //允许串口中断
C51 COMPILER V8.02   RS232                                                                 10/24/2007 23:16:51 PAGE 2   

  56   1       ET1=1;        //允许定时器T1的中断
  57   1       TMOD=0x20;   //定时器T1,在模式3(自动装入的8位定时方式)中断产生波特率
  58   1       PCON=0x00;   //SMOD=0
  59   1       SCON=0x50;   //8位异步收发,波特率可变
  60   1       TH1=0xfd;    //波特率设置为9600
  61   1       TL1=0xfd;
  62   1       TR1=1;       //开定时器T1运行控制位
  63   1      
  64   1      }
  65          
  66          //*************************
  67          //**********主函数*********
  68          //*************************
  69          main()
  70          {
  71   1       Initial_com();
  72   1       while(1)
  73   1       {
  74   2        if(RI)
  75   2        {
  76   3         date=SBUF;
  77   3         SBUF=date;
  78   3         RI=0;
  79   3        }
  80   2        LED_display(date);
  81   2        }
  82   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    132    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   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 + -