Project introduction
Based on Xintang chip ms51fb9ae chip, the schematic PCB of T10 window board is designed, and its corresponding digital display function program is written.
Project realization
Through the new Tang chip ms51fb9ae chip, combined with ad to realize the PCB drawing of the window board, combined with the nixie tube to realize the digital display function.
Concrete Step
Design corresponding IO control functions through IC specifications,Take schematic diagram as an example:
Take PCB diagram as an example:
Take Nixie tube scanning as an example:
1void SegDisplay(u8 Num)
2{
3 switch(Num)
4 {
5 case 0:
6 SEG_A=0;
7 SEG_B=0;
8 SEG_C=0;
9 SEG_D=0;
10 SEG_E=0;
11 SEG_F=0;
12 SEG_G=1;
13 SEG_DOT=0;
14 break;
15 case 1:
16 SEG_A=1;
17 SEG_B=0;
18 SEG_C=0;
19 SEG_D=1;
20 SEG_E=1;
21 SEG_F=1;
22 SEG_G=1;
23 SEG_DOT=0;
24 break;
25 case 2:
26 SEG_A=0;
27 SEG_B=0;
28 SEG_C=1;
29 SEG_D=0;
30 SEG_E=0;
31 SEG_F=1;
32 SEG_G=0;
33 SEG_DOT=0;
34 break;
35 case 3:
36 SEG_A=0;
37 SEG_B=0;
38 SEG_C=0;
39 SEG_D=0;
40 SEG_E=1;
41 SEG_F=1;
42 SEG_G=0;
43 SEG_DOT=0;
44 break;
45 case 4:
46 SEG_A=1;
47 SEG_B=0;
48 SEG_C=0;
49 SEG_D=1;
50 SEG_E=1;
51 SEG_F=0;
52 SEG_G=0;
53 SEG_DOT=0;
54 break;
55 case 5:
56 SEG_A=0;
57 SEG_B=1;
58 SEG_C=0;
59 SEG_D=0;
60 SEG_E=1;
61 SEG_F=0;
62 SEG_G=0;
63 SEG_DOT=0;
64 break;
65 case 6:
66 SEG_A=0;
67 SEG_B=1;
68 SEG_C=0;
69 SEG_D=0;
70 SEG_E=0;
71 SEG_F=0;
72 SEG_G=0;
73 SEG_DOT=0;
74 break;
75 case 7:
76 SEG_A=0;
77 SEG_B=0;
78 SEG_C=0;
79 SEG_D=1;
80 SEG_E=1;
81 SEG_F=1;
82 SEG_G=1;
83 SEG_DOT=0;
84 break;
85 case 8:
86 SEG_A=0;
87 SEG_B=0;
88 SEG_C=0;
89 SEG_D=0;
90 SEG_E=0;
91 SEG_F=0;
92 SEG_G=0;
93 SEG_DOT=0;
94 break;
95 case 9:
96 SEG_A=0;
97 SEG_B=0;
98 SEG_C=0;
99 SEG_D=0;
100 SEG_E=1;
101 SEG_F=0;
102 SEG_G=0;
103 SEG_DOT=0;
104 break;
105 case 0x0a: //"NULL"
106 SEG_A=1;
107 SEG_B=1;
108 SEG_C=1;
109 SEG_D=1;
110 SEG_E=1;
111 SEG_F=1;
112 SEG_G=1;
113 SEG_DOT=1;
114 break;
115 default: //"--"
116 SEG_A=1;
117 SEG_B=1;
118 SEG_C=1;
119 SEG_D=1;
120 SEG_E=1;
121 SEG_F=1;
122 SEG_G=0;
123 SEG_DOT=0;
124 break;
125 }
126}
127
128
129void SegScan(void)
130{
131 MODEL_A=1;
132 SEAT_A1=1;
133 SEAT_A2=1;
134 WATER_A1=1;
135 WATER_A2=1;
136 if(LED_DC_BATTERY)
137 {
138 //_enadc=0; //close the ad
139 Flag_DC_Battery=1; //close the seg
140 }
141 else
142 {
143 //_enadc=1; //open the ad
144 Flag_DC_Battery=0; //open the seg
145 }
146
147 if((Temp_Seat_Value_H==0)&&(Temp_Seat_Value_L==0)&&(Temp_Seat_Value_H==0)&&(Temp_Seat_Value_L==0)&&(Mode==0))
148 {
149 Temp_Water_Value_H=8;
150 Temp_Water_Value_L=8;
151 Temp_Seat_Value_H=8;
152 Temp_Seat_Value_L=8;
153 Mode=0x7f;
154 }
155
156 if((Temp_Water_Value_H==0)&&(Temp_Water_Value_L==0))
157 {
158 Temp_Water_Value_H=0x0b;
159 Temp_Water_Value_L=0x0b;
160 }
161
162 if(((Temp_Seat_Value_H==0)&&(Temp_Seat_Value_L==2))||((Temp_Seat_Value_H==0)&&(Temp_Seat_Value_L==0)))
163 {
164 Temp_Seat_Value_H=0x0b;
165 Temp_Seat_Value_L=0x0b;
166 }
167
168 i++;
169 if(Flag_DC_Battery==0)
170 {
171 Water_Value_H=Temp_Water_Value_H;
172 Water_Value_L=Temp_Water_Value_L;
173 Seat_Value_H=Temp_Seat_Value_H;
174 Seat_Value_L=Temp_Seat_Value_L;
175 Mode &= 0xFF;
176 }
177 else
178 {
179 Water_Value_H=0x0a;
180 Water_Value_L=0x0a;
181 Seat_Value_H=0x0a;
182 Seat_Value_L=0x0a;
183 Mode &= 0x81;
184 }
185
186 switch(i)
187 {
188 case 1:
189 MODEL_A=1;
190 SegDisplay(Water_Value_H);
191 WATER_A1=0;
192 break;
193 case 2:
194 WATER_A1=1;
195 SegDisplay(Water_Value_L);
196 WATER_A2=0;
197 break;
198 case 3:
199 WATER_A2=1;
200 SegDisplay(Seat_Value_H);
201 SEAT_A1=0;
202 break;
203 case 4:
204 SEAT_A1=1;
205 SegDisplay(Seat_Value_L);
206 SEAT_A2=0;
207 break;
208 case 5:
209 SEAT_A2=1;
210 //SEG_A=0;
211 //SEG_B=0;
212 //SEG_C=0;
213 //SEG_D=0;
214 //SEG_E=0;
215 //SEG_F=0;
216 //SEG_G=0;
217 MODEL_A=0;
218 i=0;
219 default:
220 break;
221 }
222}
The complete schematic PCB file of this article has been uploaded to gitee,Click to view.