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

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

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

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

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

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


Ответ
Опции темы
Непрочитано 20.02.2008, 20:45   #11
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию

В модели AT89C2051(подозреваю, что и в остальных 51-х) не работают прерывания по переполнению таймера и внешние. Остальные не проверял. И это pull-up'ом не исправишь. Если я не прав, обрадуйте меня.
Реклама:
__________________
Быть,а не казаться.
LEAS вне форума   Ответить с цитированием
Непрочитано 20.02.2008, 23:13   #12
Yuoson
Частый гость
 
Регистрация: 14.04.2007
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Yuoson на пути к лучшему
По умолчанию

Всем Спасибо.
Но..
Это называется внешние подтягивающие резисторы?

А как , всётаки, получить высокий уровень на выходе порта? Только программно, т.е. через MOVX P0,@DPTR?

И как реализуется "защёлка"?

-- Прилагается рисунок: --

Yuoson вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 08:14   #13
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Сообщение от sanitar249
Иными словами, порт0 по внутренней логике, по разному реагирует на команды MOV и MOVX, я правильно понял?
Удачи!
Абсолютно точно.
Сообщение от Yuoson
Это называется внешние подтягивающие резисторы?

А как , всётаки, получить высокий уровень на выходе порта? Только программно, т.е. через MOVX P0,@DPTR?

И как реализуется "защёлка"?
А что, внешние резисторы не обеспечивают высокий уровень? Не хватает тока? Поставьте на выход буфер.
Программно только командой MOVX, но только на время выдачи адреса/данных. Конкретно надо смотреть в какие такты машинного цикла. Если надо - посмотрю, напишу. После отработки цикла записи/чтения внешней памяти в порт выводится значение, записанное в защелку, но выход уже с открытым стоком.
Удачи.
nokazus вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 11:50   #14
sanitar249
Почётный гражданин KAZUS.RU
 
Аватар для sanitar249
 
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
sanitar249 на пути к лучшему
По умолчанию

Сообщение от LEAS
В модели AT89C2051(подозреваю, что и в остальных 51-х) не работают прерывания по переполнению таймера и внешние. Остальные не проверял. И это pull-up'ом не исправишь. Если я не прав, обрадуйте меня.
Напугали, но к счастью Вы не правы, все прекрасно работает....Вот код, во вложении проект.
Удачи!
Код:
 
org 0000h
jmp start
org 0003h
call obrab ;вызов обработки прерывания
org 000bh
call obrab1 ;вызов обработки прерывания TC0



start: 
setb EA ; разрешаем прерываться
setb EX0  ;разрешаем внешнее прерывание
setb IT0  ;по срезу
mov TMOD, #00010000b ;устан режим ТС
setb TR0 ; запуск ТС0
setb ET0 ;разрешаем прерывание по таймеру0
begin: ;главный цикл
nop ;ничего не делаем
nop
jmp begin ;зацикливаемся


;******************************
; обработка прерываний
;******************************
obrab: 
cpl P1.1 ; инвертируем по прерыванию
reti 

obrab1:
 cpl P1.2 ; инвертируем по прерыванию от ТС0
 
reti 

END
Прикрепленный файл: 1196265.zip
__________________
Я, думаю, нужно подумать...
sanitar249 вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 13:17   #15
sanitar249
Почётный гражданин KAZUS.RU
 
Аватар для sanitar249
 
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
sanitar249 на пути к лучшему
По умолчанию

Сообщение от Yuoson
И как реализуется "защёлка"?
В классической схеме через защелку(74хх373) передаеться верхняя часть адресов А0-А7 адресного пространства внешних ЗУ. Суть в следующем, из РО сначала выводиться адрес, по сигналу ALE он защелкиваеться в регистре и присутствует весь цикл работы с данными внешней памяти(по указанному адресу). Защелкивать можно и по выходам к.л. порта (несколько разных защелок) с целью мультиплексирования порта, но к сожалению, порты 51 имеют маленькую нагрузочную способность и в этом случае не обойтись без шинного формирователя.
Удачи!
__________________
Я, думаю, нужно подумать...
sanitar249 вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 20:36   #16
Yuoson
Частый гость
 
Регистрация: 14.04.2007
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Yuoson на пути к лучшему
По умолчанию

Спасибо за помощь. Ответы исчерпывающие. Буду пробовать.
Yuoson вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 21:38   #17
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию

sanitar249, посылаю Вам ваш же проект с маленьким изменением-в таймер записывается FFF9 для убыстрения и предлагаю Вам пошагать в программе по F10 по листингу. Увидите интересные процессы с TMR0 и TCON. Ваш комментарий "зацикливаемся" будет целиком соответствовать смыслу слова. Прерывания не работают. Может, у меня корявая версия, но в не пошаговом режиме, вроде, все работает, но в пошаговом-полный косяк-пришлось доделывать в KEIL uVISION(а вот там все в порядке как в пошаговом, так и в автоматическом режиме).

Прикрепленный файл: 7706150.RAR
__________________
Быть,а не казаться.
LEAS вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 22:49   #18
sanitar249
Почётный гражданин KAZUS.RU
 
Аватар для sanitar249
 
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
sanitar249 на пути к лучшему
По умолчанию

Сообщение от LEAS
Ваш комментарий "зацикливаемся" будет целиком соответствовать смыслу слова. Прерывания не работают. Может, у меня корявая версия, но в не пошаговом режиме, вроде, все работает, но в пошаговом-полный косяк-пришлось доделывать в KEIL uVISION(а вот там все в порядке как в пошаговом, так и в автоматическом режиме).
Да, у меня тоже в пошаговом режиме прерывания по таймеру не вызвались ,в автомате все летает. Будем посмотреть. Но кажеться, это еще один вопрос г-ну ТЕНЬ
Удачи!

Прикрепленный файл: 7706150.RAR
__________________
Я, думаю, нужно подумать...
sanitar249 вне форума   Ответить с цитированием
Непрочитано 21.02.2008, 23:14   #19
sanitar249
Почётный гражданин KAZUS.RU
 
Аватар для sanitar249
 
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
sanitar249 на пути к лучшему
По умолчанию

Еще одна "странность" при исполнении этого кода и остановке исполнения по паузе. Указатель стека ни принудительно ни программно не трогался д.б. 07, в R0-R7 тоже "хрень".
Удачи!

-- Прилагается рисунок: --
__________________
Я, думаю, нужно подумать...
sanitar249 вне форума   Ответить с цитированием
Непрочитано 22.02.2008, 07:40   #20
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию

Прерывания не работают ни по таймеру, ни внешние. Во вложении картинка осциллоскопа однозначно это подтверждающая. Я так же писал " Увидите интересные процессы с TMR0 и TCON." Если обратите внимание, то флаг прерывания устанавливается, но само оно не происходит. И по достижении переполнения TL0 обнуляется, а в TH0 остается FF, после чего TL0 снова инкрементируется и уже по его FF на следующем цикле все обнуляется и устанавливается флаг прерывания.

-- Прилагается рисунок: --

__________________
Быть,а не казаться.
LEAS вне форума   Ответить с цитированием
Ответ

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Codevision+Proteus - кто-то победил? Churchill Микроконтроллеры, АЦП, память и т.д 4 04.05.2008 16:15
Proteus, может кто видел модель LCD nokia 3310? IlRek Proteus 1 16.04.2007 23:36
8051 и TCP/IP EugVor Микроконтроллеры, АЦП, память и т.д 3 24.05.2006 15:23
Microcontroller 8051 kanz Микроконтроллеры, АЦП, память и т.д 5 02.12.2005 12:35
Intel 8051 micha Микроконтроллеры, АЦП, память и т.д 12 12.09.2005 15:34


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot