📄 test008.lst
字号:
C51 COMPILER V7.50 TEST008 12/14/2006 16:48:27 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEST008
OBJECT MODULE PLACED IN test008.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE test008.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************************************
2 * 文 件 名:test008.c
3 * 功 能: 独立按键检测。
4 * 硬件条件:1。CPU型号:AT89S52
5 * 2。晶振:12.000MHz
6 * 3。用跳线帽短接BEEP_P1.3
7 * 4。用跳线帽短接KEY1_P1.0
8 * 作 者:POWER
9 * 日 期:2006年12月12号
10 * 斯凯科技主页:www.armsky.net
11 * 斯凯科技论坛:www.armsky.net/bbs
12 *********************************************************************************************/
13 #include "reg52.h" // 包含头文件
14
15 /* 与编译器无关的数据类型定义 */
16 /********************************************************************************************/
17 typedef unsigned char uint8; // 无符号8位整型变量
18 typedef signed char int8; // 有符号8位整型变量
19 typedef unsigned short uint16; // 无符号16位整型变量
20 typedef signed short int16; // 有符号16位整型变量
21 typedef unsigned int uint32; // 无符号32位整型变量
22 typedef signed int int32; // 有符号32位整型变量
23 typedef float fp32; // 单精度浮点数(32位长度)
24 typedef double fp64; // 双精度浮点数(64位长度)
25 /********************************************************************************************/
26
27 /* 定义位变量 */
28 sbit P1_3 = P1 ^ 3;
29 sbit P1_0 = P1 ^ 0;
30
31 #define BEEP_ON() (P1_3=0) // 定义"BEEP_ON()"为P1.3输出低电平,控制蜂鸣器蜂鸣
32 #define BEEP_OFF() (P1_3=1) // 定义"BEEP_OFF()"为P1.3输出高电平,控制蜂鸣器不蜂鸣
33 #define KEY1 P1_0 // 定义"KEY1"为P1.0接收外部输入的高低电平
34
35 /********************************************************************************************
36 * 函数名称:Delay()
37 * 功 能:软件延时
38 * 入口参数:count 延时参数,值越大,延时越长
39 * 出口参数:无
40 *********************************************************************************************/
41 void Delay(uint16 count)
42 {
43 1 uint8 i;
44 1
45 1 while(--count != 0)
46 1 {
47 2 for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。
48 2 } // i 从0加到125,在12M晶体下CPU大概耗时1毫秒
49 1 }
50
51 /********************************************************************************************
52 * 函数名称:main()
53 * 功 能:当KEY1键按下时,蜂鸣器蜂鸣;当KEY1键不被按下时,蜂鸣器不蜂鸣。程序中进行了消抖处理。
54 *********************************************************************************************/
55 void main (void)
C51 COMPILER V7.50 TEST008 12/14/2006 16:48:27 PAGE 2
56 {
57 1 BEEP_OFF(); // 蜂鸣器不蜂鸣
58 1 while(1) // 死循环
59 1 {
60 2 /* 若KEY1键按下,进行延时消抖处理;否则,蜂鸣器不蜂鸣 */
61 2 if(KEY1==0)
62 2 {
63 3 Delay(100); // 延时消抖处理
64 3
65 3 /* 若KEY1键按下,蜂鸣器蜂鸣;否则,蜂鸣器不蜂鸣*/
66 3 if(KEY1==0)
67 3 BEEP_ON(); // 蜂鸣器蜂鸣
68 3 else
69 3 BEEP_OFF(); // 蜂鸣器不蜂鸣
70 3 }
71 2 else
72 2 BEEP_OFF();
73 2 }
74 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 48 ----
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 + -