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