|
"Домашнее задание"
| |
GranDAD | Дата: Суббота, 15.09.2012, 19:19 | Сообщение # 76 |
Лейтенант
Группа: Проверенные
Сообщений: 49
Статус: Offline
| Да я читал про это. Можно еще параллельный программатор собрать. Просто у меня в городе нет магазина радиодеталей. А если заказывать через интернет, то придется месяц ждать. Тогда уже можно просто новые Attiny13 заказывать, они ведь не такие дорогие
|
|
| |
mimino | Дата: Суббота, 15.09.2012, 19:38 | Сообщение # 77 |
Полковник
Группа: Администраторы
Сообщений: 227
Статус: Offline
| Да, и то верно:)
|
|
| |
SkiF | Дата: Воскресенье, 16.09.2012, 17:27 | Сообщение # 78 |
Рядовой
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Примите в свои ряды еще одного ученика Я начал с первых заданий, так что буду догонять. Второй шаг задание 2 :Quote 2. Написать программу управления светодиодом LED2 при помощи обеих кнопок. При нажатии на кнопку SB1 светодиод должен зажигаться и оставаться включенным до тех пор, пока не будет нажата кнопка SB2, которая выключает его до следующего нажатия SB1 Есть небольшое уточнение Code sbi DDRB, 4 ;РВ4 - выход (светодиод LED2) sbi PORTB, 2 ;Включение подтягивающего резистора на РВ2 (кнопка SB1) sbi PORTB, 1 ;Включение подтягивающего резистора на РВ1 (кнопка SB2) sbi PORTB, 4 ;Установка РВ4 в 1 (выключение светодиода) main: sbis PINB, 1 ;Если РВ1=1 (кнопка SB2 не нажата), пропустить след. строку sbi PORTB, 4 ;Установка РВ4 в 1 (выключение светодиода) sbis PINB, 2 ;Если РВ2=1 (кнопка SB1 не нажата), пропустить след. строку cbi PORTB, 4 ;Установка РВ4 в 0 (включение светодиода) rjmp main Нужно добавить четвертую строку, иначе светодиод загорается сразу после подачи питания. Почему если не добавить строки программа не работает, ведь она должна зациклиться по умолчанию?
|
|
| |
mimino | Дата: Воскресенье, 16.09.2012, 18:21 | Сообщение # 79 |
Полковник
Группа: Администраторы
Сообщений: 227
Статус: Offline
| SkiF, Добрый день! А вы на чем экспериментируете: на реальной плате или на Протеусе? По идее контроллер действительно должен зациклиться. Светодиод при подаче питания и должен быть включенным, ведь в исходном состоянии все регистры обнулены, в том числе и PORTB, а нуль на выводе PB4 как раз и зажигает светодиод. А далее все должно работать как положено и реагировать на кнопки соответствующим образом. В задании ведь не дано исходное состояние светодиода
|
|
| |
SkiF | Дата: Воскресенье, 16.09.2012, 19:25 | Сообщение # 80 |
Рядовой
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Моделирую на Proteus. Т.е. в реальном устройстве будет работать без команды безусловного перехода rimp Пример из третьего шага, вообще почему то не работает в Proteus.
Сообщение отредактировал SkiF - Воскресенье, 16.09.2012, 19:26 |
|
| |
mimino | Дата: Воскресенье, 16.09.2012, 20:07 | Сообщение # 81 |
Полковник
Группа: Администраторы
Сообщений: 227
Статус: Offline
| Возможно, что и будет. Я не знаю, реализовано ли в протеусе зацикливание программы. Я все примеры проверял на реальной плате, так что все точно рабочее.
|
|
| |
SkiF | Дата: Понедельник, 17.09.2012, 00:57 | Сообщение # 82 |
Рядовой
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Шаг 3 задание. Вот что у меня получилось. Code sbi DDRB, 0 ;РВ0 - выход (светодиод LED1) sbi DDRB, 4 ;РВ4 - выход (светодиод LED2)
main: ;Основной цикл программы sbic PINB, 4 ;Если РВ4=0 (светодиод зажжен), то пропустить след. строку cbi PORTB,4 ;Установка РВ4 в 0 (включение светодиода) sbis PINB, 4 ;Если РВ4=1 (светодиод погашен), то пропустить след. строку sbi PORTB,4 ;Установка РВ4 в 1 (выключение светодиода)
sbis PINB, 0 ;Если РВ0=1 (светодиод погашен), то пропустить след. строку sbi PORTB,0 ;Установка РВ0 в 1 (выключение светодиода) sbic PINB, 0 ;Если РВ0=0 (светодиод зажжен), то пропустить след. строку cbi PORTB,0 ;Установка РВ0 в 0 (включение светодиода)
ldi r16, 255 ;Загрузка значения в регистр r16 ldi r17, 255 ;Загрузка значения в регистр r17 ldi r18, 5 ;Загрузка значения в регистр r18
delay: ;Цикл задержки subi r16,255 ;Вычитание 1 из регистра r16 sbci r17, 0 ;Вычитание с переносом из регистра r17 sbci r18, 0 ;Вычитание с переносом из регистра r18 brcc delay ;Если не было переноса вернуться к метке delay rjmp main ;Вернуться к метке main Proteus не хочет имитировать в режиме реального времени ( "из за чрезмерной нагрузки на процессор"). Соберу наверное макетку, где то у меня ATtiny 26 и Attiny2313 валялись. А задержку я так считал; *общее число проходов цикла 256х256х6 = 393216 *общее число тактов задержки составит 393216х5=1966080 *период задержки: 1966080/1000000 = 1,96608 с У меня такой вопрос. ATtiny13 работает от внутреннего генератора на частотах 4.8 / 9.6 МГц, а чтобы частота была 1 МГц, надо использовать внешний кварц. Или я ошибаюсь ?
|
|
| |
mimino | Дата: Понедельник, 17.09.2012, 15:07 | Сообщение # 83 |
Полковник
Группа: Администраторы
Сообщений: 227
Статус: Offline
| SkiF, Вы правы насчет частот. Я как-то упустил этот момент в описании... Контроллер Attiny13 может тактироваться только от внутренних источников ли внешними импульсами. Режим работы от кварцевого генератора в нем не предусмотрен. По умолчанию в нем используется частота 9.6 МГц. Но также по умолчанию в нем установлен фьюз CKDIV8, который делит частоту генератора на 8, что в итоге дает 1,2 МГц, так что я в расчетах ошибся не очень сильно.
|
|
| |
GranDAD | Дата: Понедельник, 17.09.2012, 23:18 | Сообщение # 84 |
Лейтенант
Группа: Проверенные
Сообщений: 49
Статус: Offline
| Давно это было уже, но насколько я помню у меня все схемы в Proteus'е работали. А ты точно правильно все собрал там?
|
|
| |
SkiF | Дата: Вторник, 18.09.2012, 01:45 | Сообщение # 85 |
Рядовой
Группа: Проверенные
Сообщений: 4
Статус: Offline
| Так она работает, тока коряво.Задержку не отрабатывает в реальном времени - светодиод просто хаотично мерцает. Ошибиться в такой схеме -это надо постараться Вот файл Proteus'а
Сообщение отредактировал SkiF - Вторник, 18.09.2012, 01:56 |
|
| |
GranDAD | Дата: Вторник, 18.09.2012, 16:11 | Сообщение # 86 |
Лейтенант
Группа: Проверенные
Сообщений: 49
Статус: Offline
| Недавно только Windows переустановил, но Proteus'а пока не имею.
P.S Кстати заказал вчера очередную партию ATTINY13A и детали для фьюз доктора. Жду когда приедут mimino, можно ли attiny13 подключить к компу по usb.
Сообщение отредактировал GranDAD - Вторник, 18.09.2012, 16:12 |
|
| |
mimino | Дата: Вторник, 18.09.2012, 19:44 | Сообщение # 87 |
Полковник
Группа: Администраторы
Сообщений: 227
Статус: Offline
| GranDAD, можно. Но только с использованием внешнего преобразователя USB-UART
|
|
| |
trubadur | Дата: Пятница, 28.09.2012, 19:09 | Сообщение # 88 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| помогите с домашкой!!!
Устройство контроля доступом, заключающегося в сравнении строки, хранящейся на SD-карте по шестнадцатеричному адресу 0х80, с заданной строкой. При совпадении сравниваемых строк включить индикаторный светодиод. Считанную из SD-карты строку отобразить на символьном жидкокристаллическом дисплее.
используется учебного стенда НТЦ-31.100 и микроконтроллер который программируется Atmega128
|
|
| |
AVRик | Дата: Вторник, 01.01.2013, 12:56 | Сообщение # 89 |
Лейтенант
Группа: Проверенные
Сообщений: 73
Статус: Offline
| Всех с Новым 2013 годом !!!
|
|
| |
Sasha_1973 | Дата: Понедельник, 21.10.2013, 03:44 | Сообщение # 90 |
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Offline
| Доброго здоровья!
Пожалуйста, помогите написать на ASM AVR следующее
То, что компилирует Bascom не устраивает
|
|
| |
| |