📄 kanmenguo.lst
字号:
C51 COMPILER V8.02 KANMENGUO 02/08/2007 17:11:10 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE KANMENGUO
OBJECT MODULE PLACED IN kanmenguo.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE kanmenguo.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /****************************************************************
2 ;文件名WDT_TEST.C
3 ;功能CPU设置使用WDT使能然后用KEY键让系统进入死循环等待WDT复位
4 ;说明CPU配置WDTE=1WDSE=0
5 ;***************************************************************/
6 #include"reg932.h"
7 sbit KEY = P0^0;
8 sbit LEDCON = P2^6; //定义KEY和LED控制端口
9 void init_wdt();
10 void clrwdt(); //函数说明
11
12 main()
13 {
14 1 int i,j;
15 1 P2M1 = 0xC0;
16 1 P2M2 = 0xC0;
17 1 P0M1 = 0x00;
18 1 P0M2 = 0x00; //设置端口输出模式
19 1 init_wdt(); //调用看门狗初始化子程序
20 1 while(1)
21 1 {
22 2 i = 0x400;
23 2 while(i)
24 2 {
25 3 i--;
26 3 j = 0x50;
27 3 while(j)j--;
28 3 clrwdt(); //周期性的调用清零序列喂狗
29 3 if(KEY==0)
30 3 {
31 4 LEDCON = 1; //熄灭LED
32 4 while(1); //等待看门狗复位
33 4 }
34 3 }
35 2 LEDCON = ~LEDCON; //取反LEDCON控制LED闪烁
36 2 }
37 1 }
38 /*****************************
39 ;看门狗初始化子程序
40 ;注意初始化后启动看门狗
41 *****************************/
42 void init_wdt()
43 {
44 1 ACC = WDCON; //读取WDT控制寄存器
45 1 ACC = ACC|0x04; //置位ACC.2准备启动WDT
46 1 WDL = 0x80; //设置8位倒计时器初值
47 1 WDCON = ACC; //启动WDT
48 1 WFEED1 = 0xA5; //清零第一部分
49 1 WFEED2 = 0x5A; //清零第二部分
50 1 }
51 /*****************************
52 ;喂狗子程序
53 ;注意程序中开启中断
54 *****************************/
55 void clrwdt()
C51 COMPILER V8.02 KANMENGUO 02/08/2007 17:11:10 PAGE 2
56 {
57 1 EA = 0; //关闭中断
58 1 WFEED1 = 0xA5; //执行清零第一部分
59 1 WFEED2 = 0x5A; //执行清零第二部分
60 1 EA = 1; //开中断
61 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 88 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -