📄 show.lst
字号:
C51 COMPILER V8.08 SHOW 11/01/2012 15:31:22 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE SHOW
OBJECT MODULE PLACED IN show.OBJ
COMPILER INVOKED BY: D:\Program Files\keil_51\C51\BIN\C51.EXE show.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "NEW_8051.H"
2 #include <intrins.h>
3 #include"task.h"
4 #include"sbit.h"
5 uchar a; //标志计数器 a为自动转换显示时间,b为手动与自动标志
6 uchar b;
7 uchar f;
8 uchar ha;
9 uchar msec;
10 uchar id;
11 uchar x;
12 uchar y;
13 uchar h;
14 uchar p;
15 uchar n;
16 uchar q;
17 uchar l;
18 uchar mm;
19 uchar OldSec;
20 /********************************************************/
21 void Show_word() //串行输出显示
22 {
23 1 for(h=0;h<16;h++)
24 1 {
25 2 n=(h+1)%4;
26 2 if((h==0)||(h==15))
27 2 {
28 3 for(l=0;l<8;l++)
29 3 {
30 4 if(h==0)
31 4 Send_data6((&timer[15][p]),(&timer[15][5]));
32 4 else
33 4 Send_data6((&timer[15][5]),(&timer[15][3-p]));
34 4 }
35 3 // P0=sw[h];
36 3 scan(h); //输出行信号
37 3 STR=1;
38 3 STR=0;
39 3 STR=1;
40 3 //锁存为高,595锁存信号
41 3 DelayMs(); //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*
-/
42 3
43 3 if(h==0)
44 3 {
45 4 q++;
46 4 h++;
47 4 if(q>18)
48 4 {
49 5 p++;
50 5 q=0;
51 5 if(p>3)
52 5 p=0;
53 5 }
54 4 }
C51 COMPILER V8.08 SHOW 11/01/2012 15:31:22 PAGE 2
55 3 }
56 2
57 2
58 2 if((id==0)&&(f==0)||(id==1)) //f为三秒转换显示
59 2 {
60 3 if(Hour/16<1)
61 3 {
62 4 r=0;Send_data9((&timer[0][0]),(&timer[0][0]));
63 4 } //不显示
64 3 else
65 3 {
66 4 r=0;
67 4 Send_data9((&timer[0][0]),(&timer[Hour/16][h]));
68 4 }
69 3 if((Flicker==1)&&(id==1)) //闪烁标志为1时不亮,为零时亮
70 3 {
71 4 Send_data((&timer[0][0]),(&timer[Hour%16][h])); //不显示
72 4 Send_data((&timer[0][0]),(&timer[10][h])); //不显示
73 4 Send_data((&timer[0][0]),(&timer[Cent/16][h])); //不显示
74 4 Send_data((&timer[0][0]),(&timer[Cent%16][h])); //不显示
75 4 }
76 3 else
77 3 {
78 4 Send_data((&timer[2][h]),(&timer[Hour%16][h])); //20年
79 4 if(w==0)
80 4 Send_data((&timer[0][h]),(&timer[10][h]));
81 4 else
82 4 Send_data((&timer[0][h]),(&timer[17][h]));
83 4 Send_data((&timer[Year/16][h]),(&timer[Cent/16][h])); //年值
84 4 Send_data((&timer[Year%16][h]),(&timer[Cent%16][h]));
85 4 }
86 3 if(w==0)
87 3 Send_data((&hanzi[h*2+641]),(&timer[10][h])); //年字符
88 3 else
89 3 Send_data((&hanzi[h*2+641]),(&timer[17][h]));
90 3 Send_data((&hanzi[h*2+640]),(&timer[Sec/16][h]));
91 3 ri=0;
92 3 Send_data9((&timer[0]),(&timer[Sec%16][h])); //不显示
93 3
94 3 }
95 2
96 2 if((id==0)&&(f==1)||(id==2)||(id==3))
97 2 {
98 3 if((Flicker==1)&&(id==2)) //闪烁标志为1时不亮,为零时亮
99 3 {
100 4 Send_data9((&timer[0][0]),(&timer[Hour/16][h])); //不显示
101 4 Send_data((&timer[0][0]),(&timer[Hour%16][h])); //不显示
102 4 }
103 3 else if((Month/16<1)&&(Hour/16<1))
104 3 {
105 4 r=0;
106 4 Send_data9((&timer[0]),(&timer[0][0]));
107 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
108 4 } //月十位为零时不显示
109 3 else if((Month/16<1)&&(Hour/16>0))
110 3 {
111 4 r=0;
112 4 Send_data9((&timer[0]),(&timer[Hour/16][h]));
113 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
114 4 } //月十位为零时不显示
115 3 else if((Month/16>0)&&(Hour/16<1))
116 3 {
C51 COMPILER V8.08 SHOW 11/01/2012 15:31:22 PAGE 3
117 4 r=0;
118 4 Send_data9((&timer[Month/16][h]),(&timer[0][0]));
119 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
120 4 }
121 3 else
122 3 {
123 4 r=0;
124 4 Send_data9((&timer[Month/16][h]),(&timer[Hour/16][h])); //月值
125 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
126 4 }
127 3
128 3 if(w==0)
129 3 Send_data((&hanzi[h*2+673]),(&timer[10][h])); //月字符
130 3 else
131 3 Send_data((&hanzi[h*2+673]),(&timer[17][h]));
132 3 Send_data((&hanzi[h*2+672]),(&timer[Cent/16][h]));
133 3 if((Flicker==1)&&(id==3)) //闪烁标志为1时不亮,为零时亮
134 3 {
135 4 Send_data((&timer[0][0]),(&timer[Cent%16][h])); //不显示
136 4 Send_data((&timer[0][0]),(&timer[10][h])); //不显示
137 4 }
138 3 else
139 3 {
140 4 Send_data((&timer[Day/16][h]),(&timer[Cent%16][h])); //日值
141 4 if(w==0)
142 4 Send_data((&timer[Day%16][h]),(&timer[10][h]));
143 4 else
144 4 Send_data((&timer[Day%16][h]),(&timer[17][h]));
145 4
146 4 }
147 3 Send_data((&hanzi[h*2+961]),(&timer[Sec/16][h])); //日字符
148 3 ri=0;Send_data9((&hanzi[h*2+960]),(&timer[Sec%16][h]));
149 3 }
150 2 /**********************************************************************************/
151 2 if((id==0)&(f==5)|(id==4))//f为三秒转换显示
152 2 {
153 3 if(Hour/16<1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -