M
mpride63
Guest
Hei.
Päätin pari kuukautta sitten halusin oppia Microcontrollers (lue Extreme newbie).Olen kirjoittanut pienen määrän koodi kokoonpanossa, että toivon käyttää perustana loppuun projektin.Olen kuitenkin M joilla on kaikenlaisia ongelmia täytäntöön PRESCALER.En yritän käyttää TMR0 (minun tulisi käyttää toista ajastin?) Ja ulkoinen 32kHz oskillaattorin.Haluan käyttää PRESCALER on 1 / 256.Olen tajunnut, miten määrittää viiveitä jne., mutta elämäni olisi paljon helpompaa, jos voisin ymmärtää, miten muuttaa koodia hyödyntää PRESCALER.
I m käyttäen PIC16F877 ja käynnissä minun simulointia MPLAB SIM.En ole varma, miten tämä ja olisi suuresti apua.Kyllä, olen lukenut muiden virkaa aiheesta mutta ei pääse sen läpi minun paksu kallo.
Koodi:
-------------------------------------------------- ---------------
TMR0 EQU 1
OPTION_REG EQU 81H
PORTA EQU 5
PORTB EQU 6
PORTC EQU 7
PORTD EQU 8
Trisa EQU 5
TRISB EQU 6
TRISC EQU 7
TRISD EQU 8
Tila EQU 3
ZEROBIT EQU 2
CARRY EQU 0
EEADR EQU 0DH
EEDATA EQU 0CH
EECON1 EQU 0CH
EECON2 EQU 0DH
RD EQU 0
WR EQU 1
Wren EQU 2
COUNTER_A EQU 20H
COUNTER_B EQU 21H
;************************************************* *******
LIST P = 16F877
ORG 0; alkaa osoite muistissa on 0
;************************************************* ********
, Alusta ja Set Satamat panos-ja valtion
; MOVLW B'00000111 "
; Movwf TMR0
, BSF STATUS, 5
; MOVLW B'00000000 "
; Movwf TRISB
; MOVLW B'00000000 "
; Movwf TRISC
; MOVLW B'00000000 "
; Movwf TRISD
, BCF STATUS, 5
;************************************************* *********
; Program Setup
BSF STATUS, 5
MOVLW B'00100111 "
Movwf OPTION_REG
BCF STATUS, 5
BEGIN CLRF COUNTER_A
MOVLW B'11111111 "
Movwf COUNTER_A
CLRF COUNTER_B
MOVLW B'00100101 "
Movwf COUNTER_B
;************************************************* ********
; Monitor Inputs
MONITOR BTFSC PORTC, 0; Test vähän 0 tiedoston PORTC ja siirtyä seuraavaan instrucion jos selkeä (pieni)
GOTO-monitori, Loopback jotta Järjestäjä jos bitti 0 tiedostossa PORTC on asetettu (korkea) --
;************************************************* ********
; Counter Määritelmä
COUNTER_DEF DECFSZ COUNTER_A
GOTO ALARM_ON
DECFSZ COUNTER_B
GOTO ALARM_ON
GOTO ALERTS_ON
GOTO BEGIN
;************************************************* ********
; Luo hälytykset
ALARM_ON BTFSC PORTC, 0; Test vähän 0 tiedostossa PORTC
GOTO ALARM_OFF
GOTO COUNTER_DEF
ALERTS_ON BSF PORTB, 0; Kytke Punainen Status LED
BSF PORTD, 0; päälle Summeri
; Lähetä On Command
GOTO BEGIN
ALARM_OFF BCF PORTB, 0; Sammuta LED
Biologinen kertymistekijä BCF PORTD, 0; Sammuta Summeri
; Lähetä OFF Command
GOTO BEGIN; Loopback jotta Järjestäjä
Asiantuntija
; Selvittää, miten valvoa kellon.
; Selvitä, miksi minulla on vaikeuksia käyttää PORTA kuin tulo.
; Kuva tarkalleen, mitä on alustaa.
; Määritä ohjelman tarkastella satamissa eikä vain yksittäisiä nastoja.
Päätin pari kuukautta sitten halusin oppia Microcontrollers (lue Extreme newbie).Olen kirjoittanut pienen määrän koodi kokoonpanossa, että toivon käyttää perustana loppuun projektin.Olen kuitenkin M joilla on kaikenlaisia ongelmia täytäntöön PRESCALER.En yritän käyttää TMR0 (minun tulisi käyttää toista ajastin?) Ja ulkoinen 32kHz oskillaattorin.Haluan käyttää PRESCALER on 1 / 256.Olen tajunnut, miten määrittää viiveitä jne., mutta elämäni olisi paljon helpompaa, jos voisin ymmärtää, miten muuttaa koodia hyödyntää PRESCALER.
I m käyttäen PIC16F877 ja käynnissä minun simulointia MPLAB SIM.En ole varma, miten tämä ja olisi suuresti apua.Kyllä, olen lukenut muiden virkaa aiheesta mutta ei pääse sen läpi minun paksu kallo.
Koodi:
-------------------------------------------------- ---------------
TMR0 EQU 1
OPTION_REG EQU 81H
PORTA EQU 5
PORTB EQU 6
PORTC EQU 7
PORTD EQU 8
Trisa EQU 5
TRISB EQU 6
TRISC EQU 7
TRISD EQU 8
Tila EQU 3
ZEROBIT EQU 2
CARRY EQU 0
EEADR EQU 0DH
EEDATA EQU 0CH
EECON1 EQU 0CH
EECON2 EQU 0DH
RD EQU 0
WR EQU 1
Wren EQU 2
COUNTER_A EQU 20H
COUNTER_B EQU 21H
;************************************************* *******
LIST P = 16F877
ORG 0; alkaa osoite muistissa on 0
;************************************************* ********
, Alusta ja Set Satamat panos-ja valtion
; MOVLW B'00000111 "
; Movwf TMR0
, BSF STATUS, 5
; MOVLW B'00000000 "
; Movwf TRISB
; MOVLW B'00000000 "
; Movwf TRISC
; MOVLW B'00000000 "
; Movwf TRISD
, BCF STATUS, 5
;************************************************* *********
; Program Setup
BSF STATUS, 5
MOVLW B'00100111 "
Movwf OPTION_REG
BCF STATUS, 5
BEGIN CLRF COUNTER_A
MOVLW B'11111111 "
Movwf COUNTER_A
CLRF COUNTER_B
MOVLW B'00100101 "
Movwf COUNTER_B
;************************************************* ********
; Monitor Inputs
MONITOR BTFSC PORTC, 0; Test vähän 0 tiedoston PORTC ja siirtyä seuraavaan instrucion jos selkeä (pieni)
GOTO-monitori, Loopback jotta Järjestäjä jos bitti 0 tiedostossa PORTC on asetettu (korkea) --
;************************************************* ********
; Counter Määritelmä
COUNTER_DEF DECFSZ COUNTER_A
GOTO ALARM_ON
DECFSZ COUNTER_B
GOTO ALARM_ON
GOTO ALERTS_ON
GOTO BEGIN
;************************************************* ********
; Luo hälytykset
ALARM_ON BTFSC PORTC, 0; Test vähän 0 tiedostossa PORTC
GOTO ALARM_OFF
GOTO COUNTER_DEF
ALERTS_ON BSF PORTB, 0; Kytke Punainen Status LED
BSF PORTD, 0; päälle Summeri
; Lähetä On Command
GOTO BEGIN
ALARM_OFF BCF PORTB, 0; Sammuta LED
Biologinen kertymistekijä BCF PORTD, 0; Sammuta Summeri
; Lähetä OFF Command
GOTO BEGIN; Loopback jotta Järjestäjä
Asiantuntija
; Selvittää, miten valvoa kellon.
; Selvitä, miksi minulla on vaikeuksia käyttää PORTA kuin tulo.
; Kuva tarkalleen, mitä on alustaa.
; Määritä ohjelman tarkastella satamissa eikä vain yksittäisiä nastoja.