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

📄 serial.lst

📁 基于单片机avr的led,串口模块的编程代码。
💻 LST
字号:
C51 COMPILER V7.06   SERIAL                                                                03/19/2008 09:00:19 PAGE 1   


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

stmt level    source

   1          /**********************************************************************
   2          * 文件名: serial.c                                                    *
   3          * 功能:串口上相关功能的实现                                                                      *
   4          **********************************************************************/
   5          
   6          #define NEED_SERIAL_PROTOCOL
   7          #ifdef NEED_SERIAL_PROTOCOL
   8          
   9          /************************************************
  10           *Header file         segment                   *
  11           ***********************************************/
  12          #include "at89x52.h"
  13          #include "SERIAL.h"
  14          #include "DATATYPE.h"
  15          
  16          /************************************************
  17           *Globale variable    segment                   *
  18           ***********************************************/ 
  19          uchar receive_number;
  20          uchar receive_bool = FALSE;  //判断是否有接收到数据
  21          
  22          /************************************
  23          * 名称:void DeviceIniSerial(uchar rcap2h, uchar rcap2l)
  24          * 功能:设置串口工作方式1, T/C2波特率由rcap2h,rcap2l决定
  25                  (当rcap2h = 0xff, rcap2l = 0xb8时,波特率为:9600)
  26          * 入口参数:uchar rcap2h, uchar rcap2l
  27          * 返回值: 无
  28          ************************************/
  29          void DeviceIniSerial(uchar rcap2h, uchar rcap2l)
  30          {
  31   1          RCLK = 1;             //由T/C2的溢出脉冲形成串行口的 接收 脉冲
  32   1              TCLK = 1;             //由T/C2的溢出脉冲形成串行口的 发送 脉冲
  33   1      
  34   1              RCAP2H = rcap2h;  //设置T/C2的初置,即设置波特率  
  35   1              RCAP2L = rcap2l;
  36   1      
  37   1              REN = 1;          //允许接收
  38   1      
  39   1              SM0 = 0;          //设置为串行口方式1:10位异步收发,波特率由定时器控制
  40   1              SM1 = 1;
  41   1      
  42   1              TR2 = 1;          //T/C2运行工作
  43   1      }
  44          
  45          
  46          /***********************************
  47          * 名称:Send(uchar send_number)
  48          * 功能:发送send_number
  49          * 入口参数:uchar send_number
  50          * 返回值: 无
  51          ************************************/
  52          void ComSend(uchar send_number)
  53          {
  54   1          SBUF = send_number;    //把要发送的数据放入SBUF中
  55   1              while(TI == 0);           //当发送完一个数据后,TI由硬件置位,跳出循环,结束等待
C51 COMPILER V7.06   SERIAL                                                                03/19/2008 09:00:19 PAGE 2   

  56   1              TI = 0;    //软件复位,以便发送下一个数据
  57   1      }
  58          
  59          /***********************************
  60          * 函数名:SerialInterrupt(void)  (串口中断服务程序).
  61          * 功能: 主要实现接收数据
  62          * 入口参数:无
  63          * 返回值:无
  64          ************************************/
  65          void SerialInterrupt(void) interrupt 4   //当发送或接收完一个数据的时候,都会产生串行口中断,
  66                                                    //但此中断服务程序主要是作用于 接收数据          
  67          {
  68   1          if(RI == 1)
  69   1              {
  70   2                      receive_number = SBUF;
  71   2                      RI = 0;
  72   2                      receive_bool = 1;
  73   2              }                                                                                                                                                                                          
  74   1      }
  75          
  76          #endif
  77          
  78          /******************************************************************************
  79           * End of Entire File                                                         *
  80           *****************************************************************************/


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