Определение портов AT89C51 как вход или выход.

M

Micro Lover

Guest
Я AT89C51 м, используя для цифровых часов, с внешними Пульс.

Я хочу установить port0-1-2 для параллельных данных и port3 для серийных данных

проблема заключается в том, чтобы определить, как порт ввода или вывода

Часы Master
------------------
port0 для ввода; Полный 8 бит порта
port1 для вывода; Полный 8 бит порта
port2 для вывода; Полный 8 бит порта
port3 на выход (для передачи данных серийных)

Невольничий Часы
------------------
port0 для вывода; Полный 8 бит порта
port1 для вывода; Полный 8 бит порта
port2 для вывода; Полный 8 бит порта
port3 для ввода (получение данных)

Основная проблема заключается в том, чтобы определить какой-либо порт на ввод или вывод
--------------------------------
Я м отправке моих исходных кодов, пожалуйста, сообщите мне любые ошибки

----------------------------- Источник кодекса ------------------- ---------------------

Org 00h

; Установка таймера 1
MOV IE, # 0; Запретить все прерывания
MOV TMOD, # 020h; Таймер 1: Режим 2 (8-битный перезагрузки)
MOV TH1, # 230d; Перезагрузить значение 1201, SMOD = 0
MOV TL1, # 230d; Сделайте первый тайм-аут исправить
ANL PCON, # 07fh; Чтобы SMOD = 0

; Настройка последовательных портов
MOV SCON, # 50H; Таймер 1: Режим 1 (вариант бод) и набор позволит получать
SETB TR1; Пуск таймера 1
мов R1, # 6D
мов r2, # 91d
мов r3, # 63d
мов R4, # 63d

MainLoop:
setb p0.7

мов R7, # 90d
Подлупы лупы:
мов R6, # 90d
InnerSpot:
JMP DisplayData
InnerSpot1:
djnz R6, InnerSpot
djnz R7, подлупы лупы

CLR p0.7

мов R7, # 90d
SubLoop1:
мов R6, # 90d
InnerSpot12:
JMP DisplayData
InnerSpot11:
djnz R6, InnerSpot12
djnz R7, SubLoop1JMP MainLoop

DisplayData:
мов C, p2.7
ORL C, p0.7мов B, R1
мов p2, б
JNC Skip1
мов B, # 254d
мов P1, б
Skip1:
мов B, # 255d
мов P1, б
мов б, r2
мов p2, б
JNC Skip2
мов B, # 253d
мов P1, б
Skip2:
мов B, # 255d
мов P1, б

мов б, r3
мов p2, б
JNC Skip3
мов B, # 251d
мов P1, б
Skip3:
мов B, # 255d
мов P1, б

мов б, R4
мов p2, б
JNC Skip4
мов B, # 247d
мов P1, б
Skip4:
мов B, # 255d
мов P1, б

jnb РИ, CheckReturnPoint
CLR РИ
мов а, sbuf

cjne A, # 246d, CountCountinus
мов r0, # 0D

CheckReturnPoint:
мов C, p0.7
JC InnerSpot1
JNC InnerSpot11

CountCountinus:
Inc r0

DigOne:
cjne r0, # 1D, DigTwo
мов R1,
AJMP DisplayData

DigTwo:
cjne r0, # 2D, DigThree
мов r2, а
JMP DisplayData

DigThree:
cjne r0, # 3D, DigFour
мов r3, а
JMP DisplayData

DigFour:
cjne r0, # 4D, CheckReturnPoint
мов r0, # 0D
мов R4,
AJMP DisplayData

Конец

 

Welcome to EDABoard.com

Sponsor

Back
Top