📄 led2chan.lst
字号:
C51 COMPILER V8.02 LED2CHAN 08/20/2008 21:27:18 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LED2CHAN
OBJECT MODULE PLACED IN led2chan.OBJ
COMPILER INVOKED BY: C:\Keil\uv3\C51\BIN\C51.EXE led2chan.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg52.h"
2 #define unchar unsigned char
3 unchar t=0;
4 sbit P12=P1^2;
5 sbit P34=P3^4;
6 bit T1s=0;
7 bit T5ms=0;
8 unchar seg[10 ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
9
10 /*****初始化T2,5ms中断一次******/
11 void initT2()
12 {
13 1 T2CON=0x04; //自动重装方式
14 1 TH2=0xfc;
15 1 TL2=0x18;
16 1 RCAP2L=0x18;
17 1 RCAP2H=0xfc;
18 1 EA=1;
19 1 ET2=1;
20 1 }
21
22 /******秒加1******/
23 void add()
24 {
25 1 t++;
26 1 if(t==60)
27 1 {t=0;}
28 1 }
29
30 /***主函数***/
31 void main()
32 {
33 1 //void initT2();
34 1 unchar i;
35 1 initT2();
36 1 while(1)
37 1 {
38 2 if(T1s)
39 2 {
40 3 T1s=0;
41 3 add();
42 3 }
43 2 else if(T5ms)
44 2 {
45 3 T5ms=0;
46 3 switch(i) //动态扫描
47 3 {
48 4 case 0:{{P34=1;P12=0;;P0=seg[t%10];}break;} //秒个位
49 4 case 1:{{P12=1;P34=0;;P0=seg[t/10];}break;} // 秒十位
50 4 default:{break;}}
51 3 i++;
52 3 if(i==2)
53 3 i=0;
54 3 }}}
55
C51 COMPILER V8.02 LED2CHAN 08/20/2008 21:27:18 PAGE 2
56 /*******T2中断入口**********/
57 void timer2() interrupt 5
58 {
59 1 int s;
60 1 TF2=0;
61 1 T5ms=1;
62 1 s++;
63 1 if(s==300)
64 1 {
65 2 s=0;
66 2 T1s=1;
67 2 }
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 138 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 3
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -