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

📄 pca.lst

📁 sst芯片参考 增强UART功能
💻 LST
字号:
C51 COMPILER V7.50   PCA                                                                   03/06/2006 14:12:16 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE PCA
OBJECT MODULE PLACED IN pca.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE pca.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <main.h> 
   2          
   3          
   4          #define NEG_CAP_INT     0x11            //00010001 CAP ,ECCF//置为下降沿捕捉中断方式
   5          #define POS_CAP_INT     0x21            //置为上升沿捕捉中断方式
   6          
   7          #define DISABLED_MODE   0x0                     //禁止PCA的操作
   8          #define TIME_INIT       0x49            //置为软件定时器中断方式
   9          #define DISABLE_MODE    0x0
  10          
  11          //TBY20060223:采用双倍速方式,改为PCA采用4分频的时钟,以提高波特率为4800*3=11400
  12          #define FULL_SPEEDL SYSCLK/2/BAUDRATE1%0x100    //接收的一个位的时间常数的低8位
  13          #define FULL_SPEEDH SYSCLK/2/BAUDRATE1/0x100    //接收的一个位的时间常数的高8位
  14          #define HALF_SPEEDL FULL_SPEEDL/2                               //接收的半个位的时间常数的低8位
  15          #define HALF_SPEEDH FULL_SPEEDH/2                               //接收的半个位的时间常数的高8位
  16          
  17          #define TX_START_BIT 0x0                        //发送的状态
  18          #define TX_DATA_BIT  0x1
  19          #define TX_STOP_BIT  0x2
  20          #define TX_STOP_END  0x3
  21          
  22          #define RX_START_EDGE 0                         //接收的状态
  23          #define RX_START_BIT  1
  24          #define RX_DATA_BIT   2
  25          #define RX_STOP_BIT   3
  26          
  27          xdata struct uart1_tx_strut
  28          {
  29                  uchar   tx_state     ;                  //发送的状态
  30                  uint    tx_bitcont     ;                //发送的一个数据的位数(常用的为8位宽度)
  31                  uint    count     ;                             //已发送的数据个数(序号)
  32                  uint    len     ;                               //总的发送的数据包长度
  33                  uchar   buff[MAX_SIZE_BUF]  ;   //发送缓冲区大小
  34          } uart2_tx,uart1_tx  ;                          //原来的BUFFER设为256,由于SST89E516的XRAM为300H,如果分配4个256的BUFFER,SST MC
             -U内部的XRAM便不够,
  35                                                                                  //因此出现第2个UART不能接收或发送的现象.
  36              
  37          xdata struct uart1_rx_strut
  38          {
  39          
  40                  uchar  no_data_count ;                  //接收缓冲区无数据的时间计数,接收到数据,将置为0,没有数据时,20ms加一(在定时中断内
             -加一)
  41                  uchar  rx_state ;                               //接收的状态
  42                  uchar  rx_bitcont ;                             //接收的一个数据的位数(常用的为8位宽度)
  43                  uchar  buff[MAX_SIZE_BUF] ;             //接收缓冲区大小
  44                  uint   count   ;                                //已经接收的数据个数,也可根据接收的数目,来判断有无新数据,在取出数据后,将这个数目清零
  45          
  46          } uart2_rx,uart1_rx ;                           //原来的BUFFER设为256,由于SST89E516的XRAM为300H,如果分配4个256的BUFFER,SST MCU内

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -