📄 numericaltube.lst
字号:
C51 COMPILER V7.20 NUMERICALTUBE 02/18/2009 02:28:07 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE NUMERICALTUBE
OBJECT MODULE PLACED IN NumericalTube.OBJ
COMPILER INVOKED BY: F:\Program Files\Keil\C51\BIN\C51.EXE NumericalTube.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REG52.H>
2 unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,//0-3
3 0x99,0x92,0x82,0xF8,//4-7
4 0x80,0x90,0x88,0x83,//8-B
5 0xC6,0xA1,0x86,0x8E,0xff};
6 unsigned char dispbitcode[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb};
7 unsigned char dispbuf[6]={16,16,16,16,16,16};
8 unsigned char dispbitcnt;
9 unsigned int t02scnt;
10 unsigned char t5mscnt;
11 unsigned char u;
12 unsigned char i;
13
14 void main(void)
15 {
16 1 TMOD=0x02; //timer0 initial
17 1 TH0=0x06;
18 1 TL0=0x06;
19 1 TR0=1; //timer0 starting
20 1 ET0=1; //timer0 interrupt enable
21 1 EA=1; //interrupt enable
22 1 while(1);
23 1 }
24
25 void t0(void) interrupt 1 using 0
26 {
27 1 t5mscnt++;
28 1 if(t5mscnt==4)
29 1 {
30 2 t5mscnt=0;
31 2 P0=dispcode[dispbuf[dispbitcnt]];//P0=0xff
32 2 P2=dispbitcode[dispbitcnt];//led on low level//P2
33 2 dispbitcnt++;
34 2 if(dispbitcnt==6)
35 2 {
36 3 dispbitcnt=0;
37 3 }
38 2 }
39 1 t02scnt++;
40 1 if(t02scnt==1600)
41 1 {
42 2 t02scnt=0;
43 2 u++;
44 2 if(u==7)
45 2 {
46 3 u=0;
47 3 }
48 2 for(i=0;i<6;i++)
49 2 {
50 3 dispbuf[i]=16;
51 3 }
52 2 for(i=0;i<u;i++)
53 2 {
54 3 dispbuf[i]=i;
55 3 }
C51 COMPILER V7.20 NUMERICALTUBE 02/18/2009 02:28:07 PAGE 2
56 2 }
57 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 147 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 ----
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 + -