AT90S8535 не работает rcall ...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено hwmaster 17 ноября 2003 г. 21:42

..использую AVR Studio
к портам А и С контроллера подключены светодиоды и должны мигать
для этого есть подпрограмма delay, но контроллер виснет на команде rcall delay. Если убрать подпрограмму и записать её код в теле программы то всё работает ?!
Это первый опыт с AVR может чего не догнал ?

код:

.include "D:\AVRStudio\Appnotes\8535def.inc"
.def temp =r16 ;general scratch space
.def fine =r18 ;loop delay counters
.def medium =r19
.def coarse =r20
.def bbb =r17

;****Source code***************************************************
.cseg ;CODE segment
.org 0
rjmp RESET ;Reset Handle
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti

;-----------------------------------------
reset:
cli ;disable global interrupts
ldi temp,0xFF
out DDRC,temp

ldi temp,0xFF
out DDRA,temp

ldi bbb,0x03

main:
rol bbb
out PORTC,bbb
out PORTA,bbb

rcall delay

rjmp main

;****Time Delay Subroutine for LED flash*********************************
delay:
ldi coarse,2 ;triple nested FOR loop
cagain:
ldi medium,255 ;giving about 1/2 second
magain:
ldi fine,255 ;delay on 4 MHz clock
fagain:
dec fine
brne fagain
dec medium
brne magain
dec coarse
brne cagain
ret

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru