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

UptoLike

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

31
Ɋɢɫ. 17. ɉɨɞɤɥɸɱɟɧɢɟ ɀɄɂ ɩɪɢ ɩɨɦɨɳɢ 6 ɰɢɮɪɨɜɵɯ ɜɵɜɨɞɨɜ
ɉɪɨɫɬɟɣɲɢɦɢ ɫɨɫɬɚɜɧɵɦɢ «ɤɢɪɩɢɱɢɤɚɦɢ» ɞɪɚɣɜɟɪɚ ɀɄɂ ɦɨɝɭɬ ɛɵɬɶ
ɩɨɞɩɪɨɝɪɚɦɦɵ, ɩɪɟɞɫɬɚɜɥɟɧɧɵɟ ɜ ɮɚɣɥɟ Lab2.asm:
LCD_SETUP – ɩɨɞɩɪɨɝɪɚɦɦɚ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɢ ɭɫɬɚɧɨɜɤɢ LCD ɦɨɞɭɥɹ;
LCD_HELLO – ɩɨɞɩɪɨɝɪɚɦɦɚ ɜɵɜɨɞɚ ɧɚ LCD ɦɨɞɭɥɶ ɫɨɨɛɳɟɧɢɹ
«HELLO»;
LCD_CMD – ɩɨɞɩɪɨɝɪɚɦɦɚ ɜɵɜɨɞɚ ɜ LCD ɦɨɞɭɥɶ ɤɨɦɚɧɞɵ;
LCD_DATA – ɩɨɞɩɪɨɝɪɚɦɦɚ ɜɵɜɨɞɚ ɜ LCD ɦɨɞɭɥɶ ɞɚɧɧɵɯ;
LCD_CURSOR – ɩɨɞɩɪɨɝɪɚɦɦɚ ɭɫɬɚɧɨɜɤɢ ɤɭɪɫɨɪɚ ɜ LCD.
ɂɫɩɨɥɶɡɭɟɬɫɹ 4-ɛɢɬɨɜɚɹ ɫɯɟɦɚ ɩɨɞɤɥɸɱɟɧɢɹ LCD ɦɨɞɭɥɹ ɤ ɦɢɤɪɨɤɨɧ-
ɬɪɨɥɥɟɪɭ. ɉɨɞɩɪɨɝɪɚɦɦɚ «WAIT_2M» ɨɫɭɳɟɫɬɜɥɹɟɬ ɡɚɞɟɪɠɤɭ 2.3 ɦɫ ɫ ɬɚɤɬɨ-
ɜɨɣ ɱɚɫɬɨɬɨɣ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ 1 ɆȽɰ;
ȼ ɮɚɣɥɟ Lab_2.prj ɢɫɩɨɥɶɡɭɟɬɫɹ ɫɬɪɨɤɚ ɫ LCD ɦɨɞɭɥɟɦ:
X[inst_name] LCD(chars lines oscil_freq) RS RW E D7 D6 D5 D4 D3 D2 D1
D0
ȼ ɫɥɟɞɭɷɳɟɣ ɪɟɞɚɤɰɢɢ:
Xdisp LCD(24 2 250K) PD2 PB0 PD3 PD7 PD6 PD5 PD4 nc3 nc2 nc1 nc0,
ɝɞɟ Disp – ɢɦɹ LCD ɦɨɞɭɥɹ;
nc3 nc2 nc1 nc0 – ɜɵɜɨɞɵ D3 D2 D1 D0 LCD ɦɨɞɭɥɹ ɧɟ ɢɫɩɨɥɶɡɭɸɬɫɹ
(ɩɪɢɦɟɧɟɧɚ ɫɯɟɦɚ ɫ 4 ɛɢɬɨɜɵɦ ɩɨɞɤɥɸɱɟɧɢɟɦ ɤ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɭ)
24 2 250K – ɩɚɪɚɦɟɬɪɵ LCD ɦɨɞɭɥɹ (ɱɢɫɥɨ ɫɢɦɜɨɥɨɜ, ɱɢɫɥɨ ɫɬɪɨɤ, ɱɚɫɬɨɬɚ)
PD2 – RS PB0 – RW PD3 – E/
32
Ɂɚɞɚɧɢɟ ɤ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ
ɂɡɭɱɢɬɶ ɩɪɨɝɪɚɦɦɭ Lab2.asm ɢ ɮɚɣɥ ɩɪɨɟɤɬɚ Lab_2.prj. Ɉɬɥɚɞɢɬɶ ɩɪɨ-
ɝɪɚɦɦɭ ɜ ɫɪɟɞɟ VMLab, ɩɨɞɤɥɸɱɢɜ ɧɟɨɛɯɨɞɢɦɭɸ ɩɟɪɢɮɟɪɢɸ ɤ ɦɢɤɪɨɤɨɧɬɪɨɥ-
ɥɟɪɭ AVR – ɢɧɬɟɪɮɟɣɫ UART ɢ LCD ɦɨɞɭɥɶ (ɞɢɫɩɥɟɣ). ɇɚ ɪɢɫ. 18 ɩɪɟɞɫɬɚɜɥɟ-
ɧɵ ɪɟɡɭɥɶɬɚɬɵ ɦɨɞɟɥɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦɵ ɜ ɫɪɟɞɟ VMLab.
Ɋɢɫ. 18. Ɋɟɡɭɥɶɬɚɬɵ ɦɨɞɟɥɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦɵ Lab2.asm ɜ ɫɪɟɞɟ VMLab
Ɏɚɣɥ Lab_2.prj
.MICRO "ATmega16" ; ATmega16 with 16 of external RAM
.PROGRAM "Lab2.asm"
.TARGET "Lab2.hex"
.TRACE ; Activate micro trace
.POWER VDD=5 VSS=0 ; Power nodes
.CLOCK 1meg ; Micro clock
.STORE 250m ; Trace (micro+signals) storage time
Xterm TTY(4800 8) PD0 PD1 ; place terminal
Xdisp LCD(24 2 250K) PD2 PB0 PD3 PD7 PD6 PD5 PD4 nc3 nc2 nc1 nc0
.plot v(pd0) v(pd1)
Ɏɚɣɥ Lab2.asm
.include "m16def.inc"
.EQU OE = 0b001000 ; bit 3 Port D
.EQU RS = 0b0001004 ; bit 2 Port D