📄 battcharger.lst
字号:
C51 COMPILER V7.02b BATTCHARGER 12/10/2005 19:28:03 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE BATTCHARGER
OBJECT MODULE PLACED IN BattCharger.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE BattCharger.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*****************************************/
2 /* Copyright (c) 2005, 通信工程学院 */
3 /* All rights reserved. */
4 /* 作 者:戴 佳 */
5 /*****************************************/
6
7 #include "BattCharger.h"
8
9 /* 定时器0中断服务子程序 */
10 void timer0() interrupt 1 using 1
11 {
12 1 TR0 = 0; // 停止计数
13 1
14 1 TH0 = -5000/256; // 重设计数初值
15 1 TL0 = -5000%256;
16 1
17 1 t_count++;
18 1
19 1 if (t_count>600) // 第一次外部中断0产生后3s
20 1 {
21 2 if (int0_count==1) // 还没有出现第二次外部中断0,则认为充电完毕
22 2 {
23 3 GATE = 0; // 关闭充电电源
24 3 BP = 0; // 打开蜂鸣器报警
25 3 }
26 2 else // 否则即是充电出错
27 2 {
28 3 GATE = 1;
29 3 BP = 1;
30 3 }
31 2
32 2 ET0 = 0; // 关闭T0中断
33 2 EX0 = 0; // 关闭外部中断0
34 2
35 2 int0_count = 0;
36 2 t_count = 0;
37 2 }
38 1 else
39 1 TR0 = 1; // 启动T0计数
40 1 }
41
42 /* 外部中断0服务子程序 */
43 void int0() interrupt 0 using 1
44 {
45 1 if (int0_count==0)
46 1 {
47 2 TH0 = -5000/256; // 5ms定时
48 2 TL0 = -5000%256;
49 2 TR0 = 1; // 启动定时/计数器0计数
50 2 t_count = 0; // 产生定时器0中断的计数器清零
51 2 }
52 1 int0_count++;
53 1 }
54
55 /* 初始化 */
C51 COMPILER V7.02b BATTCHARGER 12/10/2005 19:28:03 PAGE 2
56 void init()
57 {
58 1 EA = 1; // 打开CPU中断
59 1
60 1 PT0 = 1; // T0中断设为高优先级
61 1 TMOD = 0x01; // 模式1,T0为16位定时/计数器
62 1 ET0 = 1; // 打开T0中断
63 1
64 1 IT0 = 1; // 外部中断0设为边沿触发
65 1 EX0 = 1; // 打开外部中断0
66 1
67 1 GATE = 1; // 光耦正常输出电压
68 1 BP = 1; // 关闭蜂鸣器
69 1
70 1 int0_count = 0; // 产生外部中断0的计数器清零
71 1 }
72
73 void main()
74 {
75 1 /* 调用初始化函数 */
76 1 init();
77 1
78 1 /* 无限循环 */
79 1 while(1);
80 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 131 ----
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 + -