Mình đang tập tành với PIC6f877A.
mình code thử cho bài mạch đếm,thì khi nạp vào mô phỏng thì chương tình không chậy ?
code của mình đây
mình thử debug rồi, thì phát hiện, không hiểu xao, chương trình không thoát khỏi bảng mã chứa mã hiển thị (mình dùng phương pháp bảng) (và nó báo lỗi tràn stack).
các bạn vào giúp mình vấn đề này cái.
thank.
mình code thử cho bài mạch đếm,thì khi nạp vào mô phỏng thì chương tình không chậy ?
code của mình đây
Code:
;=======================================================================================================; ; ten chuong trinh : mach dem gio phut giay ; ; nguoi thuc hien : nguyen huu tho ; ; phien ban 1 : bai thuc hanh dau tien voi dang nay, dung pic ; ;=======================================================================================================; ;=======================================================================================================; ; khoi tao pic ; ;=======================================================================================================; TITLE "MACH DONG HO GIO PHUT GIAY" PROCESSOR P16F877A INCLUDE <P16F877A.INC> __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC ;=======================================================================================================; ; KHAI BAO MOT SO MACRO ; ;=======================================================================================================; GIAY_DV EQU 0X30 GIAY_CHUC EQU 0X31 PHUT_DV EQU 0X32 PHUT_CHUC EQU 0X33 GIO_DV EQU 0X34 GIO_CHUC EQU 0X35 TRE_TG_1 EQU 0X36 TRE_TG_2 EQU 0X37 BIEN_GIAY_DV EQU 0X38 BIEN_GIAY_CHUC EQU 0X39 BIEN_PHUT_DV EQU 0X3A BIEN_PHUT_CHUC EQU 0X3B BIEN_GIO_DV EQU 0X3C BIEN_GIO_CHUC EQU 0X3D ;=======================================================================================================; ; CHUONG TRINH CHINH ; ;=======================================================================================================; ORG 0x0000 GOTO MAIN ; NHAY DEN CHUONG TRINH CHINH ;-------------------------------------------------------------------; ; CHUONG TRINH CHINH ; ;-------------------------------------------------------------------; ORG 0x0010 MAIN ;-------------------------------------------------------------------; ; CAU HINH CHO CAC PORT ; ;-------------------------------------------------------------------; BANKSEL TRISB ; HIEU NGAM LA CHON BANK1 CLRF TRISB ; DAT TAT CA CAC PIN CUA PORTB LAM CONG RA BANKSEL TRISD ; CHON BANK CHUA TRISB CLRF TRISD ; DAT TAT CA CAC PIN CUA PORTD LAM CONG RA ;-------------------------------------------------------------------; ; KHOI TAO GIA TRI BAN DAU CHO CAC BIEN ; ;-------------------------------------------------------------------; MAIN_1 MOVLW B'00000000' MOVWF BIEN_GIAY_DV ; DAT HANG DON VI CUA GIAY VE 0 MOVLW B'00000000' MOVWF BIEN_GIAY_CHUC ; DAT HANG CHUC CUA GIAY VE 0 MOVLW B'00000000' MOVWF BIEN_PHUT_DV ; DAT HANG DON VI CUA PHUT VE 0 MOVLW B'00000000' MOVWF BIEN_PHUT_CHUC ; DAT HANG CHUC CUA PHUT VE 0 MOVLW B'00000000' MOVWF BIEN_GIO_DV MOVLW B'00000000' MOVWF BIEN_GIO_CHUC BCF STATUS,RP0 BCF STATUS,RP1 ; CHON QUAY TRO LAI BANK0 DE DE THAO TAC TRONG HAM HIEN_THI ;-------------------------------------------------------------------; ; CHUONG TRINH GOI CAC HAM CON XU LY ; ;-------------------------------------------------------------------; MAIN_0 CALL GIAI_MA CALL HIEN_THI ;-------------------------------------------------------------------; ; PHAN TANG CAC BIEN THOI GIAN ; ;-------------------------------------------------------------------; INCF BIEN_GIAY_DV,1 MOVF BIEN_GIAY_DV,0 XORWF D'10',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_GIAY_DV INCF BIEN_GIAY_CHUC,1 MOVF BIEN_GIAY_CHUC,0 XORWF D'6',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_GIAY_CHUC INCF BIEN_PHUT_DV,1 MOVF BIEN_PHUT_DV,0 XORWF D'10',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_PHUT_DV INCF BIEN_PHUT_DV,1 MOVF BIEN_PHUT_DV,0 XORWF D'6',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_PHUT_CHUC INCF BIEN_GIO_DV,1 MOVF BIEN_GIO_DV,0 XORWF D'10',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_GIO_DV INCF BIEN_GIO_CHUC,1 MOVF BIEN_GIO_CHUC,0 XORWF D'6',1 BTFSS STATUS,Z GOTO MAIN_0 CLRF BIEN_GIO_CHUC GOTO MAIN_0 ;-------------------------------------------------------------------; ; CHUONG TRINH CON GIAI MA ; ;-------------------------------------------------------------------; GIAI_MA MOVF BIEN_GIAY_DV,0 ; GAN NOI DUNG CUA BIEN GIAY VAO THANH GHI W CALL BANG_MA ; NHAY DEN BANG MA MOVWF GIAY_DV ; GIAY_DV CHUA MA HIEN THI CUA BIEN GIAY RA 7-SEG MOVF BIEN_GIAY_CHUC,0 CALL BANG_MA MOVWF GIAY_CHUC MOVF BIEN_PHUT_DV,0 CALL BANG_MA MOVWF PHUT_DV MOVF BIEN_PHUT_CHUC,0 CALL BANG_MA MOVWF PHUT_CHUC MOVF BIEN_GIO_DV,0 CALL BANG_MA MOVWF GIO_DV MOVF BIEN_GIO_CHUC,0 CALL BANG_MA MOVWF GIO_CHUC RETURN ;-------------------------------------------------------------------; ; CHUONG TRINH CON HIEN THI ; ;-------------------------------------------------------------------; HIEN_THI MOVF GIAY_DV,0 ; NAP NOI DUNG CUA GIAY_DV VAO THANH GHI W MOVWF PORTB ; DI CHUYEN NOI DUNG TREN RA PORTB MOVLW B'00100000' ;------------------ MOVWF PORTD ; CHO PIN0 CUA PORTD TICH CUC DE SANG GIAY_DV CALL DELAY ; TAO TRE DE QUAN SAT DUOC CLRF PORTD ; XOA PORTD DE CHONG LEM MOVF GIAY_CHUC,0 MOVWF PORTB MOVLW B'00010000' MOVWF PORTD CALL DELAY CLRF PORTD MOVF PHUT_DV,0 MOVWF PORTB MOVLW B'00001000' MOVWF PORTD CALL DELAY CLRF PORTD MOVF PHUT_CHUC,0 MOVWF PORTB MOVLW B'00000100' MOVWF PORTD CALL DELAY CLRF PORTD MOVF GIO_DV,0 MOVWF PORTB MOVLW B'00000010' MOVWF PORTD CALL DELAY CLRF PORTD MOVF GIO_CHUC,0 MOVWF PORTB MOVLW B'00000001' MOVWF PORTD CALL DELAY CLRF PORTD RETURN ;-------------------------------------------------------------------; ; CHUONG TRINH CON DELAY ; ;-------------------------------------------------------------------; DELAY MOVLW D'30' MOVWF TRE_TG_1 DELAY_1 MOVLW D'20' MOVWF TRE_TG_2 DECFSZ TRE_TG_2,1 GOTO $-1 DECFSZ TRE_TG_1,1 GOTO DELAY_1 RETURN ;-------------------------------------------------------------------; ; DUNG PHUONG PHAP BANG DE LAY MA LED 7-SEG ; ;-------------------------------------------------------------------; BANG_MA addwf PCL, f retlw 0xc0 retlw 0xf9 retlw 0xa4 retlw 0xb0 retlw 0x99 retlw 0x92 retlw 0x82 retlw 0xf8 retlw 0x80 retlw 0x90 ;=======================================================================================================; ; KET THUC CHUONG TRINH ; ;=======================================================================================================; END
các bạn vào giúp mình vấn đề này cái.
thank.