📄 init.lst
字号:
C51 COMPILER V7.50 INIT 07/19/2006 10:05:13 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE INIT
OBJECT MODULE PLACED IN init.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE init.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "sm89516a.h"
2 #include "common.h"
3 #include "i2c.h"
4 #include "io.h"
5 #include "process.h"
6 #include "recframe.h"
7
8 /*********************************************************************
9 * 函 数 名: Init
10 * 功能描述: 串口初始化
11 * 函数说明: 定时器1产生通信波特率2400
12 * 调用函数: 无
13 * 全局变量:无
14 * 输 入: 无
15 * 返 回: 无
16 * 设 计 者:zy
17 ***********************************************************************/
18
19 void sum_init(void)
20 {
21 1 uchar radd_end;
22 1 uchar wport_end;
23 1 uchar port_init;
24 1 uchar freezetime_end;
25 1
26 1 // uchar i;
27 1 // for(i=0;i<96;i++)
28 1 // FreezeData[i]=0;
29 1
30 1 R_block(WPAGE0,RPAGE0,i2c_time_flag,&freezetime_end,1);
31 1
32 1 if(freezetime_end)
33 1 R_block(WPAGE0,RPAGE0,i2c_time_freeze,FreezeData,96);
34 1 else
35 1 R_block(WPAGE1,RPAGE1,i2c_time_freeze,FreezeData,96);
36 1
37 1
38 1 R_block(WPAGE0,RPAGE0,i2c_addr_addflag,&radd_end,1);
39 1
40 1 if(radd_end)
41 1 R_block(WPAGE0,RPAGE0,i2c_addr_data,&sum[0][0],96);
42 1 else
43 1 R_block(WPAGE1,RPAGE1,i2c_addr_data,&sum[0][0],96);
44 1
45 1 R_block(WPAGE0,RPAGE0,i2c_addr_portflag,&wport_end,1);
46 1
47 1 if(wport_end)
48 1 R_block(WPAGE0,RPAGE0,i2c_addr_io,bwary,2);
49 1 else
50 1 R_block(WPAGE1,RPAGE1,i2c_addr_io,bwary,2);
51 1
52 1 R_block(WPAGE0,RPAGE0,i2c_port_initflag,&port_init,1);
53 1
54 1
55 1 if(port_init==0xff)
C51 COMPILER V7.50 INIT 07/19/2006 10:05:13 PAGE 2
56 1 {
57 2 port_init=0;
58 2 W_block(WPAGE0,i2c_port_initflag,&port_init,1);
59 2 bwary[0]=0xff;
60 2 bwary[1]=0xff;
61 2 }
62 1
63 1
64 1 }
65
66
67 void Init()
68 {
69 1 P0=0;
70 1 P2=0;
71 1 P1_2=0;
72 1 wr_switch=1;
73 1
74 1
75 1 P1_4=R_CON;
76 1 TMOD=0x21; // 设置定时器1工作方式 2
77 1 TH0=0xfc; // 定时1MS
78 1 TL0=0x18;
79 1 TR0=1;
80 1 ET0=1;
81 1
82 1 TH1=0xfd; // 设置波特率9600bps
83 1 TL1=0xfd;
84 1
85 1 // TH1=0xf4; // 设置波特率2400bps
86 1 // TL1=0xf4;
87 1 PCON&=0x00; // SMOD=0
88 1
89 1 TR1=1; // 开启定时器
90 1 SCON=0x40; // 设置串行口工作方式 1
91 1 REN=1; // 允许接收
92 1 EA=1; // 总中断允许
93 1 ES=1; // 串行口中断允许
94 1 EX0=1; // 外中断0允许
95 1 IT0=1; // 负跳变触发方式
96 1 SCONF=0x02; // 片内扩展ram使能
97 1
98 1
99 1 RCAP2H=0xb1; // 重装值
100 1 RCAP2L=0xe0;
101 1 TH2=0x9e; //定时器2定时25ms
102 1 TL2=0x58;
103 1
104 1 ET2= 1; // 允许T2中断
105 1 T2CON= 0x00;
106 1 TR2= 0;
107 1
108 1 WDTKEY=0x1E;
109 1 WDTKEY=0xE1;
110 1 WDTC=0x85; // 看门狗定时器使能,溢出时间为65.536ms
111 1 WDTKEY=0xE1;
112 1 WDTKEY=0x1E;
113 1
114 1 EX0=1; // INT0中断开
115 1 IT0=0; // INT0低电平触发
116 1 sum_init();
117 1 }
C51 COMPILER V7.50 INIT 07/19/2006 10:05:13 PAGE 3
118
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 443 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -