📄 updata.lst
字号:
C51 COMPILER V7.07 UPDATA 06/08/2005 12:46:35 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE UPDATA
OBJECT MODULE PLACED IN D:\HEX\UPDATA.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE UPDATA.C BROWSE DEBUG OBJECTEXTEND OBJECT(D:\HEX\UPDATA.obj)
stmt level source
1 #include <REGW78E516.H>
2 #include <absacc.h>
3 #include <intrins.h>
4 #include <tabl.h>
5
6 #define uchar unsigned char
7 #define uint unsigned int
8 #define ulong unsigned long
9 sbit P1_0=P1^0;
10 sbit P1_1=P1^1;
11 sbit P1_2=P1^2;
12 sbit P1_3=P1^3;
13 sbit P1_4=P1^4;
14 sbit P1_5=P1^5;
15 sbit P1_6=P1^6;
16 sbit P1_7=P1^7;
17
18 sbit P2_0=P2^0;
19 sbit P2_1=P2^1;
20 sbit P2_2=P2^2;
21 sbit P2_3=P2^3;
22 sbit P2_4=P2^4;
23 sbit P2_5=P2^5;
24 sbit P2_6=P2^6;
25 sbit P2_7=P2^7;
26
27 sbit P3_0=P3^0;
28 sbit P3_1=P3^1;
29 sbit P3_2=P3^2;
30 sbit P3_3=P3^3;
31 sbit P3_4=P3^4;
32 sbit P3_5=P3^5;
33 sbit P3_6=P3^6;
34 sbit P3_7=P3^7;
35
36 sbit P4_0=P4^0;
37 sbit P4_1=P4^1;
38 sbit P4_2=P4^2;
39 sbit P4_3=P4^3;
40 #define SCE0 P4_0 // 芯片片选位
41 #define SCE1 P4_1 // 芯片片选位
42 #define SCE2 P4_2 // 芯片片选位
43 #define CVCC P4_3 //电源控制
44
45 #define IO0 P1_0 /* 用户卡,稽查卡读写数据线 */
46 #define IO1 P1_1 /* 税控卡读写数据线 */
47 //#define SO P1_2 /* 存储卡写数据线 */
48 #define SI P1_3 /* 存储卡读数据线 */
49
50 #define DTR0 P1_4 /* 用户卡电源、时钟控制线:DTR0=1,电源,时钟开 */
51 #define DTR1 P1_5 /* 税控卡电源、时钟控制线:DTR1=1,电源,时钟开 */
52
53 #define CCLK P1_6 /* 存储卡时钟线 */
54 #define WDI P1_7 /* 看门狗喂狗时钟线 */
55
C51 COMPILER V7.07 UPDATA 06/08/2005 12:46:35 PAGE 2
56 #define CAINT1 P3_2 /* 税控卡拔卡中断线 */
57 #define CAINT3 P3_3 //打开机壳检测线
58 #define CAINT0 P3_4 /* 用户卡,稽查卡拔卡中断线 */
59 #define PDINT P3_5 // 低电压检测线
60
61
62
63 uint data crc16;
64 uchar data THH0,TLL0,BagNo; //定时时间变量
65 uchar data Slen,handle,uc0;
66 bit BagHeadBit,SerialBit,AnyBagBit,fini;
67 union{
68 uchar ComBuf[256];
69 }xdata Un;
70
71
72 /*******************定时器中断0*****************/
73 void TIMER0_INTRRUPT(void) interrupt 1 using 1{ //定时中断0
74 1
75 1 TL0=TLL0;
76 1 TH0=THH0;
77 1 TR0=0x0;
78 1 }
79
80
81 void initialization(void){
82 1
83 1 CHPENR=0x87;
84 1 CHPENR=0x59; //允许CHPCON写入
85 1 CHPCON=0x3; //允许ISP状态
86 1
87 1 CHPENR=0x0; //禁止CHPCON写入
88 1 TR0=0; //禁止定时器0计数
89 1 TMOD=0x21; //设置定时中断0为方式1(16BIT),定时器1工作在方式2
90 1 PCON=0x00;
91 1 SCON=0x50;
92 1 THH0=0xb0;
93 1 TLL0=0xe0;
94 1 TL1=0xfD;
95 1 TH1=0xfD; //设置波特率为9600
96 1 TL0=0xe0;
97 1 TH0=0xb1; //刷新定时值
98 1 TR0=0x0; //定时器0停止计数
99 1 TR1=0x01; //定时器1停止
100 1 ET0=1;
101 1 EA=1;
102 1 }
103
104 //******************复位MCU************************************/
105 void RESET_MCU(){
106 1 CHPENR=0X87;
107 1 CHPENR=0X59; //允许CHPCON写操作
108 1 CHPCON=0x83;
109 1 TL0=0xe0;
110 1 TH0=0xff;
111 1 TR0=0x1;
112 1 PCON=0x1;
113 1 while(1);
114 1 }
115 void delayms(uchar t1,uchar t2) /* 延时时间=4[t2(t1+1)+1]*机器周期 */
116 { /* 机器周期=1.08us 11.0592Mhz */
117 1 data uchar t; /* 最大延时282Ms */
C51 COMPILER V7.07 UPDATA 06/08/2005 12:46:35 PAGE 3
118 1
119 1 do{
120 2 t=t1; //定时值
121 2 do{
122 3 t--;
123 3 }while(t!=0);
124 2 t2--;
125 2 }while(t2!=0);
126 1 //喂狗
127 1 }
128 void FlashLEDA(uchar Number)
129 {
130 1 uchar j;
131 1 IO1=1;
132 1 for(j=0;j<Number;j++){ /*LED灯闪烁 NUMBER/2上电工作 */
133 2 IO1=~IO1;
134 2 delayms(180,180); //延迟
135 2
136 2 }
137 1
138 1 return;
139 1 }
140 void FlashLEDAB(uchar Number)
141 {
142 1 uchar j;
143 1 IO1=1;
144 1 IO0=0;
145 1 for(j=0;j<Number;j++){ /*LED灯闪烁 NUMBER/2上电工作 */
146 2 IO1=~IO1;
147 2 IO0=~IO0;
148 2 delayms(250,250); //延迟
149 2
150 2 }
151 1
152 1 IO1=1;
153 1 IO0=1;
154 1 return;
155 1 }
156
157
158
159 void main (void){
160 1 CVCC=0;
161 1 //设置波特率为9600
162 1
163 1 EA=0;
164 1 while(1){
165 2
166 2 FlashLEDAB(20);
167 2 if(PDINT==0){
168 3 FlashLEDA(2);
169 3 EA=0;
170 3 P0=0;P1=0;P2=0;P3=0;P4=0;
171 3 CAINT3=1;
172 3 CVCC=1;//关闭电源
173 3 //while(1);
174 3 PCON=0x2; //低功耗模式,进入掉电模式
175 3 PCON=0;
176 3
177 3 _nop_();_nop_();_nop_();
178 3 CVCC=0;
179 3 }
C51 COMPILER V7.07 UPDATA 06/08/2005 12:46:35 PAGE 4
180 2 } //调用初始化函数
181 1 // disstring(7,7,0,8);
182 1 ;
183 1
184 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 189 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 256 ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
IDATA SIZE = ---- ----
BIT SIZE = 4 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -