prosim pomoč

A

ahme0307

Guest
i am delajo moje zadnje leto project.but Imam problem.i napisati kodo za montažo
izpis samo uporabi UART, vendar sem ob večkratnem A s.please koli kaj je narobe z kodo?tukaj je koda
LIST P = 16F873
# vključujejo "P16F873.INC"
# Opredeliti BANK0 BCF STATUS, 5
# Opredeliti BANK1 BSF STATUS, 5

; PORT inicializacijo
BCF STATUS, 6

BANK0
CLRF PORTC

BANK1
BSF TRISC, 7
BCF TRISC, 6
START
; Zaporedno inicializacijo
BSF TXSTA, 4
BCF TXSTA, 7
BSF TXSTA, 5
; NOVO
BCF TXSTA, 6BANK0
BSF RCSTA, 7
BCF RCSTA, 4
BCF RCSTA, 5

MOVLW d'65 '
MOVWF TXREG
BANK1
Počakaj BTFSS TXSTA, 1
Goto počakajte
BANK0
Goto START
END

 
Vaša koda teče do konca potem se začne znova!To nima nobene končne točke tako ohranja ponavljanje.
Lahko bi inIT ter pošljejo v potprograme in so končne točke v kodi.
Ne morem videti, če pišete na SPBRG Registrirajte določiti Hitrost prenosa podatkov, razen če je to sinkroni mod.

Nekaj podobnega temu:Koda:LIST P = 16F873

# vključujejo "P16F873.INC"

# Opredeliti BANK0 BCF STATUS, 5

# Opredeliti BANK1 BSF STATUS, 5; PORT inicializacijo

BCF STATUS, 6

BANK0

CLRF PORTC

klic INIT_UARTSTART

BANK0

MOVLW d'65 '

klic posredujeSESTAVLJENO

Goto SESTAVLJENO; --- Zaporedno inicializacijoINIT_UART

BANK1

BSF TRISC, 7

BCF TRISC, 6BSF TXSTA, 4; bit Ta mora biti jasna za asinhroni način

BCF TXSTA, 7

BSF TXSTA, 5

BCF TXSTA, 6BANK0

BSF RCSTA, 7

BCF RCSTA, 4

BCF RCSTA, 5

vrnitev; --- Prenosne charPosredujejo

MOVWF TXREG

BANK1

Počakaj BTFSS TXSTA, 1

Goto počakajte

vrnitevEND

 
Hvala za vaš
odziva so spremenili kodo na naslednje.
LIST P = 16F873
# vključujejo "P16F873.INC"
# Opredeliti BANK0 BCF STATUS, 5
# Opredeliti BANK1 BSF STATUS, 5

; PORT inicializacijo
BCF STATUS, 6

BANK0
CLRF PORTC
CLRF Porta
BSF RCSTA, 7; omogočajo serijski vmesnik

BANK1
BSF TRISC, 7
BCF TRISC, 6
; BSF TRISA, 3

;================== Zaporedno inicializacijo ============================= ======
BSF TXSTA, 2; VISOKE Hitrost prenosa podatkov
MOVLW 81H
MOVWF SPBRG; 9600 Hitrost prenosa podatkov
BCF TXSTA, 4; Nesinkroni MODE
; BSF TXSTA, 5; posredujejo omogočajo
BCF TXSTA, 5; posredujejo Onemogoči

; START
; TISK BTFSS Porta, 3
; Goto TISK
BANK0
MOVLW 41h
MOVWF TXREG; CHAR "A"

BANK1
BSF TXSTA, 5; posredujejo omogočajo
Počakaj BTFSS TXSTA, 1
Goto počakajte
BCF TXSTA, 5; posredujejo Onemogoči

; Goto START
END

ampak še vedno sem ob večkratnem značaja A namesto enotne A

 
Ko program konča, se šele začne znova.Če želite, da se ustavijo, ne

Stop Pojdi stop

You need to debounce je potisni gumb.
Put zamudo približno v 50mS po gumb, nato pa poglej še enkrat, ko je takoj poskrbite, da je še vedno pritisnjen.
Nato se počaka, dokler se ne sprosti pred pogledate, če je bila zatrta.

Pseudo koda.

Gumb pritisnili
Počakaj 50mS
Gumb je pritisnjen še?

no, pojdi na začetek

ja, proizvodnja char
char output
je gumb pritisnjen še?
Ja, počakaj za javnost.
no, gremo na začetek.

 
ahme0307 wrote:BANK1

BSF TXSTA, 5; posredujejo omogočajo

Počakaj BTFSS TXSTA, 1

Goto počakajte

BCF TXSTA, 5; posredujejo OnemogočiGoto START

END
 

Welcome to EDABoard.com

Sponsor

Back
Top