, . , , , - . . , . . 3.3.
. 3.3. |
, . , , .
, . , 3 a, b, c, d g.
, a ÷ g 0 ÷ 7 , , . 3.2. .
3.2.
h | g | f | e | d | c | b | a | ||
0 | 0x3F | ||||||||
1 | 0x06 | ||||||||
2 | 0x5B | ||||||||
3 | 0x4F | ||||||||
4 | 0x66 | ||||||||
5 | 0x6D | ||||||||
6 | 0x7D | ||||||||
7 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
8 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
9 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
− - 74HC573. , LE (Latch Enable) D0D7, , LE , () . OE (Output Enable) , - Q0Q7. OE , , , , LE.
|
|
- . 3.4.
. 3.4. |
, , , -. - ULN2003, . . .
, PORTC, . LE - 15 PA1PA5 PORTA . PORTC , 0-1-0, PA1PA5 -. - , .
, .
, .
unsigned char Digit (unsigned int d, unsigned char m){
//[]-----------------------------------------------------[]
//| : |
//| |
//| : |
//| d - |
//| m - ( 1 5, ) |
//| m d |
//[]-----------------------------------------------------[]
unsigned char i = 5, a;
while(i){ //
a = d%10; //
if(i-- == m) break; // -
d /= 10; // 10
}
Return(a);
}
:
Unsigned char k;
unsigned int f = 7236;
k = Digit(f,5); // k = 6
k = Digit(f,2); // k = 7
k = Digit(f,1); // k = 0
, . 3.2, , .
|
|
, , , k = 1 ÷ 5 :
1. Digit k- ;
2. , . 2.2, ;
3. PORTC;
4. - k, LE = 1, 1 k PORTA, 1 0 LE = 0;
5. k = 5, , . 1.
1 20 ,
x(i+1) = x(i) + d
, . 3.3.
3.3
x(0) | d | x(0) | d | ||
2
. .
, . 3.5.
. 3.5. 2 |