Часы на микроконтроллере ATTINY2313
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
- Реклама
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
- Сообщения: 23
- Зарегистрирован: Чт окт 23, 2008 19:35:08
Да правильно только при этом еще нужно подавать питание на микроконтроллер.
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
Подскажите где я ошибся
я написал программу
----------
-------------------------
И схему подключаю не работает ((
в чем проблемма*?
Схема на Фото003.jpg
я написал программу
----------
Код: Выделить всё
.include "2313def.inc"
.def TempB=R16
.def TempD=R17
.cseg
.org 0
LOP:
ldi TempB,0b00000000
out DDRB,TempB
ldi TempD,0b00001000
out DDRD,TempD
rjmp LOP;
И схему подключаю не работает ((
в чем проблемма*?
Схема на Фото003.jpg
- Вложения
-
- Фото003.jpg
- (45.8 КБ) 699 скачиваний
- Реклама
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
Сегментик наверное загорается и гаснет,но ..ну очееень быстроdrakoshaprog писал(а):1 семисегментник должен загореться
но при подключеннии ничего не происходит ((
()
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
у меня подключено 4 семисегментных индикатора если на порт d послать 5вольт а на b 0вольт то должен загореться один сегмент
в данном случае я вывожу на B все нули а на порт D 1 единичку => должно загореться 7 сегментов ))
но этого не происходит
---------
может схемка неправильная? там на фотографии схема.
резанонатор ZTT на 20 MГц
---------
в данном случае я вывожу на B все нули а на порт D 1 единичку => должно загореться 7 сегментов ))
но этого не происходит
---------
может схемка неправильная? там на фотографии схема.
резанонатор ZTT на 20 MГц
---------
Хотеть и делать вещи не идентичные.
.include "2313def.inc"
.def TempB=R16 ; это только для удобства
.def TempD=R17
.cseg
.org 0
ldi R16,0b11111111 ; DDRx только устанавливает режим порта
; в данном случае на вывод
out DDRB,TempB ;
ldi R16,0b11111111 ;
out PORTB,R16; в PORTB все 1
ldi R16,0b11111111 ;
out DDRD,TempB ; на вывод
ldi R16,0b11101111 ; бит 4 в 0 - это для примера, я номера
; битов не смотрел
out PORTD,R16; сегмент подключенный к 4 биту должен светится
LOP: ; в цикле можно организовать мигание
; только нужны задержки, а то никто не успеет заметить
rjmp LOP;
Очень сомневаюсь в 20 МГц.
Даташит нужно читать.
Через этот бит будет течь суммарный ток индикатора (7 сегментов).
Резисторы ограничительные должны быть соответсвующими.
.include "2313def.inc"
.def TempB=R16 ; это только для удобства
.def TempD=R17
.cseg
.org 0
ldi R16,0b11111111 ; DDRx только устанавливает режим порта
; в данном случае на вывод
out DDRB,TempB ;
ldi R16,0b11111111 ;
out PORTB,R16; в PORTB все 1
ldi R16,0b11111111 ;
out DDRD,TempB ; на вывод
ldi R16,0b11101111 ; бит 4 в 0 - это для примера, я номера
; битов не смотрел
out PORTD,R16; сегмент подключенный к 4 биту должен светится
LOP: ; в цикле можно организовать мигание
; только нужны задержки, а то никто не успеет заметить
rjmp LOP;
Очень сомневаюсь в 20 МГц.
Даташит нужно читать.
Через этот бит будет течь суммарный ток индикатора (7 сегментов).
Резисторы ограничительные должны быть соответсвующими.
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
Ребята!
Ну если бы только задержку.
Надо же и самим что-то делать.
Читайте книги. Книга источник знаний.
Например:
Голубцов М.С. Микроконтроллеры AVR: от простого к сложному.
Там все нужное найдете.
Ну да ладно.
ldi R16,0b11101111 ; бит 4 в 0 - это для примера, я номера
; битов не смотрел
out PORTD,R16; сегмент подключенный к 4 биту должен светится
LOP: ;
ldi R16,0b01111111
out PORTD,R16
rcall delay
ldi R16,0b10111111
out PORTD,R16
rcall delay
ldi R16,0b11011111
out PORTD,R16
rcall delay
ldi R16,0b11101111
out PORTD,R16
rcall delay
; и т. д. - биты я написал условно
rjmp LOP;
delay: ldi R18,0xFF ; 0xFF (255) определяет длительность -
;можно менять
delay1: ldi R17,0xFF;
delayloop: dec R17;
breq delayloop
dec R18
breq delay1
ret
Ну если бы только задержку.
Надо же и самим что-то делать.
Читайте книги. Книга источник знаний.
Например:
Голубцов М.С. Микроконтроллеры AVR: от простого к сложному.
Там все нужное найдете.
Ну да ладно.
ldi R16,0b11101111 ; бит 4 в 0 - это для примера, я номера
; битов не смотрел
out PORTD,R16; сегмент подключенный к 4 биту должен светится
LOP: ;
ldi R16,0b01111111
out PORTD,R16
rcall delay
ldi R16,0b10111111
out PORTD,R16
rcall delay
ldi R16,0b11011111
out PORTD,R16
rcall delay
ldi R16,0b11101111
out PORTD,R16
rcall delay
; и т. д. - биты я написал условно
rjmp LOP;
delay: ldi R18,0xFF ; 0xFF (255) определяет длительность -
;можно менять
delay1: ldi R17,0xFF;
delayloop: dec R17;
breq delayloop
dec R18
breq delay1
ret
часов много разных
http://radiokot.ru/forum/viewtopic.php?t=12440 на меге8
http://radiokot.ru/forum/viewtopic.php?t=12588 на 2313
http://radiokot.ru/forum/viewtopic.php?t=11872 на меге8
мож чем помогут
http://radiokot.ru/forum/viewtopic.php?t=12440 на меге8
http://radiokot.ru/forum/viewtopic.php?t=12588 на 2313
http://radiokot.ru/forum/viewtopic.php?t=11872 на меге8
мож чем помогут
- Сообщения: 10
- Зарегистрирован: Вт дек 30, 2008 17:01:37
Почитать можно тут http://radiokot.ru/start/mcu_fpga/avr/11/drakoshaprog писал(а): как это сделать? или где об этом почитать ?
мне кажется Вы пользуете ATtyny 2313 а компилируете почему-то 2313def.inc - это ж для АТ90s
почитайте обучалку, мне однажды помогло
почитайте обучалку, мне однажды помогло
При наличии отсутствия пропитанных шпал - это будет не трамвай а одно горе!


