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

UptoLike

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

61
nop
nop
cbi PORTA,3 ; OE clock low
ldi PARAM, 100 ; 50 usec approx
DEL0:
dec PARAM
brne DEL0
pop PARAM
ret
;*******************************************************
; Sends an ASCII character to the display (comes in PARAM)
LCD_DATA:
push PARAM
push TEMP
mov TEMP, PARAM
andi PARAM, 0xF0 ; Mask off lower 4 bits
sbr PARAM, OE ; OE bit high
sbr PARAM, RS ; Data/command bit high
out PORTA, PARAM ; Write upper 4 bits to display
nop ; Brief delay
nop
cbi PORTA, 3 ; OE low to clock data
swap TEMP ; Lower 4 bits
andi TEMP, 0xF0 ; Masked off
sbr TEMP, OE ; OE high
sbr TEMP, RS
out PORTA, TEMP ; Lower 4 bits to LCD
nop
nop
cbi PORTA, 3 ; OE low to clock data
ldi TEMP, 100
mov DELAY, TEMP ; 50 usec
DEL1:
dec DELAY
brne DEL1
pop TEMP
pop PARAM
ret
;**********************************************************
62
; Moves the LCD display cursor to address specified in PARAM
LCD_CURSOR:
ori PARAM, 0x80 ; MSB specifies address command
rcall LCD_CMD
ret
ɉɨɪɹɞɨɤ ɜɵɩɨɥɧɟɧɢɹ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ
ɇɟɨɛɯɨɞɢɦɨ ɜɵɩɨɥɧɢɬɶ ɜɫɟ ɧɟɨɛɯɨɞɢɦɵɟ ɨɩɟɪɚɰɢɢ ɫ ɩɪɨɟɤɬɨɦ Lab_4.prj ɢ
ɩɪɨɝɪɚɦɦɨɣ Lab4.asm ɜɫɪɟɞɟ VMLab ɤɚɤ ɢ ɜ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ ʋ1, 2, 3.
ɋɨɞɟɪɠɚɧɢɟ ɨɬɱɟɬɚ
Ɉɬɱɟɬ ɩɨ ɩɪɨɞɟɥɚɧɧɨɣ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ ɞɨɥɠɟɧ ɫɨɞɟɪɠɚɬɶ:
ɫɬɪɭɤɬɭɪɧɭɸ ɫɯɟɦɭ ɚɥɝɨɪɢɬɦɚ ɩɪɨɝɪɚɦɦɵ ɧɚ ɥɚɛɨɪɚɬɨɪɧɭɸ ɪɚɛɨɬɭ;
ɫɯɟɦɭ ɷɥɟɤɬɪɢɱɟɫɤɭɸ ɩɪɢɧɰɢɩɢɚɥɶɧɭɸ ɪɚɡɪɚɛɨɬɚɧɧɨɝɨ ɭɫɬɪɨɣɫɬɜɚ;
ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ AVR Ⱥɫɫɟɦɛɥɟɪɟ (ɪɚɫɩɟɱɚɬɤɚ ɮɚɣɥɚ *asm);
ɪɚɫɩɟɱɚɬɤɚ ɮɚɣɥɚ ɩɪɨɟɤɬɚ (*.prj);
ɪɟɡɭɥɶɬɚɬɵ ɦɨɞɟɥɢɪɨɜɚɧɢɹ (ɨɤɧɨ VMLab ɫ ɡɚɩɭɳɟɧɧɨɣ ɩɪɨɝɪɚɦɦɨɣ ɢ
ɪɟɡɭɥɶɬɚɬɚɦɢ ɜɵɱɢɫɥɟɧɢɣ).
Ʉɨɧɬɪɨɥɶɧɵɟ ɜɨɩɪɨɫɵ
1. Ⱦɢɪɟɤɬɢɜɵ ɹɡɵɤɚ ɚɫɫɟɦɛɥɟɪɚ AVR.
2. ɋɯɟɦɵ ɬɚɤɬɨɜɵɯ ɝɟɧɟɪɚɬɨɪɨɜ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16 ɢɢɯɩɪɨ-
ɝɪɚɦɦɢɪɨɜɚɧɢɟ.
3. ɂɫɬɨɱɧɢɤɢ ɫɛɪɨɫɚ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16.
4. ɋɬɨɪɨɠɟɜɨɣ ɬɚɣɦɟɪ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16.
5. Ⱥɥɝɨɪɢɬɦ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɣ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16.
6. ȼɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɣ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16.
7. ɗɧɟɪɝɨɧɟɡɚɜɢɫɢɦɚɹ ɩɚɦɹɬɶ ɞɚɧɧɵɯ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ ATmega16.
8. Ⱥɫɢɧɯɪɨɧɧɵɣ ɨɛɦɟɧ ɞɚɧɧɵɦɢ ɫ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɨɦ ATmega16.