📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 07/02/2012 17:53:34 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //main.c
2 #include <reg51.h> //包含头文件
3
4 //定义端口寄存器
5 sfr P0M0 = 0X93;
6 sfr P0M1 = 0X94;
7 sfr P1M0 = 0X91;
8 sfr P1M1 = 0X92;
9 sfr P2M0 = 0X95;
10 sfr P2M1 = 0X96;
11 sfr P3M0 = 0Xb1;
12 sfr P3M1 = 0Xb2;
13
14 //定义端口
15 sbit alert = P3^2; //报警输入
16 sbit speaker = P0^1; //报警输出
17 sbit led = P0^0; //工作指示
18
19 bit run_flag; // 运行标志
20
21 //定义延时函数
22 void ms_delay(unsigned int t)
23 {
24 1 unsigned int i;
25 1 for (t; t > 0; t--) //外层循环t次
26 1 for (i = 110;i > 0; i--) //内层循环110次
27 1 ;
28 1 }
29
30 //INT0中断服务程序
31 void INT0_interrupt() interrupt 0
32 {
33 1 EX0 = 0; //关INT0中断
34 1 run_flag = 0;
35 1 }
36
37 main()
38 {
39 1
40 1
41 1 //配置端口模式
42 1 P0M1 = 0x03; //P0.1、P0.0输出
43 1 P0M0 = 0x03;
44 1 P1M1 = 0x04; //P3.2输入
45 1 P1M0 = 0x00;
46 1
47 1 IT0 = 0;//设置INT0为低电平触发
48 1 EX0 = 1;//允许INT0中断
49 1 EA = 1;//开总中断
50 1
51 1 alert = 1;
52 1 speaker = 1;
53 1 led = 1;
54 1 run_flag = 1;
55 1 while(1)
C51 COMPILER V8.08 MAIN 07/02/2012 17:53:34 PAGE 2
56 1 {
57 2 if (run_flag)
58 2 {//正常运行
59 3 led = ~led;
60 3 speaker = 1;
61 3 ms_delay(500);
62 3 }
63 2 else
64 2 {
65 3 led = 0;
66 3 speaker = ~speaker;
67 3 ms_delay(250);
68 3 }
69 2
70 2 if (alert == 1)
71 2 {
72 3 run_flag = 1; //恢复正常
73 3 EX0 = 1;
74 3 }
75 2 }
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 94 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -