📄 main.lst
字号:
C51 COMPILER V8.06 MAIN 07/11/2007 15:55:53 PAGE 1
C51 COMPILER V8.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x52.h>
2 #include "SJA1000_PELI.h"
3
4 extern bit g_TiFlag;
5 extern bit g_RiFlag;
6
7 extern void SJAInit(void);
8 extern bit SJAReceData(unsigned char *ReceiveDataBuf);
9
10 void SerialInit(void);
11 void ComSendChar(unsigned char ch);
12 void ComSendArr(unsigned char *buffer);
13 void ReceData(void);
14
15 void DelayTime (unsigned char times);
16
17 unsigned char canbuffer[11];
18 unsigned char combuffer[5];
19 bit g_ComSendFlag;
20 /*********************************************************************************************
21 主函数
22 *********************************************************************************************/
23 void main(void)
24 {
25 1 SJA_RESET = 1;
26 1 DelayTime(50);
27 1 SJA_RESET = 0;
28 1 DelayTime(500);
29 1 SJA_RESET=1;
30 1
31 1 EA = 0;
32 1 SJAInit();
33 1 SerialInit();
34 1
35 1 EX0 = 1;
36 1 EA =1;
37 1
38 1 while(1)
39 1 {
40 2 P1_3 = 1;
41 2 if (g_RiFlag)
42 2 {
43 3 g_RiFlag = 0;
44 3 ReceData();
45 3 P1_0 = !P1_0;
46 3 }
47 2
48 2 if (g_ComSendFlag)
49 2 {
50 3 g_ComSendFlag=0;
51 3 ComSendArr(combuffer);
52 3 P1_1 = !P1_1;
53 3 }
54 2 P1_3 = 0;
55 2 }
C51 COMPILER V8.06 MAIN 07/11/2007 15:55:53 PAGE 2
56 1 }
57
58 /**********************************************************************************************
59 串口
60 **********************************************************************************************/
61 void SerialInit(void)
62 {
63 1 TMOD = 0x20; //定时器1工作于方式2:8位常数自动装载
64 1 SCON = 0x50; //串口方式1
65 1 //PCON |= 0x80; //SMOD = 1
66 1 TH1 = 0xff; //11.0592MHz.
67 1 TL1 = 0xff; //BAUDRATE = 57600
68 1
69 1 //ET1 = 1; //打开定时器1中断
70 1 TR1 = 1; //定时器1开始计数
71 1 //ES = 1; //打开串口中断
72 1
73 1 //IT0 = 1; //INT0边缘触发
74 1 //EX0 = 1; //打开外部中断
75 1 }
76
77 void ComSendChar(unsigned char ch)
78 {
79 1 SBUF = ch;
80 1 while(!TI);
81 1 TI = 0;
82 1 }
83
84 void ComSendArr(unsigned char *buffer)
85 {
86 1 unsigned char i;
87 1 for(i=0; i<5; i++)
88 1 {
89 2 ComSendChar(buffer[i]);
90 2 }
91 1 }
92 /**********************************************************************************************
93 CAN
94 **********************************************************************************************/
95 void ReceData(void)
96 {
97 1 SJAReceData(canbuffer);
98 1 SJARegWrite(1,0x04);
99 1
100 1 combuffer[0]=canbuffer[1];
101 1 combuffer[1]=canbuffer[3];
102 1 combuffer[2]=canbuffer[4];
103 1 combuffer[3]=canbuffer[5];
104 1 combuffer[4]=canbuffer[6];
105 1
106 1 g_ComSendFlag = 1;
107 1 }
108 /**********************************************************************************************
109 延时
110 **********************************************************************************************/
111 void DelayTime (unsigned char times)
112 {
113 1 unsigned char i=0;
114 1 while(times--)
115 1 {
116 2 for(i=0;i<50;i++)
117 2 {;}
C51 COMPILER V8.06 MAIN 07/11/2007 15:55:53 PAGE 3
118 2 }
119 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 166 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 3
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -