📄 pca.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 + -