-
Постов
213 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент Dan'nah
-
@Falconist Спасибо! По цоколевке похоже на TPS6104x
-
Доброго времени суток! Помогите распознать:
-
До обновления при открытии темы с новыми сообщениями она открывалась на первом непрочитанном сообщении. Сейчас открывается первое сообщение темы — неудобно (особенно когда в теме много страниц, а первое непрочитанное находится не на последней странице — приходится его искать). Возможно ли вернуть эту функцию?
-
Нужно отключить JTAG (fuse JTAGEN), который висит на PORTC
-
Нет. (!PINC.0) -> (PINC.0==0), проверка на равенство 0 ( !0 == 1 is true, !1 == 0 is false). (PINC.0 != 0) -> (PINC.0 == 1) , т.к. PINC.0 может принимать значения 0 или 1 (1 != 0 is true, 0 != 0 is false).
-
#include <mega8.h> // частота CP 8мгц. #include <delay.h> unsigned char n = 1; unsigned char m = 1<<7; void main(void) { // начало программы DDRD = 0xFF; PORTD = 0x00; // выход - PORTD. DDRC = 0x00; PORTC=0x03; // входы - PC0 и PC1. подключаем нагрузочные резисторы к PC0 и PC1 PORTD = 0xFF; delay_ms(1000); PORTD = 0x00; // мигнуть для проверки лампочек while(1) { // главный цикл if (!PINC.0) { // если есть нажатие n delay_ms(20); while(!PINC.0); // Ждём отпускания n=n<<1; // сдвиг влево if (!n) n=1; //переполнение — восстанавливаем исходное значение } if (!PINC.1) { // если есть нажатие m delay_ms(20); while(!PINC.1); // Ждём отпускания m=m>>1; // сдвиг вправо if (!m) m=1<<7; // } delay_ms(20); // доп. задержка антидребезга при отпускании кнопки PORTD= (n & m); } } Доработал код. При отпускании кнопка тоже дребезжит — добавил задержку. Код целиком и полностью работает в соответствии с лог. схемой (если нет каких-то дополнительных условий) — проверено в железе.
-
Знаю)) Уже просветили. Очень удобно
-
@Prozac Согласно алгоритму (картинке) в порт выводится AND 0001 xor 0001 = 0000, если не ошибаюсь
-
Зачем XOR? на картинке AND
-
#include <mega8.h> // частота CP 8мгц. #include <delay.h> unsigned char n = 1; unsigned char m = 1<<7; void main(void) { // начало программы DDRD = 0xFF; PORTD = 0x00; // выход - PORTD. DDRC = 0x00; PORTC=0x03; // входы - PC0 и PC1. подключаем нагрузочные резисторы к PC0 и PC1 PORTD = 0xFF; delay_ms(1000); PORTD = 0x00; // мигнуть для проверки лампочек while(1) { // главный цикл temp=0; if (PINC.0==0) { // если есть нажатие n delay_ms(10); while(PINC.0==0); // Ждём отпускания n=n<<1; // сдвиг влево if (!n) n=1; //переполнение — восстанавливаем исходное значение } if (PINC.1==0) { // если есть нажатие m delay_ms(10); while(PINC.1==0); // Ждём отпускания m=m>>1; // сдвиг вправо if (!m) m=1<<7; // } PORTD= (n & m); } }
-
Сдвигать переменную никто не запрещал: button = PIND; //если кнопка замыкается на землю проинвертировать: button=~button; t=5; while (t--) { if (button&0x01) {err++;} button=button>>1; //сдвиг переменной реализовать проще чем создание маски на лету: if (button & (1<<t)) } if (err>2) [/* ВЫВОДИМ СИМВОЛ E НА ДИСПЛЕЙ*/; err=0;]
-
Век живи — век учись! Разворот в ASM в CVAVR
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Как-то так: if (PORTB&(1<<1)) { PORTB &= ~(1<<1); } else { PORTB |= (1<<1); }
- 8 951 ответ
-
1
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
А разница? PORTB0=PINB0=PB0=(и т.д. и т.п)=0 это есть константа: #define PORTB0 0
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Вместо "несколько переменных" создать массив и обращаться по индексу.
- 8 951 ответ
-
1
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Только это уже не совсем актуально. Сейчас выпускают ATmaga8A она работает и как ATmaga8, и как ATmaga8L
-
Да
-
@;tv Учите мат. часть!!! При инициализации PORTC&=0x00; , т.е. PORTC=0; (0b00000000) Выражение PORTC&=0b00000010; означает PORTC=PORTC&0b00000010; , если PORTC=0 , то после выполнения этой строки PORTC останется 0 0b00000000; & 0b00000010; ------------- 0b00000000; A=PORTC; => A=0; И выполняться будет только условие "case 0:" Так и считывайте PINC! Вам об этом уже писали: A = PINC & 0b00000010;
-
Проще в предыдущей схеме столбцы матрицы СД повесить на PORTB. И
-
В 2008 писал подобную игрушку для ПК на Delphi: Puzzle.rar