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

📄 test.lst

📁 232串口测试程序。// 软件模拟测试说明: // 1.这个测试采用查询方式进行串口通讯 // 2.将软件仿真环境的晶震设为11.0592 MHz // 3.软件模拟全速运行, 观察波特率是12
💻 LST
字号:
C51 COMPILER V7.50   TEST                                                                  02/06/2005 01:26:59 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE test.c BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          // 采用查询方式进行串口通讯的例子
   2          
   3          // 采用这种方式的弊端: 
   4          // 1.如果对方没有发送数据,则本机无限等待,而不能做其它事情
   5          // 2.如果对方发送数据而本机正做其它事情,那么有可能丢失数据。
   6          
   7          // 因此实际上串口接收常采用中断方式,串口发送则不需要。
   8          
   9          
  10          #include <reg51.h>
  11          
  12          
  13          //MCU51嵌入式专业仿真器占用3个字节程序空间0x003b,0x003c,0c003d,
  14          //使用code数组声明防止编译器将函数定位于此三字节所在程序空间上
  15          unsigned char code DX58[3] _at_ 0x003b;
  16          
  17          
  18          extern void serial_init(void);
  19          extern unsigned char getchar(void);
  20          extern void putchar(unsigned char ch);
  21          extern void puthex(unsigned char ch);
  22          
  23          unsigned char j;
  24          
  25          void main(void)
  26          {
  27   1          unsigned char i;
  28   1      
  29   1          serial_init();    // 串口初始化
  30   1      
  31   1      
  32   1          do {
  33   2              ++i;
  34   2              --i;           // 观察断点
  35   2       
  36   2      
  37   2              putchar(i);    // 在串口显示接收到的ASCII数据(就是把原来收到的数据再送回串口)  
  38   2              putchar(' ');      
  39   2              putchar(' '); 
  40   2                    
  41   2              putchar('0');      
  42   2              putchar('x');      
  43   2              puthex(i);     // 在串口以十六进制格式显示接收的ASCII数据
  44   2       
  45   2              putchar(' ');      
  46   2              putchar(' ');      
  47   2      
  48   2              ++i;     
  49   2              --i;            // 观察断点
  50   2              if(j==3)break;
  51   2      
  52   2          }while(1);
  53   1          do {
  54   2              i=getchar();   // 如果没有收到串口数据则一直等待(查询接收串口数据的弊端)
  55   2              i++;
C51 COMPILER V7.50   TEST                                                                  02/06/2005 01:26:59 PAGE 2   

  56   2              i--;
  57   2          }while(1);
  58   1      }


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