📄 chengxu.lst
字号:
C51 COMPILER V8.05a CHENGXU 02/19/2012 17:04:39 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 实现功能:按键触发延时1分钟程序
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 uint 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 void KEY() //按键扫描程序
49 {
50 1 if(P3_5==0)
51 1 {
52 2 delay(20);
53 2 if(P3_5==0)
54 2 {
55 3 TH0=0x06; //对TH0 TL0 赋值
C51 COMPILER V8.05a CHENGXU 02/19/2012 17:04:39 PAGE 2
56 3 TL0=0x06;
57 3 P33=1;
58 3 TR0=1; //开始定时
59 3
60 3 }
61 2 }}
62 /********************************************************************
63 定时中断服务函数
64 *********************************************************************/
65 void t0(void) interrupt 1 using 0 //定时中断服务函数
66 {
67 1 tcnt++; //每过250ust tcnt 加一
68 1 if(tcnt==4000) //计满400 次(1/10 秒)时
69 1 {
70 2 tcnt=0; //重新再计
71 2 sec++;
72 2
73 2 if(sec==60) //定时10 秒,在从零开始计时
74 2 {
75 3 sec=0;
76 3 P33=0;
77 3 TR0=0;
78 3 }
79 2 }
80 1 }
81
82 /********************************************************************
83 主函数
84 *********************************************************************/
85 void main()
86 {
87 1 TMOD=0x02; //定时器工作在方式2
88 1 ET0=1;
89 1 EA=1;
90 1 sec=0;
91 1 TR0=0;
92 1 P33=1;
93 1 while(1)
94 1 {
95 2 KEY();
96 2 }
97 1 }
98
99
100 /********************************************************************
101 结束
102 *********************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 111 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
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 + -