|
Внимание! Форум только для чтения, продолжение на Shemaforum.ru
Коды для программирования МК
|
| Пт, 04.05.2012, 19:36 | Сообщение # 1
|
SssaHeKkk
Постов: 4131
Друзья |
Здесь можно узнать о правильности написанной части кода для программирования микроконтроллеровДобавлено (04.05.2012, 19:36) --------------------------------------------- ну давай обеспечим задержку в полсекунды для МК 8МГц 4000000тактов=3D0900
ldi R16, 0b00 ldi R17, 0b09 ldi R18, 0b3D; отправляем число в РОН loop:; начало подпрограммы subi R16,1; вычитание 1 sbci R17,0; вычитание 0 и флага С sbci R18,0; вычитание 0 и флага С brcc loop; переход на начало при условии С=1(при R18 не равном нулю).Если R18=0 и С=1 то команда brcc пропускается и мы выходим из цикла совершив задержку примерно в 4000000 тактов
|
| |
| Пт, 04.05.2012, 19:44 | Сообщение # 2
|
[)еНиС
Постов: 5614
Друзья |
А я чуть чуть чуть опоздал, хотел раньше тебя написать Вот моя версия мигалки на 1 СД
.include "m8def.inc"; .cseg; ldi R16, low(RAMEND); out SPL, R16; ldi R16, high(RAMEND); out SPH, R16; ldi R16, 0b00000001; РА0- выход out DDRA, R16 ldi R16, 0b00000001; РА0 выдает лог.1 out PORTA, R16; ldi R16,0b00; ldi R17,0b24; ldi R18,0bF4; loop: subi R16,1; sbci R17,0; sbci R18,0; brcc loop; ldi R16, 0b00000000; РА0- выход out DDRA, R16 ldi R16, 0b00000000; РА0 выдает лог.0 out PORTA, R16; ldi R16,LowByte 00; ldi R17,MedByte 24; ldi R18,HighByte F4; loop: subi R16,1; sbci R17,0; sbci R18,0; brcc loop; Main: sbi PORTA,0; cbi PORTA,0; rjmp Main;Добавлено (04.05.2012, 19:44) --------------------------------------------- С задержкой в 1 секунду между миганими
|
| |
| Пт, 04.05.2012, 19:48 | Сообщение # 3
|
SssaHeKkk
Постов: 4131
Друзья |
не правильно у тебя
|
| |
| Пт, 04.05.2012, 19:49 | Сообщение # 4
|
[)еНиС
Постов: 5614
Друзья |
Где? Исправь)
|
| |
| Пт, 04.05.2012, 19:52 | Сообщение # 5
|
SssaHeKkk
Постов: 4131
Друзья |
во первых это не мигалка...это мигнет токо один диод во вторых задержка ставиться не где попало а между командами sbi и cbi...ты для чего задержку делаешь?чтобы у тебя было время между выполнениями команд...а лепишь ее куда зряДобавлено (04.05.2012, 19:52) --------------------------------------------- щас напишу тебе прогу для мигания одного диода
|
| |
| Пт, 04.05.2012, 19:56 | Сообщение # 6
|
[)еНиС
Постов: 5614
Друзья |
Quote (|)еНиС) Вот моя версия мигалки на 1 СД
Я и писал мигалка на 1 светодиоде
|
| |
| Пт, 04.05.2012, 20:02 | Сообщение # 7
|
SssaHeKkk
Постов: 4131
Друзья |
.include "m8def.inc"; .cseg; ldi R16, low(RAMEND); out SPL, R16; ldi R16, high(RAMEND); out SPH, R16; ldi R16, 0b00000001; РА0- выход out DDRA, R16 ldi R16, 0b00000001; РА0 выдает лог.1 out PORTA, R16; Main:; главная прога sbi PORTA,0; установка PA0 во вход(т.е 0) ldi R16, 0b00; ldi R17, 0b24; ldi R18, 0bF4; грузим этими командами число в РОН loop: subi R16,1; sbci R17,0; sbci R18,0; brcc loop; производим вычитание 16млн(задержка 1 сек для твоего МК) cbi PORTA,0; установка PA0 обратно в выход(т.е. 1) ldi R16, 0b00; ldi R17, 0b24; ldi R18, 0bF4; грузим этими командами число в РОН loop: subi R16,1; sbci R17,0; sbci R18,0; brcc loop; производим вычитание 16млн(задержка 1 сек для твоего МК) rjmp Main; повтор мигания светодиода
ну вроде так
Добавлено (04.05.2012, 20:02) --------------------------------------------- Quote (|)еНиС) Вот моя версия мигалки на 1 СД извиняюсь 
Отредактировал SssaHeKkk - Пт, 04.05.2012, 20:10 |
| |
| Пт, 04.05.2012, 20:04 | Сообщение # 8
|
[)еНиС
Постов: 5614
Друзья |
Quote (SssaHeKkk) извиняюсь sad
Да ладно, со всеми бывает)
|
| |
| Пт, 04.05.2012, 20:07 | Сообщение # 9
|
SssaHeKkk
Постов: 4131
Друзья |
придет скейтмэн и проверит на правильность)
|
| |
| Пт, 04.05.2012, 20:10 | Сообщение # 10
|
[)еНиС
Постов: 5614
Друзья |
Если я правильно понимаю, по твоей схеме СД будет гореть 1сек, затем тухнуть на 0,0000000625 сук Или на оборот гореть 0,0000000625 а потухшим- 1сек. По моему надо типа такого: Выставляем лог 1 на порт А, к примеру, задаем задержку 1сек. Выставляем лог 0 на порт А, задаем задержку 1сек. И потом уже снова переходим на начало программыДобавлено (04.05.2012, 20:10) --------------------------------------------- По крайней мере я делал по такому принципу. 
|
|
Форум только для чтения, обсуждение на Shemaforum.ru
|
|