📄 chengxu.lst
字号:
C51 COMPILER V8.05a CHENGXU 06/02/2012 16:36:37 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 汇诚科技
3
4 实现功能:脉冲信号检测开关
5 使用芯片:STC15F104E
6 晶振:12MHZ
7 波特率:9600
8 编译环境:Keil
9 作者:zhangxinchunleo
10 网站:www.ourhc.cn
11 淘宝店:汇诚科技 http://shop36330473.taobao.com
12 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
13
14 *********************************************************************/
15 /********************************************************************/
16
17 #include<reg52.h> //库文件
18 #define uchar unsigned char//宏定义无符号字符型
19 #define uint unsigned int //宏定义无符号整型
20 /********************************************************************
21 初始定义
22 *********************************************************************/
23 uchar sec; //定义计数值,每过1/10 秒,sec 加一
24 uchar keycnt=0;//按下次数值
25 uint tcnt; //键值判断
26 /********************************************************************
27 I/O定义
28 *********************************************************************/
29 sbit P33=P3^3; //定义单片机P3口的第3位 (即P3.3)
30 sbit P3_5=P3^5;
31 /********************************************************************
32 延时函数
33 *********************************************************************/
34 void delay(uchar t)
35 {
36 1 uchar i,j;
37 1 for(i=0;i<t;i++)
38 1 {
39 2 for(j=13;j>0;j--);
40 2 { ;
41 3 }
42 2 }
43 1 }
44
45 /********************************************************************
46 按键判断函数
47 *********************************************************************/
48
49 void jiance()
50
51 {
52 1 if(P3_5==0)
53 1 delay(20);
54 1 if(P3_5==0)
55 1 {
C51 COMPILER V8.05a CHENGXU 06/02/2012 16:36:37 PAGE 2
56 2 TH0=0x06; //对TH0 TL0 赋值
57 2 TL0=0x06;
58 2 TR0=1; //开始定时
59 2 delay(20);
60 2 while(P3_5==0);
61 2 delay(20);
62 2 sec=0;
63 2 TH0=0x06; //对TH0 TL0 赋值
64 2 TL0=0x06;
65 2 TR0=0;
66 2
67 2
68 2 }
69 1
70 1 }
71
72
73 /********************************************************************
74 定时中断服务函数
75 *********************************************************************/
76 void t0(void) interrupt 1 using 0 //定时中断服务函数
77 {
78 1 tcnt++; //每过250ust tcnt 加一
79 1 if(tcnt==400) //计满400 次(1/10 秒)时
80 1 {
81 2 tcnt=0; //重新再计
82 2 sec++;
83 2 if(sec==20) //定时20 秒,在从零开始计时
84 2 {
85 3 sec=0;
86 3 P33=1; //取反 P3.3
87 3 }
88 2 }
89 1 }
90
91 /********************************************************************
92 主函数
93 *********************************************************************/
94 void main()
95 {
96 1 TMOD=0x02; //定时器工作在方式2
97 1 TH0=0x06; //对TH0 TL0 赋值
98 1 TL0=0x06;
99 1 ET0=1;
100 1 EA=1;
101 1 sec=0;
102 1 TR0=0;
103 1 P33=0;
104 1 while(1)
105 1 {
106 2 delay(20);
107 2 TR0=1; //开始定时
108 2 jiance();
109 2 }
110 1 }
111
112
113 /********************************************************************
114 结束
115 *********************************************************************/
C51 COMPILER V8.05a CHENGXU 06/02/2012 16:36:37 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 134 ----
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 + -