📄 show.lst.svn-base
字号:
C51 COMPILER V8.08 SHOW 09/06/2012 18:00:00 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 STR=1;
37 3 STR=0;
38 3 STR=1;
39 3 //锁存为高,595锁存信号
40 3 DelayMs(); //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*
-/
41 3
42 3 if(h==0)
43 3 {
44 4 q++;
45 4 h++;
46 4 if(q>18)
47 4 {
48 5 p++;
49 5 q=0;
50 5 if(p>3)
51 5 p=0;
52 5 }
53 4 }
54 3 }
C51 COMPILER V8.08 SHOW 09/06/2012 18:00:00 PAGE 2
55 2
56 2
57 2 if((id==0)&&(f==0)||(id==1)) //f为三秒转换显示
58 2 {
59 3 if(Hour/16<1)
60 3 {
61 4 r=0;Send_data9((&timer[0][0]),(&timer[0][0]));
62 4 } //不显示
63 3 else
64 3 {
65 4 r=0;
66 4 Send_data9((&timer[0][0]),(&timer[Hour/16][h]));
67 4 }
68 3 if((Flicker==1)&&(id==1)) //闪烁标志为1时不亮,为零时亮
69 3 {
70 4 Send_data((&timer[0][0]),(&timer[Hour%16][h])); //不显示
71 4 Send_data((&timer[0][0]),(&timer[10][h])); //不显示
72 4 Send_data((&timer[0][0]),(&timer[Cent/16][h])); //不显示
73 4 Send_data((&timer[0][0]),(&timer[Cent%16][h])); //不显示
74 4 }
75 3 else
76 3 {
77 4 Send_data((&timer[2][h]),(&timer[Hour%16][h])); //20年
78 4 if(w==0)
79 4 Send_data((&timer[0][h]),(&timer[10][h]));
80 4 else
81 4 Send_data((&timer[0][h]),(&timer[17][h]));
82 4 Send_data((&timer[Year/16][h]),(&timer[Cent/16][h])); //年值
83 4 Send_data((&timer[Year%16][h]),(&timer[Cent%16][h]));
84 4 }
85 3 if(w==0)
86 3 Send_data((&hanzi[h*2+641]),(&timer[10][h])); //年字符
87 3 else
88 3 Send_data((&hanzi[h*2+641]),(&timer[17][h]));
89 3 Send_data((&hanzi[h*2+640]),(&timer[Sec/16][h]));
90 3 ri=0;
91 3 Send_data9((&timer[0]),(&timer[Sec%16][h])); //不显示
92 3
93 3 }
94 2
95 2 if((id==0)&&(f==1)||(id==2)||(id==3))
96 2 {
97 3 if((Flicker==1)&&(id==2)) //闪烁标志为1时不亮,为零时亮
98 3 {
99 4 Send_data9((&timer[0][0]),(&timer[Hour/16][h])); //不显示
100 4 Send_data((&timer[0][0]),(&timer[Hour%16][h])); //不显示
101 4 }
102 3 else if((Month/16<1)&&(Hour/16<1))
103 3 {
104 4 r=0;
105 4 Send_data9((&timer[0]),(&timer[0][0]));
106 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
107 4 } //月十位为零时不显示
108 3 else if((Month/16<1)&&(Hour/16>0))
109 3 {
110 4 r=0;
111 4 Send_data9((&timer[0]),(&timer[Hour/16][h]));
112 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
113 4 } //月十位为零时不显示
114 3 else if((Month/16>0)&&(Hour/16<1))
115 3 {
116 4 r=0;
C51 COMPILER V8.08 SHOW 09/06/2012 18:00:00 PAGE 3
117 4 Send_data9((&timer[Month/16][h]),(&timer[0][0]));
118 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
119 4 }
120 3 else
121 3 {
122 4 r=0;
123 4 Send_data9((&timer[Month/16][h]),(&timer[Hour/16][h])); //月值
124 4 Send_data((&timer[Month%16][h]),(&timer[Hour%16][h]));
125 4 }
126 3
127 3 if(w==0)
128 3 Send_data((&hanzi[h*2+673]),(&timer[10][h])); //月字符
129 3 else
130 3 Send_data((&hanzi[h*2+673]),(&timer[17][h]));
131 3 Send_data((&hanzi[h*2+672]),(&timer[Cent/16][h]));
132 3 if((Flicker==1)&&(id==3)) //闪烁标志为1时不亮,为零时亮
133 3 {
134 4 Send_data((&timer[0][0]),(&timer[Cent%16][h])); //不显示
135 4 Send_data((&timer[0][0]),(&timer[10][h])); //不显示
136 4 }
137 3 else
138 3 {
139 4 Send_data((&timer[Day/16][h]),(&timer[Cent%16][h])); //日值
140 4 if(w==0)
141 4 Send_data((&timer[Day%16][h]),(&timer[10][h]));
142 4 else
143 4 Send_data((&timer[Day%16][h]),(&timer[17][h]));
144 4
145 4 }
146 3 Send_data((&hanzi[h*2+961]),(&timer[Sec/16][h])); //日字符
147 3 ri=0;Send_data9((&hanzi[h*2+960]),(&timer[Sec%16][h]));
148 3 }
149 2 /**********************************************************************************/
150 2 if((id==0)&(f==5)|(id==4))//f为三秒转换显示
151 2 {
152 3 if(Hour/16<1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -