Техника микропроцессорных систем в коммутации. Проектирование микропроцессорных систем на базе микроконтроллеров AVR фирмы Atmel. Горохин В.Н. - 5 стр.

UptoLike

Составители: 

9
Ⱦɥɹ ɩɨɪɬɚ D ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɵ 3 ɹɱɟɣɤɢ ɩɚɦɹɬɢɪɟɝɢɫɬɪ PORTD ($12, $32),
ɪɟɝɢɫɬɪ ɧɚɩɪɚɜɥɟɧɢɹ ɞɚɧɧɵɯ – DDRD ($11, $31) ɢ ɜɵɜɨɞɵ ɩɨɪɬɚ D – PIND ($10,
$30). Ɋɟɝɢɫɬɪɵ ɞɚɧɧɵɯ ɢ ɧɚɩɪɚɜɥɟɧɢɹ ɞɚɧɧɵɯ ɦɨɝɭɬ ɱɢɬɚɬɶɫɹ/ɡɚɩɢɫɵɜɚɬɶɫɹ,
ɹɱɟɣɤɚ PIND – ɬɨɥɶɤɨ ɞɥɹ ɱɬɟɧɢɹ.
ɉɨɪɬ D – 7-ɪɚɡɪɹɞɧɵɣ ɞɜɭɧɚɩɪɚɜɥɟɧɧɵɣ ɩɨɪɬ ɫɨ ɜɫɬɪɨɟɧɧɵɦɢ ɩɨɞɬɹɝɢ-
ɜɚɸɳɢɦɢ ɪɟɝɢɫɬɪɚɦɢ. ɇɟɤɨɬɨɪɵɟ ɢɡ ɜɵɜɨɞɨɜ ɩɨɪɬɚ ɢɦɟɸɬ ɚɥɶɬɟɪɧɚɬɢɜɧɵɟ
ɮɭɧɤɰɢɢ, ɤɚɤ ɩɨɤɚɡɚɧɨ ɜ ɬɚɛɥɢɰɟ 2.
Ɍɚɛɥɢɰɚ 2. Ⱥɥɶɬɟɪɧɚɬɢɜɧɵɟ ɮɭɧɤɰɢɢ ɩɨɪɬɚ D
ȼɵɜɨɞ ɩɨɪɬɚ Ⱥɥɶɬɟɪɧɚɬɢɜɧɚɹ ɮɭɧɤɰɢɹ
PD0 RXD (ɜɯɨɞ ɞɚɧɧɵɯ UART)
PD1 TXD (ɜɵɯɨɞ ɞɚɧɧɵɯ UART)
PD2 INT0 (ɜɯɨɞ ɜɧɟɲɧɟɝɨ ɩɪɟɪɵɜɚɧɢɹ 0)
PD3 INT1 (ɜɯɨɞ ɜɧɟɲɧɟɝɨ ɩɪɟɪɵɜɚɧɢɹ 1)
PD4 OC1B
PD5 OC1A
PD6 ICP (ɜɯɨɞ ɡɚɯɜɚɬɚ ɬɚɣɦɟɪɚ ɫɱɟɬɱɢɤɚ 1)
ɉɨɪɬ A (PA0 – PA7) ɢɦɟɟɬ ɚɥɶɬɟɪɧɚɬɢɜɧɵɟ ɮɭɧɤɰɢɢ ɜɯɨɞɨɜ ɚɧɚɥɨɝɨ-ɰɢɮ-
ɪɨɜɨɝɨ ɩɪɟɨɛɪɚɡɨɜɚɬɟɥɹ ADC0 – ADC7. Ⱦɥɹ ɩɨɪɬɚ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɵ 3 ɹɱɟɣɤɢ
ɩɚɦɹɬ: ɪɟɝɢɫɬɪ PORTA ($1B, $3B), ɪɟɝɢɫɬɪ ɧɚɩɪɚɜɥɟɧɢɹ ɞɚɧɧɵɯ – DDRA ($1A,
$3A) ɢ ɜɵɜɨɞɵ ɩɨɪɬɚ A – PIND ($19, $39).
ɉɨɪɬ C (PC0 – PC7) ɬɚɤɠɟ ɢɦɟɟɬ ɚɥɶɬɟɪɧɚɬɢɜɧɵɟ ɮɭɧɤɰɢɢ, ɩɪɟɞɫɬɚɜɥɟɧ-
ɧɵɟ ɜ ɩɪɢɥɨɠɟɧɢɢ 2. Ⱦɥɹ ɩɨɪɬɚ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɵ 3 ɹɱɟɣɤɢ ɩɚɦɹɬɢ: ɪɟɝɢɫɬɪ
PORTC ($15, $35), ɪɟɝɢɫɬɪ ɧɚɩɪɚɜɥɟɧɢɹ ɞɚɧɧɵɯ – DDRC ($14, $34) ɢɜɵɜɨɞɵ
ɩɨɪɬɚ C – PINC ($13, $33).
ɉɨɫɥɟɞɨɜɚɬɟɥɶɧɵɣ ɢɧɬɟɪɮɟɣɫ ɜɜɨɞɚ/ɜɵɜɨɞɚ UART
ɉɨɪɬ UART ɫɨɞɟɪɠɢɬ ɩɟɪɟɞɚɬɱɢɤ, ɩɪɢɟɦɧɢɤ, ɬɚɤɬɨɜɵɣ ɝɟɧɟɪɚɬɨɪ ɢ ɚɩɩɚ-
ɪɚɬɭɪɭ ɭɩɪɚɜɥɟɧɢɹ ɩɟɪɟɞɚɱɟɣ ɢ ɩɪɢɟɦɨɦ [7]. ȼ ɫɨɫɬɚɜ ɩɨɪɬɚ ɜɯɨɞɹɬ ɪɟɝɢɫɬɪ
ɞɚɧɧɵɯ ɩɟɪɟɞɚɬɱɢɤɚ UDR (Ɍ), ɪɟɝɢɫɬɪ ɞɚɧɧɵɯ ɩɪɢɟɦɧɢɤɚ UDR (R), ɪɟɝɢɫɬɪ
ɭɩɪɚɜɥɟɧɢɹ UCR ɢɥɢ UCSRB (ʋ $0Ⱥ), ɪɟɝɢɫɬɪ ɫɨɫɬɨɹɧɢɹ USR ɢɥɢ UCSRA (ʋ
$0ȼ), ɪɟɝɢɫɬɪ ɡɚɞɚɧɢɹ ɫɤɨɪɨɫɬɢ ɩɟɪɟɞɚɱɢ/ɩɪɢɟɦɚ UBRR (ʋ $09) ɢ ɞɪɭɝɢɟ ɷɥɟ-
ɦɟɧɬɵ.
ɉɟɪɟɞɚɬɱɢɤ ɝɨɬɨɜ ɤ ɪɚɛɨɬɟ ɩɪɢ ɭɫɬɚɧɨɜɤɟ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞɚ
TXEN ɪɟɝɢɫɬɪɚ ɭɩɪɚɜɥɟɧɢɹ UCR. ɉɟɪɟɞɚɱɚ ɤɚɞɪɚ ɧɚɱɢɧɚɟɬɫɹ ɩɪɢ ɡɚɝɪɭɡɤɟ ɛɚɣ-
ɬɚ ɜ ɪɟɝɢɫɬɪ UDR (Ɍ). Ɂɚɝɪɭɡɤɭ ɦɨɠɧɨ ɜɵɩɨɥɧɹɬɶ ɩɪɢ ɟɞɢɧɢɱɧɨɦ ɫɨɫɬɨɹɧɢɢ
ɪɚɡɪɹɞɚ UDRE ɪɟɝɢɫɬɪɚ ɫɨɫɬɨɹɧɢɹ USR. ɉɪɢ ɫɛɪɨɫɟ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ɜ ɢɫ-
ɯɨɞɧɨɟ ɫɨɫɬɨɹɧɢɟ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ UDRE = 1.
Ɂɚɝɪɭɠɟɧɧɵɣ ɛɚɣɬ ɩɟɪɟɞɚɟɬɫɹ ɜ ɫɞɜɢɝɚɸɳɢɣ ɪɟɝɢɫɬɪ ɩɟɪɟɞɚɬɱɢɤɚ TSR ɢ
ɩɪɨɢɫɯɨɞɢɬ ɜɵɞɚɱɚ ɤɚɞɪɚ ɧɚ ɜɵɯɨɞ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ TXD.
ɉɪɢ ɧɭɥɟɜɨɦ ɫɨɫɬɨɹɧɢɢ ɪɚɡɪɹɞɚ CHR9 ɪɟɝɢɫɬɪɚ UCR ɮɨɪɦɢɪɭɟɬɫɹ ɤɚɞɪ ɢɡ
ɞɟɫɹɬɢ ɛɢɬɨɜ. ɉɪɢ CHR9 = 1 ɤɚɞɪ ɫɨɞɟɪɠɢɬ ɨɞɢɧɧɚɞɰɚɬɶ ɛɢɬɨɜ. Ɂɧɚɱɟɧɢɟ ɞɨ-
ɩɨɥɧɢɬɟɥɶɧɨɝɨ ɛɢɬɚ ɜ ɷɬɨɦ ɫɥɭɱɚɟ ɞɨɥɠɧɨ ɛɵɬɶ ɭɤɚɡɚɧɨ ɜ ɪɚɡɪɹɞɟ Ɍɏȼ8 ɪɟɝɢ-
ɫɬɪɚ UCR.
10
ɉɟɪɜɵɣ ɛɚɣɬ ɩɪɢ ɡɚɝɪɭɡɤɟ ɧɟɦɟɞɥɟɧɧɨ ɩɟɪɟɞɚɟɬɫɹ ɜ ɪɟɝɢɫɬɪ TSR ɢ ɪɚɡɪɹɞ
UDRE ɪɟɝɢɫɬɪɚ USR ɫɨɯɪɚɧɹɟɬ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ, ɱɬɨ ɩɨɡɜɨɥɹɟɬ ɫɪɚɡɭ ɩɨɫɥɟ
ɡɚɝɪɭɡɤɢ ɩɟɪɜɨɝɨ ɛɚɣɬɚ ɡɚɝɪɭɠɚɬɶ ɜ ɪɟɝɢɫɬɪ UDR (Ɍ) ɜɬɨɪɨɣ ɛɚɣɬ. ȼɬɨɪɨɣ ɢ ɩɨ-
ɫɥɟɞɭɸɳɢɟ ɛɚɣɬɵ ɫɨɯɪɚɧɹɸɬɫɹ ɜ ɪɟɝɢɫɬɪɟ UDR(Ɍ) ɞɨ ɡɚɜɟɪɲɟɧɢɹ ɜɵɞɚɱɢ ɢɡ
ɪɟɝɢɫɬɪɚ TSR ɩɪɟɞɵɞɭɳɟɝɨ ɤɚɞɪɚ. ɉɪɢ ɷɬɨɦ ɪɚɡɪɹɞ UDRE ɪɟɝɢɫɬɪɚ USR ɧɚɯɨ-
ɞɢɬɫɹ ɜ ɧɭɥɟɜɨɦ ɫɨɫɬɨɹɧɢɢ ɢ ɡɚɝɪɭɡɤɚ ɨɱɟɪɟɞɧɨɝɨ ɛɚɣɬɚ ɜ ɪɟɝɢɫɬɪ UDR (T) ɡɚ-
ɩɪɟɳɟɧɚ.
ɉɪɢ ɡɚɜɟɪɲɟɧɢɢ ɜɵɞɚɱɢ ɤɚɞɪɚ ɢɡ ɪɟɝɢɫɬɪɚ TSR ɢ ɨɬɫɭɬɫɬɜɢɢ ɨɱɟɪɟɞɧɨɝɨ
ɛɚɣɬɚ ɜ ɪɟɝɢɫɬɪɟ UDR (Ɍ) ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞ Ɍɏɋ
ɪɟɝɢɫɬɪɚ USR ɢ ɩɪɢ ɟɞɢɧɢɱɧɨɦ ɫɨɫɬɨɹɧɢɢ ɪɚɡɪɹɞɚ TXCIE ɪɟɝɢɫɬɪɚ UCR ɜɛɥɨɤ
ɩɪɟɪɵɜɚɧɢɣ ɩɨɫɬɭɩɚɟɬ ɡɚɩɪɨɫ ɩɪɟɪɵɜɚɧɢɹ UART Ɍɏɋ.
Ɋɚɡɪɹɞ Ɍɏɋ ɪɟɝɢɫɬɪɚ USR ɫɛɪɚɫɵɜɚɟɬɫɹ ɜ ɧɭɥɟɜɨɟ ɫɨɫɬɨɹɧɢɟ ɚɩɩɚɪɚɬɧɨ
ɩɪɢ ɩɟɪɟɯɨɞɟ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ɤ ɜɵɩɨɥɧɟɧɢɸ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɣ ɩɪɟɪɵɜɚɸ-
ɳɟɣ ɩɪɨɝɪɚɦɦɵ ɢɥɢ ɩɪɨɝɪɚɦɦɧɨ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɤɨɦɚɧɞɵ ɭɫɬɚɧɨɜɤɚ ɛɢɬɚ ɜ
ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ.
ɉɪɢ ɟɞɢɧɢɱɧɨɦ ɫɨɫɬɨɹɧɢɢ ɪɚɡɪɹɞɚ UDRE ɪɟɝɢɫɬɪɚ USR ɢ ɟɞɢɧɢɱɧɨɦ ɫɨ-
ɫɬɨɹɧɢɢ ɪɚɡɪɹɞɚ UDRIE ɪɟɝɢɫɬɪɚ UCR ɜ ɛɥɨɤ ɩɪɟɪɵɜɚɧɢɣ ɩɨɫɬɭɩɚɟɬ ɡɚɩɪɨɫ
ɩɪɟɪɵɜɚɧɢɹ UART DRE. Ɋɚɡɪɹɞ UDRE ɫɛɪɚɫɵɜɚɟɬɫɹ ɜ ɧɭɥɟɜɨɟ ɫɨɫɬɨɹɧɢɟ ɩɪɢ
ɡɚɩɢɫɢ ɛɚɣɬɚ ɜ ɪɟɝɢɫɬɪ UDR (Ɍ). ɉɪɟɪɵɜɚɸɳɚɹ ɩɪɨɝɪɚɦɦɚ, ɜɵɩɨɥɧɹɟɦɚɹ ɩɨ ɡɚ-
ɩɪɨɫɭ ɩɪɟɪɵɜɚɧɢɹ UART DRE, ɞɨɥɠɧɚ ɫɨɞɟɪɠɚɬɶ ɤɨɦɚɧɞɭ ɡɚɩɢɫɢ ɜ ɪɟɝɢɫɬɪ
UDR (Ɍ) ɞɥɹ ɩɪɟɤɪɚɳɟɧɢɹ ɞɟɣɫɬɜɢɹ ɷɬɨɝɨ ɡɚɩɪɨɫɚ ɩɪɟɪɵɜɚɧɢɹ.
ɉɪɢɟɦɧɢɤ ɝɨɬɨɜ ɤ ɪɚɛɨɬɟ ɩɪɢ ɭɫɬɚɧɨɜɤɟ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞɚ
RXEN ɪɟɝɢɫɬɪɚ UCR. ɉɪɢ ɷɬɨɦ ɜɯɨɞ ɩɪɢɟɦɧɢɤɚ
RXD ɩɨɞɤɥɸɱɚɟɬɫɹ ɤ ɜɵɜɨɞɭ
ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɩɨɪɬɚ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ. ɉɨɥɭɱɚɟɦɚɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɡɧɚ-
ɱɟɧɢɣ ɜɜɨɞɢɬɫɹ ɜ ɫɞɜɢɝɚɸɳɢɣ ɪɟɝɢɫɬɪ ɩɪɢɟɦɧɢɤɚ RSR. ȿɫɥɢ ɩɪɢɧɢɦɚɟɬɫɹ ɤɚɞɪ
ɢɡ ɨɞɢɧɧɚɞɰɚɬɢ ɛɢɬɨɜ (CHR9 = 1), ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɛɢɬ ɩɪɢɧɢɦɚɟɬɫɹ ɜ ɪɚɡɪɹɞ
RXB8 ɪɟɝɢɫɬɪɚ UCR. ȿɫɥɢ ɧɚ ɦɟɫɬɟ ɨɠɢɞɚɟɦɨɝɨ ɫɬɨɩɨɜɨɝɨ ɛɢɬɚ ɫɢɝɧɚɥ ɢɦɟɟɬ
ɧɭɥɟɜɨɟ ɡɧɚɱɟɧɢɟ, ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞ FE ɪɟɝɢɫɬɪɚ
USR (ɨɲɢɛɤɚ ɮɨɪɦɚɬɚ). Ɋɚɡɪɹɞ FE ɫɛɪɚɫɵɜɚɟɬɫɹ ɜ ɧɭɥɟɜɨɟ ɫɨɫɬɨɹɧɢɟ ɩɪɢ ɩɨɹɜ-
ɥɟɧɢɢ ɟɞɢɧɢɱɧɨɝɨ ɡɧɚɱɟɧɢɹ ɫɬɨɩɨɜɨɝɨ ɛɢɬɚ.
ɉɪɢɧɹɬɵɣ ɛɚɣɬ ɢɡ ɪɟɝɢɫɬɪɚ RSR ɩɟɪɟɩɢɫɵɜɚɟɬɫɹ ɜ ɪɟɝɢɫɬɪ UDR (R). ɉɪɢ
ɷɬɨɦ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞ RXC ɪɟɝɢɫɬɪɚ USR ɢ ɩɪɢ
ɟɞɢɧɢɱɧɨɦ ɫɨɫɬɨɹɧɢɢ ɪɚɡɪɹɞɚ RXCIE ɪɟɝɢɫɬɪɚ UCR ɜ ɛɥɨɤ ɩɪɟɪɵɜɚɧɢɣ ɩɨɫɬɭ-
ɩɚɟɬ ɡɚɩɪɨɫ ɩɪɟɪɵɜɚɧɢɹ UART RXC.
Ɋɚɡɪɹɞ RXC ɪɟɝɢɫɬɪɚ USR ɫɛɪɚɫɵɜɚɟɬɫɹ ɜ ɧɭɥɟɜɨɟ ɫɨɫɬɨɹɧɢɟ ɩɪɢ ɱɬɟɧɢɢ
ɪɟɝɢɫɬɪɚ UDR (R). ɉɪɟɪɵɜɚɸɳɚɹ ɩɪɨɝɪɚɦɦɚ, ɜɵɩɨɥɧɹɟɦɚɹ ɩɨ ɡɚɩɪɨɫɭ ɩɪɟɪɵ-
ɜɚɧɢɹ UART RXC, ɞɨɥɠɧɚ ɫɨɞɟɪɠɚɬɶ ɤɨɦɚɧɞɭ ɱɬɟɧɢɹ ɢɡ ɪɟɝɢɫɬɪɚ UDR ɞɥɹ
ɩɪɟɤɪɚɳɟɧɢɹ ɞɟɣɫɬɜɢɹ ɷɬɨɝɨ ɡɚɩɪɨɫɚ.
ȿɫɥɢ ɩɪɢ ɡɚɜɟɪɲɟɧɢɢ ɩɪɢɟɦɚ ɤɚɞɪɚ ɩɪɢɧɹɬɵɣ ɪɚɧɟɟ ɛɚɣɬ ɧɟ ɫɱɢɬɚɧ ɢɡ ɪɟ-
ɝɢɫɬɪɚ UDR (R), ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɜ ɟɞɢɧɢɱɧɨɟ ɫɨɫɬɨɹɧɢɟ ɪɚɡɪɹɞ OR ɪɟɝɢɫɬɪɚ
USR (ɫɨɫɬɨɹɧɢɟ ɩɟɪɟɩɨɥɧɟɧɢɹ). Ɋɚɡɪɹɞ OR ɫɛɪɚɫɵɜɚɟɬɫɹ ɜ ɧɭɥɟɜɨɟ ɫɨɫɬɨɹɧɢɟ
ɩɪɢ ɩɟɪɟɞɚɱɟ ɛɚɣɬɚ ɢɡ ɪɟɝɢɫɬɪɚ RSR ɜ ɪɟɝɢɫɬɪ UDR (R).
ɋɤɨɪɨɫɬɶ ɩɟɪɟɞɚɱɢ ɢ ɩɪɢɟɦɚ BR, ɛɢɬ/ɫ, ɡɚɜɢɫɢɬ ɨɬ ɱɚɫɬɨɬɵ ɬɚɤɬɨɜɨɝɨ ɫɢɝ-
ɧɚɥɚ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ
F
CK
ɢ ɱɢɫɥɚ (UBRR), ɡɚɩɢɫɚɧɨɝɨ ɜ ɪɟɝɢɫɬɪɟ UBRR.