📄 display.lst
字号:
C51 COMPILER V7.50 DISPLAY 03/28/2007 11:36:56 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN Display.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE Display.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include <intrins.h>
3 #include "Define.h"
4 #include "Common.h"
5 #include "Set.h"
6
7 //////////////////////////////////////////////////////////////////
8 //extern _dc;
9 //extern _;
10 extern _cs;
11 extern _ucdLEDDisplayArray[];
12 extern _LengthOfLEDDisplayArray;
13 extern _cLCDDisplayArray[];
14 extern _ucidLengthOfLCDDisplayArray;
15
16 extern _CurrentTestItem;
17 extern _TTLOfEachTestItem[];
18 extern _TestItemArray[];
19 extern _LCDFlag;
20 extern _LEDFlag;
21 extern _TestItemNeedInitFlag;
22 //////////////////////////////////////////////////////////////////////////////////////
23 UCHARIDATA ucidT0Counter0 = 0;
24 UCHARIDATA ucidT0Counter1 = 0;
25 UCHARIDATA ucidT1Counter = 0;
26 UCHARIDATA ucidT1Acc = 0;
27
28 UCHARDATA ucdLCDCounter = 0;
29 UCHARDATA ucdLEDCounter = 0;
30 UCHARDATA ucdLEDCounterStart = 0;
31
32 /////////////////////////////////////
33 UCHARIDATA TestItemTTLCounter = 0;
34 UCHARIDATA TestItemPointer = 0;
35
36
37 /* LED显示段码表 */
38 UCHARCODE uccTab[20] = {
39 0x3f,0x06,0x5b,0x4f, /* 0 1 2 3 */
40 0x66,0x6d,0x7d,0x07, /* 4 5 6 7 */
41 0x7f,0x6f,0x77,0x7c, /* 8 9 a b */
42 0x58,0x5e,0x79,0x71, /* c d e f */
43 0x00,0x0c,0x40 /* _| - */
44 };
45
46 void Timer(void) interrupt 1 // T0中断 LCD DISPLAY
47 {
48 1 TH0=0xd8; /*12M,10ms*/
49 1 TL0=0xf6;
50 1
51 1 ucidT0Counter0++;
52 1 ucidT0Counter1++;
53 1
54 1 if(ucidT0Counter0 >= 100 ) //1S之后
55 1 {
C51 COMPILER V7.50 DISPLAY 03/28/2007 11:36:56 PAGE 2
56 2 ucidT0Counter0 = 0; //重新置零
57 2 /////////////////////////////////
58 2
59 2 TestItemTTLCounter++;
60 2 if(TTLOfEachTestItem[CurrentTestItem] - TestItemTTLCounter <= 0)
61 2 {
62 3 TestItemTTLCounter = 0; //重新置零
63 3 //////////////////////////
64 3
65 3 //TestItemPointer = ((TestItemPointer++)%TESTITEMCOUNT);
66 3
67 3 CurrentTestItem = TestItemArray[TestItemPointer];
68 3 TestItemNeedInitFlag = 1;
69 3 }
70 2
71 2 }
72 1
73 1 if(ucidT0Counter1 >= 50) //n ms之后
74 1 {
75 2 ucidT0Counter1 = 0; //重新置零
76 2 ///////////////////////
77 2
78 2 //ucdLEDCounterStart = ((ucdLEDCounterStart++)%LengthOfLEDDisplayArray);
79 2 }
80 1
81 1 /////////////////////////////////////////////////////////////////////////////////
82 1 /***********************一以下为LCD显示部分********************************/
83 1 /*
84 1 if(LCDFlag == 1)
85 1 {
86 1 LCDFlag = 0;
87 1
88 1
89 1 if(ucdLCDCounter < ucidLengthOfLCDDisplayArray)
90 1 {
91 1 if(ucdLCDCounter == 0)
92 1 {
93 1 lcd_init(); //全黑
94 1 }
95 1
96 1 P1 = 0x00;
97 1 lcd_wrdata(cLCDDisplayArray[ucdLCDCounter]);
98 1 ucdLCDCounter++;
99 1 }
100 1 else
101 1 {
102 1 ucdLCDCounter = 0;
103 1 LCDFlag = 0;
104 1 }
105 1
106 1 LEDFlag = 1;
107 1 }
108 1 */
109 1 ////////////////////////////
110 1 ucdLCDCounter++;
111 1 if(ucdLCDCounter >= 20)
112 1 {
113 2 ucdLCDCounter = 0;
114 2 //////////////////////////////
115 2 //if(LCDFlag == 1)
116 2 {
117 3 //P1 = 0x00;
C51 COMPILER V7.50 DISPLAY 03/28/2007 11:36:56 PAGE 3
118 3
119 3 LCDFlag = 0;
120 3 LEDFlag = 1;
121 3 //lcd_init(); //全黑
122 3 //lcd_string("ST");
123 3 lcd_wrdata('H');
124 3
125 3 //hard_10ms(2);
126 3
127 3
128 3 }
129 2 }
130 1
131 1
132 1 /*
133 1 if(sys10mscounter!=0)
134 1 {
135 1 sys10mscounter--; //定时器10ms
136 1 }
137 1 if(syslimitcounter!=0)
138 1 {
139 1 syslimitcounter--; //定时器10ms
140 1 }
141 1 */
142 1 }
143
144 void Display() interrupt 3 using 2 //T1中断 LED DISPLAY
145 {
146 1 //TL1 = 0xf0;
147 1 //TH1 = 0xf9;
148 1
149 1
150 1 TL1 = 0xf0;
151 1 TH1 = 0xf9;
152 1
153 1 //if(LEDFlag == 1)
154 1 {
155 2
156 2
157 2 cs = 0;
158 2
159 2 P2 = 0;
160 2 P1 = P1&0xf0;
161 2 P1 = P1|ucidT1Acc;
162 2 ucidT1Acc = ucidT1Acc<<1;
163 2 //P2 = uccTab[ucdLEDDisplayArray[ucidT1Counter]];
164 2 P2 = 1;
165 2
166 2 //////////////////////////////////////////////////////////
167 2
168 2 ucidT1Counter = ucidT1Counter + 1;
169 2 if(ucidT1Acc >= 16)
170 2 {
171 3 ucidT1Counter = 0;
172 3 ucidT1Acc = 1;
173 3 }
174 2
175 2 LCDFlag = 1;
176 2 //cs = 0;
177 2 }
178 1 //else
179 1 {
C51 COMPILER V7.50 DISPLAY 03/28/2007 11:36:56 PAGE 4
180 2 ;
181 2 }
182 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 238 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
IDATA SIZE = 6 ----
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 + -