initialiseren AT89C2051 poort!

C

c3cube

Guest
Waarover moet ik schrijven tot en met 3 initialiseren poort als input poort in assembler taal??Eigenlijk hoef ik maar P3.0 te schakelen van een stappenmotor met behulp van een afstandsbediening.

 
Hi

Om een haven als input poort die je hebt om gewoon te schrijven '1 'om dat pin / haven en lees de status.

Code:

setb P3.1, schrijf 1 tot en met de haven

jb P3.1 vast te stellen; controleren als het 1 of 0

NOP; bit is dus niet input is 0

sjmp con

set: NOP; bit is dus input is 1con:

; Rest van de code
 
Ik heb het geprobeerd, maar het werkt niet!Elke andere mothods??

 
c3cube schreef:

Ik heb het geprobeerd, maar het werkt niet!
Elke andere mothods??
 
De P3.0 wordt gebruikt om 1 geven een schakelaar op het signaal te zetten op de stepper motor die is aangesloten op Port.

 
Ervan uitgaande dat er een schakelaar wordt aangesloten tussen P3.0 en GND ..

SETB P3.0

LOOP: JB P3.0, LOOP
..
cont ..

Wanneer u P3.0 druk op de schakelaar wordt "0" voor een tijdje, zal microcontroller laat de lus en doorgaan met stappenmotor controle ..

Met vriendelijke groet,
IanP

 
Probeer mijn standaard code voor AT89c

;############# Geschreven door Ali Mustafa Naas voor hulp #######################
;################################################# #######################
$ Titel (LED flashing.asm)
$ MOD51
$ NOPRINT; aan een fout op het scherm ziet, eventuele fouten gevonden
$ INCLUDE (MYPAULM2.EQU); adres van PAULMON2 nut routines
$ Lijst; overrided door $ NOPRINT

;################################################# # # #
; RESET ROUTINE
ORG 0000H; routine op te zoeken op 00h
AJMP Main; Ga naar START

;################################################# # # #
; Interrupts (ik zal ze hier niet gebruiken)

ORG 03H; externe interrupt 0
Reti
ORG 0BH; timer 0 onderbreken
Reti
ORG 13H; externe interrupt 1
Reti
ORG 1Bh; timer 1 interrupt
Reti
ORG 23h; seriële poort interrupt
Reti
ORG 25h; lokaliseren begin van de rest van het programma;################################################# # # # #

INITIALIZE:; opgericht controle registers & poorten
MOV TCON, # 00h
MOV TMOD, # 00h
MOV PSW, # 00h
MOV IE, # 00h; interrupts uitschakelenRET;################################################# #####

;************************************************* *************************
;
DELAYMS:; milliseconde vertraging routine
;;
MOV R7, # 00h; zet de waarde 0 in het register R7
LOOPA:
INC R7, R7 te verhogen door een (R7 = R7 1)
Een MOV, R7; bewegen waarde in te Accumlator R7 (ook bekend als A)
CJNE A, # 0FFH, LOOPA; vergelijk A tot FF hex (256).Als niet gelijk naar LOOPA
RET; terug te keren naar het punt dat deze routine werd aangeroepen door
;
;************************************************* *************************

;################################################# ######

lus:
ACALL INITIALIZE
SETB p1.0; even p1.0-poort wordt geïnitialiseerd als input
SETB P1.2, P1.2 even poort wordt geïnitialiseerd als input ook
Noot: de initialisatie van de havens kan worden gedaan in de INITIALIZE sub-routine
, In plaats van de belangrijkste lus, is er geen verschil.
; In het normale geval alle poorten zijn initailized output poort.

####### Uw code schrijven hier #####################
EINDE

veel succes

 

Welcome to EDABoard.com

Sponsor

Back
Top