View Full Version : Giúp em đếm từ 30->0 dùng pic16f877a
phapdp
30-03-2011, 06:41 PM
Giúp em đếm từ 30->0 dùng pic16f877a.thời gian là 1s giảm 1 đơn vị
em mới vô diễn đàng mấy anh giúp đỡ.
phapdp
30-03-2011, 07:28 PM
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
DEM1 EQU 20H
DEM2 EQU 21H
DEM EQU 22H
ORG 0000H
BCF STATUS,6
BCF STATUS,5
CLRF PORTB
CLRF PORTA
BSF STATUS,5
MOVLW B'00000000'
MOVWF TRISB
BCF TRISA,0
BCF TRISA,1
BCF STATUS,5
MAIN
BCF PORTA,0
BSF PORTA,1
MOVLW B'10100100'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'10100100'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'10010000'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY1
GOTO MAIN
DELAY1
BCF STATUS,6
BSF STATUS,5
BCF OPTION_REG,3
BCF OPTION_REG,2
BSF OPTION_REG,1
BSF OPTION_REG,0
BCF STATUS,5
MOVLW D'250'
MOVWF DEM
LOOP
MOVLW D'5'
MOVWF TMR0
BSF STATUS,5
BCF OPTION_REG,5
BCF STATUS,5
LOOP1
BTFSS INTCON,2
GOTO LOOP1
BCF INTCON,2
DECFSZ DEM,1
GOTO LOOP
RETURN
END
Chương trình này bị sai.Giúp e cho con số 2 đứng lại với
ngocduemta4_ac
21-04-2011, 12:00 PM
Hi bạn, mình làm cái này rồi nhưng không nhớ chương trình cụ thể là gì nữa. Đại loại là thế này (mình dùng ngôn ngữ C): bạn tạo 1 biến X,Y. Gán biến X giá tri ban đầu là 30, sau đó lấy X - 1 = Y, đưa Y ra cổng nào đó (để hiển thị lên Led 7 thanh chẳng hạn). Sau đó gán Y = X. Delay 1s và lặp lại như trên. Nếu Y = 0 gán X =30 để lặp lại.
Chúc bạn thành công.
tanbka
21-04-2011, 11:39 PM
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
DEM1 EQU 20H
DEM2 EQU 21H
DEM EQU 22H
ORG 0000H
BCF STATUS,6
BCF STATUS,5
CLRF PORTB
CLRF PORTA
BSF STATUS,5
MOVLW B'00000000'
MOVWF TRISB
BCF TRISA,0
BCF TRISA,1
BCF STATUS,5
MAIN
BCF PORTA,0
BSF PORTA,1
MOVLW B'10100100'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'10100100'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'10010000'
MOVWF PORTB
CALL DELAY1
BCF PORTA,0
BSF PORTA,1
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY1
BCF PORTA,1
BSF PORTA,0
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY1
GOTO MAIN
DELAY1
BCF STATUS,6
BSF STATUS,5
BCF OPTION_REG,3
BCF OPTION_REG,2
BSF OPTION_REG,1
BSF OPTION_REG,0
BCF STATUS,5
MOVLW D'250'
MOVWF DEM
LOOP
MOVLW D'5'
MOVWF TMR0
BSF STATUS,5
BCF OPTION_REG,5
BCF STATUS,5
LOOP1
BTFSS INTCON,2
GOTO LOOP1
BCF INTCON,2
DECFSZ DEM,1
GOTO LOOP
RETURN
END
Chương trình này bị sai.Giúp e cho con số 2 đứng lại với
Bay gio chu yeu moi nguoi viet tren C de co the chuyen doi linh hoat giua cac chip vi dieu khien, va nhu the moi nguoi se giup ban duoc nhieu hon!
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.