📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 07/02/2012 17:03:24 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 start = P1^0; //启动开关
16 sbit motor = P0^0; //电机运行控制
17
18 //定义延时函数
19 void ms_delay(unsigned int t)
20 {
21 1 unsigned int i;
22 1 for (t; t > 0; t--) //外层循环t次
23 1 for (i = 110;i > 0; i--) //内层循环110次
24 1 ;
25 1 }
26
27 //INT0中断服务程序
28 void INT0_interrupt() interrupt 0
29 {
30 1 motor = 0; //停止运转
31 1 }
32
33 main()
34 {
35 1 //配置端口模式
36 1 P0M1 = 0x01; //P0.0输出
37 1 P0M0 = 0x01;
38 1 P3M1 = 0x04; //P3.2输入
39 1 P3M0 = 0x00;
40 1
41 1 IT0 = 1;//设置INT0为下降沿触发
42 1 EX0 = 1;//允许INT0中断
43 1 EA = 1;//开总中断
44 1
45 1 ms_delay(100);
46 1 start = 1; //启动开关置高电平
47 1 motor = 0; //电机不运行
48 1
49 1 while(1)
50 1 {
51 2 if (start == 0) //如果启动信号到位
52 2 {
53 3 ms_delay(20);//延时消抖
54 3 if (start == 0) //确认
55 3 {
C51 COMPILER V8.08 MAIN 07/02/2012 17:03:24 PAGE 2
56 4 motor = 1; //启动电机
57 4 }
58 3 }
59 2 }
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 78 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -