Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Таймер для AMTEL 89C2051

Непрочитано 11.01.2011, 14:57  
Avers90
Прохожий
 
Регистрация: 02.12.2010
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Avers90 на пути к лучшему
По умолчанию Таймер для AT89C2051

Ребят. Помогите малец.
Написал прогу для таймера.
Нужно чтоб схемка с двумя 7сегментными индикаторами считала секунды.
Доходила до 60, а потом начинала заново с 0.
Я собрал схемку и написал прогу. Но... два индикатора считают одновременно, т.е получается такая фигня: 00, 11, 22, 33, ... , 99.
Нужно хотя бы до 14 доделать её)
Прикрепил rar файл. Там и схемка и программка на ассемб.
Вложения:
Тип файла: rar подобие часиков.rar (54.8 Кб, 73 просмотров)
Реклама:

Последний раз редактировалось Avers90; 11.01.2011 в 15:12.
Avers90 вне форума  
Непрочитано 11.01.2011, 15:18  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

"малец" помочь вам вряд ли возможно, ибо, как я вижу, вы не удосужились даже блок-схемку или алгоритм нарисовать. Ну посмотрите сами и ответьте хотя б на два вопроса - что делает подпрограмма prind и где куда "пойдет" процессор после выполнения инициализации?
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 11.01.2011, 15:29  
Avers90
Прохожий
 
Регистрация: 02.12.2010
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Avers90 на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

Просто у нас преподаватель сам толком не разбирается в этом.
Задал нам написать за 4 дня. Первый раз ведёт у нас этот предмет.
Не сочтите за наглость, но помочь могли как нибудь с этой программкой?
Схему собирал наподобие как в учебнике Белова.
Подпрограммка prind насколько мне известно выбирает из знакогенератора число и выводит его на индикатор.

Впервые столкнулся с протеусом и ассемблером, а времени чтоб изучить практически нет. Если не трудно, хоть как нить помогите разобраться.
Если бы проблем не было, я бы и не написал сюда.
Avers90 вне форума  
Непрочитано 11.01.2011, 18:11  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

Сообщение от Avers90 Посмотреть сообщение
?
Схему собирал наподобие как в учебнике Белова.
Покажите схему в jpeg-е или еще чем-то удобоваримом... Протеусами и прочим не пользуюсь я. Обещать не могу, но хотя б на грубые ошибки укажу.

Сейчас у вас та подпрограмма подряд выводит на p1 весь знакогенератор и делает очень много лишнего. Подозреваю, что было задумано вначале сделать переход по содержимому аккумулятора... как в ПИКах... тоже непонятно зачем, когда можно к DPTR-у прибавить...

Давайте схему, попробуем, если будут паузы в делах
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 11.01.2011, 18:23  
Avers90
Прохожий
 
Регистрация: 02.12.2010
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Avers90 на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

Решил пойти со знакогенератором в лоб, ибо в голове я знаю как сделать легче, а из-за того, что не имею большого представления в данной микросхеме сообразить не могу.

Вместо дешифратора, который в книге использовал 74LS155.
+ транзисторы я убрал(а по моим подозрениям надо бы их было оставить)
7сегментные индикаторы я использовал катодные.

nml
если для Вас будет это затруднительно или как то ещё тогда не делайте.
Не хочу напрягать вас.
Миниатюры:
Нажмите на изображение для увеличения
Название: p0018.JPG
Просмотров: 109
Размер:	906.7 Кб
ID:	16750  
Avers90 вне форума  
Непрочитано 11.01.2011, 18:45  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

Как я понял - "катодные" - это с общим катодом? То есть для зажигания сегмента на сегмент надо подать "1", а на катод - "0". Убрав транзистор, заменили дешифратор - с иверсными выходами - логично, но хватит ли тока 8 мА - сомневаюсь. Ну да ладно, для курсовика может и сойдет. Скажете, что по 1 mA на сегмент - слАбо, но горит Или скажете, что индикатор калькуляторный - я как-то делал на таком, не помню название - крохотные цимферки под линзочками, там 1 мА был вполне неплохо виден.

после метки main:
Код:
main:
     nop
     jmp main
иначе процессор "уйдет" туда куда не надо. Все делается в прерывании, потому основной цикл просто крутимся на месте

процедура должна вызлядеть так (проглядел - movc A,@A+DPTR)
Код:
prind:	push	psw
	push	DPH
	push	DPL
	mov	DPTR,#zg0
	movc	a,@a+DPTR
	mov	c,bufT
	mov	acc.7,c
	mov	p1,a
	pop	DPL
	pop	DPH
	pop	psw
            ret
И все! Уберите 10 раз повторение.
Это на первый, самый бросившийся в глаза. На остальное пока нет времени, увы
__________________
[ жизнь приятна и красива, если выпить литр пива ]

Последний раз редактировалось nml; 11.01.2011 в 18:58.
nml вне форума  
Непрочитано 11.01.2011, 19:43  
Avers90
Прохожий
 
Регистрация: 02.12.2010
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Avers90 на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

nml.
О чем я хотел сказать.
В таком виде prind не запускался у меня. Я не знаю почему. Пришлось писать такой длинный вариант.

А на счёт main.
Он зацикливается на этой метке. И дальше не шагает. Тем самым на индикаторах горят 8.
Avers90 вне форума  
Непрочитано 11.01.2011, 19:50  
Avers90
Прохожий
 
Регистрация: 02.12.2010
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Avers90 на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

С main разобрался.
Avers90 вне форума  
Непрочитано 11.01.2011, 20:59  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Таймер для AMTEL 89C2051

Сообщение от Avers90 Посмотреть сообщение
В таком виде prind не запускался у меня. Я не знаю почему. Пришлось писать такой длинный вариант.
"Не запускался" - это что значит? В вашем варианте сначала выводился найденный по индексу - а - и базе - dptr - байт, то есть вроде все логично. Но потом по порядку выводились 1,2,3... Смысла сего я не улавливаю.

В цикле main программа и должна крутиться, до появления прерывания.

С выводом мерцающей точки у вас тоже как-то странно. Я бы сделал так
Код:
			      ;vivod tochki
	mov	c,timsec.0    ;mercanie tochki
	mov	a,nomR
	cjne	a,#1,dn2      ;proverka nomera razryada
	clrb	c             ;tochky vikluchaem
dn2:	mov	bufT,c        ;pomewaem rezyltat v byfer tochki

                              ;Vivod simvola
	add	a,#tim        ;vichislyaem adres v byfere
	mov	r0,a
	mov	a,@r0         ;chtenie koda simvola iz byfera
	call	prind         ;vivod na indikator
	inc	nomR          ;yvalichenie nomera tekywego razryada
	mov	a,nomR
	cjne	a,#4,dn3      ;Eto poslednii razryad?
	mov	nomR,#0       ;esli da,to pereiti na pervii
dn3:
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Фрезеровальный станок для изготовления печатных плат dimmich Электроника - это просто 2 29.09.2010 11:15
Помогите с ЦАП AD7708/AD7718 или их аналогами ST_Senya Микроконтроллеры, АЦП, память и т.д 9 30.11.2009 19:03


Часовой пояс GMT +4, время: 18:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.