📄 main1.lst
字号:
C51 COMPILER V7.06 MAIN1 01/31/2008 13:01:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN1
OBJECT MODULE PLACED IN main1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /************************************************************************************
2 * Copyright (c) 2008,重庆优易特电子
3 * All rights reserved.
4
5 * 摘 要: 秒表:从上电开始显示工作秒数
6
7 * 文件名称: main.c
8 * CPU芯片: STC89C51RC
9 * 学习板型: Easy51-B
10 *
11 * 当前版本: 2.0
12 * 作 者: cache
13 * 完成日期: 2008年1月23日
14 *
15 *************************************************************************************/
16
17 #include "reg52.h"
18
19 #define THCO 0xee
20 #define TLCO 0x0
21
22 unsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
23 //共阴极数码管,0-9段码表
24 unsigned char Data_Buffer[4]={0,0,0,0};
25 //四个数码管显示数值,数组变量定义
26
27 unsigned int Sec=0;
28 bit flag=0;//1S时间到标志
29
30 sbit P10=P1^0; //四个数码管的位码口定义
31 sbit P11=P1^1;
32 sbit P12=P1^2;
33 sbit P13=P1^3;
34
35 void main()
36 {
37 1 TMOD=0x11; //定时器0初始化
38 1 TH0=THCO;
39 1 TL0=TLCO;
40 1 TR0=1;
41 1 ET0=1;
42 1 EA=1;
43 1
44 1 while(1)
45 1 {
46 2 if(flag==1)
47 2 {
48 3 flag=0;
49 3 Data_Buffer[0]=Sec/1000;
50 3 Data_Buffer[1]=Sec%1000/100;
51 3 Data_Buffer[2]=Sec%100/10;
52 3 Data_Buffer[3]=Sec%10;
53 3 }
54 2 }
55 1 }
C51 COMPILER V7.06 MAIN1 01/31/2008 13:01:53 PAGE 2
56
57 void timer0() interrupt 1
58 {
59 1 static unsigned char Bit=0; //静态变量,退出程序后,值保留
60 1 static unsigned char count=0;
61 1
62 1 TH0=THCO;
63 1 TL0=TLCO;
64 1
65 1 count++;
66 1 if(count>=200) //秒计时,定时器定时5ms,计200次为一秒
67 1 {
68 2 count=0;
69 2 Sec++;
70 2 flag=1; //更新数码管显示
71 2 if(Sec>9999)Sec=0; //秒数最大显示为9999,之后从头开始计时
72 2 }
73 1
74 1 Bit++;
75 1 if(Bit>=4)Bit=0;
76 1 P1|=0x0f; //先关位码
77 1 P0=Duan[Data_Buffer[Bit]]; //开段码
78 1 switch(Bit) //送位码
79 1 {
80 2 case 0: P10=0;break;
81 2 case 1: P11=0;break;
82 2 case 2: P12=0;break;
83 2 case 3: P13=0;break;
84 2 }
85 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 223 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -