📄 timer.lst
字号:
C51 COMPILER V8.08 TIMER 08/10/2009 15:15:28 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN timer.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE timer.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 uchar Count;
6 sbit Dot = P0^7;
7 uchar code DSY_CODE[]=
8 {
9 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
10 };
11
12 uchar Digits_of_6DSY[]={0,0,0,0,0,0};
13
14 void DelayMS(uint x)
15 {
16 1 uchar i;
17 1 while(--x)
18 1 {
19 2 for(i=0;i<120;i++);
20 2 }
21 1 }
22
23 void main()
24 {
25 1 uchar i,j;
26 1 P0 = 0x00;
27 1 P3 = 0xff;
28 1 Count =0;
29 1 TMOD = 0x01;
30 1 TH0 = (65535-50000)/256;
31 1 TL0 = (65535-50000)%256;
32 1 IE = 0x82;
33 1 TR0 = 1;
34 1 while(1)
35 1 {
36 2 j = 0x7f;
37 2 for(i=5;i!=-1;i--)
38 2 {
39 3 j=_crol_(j,1);
40 3 P3 = j;
41 3 P0 = DSY_CODE[Digits_of_6DSY[i]];
42 3 if(i==1) P0 |= 0x80;
43 3 DelayMS(2);
44 3 }
45 2 }
46 1 }
47
48 void Time0() interrupt 1
49 {
50 1 uchar i;
51 1 TH0 = (65535-50000)/256;
52 1 TL0 = (65535-50000)%256;
53 1 if(++Count !=2) return;
54 1 Count = 0;
55 1 Digits_of_6DSY[0]++;
C51 COMPILER V8.08 TIMER 08/10/2009 15:15:28 PAGE 2
56 1 for(i=0;i<=5;i++)
57 1 {
58 2 if(Digits_of_6DSY[i] == 10)
59 2 {
60 3 Digits_of_6DSY[i] = 0;
61 3 if(i != 5) Digits_of_6DSY[i+1]++;
62 3 }
63 2 else break;
64 2 }
65 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 157 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
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 + -