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

📄 ex8-4.lst

📁 《增强型8051单片机实用开发技术》例程代码
💻 LST
字号:
C51 COMPILER V8.18   EX8_4                                                                 11/27/2009 22:19:56 PAGE 1   


C51 COMPILER V8.18, COMPILATION OF MODULE EX8_4
OBJECT MODULE PLACED IN ex8-4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ex8-4.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "stc12c5a.h"      //包含STC12C5A60S2寄存器定义文件
   2          #include "intrins.h"
   3          #define RELOAD_COUNT 0xfb   //18.432MHz,12T,SMOD=0,9600bps
   4          sbit MCU_Start_Led  =  P1^4;
   5          unsigned char array[9]={0,2,4,6,8,10,12,14,16};
   6          void UART_send(unsigned char i);
   7          void delay(void);
   8          void display_MCU_Start_Led(void);
   9          void main(void)
  10          {
  11   1              unsigned  char i;
  12   1              //串口初始化
  13   1              SCON = 0x50;    //0101,0000   8位可变波特率,无奇偶校验位
  14   1              BRT = RELOAD_COUNT;
  15   1              AUXR = 0x11;    // BRTR = 1,启动独立波特率发生器
  16   1                                              // S1BRS = 1,串口1选择独立波特率发生器作为波特率发生器
  17   1              ES = 1;                 //允许串口中断
  18   1              EA = 1;                 //开总中断
  19   1              display_MCU_Start_Led();        //点亮发光二极管表示单片机开始工作
  20   1              UART_send(0x34);            //串口发送数据表示单片机串口正常工作
  21   1              UART_send(0xa7);            //串口发送数据表示单片机串口正常工作
  22   1              for(i = 0;i<9;i++)
  23   1                      UART_send(array[i]);
  24   1              while(1);
  25   1      }
  26          void UART_send(unsigned char i)
  27          {
  28   1              ES = 0;                         //关串口中断
  29   1              TI = 0;                         //清零串口发送完成中断请求标志
  30   1              SBUF = i;
  31   1              while(TI ==0);          //等待发送完成
  32   1              TI = 0;                         //清零串口发送完成中断请求标志
  33   1              ES = 1;                         //允许串口中断
  34   1      }
  35          void delay(void)
  36          {
  37   1              unsigned int g,j;
  38   1              for(j=0;j<5;j++)
  39   1              {
  40   2                      for(g=0;g<50000;g++)
  41   2                      {
  42   3                  _nop_();
  43   3                  _nop_();
  44   3                  _nop_();
  45   3                      }
  46   2              }
  47   1      }
  48          void display_MCU_Start_Led(void)
  49          {
  50   1          unsigned  char i;
  51   1          for(i=0;i<5;i++)
  52   1          {
  53   2              MCU_Start_Led   =   0;  //点亮MCU开始工作指示灯
  54   2              delay();
  55   2              MCU_Start_Led   =   1;  //熄灭MCU开始工作指示灯
C51 COMPILER V8.18   EX8_4                                                                 11/27/2009 22:19:56 PAGE 2   

  56   2              delay();
  57   2          }
  58   1      }
  59          void UART_Receive(void) interrupt 4
  60          {
  61   1              unsigned char k;
  62   1              if(RI==1)
  63   1          {
  64   2                      RI=0;
  65   2                      k=SBUF;
  66   2                      UART_send(k+1);
  67   2          }
  68   1          else
  69   1              TI=0;
  70   1      }


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