|
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, 04:57 PM | #5 |
Nhập môn đệ tử
Tham gia ngày: Dec 2005
Bài gửi: 7
: |
Chương trình thứ 2:
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> ;/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,0 ;; RB0 = 1 call Delay100ms bcf PORTB,0 ;; RB0 = 1 call Delay100ms goto Loop_Main ;; Trở về chương trình chính ;/Region ;;================================================|================================================= ;Function Delay10ms - Hàm tam ngưng Nx10ms ;Sumary ;; ;; Input: ;; Output: ;; Effect: ;/Sumary Delay100ms movlw 250 ;; Nap vao gia tri y movwf bTemp2 movlw 199 ;; Nap vao gia tri x movwf bTemp1 ;; y lan Loop_DHM decfsz bTemp1,f goto Loop_DHM ;; x-1 lan movwf bTemp1 ;; y lan decfsz bTemp2,f goto Loop_DHM return ;; 8+3+y*(x-1)*2+y*4 = 7 + y(x+1)*2 = (100.008) ;/Function ;;------------------------------------------------|------------------------------------------------- END ;; Trình biên dịch tự động dừng khi gặp lệnh này RB0 EQU 0 RB1 EQU 1 RB2 EQU 2 RB3 EQU 3 RB4 EQU 4 RB5 EQU 5 RB6 EQU 6 RB7 EQU 7 Sửa một số chữ chú thích sai Code:
;;================================================|================================================= ;; Tên chương trình : Hướng đẫn học Pic ;; Mã số kiểm tra : ;; Người thực hiện : qmk ;; Ngày cập nhật : 31/12/2005 ;; Phiên bản : Writing ;; Mô tả phần cứng : ;; - Pic16F88 ;; - Tần số Xtal : 4MHz ;; - Xem tài liệu thiết kế phần cứng đi kèm ;;------------------------------------------------|------------------------------------------------- ;; Mô tả chương trình: ;; - Các thông tin về cập nhật chương trình xem ở cuối chương trình ;; ;;------------------------------------------------|------------------------------------------------- ;; Thỏa thuận bản quyền: ;; - Bản quyền phần mềm này thuộc về người viết chương trình... ;;================================================|================================================= ;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> ;; Bổ sung thêm một vài định nghĩa ;/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 bcf PORTB,RB0 ;; RB0 = 0 call Delay100ms goto Loop_Main ;; Trở về chương trình chính ;/Region ;;================================================|================================================= ;Function Delay10ms - Hàm tam ngưng Nx10ms ;Sumary ;; ;; Input: ;; Output: ;; Effect: ;/Sumary Delay100ms movlw 250 ;; Nap vao gia tri y movwf bTemp2 movlw 199 ;; Nap vao gia tri x movwf bTemp1 ;; y lan Loop_DHM decfsz bTemp1,f goto Loop_DHM ;; x-1 lan movwf bTemp1 ;; y lan decfsz bTemp2,f goto Loop_DHM return ;; 8+3+y*(x-1)*2+y*4 = 7 + y(x+1)*2 = (100.008) ;/Function ;;------------------------------------------------|------------------------------------------------- END ;; Trình biên dịch tự động dừng khi gặp lệnh này thay đổi nội dung bởi: qmk, 31-12-2005 lúc 05:36 PM. |
|
|