|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
31-12-2005, 07:43 PM | #6 |
Nhập môn đệ tử
Tham gia ngày: Dec 2005
Bài gửi: 7
: |
Phiên bản khác dùng timer để delay
Code:
;Region CẤU HÌNH BỘ BIÊN DỊCH - COMPILER CONFIGURATION TITLE "Hướng dẫn học Pic" PROCESSOR PIC16F88 CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC include <P16F88.inc> include <myp16def.inc> ;; Bo sung mot so khai bao ;/Region ;;================================================|================================================= ;Region KHAI BÁO BIẾN, HẰNG... - VARIABLE, CONSTANT,ETC DEFINITION ORG 0x20 bTemp1 RES 1 bTemp2 RES 1 ;;================================================|================================================= ORG 0x0000 GOTO MAIN ORG 0x0005 ;;================================================|================================================= ;Region CHƯƠNG TRÌNH CHÍNH - MAIN PROGRAM MAIN banksel TRISB ;; Bank select (Một iMacro của trình biên dịch?) clrf TRISB ;; TRISB = 0 Out, =1 In (Tri State) Loop_Main: banksel PORTB bsf PORTB,RB0 ;; RB0 = 1 call Delay100ms banksel PORTB bcf PORTB,RB0 ;; RB0 = 1 call Delay100ms goto Loop_Main ;; Trở về chương trình chính ;/Region ;;================================================|================================================= ;Function Delay100ms - Hàm tạm ngưng 100ms ;Sumary ;; S ;; Input: ;; Output: ;; Effect: Timer 1 ;/Sumary TIMER1_RELOAD EQU -(50000+8) Delay100ms banksel PIE1 clrf PIE1 clrf INTCON ;; Không sử dụng ngắt clrf PIR1 banksel T1CON clrf T1CON movlw 0x10 ;; Đặt chế độ prescaler 1:2 movwf T1CON movlw HIGH TIMER1_RELOAD ;; Nạp giá trị byte cao movwf TMR1H movlw LOW TIMER1_RELOAD ;; Nạp giá trị byte thấp movwf TMR1L bsf T1CON,TMR1ON ;; Khởi động Timer banksel PIR1 WAIT_DHM btfss PIR1, TMR1IF goto WAIT_DHM bcf PIR1, TMR1IF return ;/Function ;;------------------------------------------------|------------------------------------------------- END thay đổi nội dung bởi: qmk, 01-01-2006 lúc 12:26 PM. |
|
|