📄 dm114.lst
字号:
C51 COMPILER V7.06 DM114 02/20/2008 14:33:42 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DM114
OBJECT MODULE PLACED IN dm114.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dm114.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2
3
4 sbit DIN=P1^0;
5 sbit CLK=P1^1;
6 sbit STB=P1^2;
7 sbit OE =P1^3;
8 sbit key0=P1^4;
9 unsigned char mode,number,p;
10 unsigned char flag;
11
12 unsigned char code ANODE[8][90]={0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x
-92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x
-92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x
-92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x
-92,0x24,0x49,0x92,
13 0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x
-49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x
-49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x
-49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x
-49,0x92,0x24,0x49,
14 0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x4
-9,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x4
-9,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x4
-9,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,
15 0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb
-6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb
-6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb
-6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,
16 0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x
-6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x
-6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x
-6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x
-6d,0xdb,0xb6,0x6d,
17 0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0
-xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0
-xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0
-xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,
18 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0
-xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0
-xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0
-xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
19 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
-x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
-x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
-x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
20
21 void send(unsigned char add)
22 {unsigned char ADS,j;
23 1 ADS=add;
24 1 for(j=0;j<8;j++)
25 1 {
26 2 CLK=0;
27 2 DIN=ADS&0x01;
28 2 ADS=ADS>>1;
C51 COMPILER V7.06 DM114 02/20/2008 14:33:42 PAGE 2
29 2 CLK=1;
30 2 }
31 1 }
32
33
34 void delay(unsigned int n)
35 {unsigned int k;
36 1 while(n--)
37 1 {for(k=0;k<250;k++)
38 2 {;}
39 2 }
40 1 }
41 /////////////////////////////////////////////////////
42 void clock_inital0() reentrant //定时器0的初始化;
43 {TR0=0;TH0=0x3c;TL0=0xb0;TR0=1;}
44
45 ///////////////////////////////////////////////////
46 void clock_inital1() reentrant //定时器1的初始化;
47 {TR1=0;
48 1 TH1=0x00;
49 1 TL1=0x00;
50 1 TR1=1;}
51 //////////////////////////////////////////////////
52 void keynum0() //display mode
53 {
54 1 flag++;
55 1 mode=0;
56 1 if(flag>=9) {flag=0; mode=1;}
57 1
58 1 }
59 ////////////////////////////////////////
60 void key() //键盘子程序;
61 { unsigned char keycode;
62 1 key0=1;
63 1
64 1 keycode=P1&0x10;
65 1 if(keycode!=0x10) //判断是否有键按下;
66 1 {
67 2 delay(20); //延时去抖动;
68 2 keycode=P1&0x10;
69 2 while(keycode!=0x10) //确认有键按下;
70 2 {
71 3 if(key0==0) //KEY0按下后执行子程序;
72 3 {
73 4 keynum0(); //
74 4 while(1) //等待键释放;
75 4 { if(key0==1) break;
76 5 delay(10);
77 5 }
78 4 }
79 3 break; }
80 2 }
81 1
82 1 }
83 ////////////////////////////////////////////////
84
85 ///////////////////////////////////////////////////
86 main()
87 {
88 1
89 1 TMOD=0x11;
90 1 EA=1;
C51 COMPILER V7.06 DM114 02/20/2008 14:33:42 PAGE 3
91 1 TF1=0;
92 1 TF0=0;
93 1 clock_inital1();
94 1 clock_inital0();
95 1 ET1=1;
96 1 ET0=1;
97 1
98 1 STB=0;
99 1 OE=0;
100 1 flag=1;
101 1 mode=0;
102 1 number=0;
103 1 p=0;
104 1
105 1
106 1
107 1 while(1)
108 1 { if((P1&0x10)!=0x10)
109 2 {key();}
110 2 }
111 1
112 1
113 1 }
114
115 ///////////////////////////////////////////////////////////////
116 void clk_int0() interrupt 1 //定时器0中断程序;
117 {
118 1 clock_inital0();
119 1
120 1 number++;
121 1
122 1 }
123 ///////////////////////////////////////////////////////////////
124 void clk_int1() interrupt 3
125 { unsigned char i;
126 1 clock_inital1();
127 1 if(mode==0)
128 1 {switch(flag)
129 2 {
130 3 case 1: for(i=0;i<90;i++)
131 3 {send(ANODE[0][i]);}
132 3 STB=1;
133 3 STB=0;
134 3 break;
135 3 case 2: for(i=0;i<90;i++)
136 3 {send(ANODE[1][i]);}
137 3 STB=1;
138 3 STB=0;
139 3 break;
140 3 case 3: for(i=0;i<90;i++)
141 3 {send(ANODE[2][i]);}
142 3 STB=1;
143 3 STB=0;
144 3 break;
145 3 case 4: for(i=0;i<90;i++)
146 3 {send(ANODE[3][i]);}
147 3 STB=1;
148 3 STB=0;
149 3 break;
150 3 case 5: for(i=0;i<90;i++)
151 3 {send(ANODE[4][i]);}
152 3 STB=1;
C51 COMPILER V7.06 DM114 02/20/2008 14:33:42 PAGE 4
153 3 STB=0;
154 3 break;
155 3 case 6: for(i=0;i<90;i++)
156 3 {send(ANODE[5][i]);}
157 3 STB=1;
158 3 STB=0;
159 3 break;
160 3 case 7: for(i=0;i<90;i++)
161 3 {send(ANODE[6][i]);}
162 3 STB=1;
163 3 STB=0;
164 3 break;
165 3 case 8: for(i=0;i<90;i++)
166 3 {send(ANODE[7][i]);}
167 3 STB=1;
168 3 STB=0;
169 3 break;
170 3
171 3 default : flag=1;break;
172 3 }
173 2
174 2 }
175 1
176 1 if(mode==1)
177 1 {if(number>=12){ number=0;p++;}
178 2 if(p==7) p=0;
179 2 for(i=0;i<90;i++)
180 2 { send(ANODE[p][i]);} STB=1;STB=0;
181 2 }
182 1
183 1
184 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 487 ----
CONSTANT SIZE = 720 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -