Xintang-Project-Digital-Display

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:

MS51FB9AE数码显示原理图

  Take PCB diagram as an example:

MS51FB9AE数码显示PCB

  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.

Copyright