Описание: Нужна помощь по программированию |
Поиск в теме | Версия для печати |
killgur |
Отправлено: 03 Июня, 2011 - 16:08:04
|
Гуру
Сообщений всего: 1189
Дата рег-ции: Февр. 2010
|
Насчет помощи как из одного импульса сделать 4 нет проблем .
Не подозревал что умею писать на ассемблере
CODE:
; ============================================
; I N T E R R U P T S E R V I C E S
; ============================================
;
; [Add all interrupt service routines here]
EXT_INT0:
cli
ldi flag,00000001b ;поднимаем флаг
spi
reti
;
; ============================================
; M A I N P R O G R A M I N I T
; ============================================
;
Main:
; Init stack
ldi rmp, HIGH(RAMEND) ; Init MSB stack
out SPH,rmp
ldi rmp, LOW(RAMEND) ; Init LSB stack
out SPL,rmp
; Init Port c
ldi rmp,00001111b ; Direction Port c
out DDRc,rmp
ldi rmp,11110000b ;низкий на выходы
out portc,rmp
ldi rmp,0b ; порт д будет входом D
out ddrd,rmp
ldi rmp,00000100b ; просто для очистки совести
out portd,rmp
ldi pos,11110001b ; номер светодиода
ldi flag,00000000b ; обнуляем флаг прерыв
ldi rmp, 1<<ISC01 ;по спаду фронта
out MCUCR,rmp
ldi rmp, 1<<INT0 ;разрешаем INTO
out GIMSK,rmp
sei ;разрешаем прерывания
;
; ============================================
; P R O G R A M L O O P
; ============================================
;
Loop:
cpi flag, 1 ; если флаг не установлен
brne loop ; ничего не делаем
out portc,pos ; зажигаем
nop ;ничего умнее не придумал
nop ;снова
ldi rmp,11110000b
out portc,rmp ;гасим
sbrs pos,0 ; дальше просто перебор диодов
rjmp m1
ldi pos,11110010b
rjmp ex_loop
m1:
sbrs pos,1
rjmp m2
ldi pos,11110100b
rjmp ex_loop
m2:
sbrs pos,2
rjmp m3
ldi pos,11111000b
rjmp ex_loop
m3:
ldi pos,11110001b
ex_loop:
ldi flag,0h ;сбрасываем флаг
rjmp loop ; go back to loop
;
; End of source code
;
полный код прилагается
(Отредактировано автором: 03 Июня, 2011 - 16:16:57) |
|
|
sibiryak |
Отправлено: 05 Июня, 2011 - 12:23:18
|
Главнокомандующий
Сообщений всего: 248
Дата рег-ции: Февр. 2011
|
А не подскажете какую лучше скачать ? А то у меня инет 2.30 за метр. Обидно будет если не то скачаю.
AVR Studio 5 installer (includes VSS and .NET)
(602 MB, revision 5.0, updated 5/11)
This installer contains AVR Studio 5, Visual Studio Shell (Isolated mode) 2010 and .NET 4.0.
Select this installer if you need all three or are unsure of what installer to use
AVR Studio 5 installer
(387 MB, revision 5.0, updated 5/11)
This installer contains AVR Studio 5 only and requires that you have already installed Visual Studio Shell (Isolated mode) 2010 and .NET 4.0.
Select this installer if you have installed AVR Studio 5 beta already and only need to upgrade
AVR Studio 5 beta 2 installer (includes VSS and .NET)
(554 MB, revision 5.0, updated 5/11)
This installer contains AVR Studio 5 beta 2, Visual Studio Shell (Isolated mode) 2010 and .NET 4.0.
Select this installer if you need all three or are unsure of what installer to use
AVR Studio 5 beta 2 installer
(339 MB, revision 5.0, updated 5/11)
This installer contains AVR Studio 5 beta 2 only and requires that you have already installed Visual Studio Shell (Isolated mode) 2010 and .NET 4.0.
Select this installer if you have installed AVR Studio 5 beta 1 already and only need to upgrade. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (7): « 1 2 [3] 4 5 6 7 » |
« Программирование микроконтроллеров » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|