Полная версия этой страницы:
Об проблеме с Тини
Reboot_s
Nov 22 2005, 13:44
Проблема такая. Написал прогу на асме для подключения ЖКИ с последовательным вводом. Писал под АТ90S2313. Все работает. Но понадобилось переключить его к tiny15L. Вот тут и возникли проблемы. В проге я уверен - она работает и в работе использует только ПортB и общие регистры. Никаких регистров таймеров и тому подобного она не использует. Значит я что-то неправильно конфигурирую в Тини при запуске. Пожскажите,может я что забыл.
Значит стек аппаратный, инициализации не надо.
ЖКИ использует ти вывода порта B - PB0, PB1,PB2.
start_program: ;стартова програма для настройки портів,
;регістрів керування та задання початкових умов
ldi temp,255
out DDRB,temp
ldi temp,128
out ACSR,temp
ldi temp,15
out TCCR1,temp
ldi temp,4
out TIMSK,temp
;sei ;Глобальний дозвіл переривань
kryg:
rjmp kryg
Прерывания работают - проверено! Компаратор я отключил. Мне надо чтоб ПортB работал как порт ввода/вывода и все! Никаких дополнительных функций!
прерывания используешь . а таблицу векторов поправил???
стек трехуровневый проверь вложения
Pyku_He_oTTyda
Nov 22 2005, 13:56
Попробуйте для проверки помигать светодиодами, подвешенными к РВ0,РВ1,РВ2 и посмотрите, работает ли пин на вывод
Reboot_s
Nov 22 2005, 13:58
Прерывания работает! Просто ЖКИ вместо того, чтоб выводить циферки засвечивает все сегменты. Но я задал прерывания примерно в 1,6 секунды и было видно как через это время ЖКИ обновлялось. Но светило то же. Сразу сниму вопрос, я учел что у Тини15 внутр. кварц на 1,6 Мгц. Все временные требования для правильного функционирования ЖКИ соблюдены.
Цитата(Reboot_s @ Nov 22 2005, 16:58)

Прерывания работает! Просто ЖКИ вместо того, чтоб выводить циферки засвечивает все сегменты. Но я задал прерывания примерно в 1,6 секунды и было видно как через это время ЖКИ обновлялось. Но светило то же. Сразу сниму вопрос, я учел что у Тини15 внутр. кварц на 1,6 Мгц. Все временные требования для правильного функционирования ЖКИ соблюдены.
ни че не понял
Напишите тестовую программу - после инициализации очистка экрана. Если этого не произойдет (экран не очиститься) и на экране будет засветка всех сегментов, то инициализация не работает! Разбирайтесь с параметрами 'времянки' это может быть не факт, что Вы ее правильно адаптировали учитывая внутренний clock контроллера.
У меня сделано так ( для CHIP-ON-GLASS ) для той же т15 . Все нормально работает.
;-----------инициализация портов------------------
portinit:ldi temp,$0f7
out ddrb,temp ;pb0-pb2-вывод,pb3-ввод
ldi temp,$02
out admux,temp;(mux1<<1)+(refs1<<1)
clr temp
out portb,temp
ldi temp,80
again1: sbi portb,dclk;гашение индикатора
cbi portb,dclk
dec temp
brne again1
sbi portb,load
cbi portb,load
ret
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.