📄 chengxu.lst
字号:
C51 COMPILER V8.05a CHENGXU 02/19/2012 16:26:46 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 16:26:46 PAGE 2
56 3 TL0=0x06;
57 3 TR0=1; //开始定时
58 3
59 3 }
60 2 }}
61 /********************************************************************
62 定时中断服务函数
63 *********************************************************************/
64 void t0(void) interrupt 1 using 0 //定时中断服务函数
65 {
66 1 tcnt++; //每过250ust tcnt 加一
67 1 if(tcnt==4000) //计满400 次(1/10 秒)时
68 1 {
69 2 tcnt=0; //重新再计
70 2 sec++;
71 2
72 2 if(sec==180) //定时秒,在从零开始计时
73 2 {
74 3 P33=1;
75 3 }
76 2 if(sec==182) //定时秒,在从零开始计时
77 2 {
78 3 sec=0;
79 3 P33=0;
80 3 TR0=0;
81 3 }
82 2 }
83 1 }
84
85 /********************************************************************
86 主函数
87 *********************************************************************/
88 void main()
89 {
90 1 TMOD=0x02; //定时器工作在方式2
91 1 ET0=1;
92 1 EA=1;
93 1 sec=0;
94 1 TR0=0;
95 1 TH0=0x06; //对TH0 TL0 赋值
96 1 TL0=0x06;
97 1 TR0=1; //开始定时
98 1 while(1)
99 1 {
100 2 //KEY();
101 2 }
102 1 }
103
104
105 /********************************************************************
106 结束
107 *********************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 122 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
C51 COMPILER V8.05a CHENGXU 02/19/2012 16:26:46 PAGE 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -