На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

Передача данных через 8251

Новичок
 
Регистрация: 31.05.2008
Сообщений: 3
Репутация: 10
 
03.06.2008 19:10 #1
Есть программа передачи массива с одного компа на другой через 8251 в синхронном режиме, препод говорит, что есть две возможности синхронизировать два компа. 1 ждать DSR, вторую я не знаю. А вот моя реализация:
Но он говорит здесь есть ошибка связанная с ложной записью, кто-нибудь может подсказать в чем проблема? Пожалуйста помогите, а то достало уже. Нет ни книг описывающий как писать программы для 8251, ни препод не написал хотя бы методичку как писать.

Передатчик
Код:
mvi a, 82h		; INIT ВВ55 
out 83h 
mvi a, 36h		; INIT ВИ53 
out 87h 			; CT0, режим 3, 2 байта 
mvi a, 0a7h 		; мл. байт коэф. пересчета 
out 84h 
mvi a, 00h		; ст. байт  
out 84h 
lxi d, 3377h		; синхросимволы 
xra a 			; INIT ВВ51  
out 89h 			; поиск CI 
out 89h 
out 89h 
mvi a, 40h		; сброс 
out 89h 
mvi a, 08h		; синхр.режим, 7 бит, 2 синхр.си
out 89h 			; внутр. синхр., нет контроля 
mov a, d 		; первый синхр. символ 
out 89h 
mov a, e 		; второй синхр. символ 
out 89h 
in 88h 			; ложное чтение 
mvi a, 31h 		; TxEN ER RTS 
out 89h 
out 88h 			; ложная запись 
lxi b, 100h 		; коэф. задержки 
w1: in 89h 		; ждем TxRDY (CTS)
ani 01h 
jz w1 
w2: dcr c 		; задержка
jnz w2 
dcr b 
jnz w2 
w3: in 89h 		; ждем TxRDY 
ani 01h 
jz w3 
mvi a,55h                      ; Тупо выводим 55h
out 88h 			; выводим 
dcr b 
jnz w3 			; цикл 
rst7


Приемник

mvi a, 76h 	; INIT ВИ53 
out 87h 		; CT1, режим 3, 2 байта
mvi a, 0a7h	; мл. байт коэф. пересчета  
out 85h 
mvi a, 00h 	; ст. байт  
out 85h 
lxi d, 3377h 	; синхросимволы  
xra a 		; INIT ВВ51  
out 89h 		; поиск CI 
out 89h 
out 89h 
mvi a, 40h 	; сброс 
out 89h 
mvi a, 08h	; синхр. режим, 7 бит, 2 синхр.симв. 
out 89h 		; внутр. синхр., нет контроля 
mov a, d 	; первый синхр. символ 
out 89h 
mov a, e 	; второй синхр. символ 
out 89h 
in 88h 		; ложное чтение 
mvi a, 94h	; EN ER RxEN 
out 89h 
lxi h, 0899h 	; пишем в память с 0900h 
mvi b, 00h 	; прием 256 символов 
w1: in 89h 	; ждем DSR 
ani 80h 
jz w1 
mvi a, 06h 	; RxEN DTR 
out 89h 
w2: in 89h	; ждем RxRDY 
ani 02h 
jz w2 
in 88h 		; читаем 
cmp d 		; сравниваем с 1-м синхр.симв. 
jz w2 
cmp e 		; сравниваем со 2-м синхр.симв. 
jz w2 
inx h 	            ; HL++ 
mov m, a 	; пишем в память 
dcr b 		; B-- 
jnz w2 		; цикл 
rst7
[/code]
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
14.07.2008 08:18 #2
Просто интересно почему преподают старье? (Самому смешно -ответ то известный ) Ведь чтобы проверить надо собрать целую микро ЭВМ 80-х годов.
Проще взял PIC - написал прогу . нужен простой программатор и макетка.
А дальше экспериментируй......
И в конфе многие посоветуют
Оценка
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,908
Репутация: 1247
1,234 65
61 33
 
17.07.2008 18:48 #3
Цитата:
Есть программа передачи массива с одного компа на другой
Если мы имеем дело с "компами", то для них обычно пишут на ЯВУ(СИ, Паскаль/Дельфи и пр.). К тому же по набору(55-й порт, 53-й таймер)микросхем это динозавр, а не компьютер. Напечатай своему преподавателю скриншот с нашими комментариями. Может он к прогрессу захочет приобщиться. DSR обычно сообщает передающей стороне, что приемник готов/не готов принимать данные. Могу выложить программу с исходником на дельфи для СОМ порта для форточек дяди билла. Но похоже здесь патология и рецидив. Интересно, а преподдаватель в курсе хотябы семейства х86 ? Сейчас модно два камня в одном флаконе и т.д.(корел, но не дроу, а дуэ). А он не в курсе, что соединив два 8086 можно это дуэ тоже получить даже на этих старых процах? Может ему самому поучиться, а не других учить(всяким отходам)? Понятно, что флуда здесь больше, чем по делу ответа. А PIC контроллеры были первыми RISC конструкциями, первый вариант всегда убогий и требует модернизации. Архитектура основана на регистре-аккумуляторе, 4 такта резонатора на машинный цикл, банкирование памяти. Например у AVR контроллеров любой регистр является аккумулятором(меньше пересылок-короче код программы), нет банкирования памяти(не нужно переключать страницы) и команда выполняется за 1 такт(переход за 2). По этому я бы советовал, если есть желание изучать AVR микроконтроллеры. Не в обиду smart_pic, конечно. Но я изложил факты и они не в пользу PICов. Сам правда больше 51х серией балуюсь. По привычке старой. Им и до PIC и до AVR как до луны. Но привычка...
Оценка
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
14.10.2008 20:36 #4
Я сам был задействован в процесе обучения в одном из ВУЗов. Так система образования такая консервативная и очень медлительная на новые технические решения, потому что сначала нужно самому изучить , затем написать учебник, его должны утвердить, а затем внести его в программу и только потом учить студентов.
если что упустил пусть меня поправят.
Плюс редко кто хорошо владеет теорией и практикой одновременно , что бы написать толково - вот и пользуются старьем.
Но это уже совсем не техническая тема .......
Не в обиду LEAS работаю на них потому , что знаю их лучше всего. А стартовал я с комплекта 580 , а также других процев. А сейчас работаю на PIC.
Оценка
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,908
Репутация: 1247
1,234 65
61 33
 
15.10.2008 20:37 #5
Я тоже так стартовал. Потом 8086,Z80,8031,AVR и так далее. KEIL,AVRStudio, сейчас PCAD,ORCAD ,PROTEUS,MULTISIM....Из последнего-CROSSWORKS.
Оценка
Ответ
Метки
8251
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 10:18.
Обратная связь РадиоЛоцман Вверх