Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужно запрограммировать контроллер 8051. 
:(
    Опции темы
Alexeyka
  Дата 14.4.2004, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.4.2004

Репутация: нет
Всего: нет



Есть контроллер 8051 - Atmel AT89C51, подключенный к 2-м буферам. От него требуется:

- при возникновении прерывания INT0 считать с этих двух буферов (с первого - с трех портов, со второго - с одного порта) четыре байта.
- выдать эти четыре байта через последовательный порт.

Буфер выбирается сигналами на P2.2 и P2.3 , порт выбирается сигналами P2.0 и P2.1. Байты приходят на P0. При необходимости вышлю схему.

Если можно, на ассемблере.
sad.gif


PM MAIL   Вверх
PILOT
Дата 14.4.2004, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Без схемы я могу написать только приблизительно...
лучше с ней.
Запости ее сюда.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Alexeyka
Дата 15.4.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.4.2004

Репутация: нет
Всего: нет



А как? Я её отсканирую, а потом надо её куда-то выложить?
PM MAIL   Вверх
PILOT
Дата 15.4.2004, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



http://forum.vingrad.ru/index.php?act=Post...02&f=36&t=21386
внизу увидишь кнопочку добавить файл, если это будет картинка то она автоматом присоединится к сообщению.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Alexeyka
Дата 16.4.2004, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.4.2004

Репутация: нет
Всего: нет



Нет тут такой кнопочки, есть только "отправить" и "предварительный просмотр". Картинки вставляются как url, а мне ее положить негде. Может, я ее по почте пришлю?
PM MAIL   Вверх
Alexeyka
Дата 16.4.2004, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.4.2004

Репутация: нет
Всего: нет



PM MAIL   Вверх
PILOT
Дата 16.4.2004, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Вот тут отмечено как можно файлы присоединять...
хотя я могу и ошибаться, а вдруг это только для тех кто уже много сообщении отправил на форум...

СУВ.
ЗЫ. Схему твою качаю, ооочень долго почему-то...

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  tmp.jpg


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
PILOT
Дата 16.4.2004, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Схема не скачалась...


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Sardar
Дата 17.4.2004, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



PILOTIK добавлять файлы к постам могут только модераторы и участники клуба.
Alexeyka выложи схему на www.nm.ru, а то так и не докачал....



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alexeyka
Дата 19.4.2004, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.4.2004

Репутация: нет
Всего: нет



PM MAIL   Вверх
PILOT
Дата 21.4.2004, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Схему получил...
я все помню, завтра послезавтра напишу твой кусок.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
PILOT
Дата 22.4.2004, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Я не знаю ни скоростей передачи ни режимов поэтому отсавил соотв байты пустыми (помечено [!]) ;)
Код

;*****************************************************************************
;*                              ver.04.04.22                                 *
;*****************************************************************************
         NAME      Port_To_RS232;                                  Имя модуля
;********************************* Переменные ********************************
;---------------------------------- Исп. Биты --------------------------------
ReadyToSend EQU    0;
;-------------------------------- Образы портов ------------------------------
_Byte0    EQU       30h;                               0-ой байт для пересылки
_Byte1    EQU       31h;                               1-ый байт для пересылки
_Byte2    EQU       32h;                               2-ой байт для пересылки
_Byte3    EQU       33h;                               3-ий байт для пересылки
_Byte4    EQU       34h;                               4-ый байт для пересылки

;********************************* Константы *********************************
;-------------------------------- Обозначения --------------------------------
Pin_A0    EQU       0
Pin_A1    EQU       1
Pin_C0    EQU       2
Pin_C1    EQU       3
;-----------------------------------------------------------------------------
SerMode   EQU       00000000b;[!]
TimerMode EQU       00000000b;[!]
TimerCTRL EQU       00000000b;[!]
;-----------------------------------------------------------------------------
         CSEG      AT 0;                          Сегмент кода, нулевой адрес
MainStart:
         LJmp      MainP;      При вкл питания или при сбросе в основной цикл

         ORG       03h;
         LJmp      ExtInt0;              По внешнему прерыванию INT0 на метку

         ORG       0Bh;
         RetI;                                         По прерыванию Tаймера0

         ORG       13h;
         RetI;                                    По внешнему прерыванию INT1

         ORG       1Bh;
         RetI;                                         По прерыванию Tаймера1

         org       23h
         RetI;
;********************************* Процедуры *********************************
;-------------------------- Процедура чтения из порта ------------------------
ReadPort:
         Clr       C
         Mov       B,A;
         Subb      A,3;
         JNC       RdPort_L0;
         Mov       A,B
         AnL       A,#3;
         OrL       A,#(1 SHL Pin_C1);
         Jmp       ReadData;
RdPort_L0:
         Mov       A,B
         Add       A,#1;
         AnL       A,#3;
         OrL       A,#(1 SHL Pin_C0);
ReadData:
         Mov       DPH,A;
         MovX      A,@DPTR;
         Ret;
;**************************** Сбор данных с регистров ***********************
ExtInt0:  
         Push      Acc;
         Mov       A,PSW
         Push      Acc;
         Push      0;
         Push      DPL;
         Push      DPH;
         
         JB        ReadyToSend,OutExtInt;

         Mov       R0,#_Byte0;
ExInt_L0:
         Mov       A,R0;
         Clr       C;
         Subb      A,#_Byte0;
         Call      ReadPort;
         Mov       @R0,A;
         Inc       R0;
         CJNE      R0,#(_Byte0+5),ExInt_L0;          

         SetB      ReadyToSend;

OutExtInt:
         Pop       DPH
         Pop       DPL;
         Pop       0;
         Pop       Acc;
         Mov       PSW,Acc;
         Pop       Acc;
         Ret;
;******************************** Инициализация *****************************
Init:    
         Mov       SCON,#SerMode;
         Mov       TCON,#TimerCTRL;
         Mov       TMOD,#TimerMode;
         SetB      EX0;
         SetB      EA;
;******************************** Основной цикл *****************************
MainP:    
         JNB       ReadyToSend,MainP_L0;

         Mov       R0,#_Byte0;
MainP_L1:
         Mov       A,R0;
         Clr       C;
         Subb      A,#_Byte0;
         Call      ReadPort;
         Mov       @R0,A;
         Mov       SBUF,A;
         Nop;
WaitForRS232:
         JNB       TI,WaitForRS232;            
         Inc       R0;
         CJNE      R0,#(_Byte0+5),MainP_L1;
         Clr       ReadyToSend;

MainP_L0:
         Jmp       MainP;
         END

Добавлено @ 22:48
На версию не обращай внимания - это дата наоборот smile.gif Очень удобно.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0831 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.