Professional Documents
Culture Documents
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ Độc lập- tự do- hạnh phúc
KỸ THUẬT VI XỬ LÝ
Lê Quang Nam
Lớp HP : 10KTVXL0
Câu 1) Cho LED sáng kết hợp lần lượt từ RB0 -> RB7, sau đó nhấp nháy (Tần
số là 1Hz)
Begin
Kiểm tra
TẮT LED
Bật Led
+1
BUFFER
Kết Thúc
Code chương trình:(Chương trình được mô phỏng trên simulator ide và trích
xuất file .hex trên Mplab ide)
processor p16f877a
INCLUDE P16F877A.INC
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &
_XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
; khai báo các “Configuration bits”
ORG 0x000 ; Địa chỉ bắt đầu chương trình
GOTO start
start ; Chương trình chính bắt đầu tại đây
BCF STATUS,RP1
BCF STATUS,RP0 ; Chọn BANK0
CLRF PORTB ; Xoá PORTB
BSF STATUS,RP0 ; Chọn BANK1
MOVLW 0x00
MOVWF TRISB ; PORTB <- outputs
BCF STATUS,RP0 ; Chọn BANK0
MOVLW 0x8F ; Giá trị đưa ra PORTB
MOVWF PORTB ; PORTB <- 8Fh
loop GOTO loop ; vòng lặp vô hạn
END ; Kết thúc chương trình
;==========================================================
Hình ảnh chuyển sang file hex thành công bài 1
Bật Led
NÚT NHẤN
TẮT LED
END
Code chương trình:(Chương trình được mô phỏng trên simulator ide và trích
xuất file .hex trên Mplab ide)
processor p16f877a
INCLUDE P16F877A.INC
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
SW1 EQU 0
SW2 EQU 1
SW3 EQU 2
SW4 EQU 3
LED1 EQU 4
LED2 EQU 5
LED3 EQU 6
LED4 EQU 7
ORG 0x000
GOTO start
start
BCF STATUS,RP1
BCF STATUS,RP0
CLRF PORTB
BSF STATUS,RP0
MOVLW b'00001111' ; Thiết lập chức năng từng pin trong PORTB
MOVWF TRISB
BCF STATUS,RP0
loop
CALL switch1 ; Thực hiện lệnh này nếu công tấc được ấn
BTFSS PORTB,SW2 ; Nếu công tắc 1 không được ấn, kiểm tra
công tắc 2
CALL switch2 ; Tiếp túc với các công tắc còn lại
BTFSS PORTB,SW3
CALL switch3
BTFSS PORTB,SW4
CALL switch4
GOTO loop
switch1
CLRF PORTB
BSF PORTB,LED1
RETURN
switch2
CLRF PORTB
BSF PORTB,LED2
RETURN
switch3
CLRF PORTB
BSF PORTB,LED3
RETURN
switch4
CLRF PORTB
BSF PORTB,LED4
RETURN
END
KIỂM
TRA NGOẠI
VI
THỰC HIỆN
END
• Mô phỏng
Câu 4: Tương tự câu 3 nhưng sử dụng ngắt Timer0.
BẮT ĐẦU
0000-> PORB B
DELAY
0001-> PORB B
0000-> PORB B
…………………………………………………………………
…
END
Code chương trình viết trên Pic Simulator :