PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   dsPIC - Bộ điều khiển tín hiệu số 16-bit (http://www.picvietnam.com/forum/forumdisplay.php?f=29)
-   -   Giúp em đếm từ 30->0 dùng pic16f877a (http://www.picvietnam.com/forum/showthread.php?t=8392)

phapdp 30-03-2011 06:41 PM

Giúp em đếm từ 30->0 dùng pic16f877a
 
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

Đếm từ 30 -> 0 dùng 16f877a
 
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

Chuyen Viet C di ban oi
 
Trích:

Nguyên văn bởi phapdp (Post 43246)
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!


Múi giờ GMT. Hiện tại là 05:06 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam