60PPM & 1 PPM Out

S

Sheeraz Khan

Guest
Can anybody menggambar skema kode terdaftar?

; Pulse_60.asm
;
; 22 Oktober 2004
;
; Keluaran 1 pulsa / menit dari 50Hz utama atau jam 0.5Hz sirkuitdaftar P = 3D 12F675
termasuk "P12F675.inc"

errorlevel -305, -302, -306; MPLAB kesalahan penekanan

__CONFIG _CP_OFF & _INTRC_OSC_NOCLKOUT & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_ON

bank0 makro
bcf Status, Rp0
bcf status, Rp1
bcf status, irp
endm

bank1 makro
bsf Status, Rp0
bcf status, Rp1
bcf status, irp
endm

mov makro litval, file
movlw litval
file movwf
endm

cblock 0x20

kutu
secs
temp1
temp2
t0_cnt

endc

# define dipimpin gpio, 0; 1 ppm LED
# define kekuasaan gpio, 1; induk di
# define mains50 gpio, 2; 50Hz di, INA
# define b0int gpio, 4; keluar untuk 452
# define jam gpio, 5; 0.5Hz dari modul jam

org 0x00

goto start

org 0x04

goto isr

org 0x05

mulai bank1

panggilan 0x3ff
movwf osccal

clrf Ansel; digital input

movlw b'00101110 '
, 1 0.5Hz di
; 0 output ke 452
; 1 / mclr
, 1 50Hz di
, 1 utama on / off
; 0 LED hijau, output
movwf trisio

movlw b'10000110 '
; 1 pullups off
; 110 / 128 TMR0 pre-scaler
movwf option_reg; = 3D ~ 32.768ms rollover 4MHz int RC = oscbank0

clrf gpio
movlw b'00000111 '; 0,1,2 sebagai digital GPIO
movwf cmcon

clrf tmr0

clrf intcon
bsf intcon, inte

clrf t1con

mov 0xff, tmr1l; beban TMR1 dengan -1
mov 0xff, tmr1h

mov ,100, kutu; 2 detik resolusi
mov ,30, secs; 1 menit

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D
; Main loop, menunggu input
; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

btfss utama kekuasaan
goto baterai

bcf intcon, intf
clrf tmr0

wt_lh btfsc mains50
goto chk_m1
wt_hl btfss mains50
goto chk_m2

bcf dipimpin
decfsz ticks
goto utama

mov ,100, kutu; reload ticks
bsf memimpin; 1/50th LED pada kedua
decfsz secs
goto utama

mov ,30, secs; reload secs
panggilan nadi
goto utama

btfss baterai jam
goto sec2; proses jika Mematikan daya
btfsc kekuasaan
goto utama; keluar jika kekuatan datang di
goto baterai

sec2 bsf dipimpin
panggilan ms5; LED selama 5ms
btfss jam; menunggu untuk kembali tinggi
goto -1 $
bcf dipimpin

decfsz secs
goto baterai
mov ,30, secs
panggilan nadi
goto baterai

nadi bsf b0int; 50us pulsa ke 452
mov ,252, temp1
incfsz temp1
goto -1 $
bcf b0int
kembali

kekuasaan chk_m1 btfss
goto baterai
goto wt_lh

kekuasaan chk_m2 btfss
goto baterai
goto wt_hl

ms5 mov ,249, temp1; 5ms penundaan
mov 0x84, temp2
inct1 incfsz temp2
goto -1 $
incfsz temp1
goto inct1
kembali

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D
; Fault - TMR0 time-out
; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

isr nop

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

t_loop bcf intcon, t0if; approx delay 500us
btfss intcon, t0if
goto -1 $
bcf intcon, t0if
kembali

akhir

 
Saya pikir masalah program ini (teks) adalah bahwa dont LABEL telah ":"

Aku mencoba menjelaskan ......Good Luck!!

Ini dont care.Hanya Komentar
-------------------------------------------------- -------------------
; Pulse_60.asm
;
; 22 Oktober 2004
;
; Keluaran 1 pulsa / menit dari 50Hz utama atau jam 0.5Hz sirkuit
-------------------------------------------------- -----------------Ini mengatakan jenis PIC dan file untuk memasukkan
-------------------------------------------------- -------------------------
daftar P = 3D 12F675
termasuk "P12F675.inc"
-------------------------------------------------- --------------------------
CONFIG BITS untuk COMMPILER
-------------------------------------------------- -----
errorlevel -305, -302, -306; MPLAB kesalahan penekanan

__CONFIG _CP_OFF & _INTRC_OSC_NOCLKOUT & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_ON

-------------------------------------------------- ---------
MAKRO PENGGUNA INSTRUCCIONS
-------------------------------------------------- ------------
bank0 makro
bcf Status, Rp0
bcf status, Rp1
bcf status, irp
endm

bank1 makro
bsf Status, Rp0
bcf status, Rp1
bcf status, irp
endm

mov makro litval, file
movlw litval
file movwf
endm
-------------------------------------------------- ------

Varian
-----------------------------------------
cblock 0x20

kutu
secs
temp1
temp2
t0_cnt

endc

# define dipimpin gpio, 0; 1 ppm LED
# define kekuasaan gpio, 1; induk di
# define mains50 gpio, 2; 50Hz di, INA
# define b0int gpio, 4; keluar untuk 452
# define jam gpio, 5; 0.5Hz dari modul jamORIG dari PROGRAM UTAMA
-------------------------------------------------- -------------
org 0x00

goto start
-------------------------------------------------- -----Interrupt RUTIN
-------------------------------------------------- --
org 0x04

goto isr
-------------------------------------------------- --org 0x05

mulai:
bank1:

panggilan 0x3ff
movwf osccal
clrf Ansel; digital input
movlw b'00101110 '
, 1 0.5Hz di
; 0 output ke 452
; 1 / mclr
, 1 50Hz di
, 1 utama on / off
; 0 LED hijau, output
movwf trisio
movlw b'10000110 '
; 1 pullups off
; 110 / 128 TMR0 pre-scaler
movwf option_reg; = 3D ~ 32.768ms rollover 4MHz int RC = oscbank0:

clrf gpio
movlw b'00000111 '; 0,1,2 sebagai digital GPIO
movwf cmcon
clrf tmr0
clrf intcon
bsf intcon, inte
clrf t1con
mov 0xff, tmr1l; beban TMR1 dengan -1
mov 0xff, tmr1h
mov ,100, kutu; 2 detik resolusi
mov ,30, secs; 1 menit

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D
; Main loop, menunggu input
; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

utama:
btfss kekuasaan
goto baterai

bcf intcon, intf
clrf tmr0
wt_lh btfsc mains50
goto chk_m1
wt_hl btfss mains50
goto chk_m2

bcf dipimpin
decfsz ticks
goto utama

mov ,100, kutu; reload ticks
bsf memimpin; 1/50th LED pada kedua
decfsz secs
goto utama

mov ,30, secs; reload secs
panggilan nadi
goto utama

baterai:
btfss jam
goto sec2; proses jika Mematikan daya
btfsc kekuasaan
goto utama; keluar jika kekuatan datang di
goto baterai

sec2:
bsf dipimpin
panggilan ms5; LED selama 5ms
btfss jam; menunggu untuk kembali tinggi
goto -1 $
bcf dipimpin

decfsz secs
goto baterai
mov ,30, secs
panggilan nadi
goto baterai

nadi bsf b0int; 50us pulsa ke 452
mov ,252, temp1
incfsz temp1
goto -1 $
bcf b0int
kembali

kekuasaan chk_m1 btfss
goto baterai
goto wt_lh

kekuasaan chk_m2 btfss
goto baterai
goto wt_hl

ms5 mov ,249, temp1; 5ms penundaan
mov 0x84, temp2
inct1 incfsz temp2
goto -1 $
incfsz temp1
goto inct1
kembali

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D
; Fault - TMR0 time-out
; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

isr:
nop

; = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

t_loop bcf intcon, t0if; approx delay 500us
btfss intcon, t0if
goto -1 $
bcf intcon, t0if
kembali

akhir

 

Welcome to EDABoard.com

Sponsor

Back
Top