Préciser les ports de AT89C51 comme entrée ou sortie.

M

Micro Lover

Guest
Je m en utilisant AT89C51 d'une horloge numérique, avec des impulsions.

Je veux régler le port0-1-2 pour les données en parallèle et en série de données pour port3

le problème est de définir le port d'entrée ou de sortie

Master Clock
------------------
port0 d'entrée; complet 8 bits Port
port1 pour la sortie; complet 8 bits Port
port2 pour la sortie; complet 8 bits Port
port3 pour la sortie (pour l'envoi de données en série)

Slave Clock
------------------
port0 pour la sortie, plein de 8 bits Port
port1 pour la sortie; complet 8 bits Port
port2 pour la sortie; complet 8 bits Port
port3 d'apporter une contribution (pour la réception de données)

Le principal problème est de définir tout un port d'entrée ou en sortie
--------------------------------
Je m envoyer mon code source
s'il vous plaît me faire
n'importe quel type d'erreurs

----------------------------- ------------------- Code Source ---------------------

org 00h

; Set up Timer 1
MOV IE, # 0; Désactiver toutes les interrompre
MOV TMOD, # 020h; Timer 1: Mode 2 (8-bit reload)
MOV TH1, # 230d; Recharger la valeur pour 1201, SMOD = 0
MOV TL1, # 230d; première fois Faites-out correcte
ANL PCON, # 07fh; Pour faire SMOD = 0

; Mettre en place des ports série
MOV SCON, # 50h; Timer 1: Mode 1 (variable bauds) et de permettre de recevoir
SETB TR1; Start timer 1
mov r1, # 6d
mov r2, # 91D
mov r3, # 63d
mov r4, # 63d

Mainloop:
setb p0.7

mov r7, # 90D
SubLoop:
mov r6, # 90D
InnerSpot:
jmp DisplayData
InnerSpot1:
djnz r6, InnerSpot
djnz r7, SubLoop

clr p0.7

mov r7, # 90D
SubLoop1:
mov r6, # 90D
InnerSpot12:
jmp DisplayData
InnerSpot11:
djnz r6, InnerSpot12
djnz r7, SubLoop1jmp mainloop

DisplayData:
mov C, p2.7
ORL C, p0.7mov b, r1
mov p2, b
JNC Skip1
mov b, # 254d
mov p1, b
Skip1:
mov b, # 255d
mov p1, b
mov b, r2
mov p2, b
JNC Skip2
mov b, # 253d
mov p1, b
Skip2:
mov b, # 255d
mov p1, b

mov b, r3
mov p2, b
JNC Skip3
mov b, # 251d
mov p1, b
Skip3:
mov b, # 255d
mov p1, b

mov b, r4
mov p2, b
JNC Skip4
mov b, # 247d
mov p1, b
Skip4:
mov b, # 255d
mov p1, b

JNB RI, CheckReturnPoint
clr RI
mov a, sbuf

cjne a, # 246d, CountCountinus
mov r0, # 0d

CheckReturnPoint:
mov c, p0.7
jc InnerSpot1
JNC InnerSpot11

CountCountinus:
inc r0

DigOne:
cjne r0, # 1d, DigTwo
mov r1, un
Jmp DisplayData

DigTwo:
cjne r0, # 2d, DigThree
mov r2, un
Jmp DisplayData

DigThree:
cjne r0, # 3d, DigFour
mov r3, un
Jmp DisplayData

DigFour:
cjne r0, # 4d, CheckReturnPoint
mov r0, # 0d
mov r4, un
Jmp DisplayData

Fin

 

Welcome to EDABoard.com

Sponsor

Back
Top