|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2016, 22:28 | #1 |
Новичок
Джуниор
Регистрация: 15.12.2016
Сообщений: 1
|
Программирование микроконтроллера
Нужно запрограммировать микроконтроллер, чтобы происходило заполнение слева направо и очищение в обратном порядке светодиодов на его портах. Написал такой код:
#define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRD = 0xFF; PORTD = 0x00; while (1) { for (int i = 0; i<8; i++) { PORTD |= (1 << i); _delay_ms(250); } for (int i = 1; i<8; i++) { PORTD |= (1 << i); } for (int i = 2; i<8; i++) { PORTD |= (1 << i); } for (int i = 3; i<8; i++) { PORTD |= (1 << i); } for (int i = 4; i<8; i++) { PORTD |= (1 << i); } for (int i = 5; i<8; i++) { PORTD |= (1 << i); } for (int i = 6; i<8; i++) { PORTD |= (1 << i); } for (int i = 7; i<8; i++) { PORTD |= (1 << i); } for (int i = 7; i<8; i++) { PORTD &= ~(1 << i); _delay_ms(250); } for (int i = 6; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 5; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 4; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 3; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 2; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 1; i<8; i++) { PORTD &= ~(1 << i); } for (int i = 0; i<8; i++) { PORTD &= ~(1 << i); } } } И если при заполнении всё работает отлично, то при очищении всё выключается мгновенно. Если прописать задержки после каждой команды, то они начинают складываться, и последний светодиод гаснет только через несколько секунд. Подскажите, пожалуйста, в чём проблема, и как её решить. |
16.12.2016, 13:51 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Че это вы намудрили то?? зачем столько кода??
Код:
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование микроконтроллера | Irin_a | C/C++ Сетевое программирование | 10 | 20.04.2013 14:10 |
Программирование микроконтроллера | ros.pro | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 15 | 26.05.2012 23:45 |
программирование микроконтроллера мк51 | Nulled_ | Фриланс | 1 | 16.10.2009 21:02 |
программирование микроконтроллера МК51 | Nulled_ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 11.10.2009 13:25 |
Программирование микроконтроллера 80С196КС на ассемблере | KOCT9IH | Фриланс | 3 | 07.11.2008 13:03 |