1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng Dẫn Cách Học Lập Trình Vi Điều Khiển pic18f4550

17 916 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 20,81 KB

Nội dung

hướng dẫn lập trình trên chip 18f4550 , hướng dẫn lập trình đèn led các dạng bài tập từ cơ bản đến nâng cao có hướng dẫn code mẫu cực kì dễ hiểu, hướng dẫn lập trình trên chân RB,RD ....hướng dẫn lập trình giải mã các tín hiệu điều khiển từ xa như đèn giao thông, điều khiển tivi sony điều khiển ô tô xe máy cùng tất cả các tín hiệu có dùng mắt hồng ngoại ...etc

Trang 1

L p trình chip 18f4550 ập trình chip 18f4550

L p trình đ c chân RB0 ng t ập trình đọc chân RB0 ngắt ọc chân RB0 ngắt ắt

config fosc=HSPLL_HS

config PLLDIV = 5

config CPUDIV = OSC4_PLL6

config PB

config BOR = OFF

config LIP = OFF

config WDT = OFF

include "18f4550.inc"

include

org 0

goto BATDAU

org 8

got xulingat

org 30

BATDAU

bcf OSCCON, 1

bcf OSCCON, 0;

movlw b'11010000'

movwf INTCON;

movlw b'00000000'

movwf INTCON2;

Trang 2

bcf TRISB,0;

bcf TRISD, 2;

lap

goto lap

xulingat

btfss LATD,2

goto thietlap1

bcf LATD, 2

goto thoat

thietlap1

bsf LATD2

thoat

call delay1s

retfie

;=========

delay1s

MOVLW 0x15

MOVWF TMP2 MOVLW 0x0CB ;203 DEC MOVWF TMP2

MOVLW 0x0EC ;236 DEC MOVWF TMP1

MOVLW 0x85 ;133 DEC MOVWF TMP0

DECFSZ TMP0,F

Trang 3

GOTO $-1

DECFSZ TMP1,F

GOTO $-3

DECFSZ TMP2,F

GOTO $-5

return

end

l p trình chip đ c d li u t c ng B ập trình đọc chân RB0 ngắt ọc chân RB0 ngắt ữ liệu từ cổng B ệu từ cổng B ừ cổng B ổng B

config BOR = off

config LVP = off

config WDI = off

config PBADEN = off

config FOSC = HSPLL_HS

config PLLDIV = 5

config CPUDIV = OSC4_PLL6

include "p18f4550"

org 0

goto batdau

org 30

;xay dung chuong trinh con

tre

bcf OSCCON ,1

Trang 4

bcf OSCCON ,0

;cpu dao dong primiry

bcf INTCON 2,7

bcf TRISD ,7

bsf TRISB ,0

lap

btfsc POSTB, 0

bsf LATB, 7

call tre

bcf LATB, 7

call tre

goto lap

and

l p trình đi u khi n ti vi sony ập trình đọc chân RB0 ngắt ều khiển ti vi sony ển ti vi sony

config WDT = off ; tat dong ho watch dog

config bor = off ; khong reset khi nguon giam config FOSC = HSPLL_HS

config PLLDIV = 5 ; dau vao 20Mhz

config CPUDIV = OSC4_PLL6; toc do 96/6=16 config PBADEN = OFF ; chan PB0-PB4 la I/O digital config LVP = off ; tat che do nap dien ap thap include "P18F4550.INC"

biendem equ 0x20 ; bien dem

lenh equ 0x21 ; lenh

mathietbi equ 0x22 ; du lieu

Trang 5

TMP1 equ 0x23

TMP0 equ 0x24

org 0

goto batdau

org 0x08

goto xulingat

org 30

batdau

bcf OSCCON,0,1

bcf OSCCON,1,1

BsF TRISB,0 ; chân PB0 là vào du lieu

movlw 0

movwf TRISD ;cong D ra du lieu

movlw 0

movwf INTCON2 ; bit7=0( kéo các chân cong B lên 1) bit6=0 (ngat INT0 boi suon am) movlw b'11010000' ; cho phép ngat INT0

movwf INTCON ;cho phép ngat INT0

movlw 255

movwf LATD

lapvotan

goto lapvotan

; -xulingat

movlw 3

Trang 6

movwf biendem ; bien dem

wait

call delay750

BTFSC PORTB,0 ; bo qua lenh tiep theo neu PORTB0=0 goto thoat

decfsz biendem,1

goto wait

; xong bit dong bo

movlw 7

movwf biendem

lap7lan

doiduongl

BTFSS PORTB,0 ; bo qua lenh tiep theo neu PORTB0=1 goto doiduongl

doiaml

BTFSC PORTB,0

goto doiaml

call delay750

bcf STATUS,0 ; xoa co C ,co C la bit 0 cua STATUS BTFSS PORTB,0

bsf STATUS,0 ; thiet lap co C=1 neu PORTB0=1

RRCF lenh,1 ; dich phai dua co C vao lenh

decfsz biendem,1

goto lap7lan

Trang 7

bcf STATUS,0

RRCF lenh,1

; lay xong ma lenh

movlw 5

movwf biendem

lap5lan

doiduongdtb

BTFSS PORTB,0 ; bo qua lenh tiep theo neu PORTB0=1 goto doiduongdtb

doiamdtb

BTFSC PORTB,0

goto doiamdtb

call delay750

bcf STATUS,0 ; xoa co C ,co C la bit 0 cua STATUS BTFSS PORTB,0

bsf STATUS,0 ; thiet lap co C=1 neu PORTB0=1

RRCF mathietbi,1 ; dich phai dua co C vao lenh

decfsz biendem,1

goto lap5lan

BCF STATUS,0

RRCF mathietbi,1

BCF STATUS,0

RRCF mathietbi,1

BCF STATUS,0

RRCF mathietbi,1

Trang 8

; lay xong du lieu

call dieukhien

thoat

bcf INTCON ,1 ; xoa co ngat

RETFIE

; -delay750 ; tre 800 micro giay tu Fcpu=16Mhz <=>2996+4 T MOVLW 0x04 ;4 DEC

MOVWF TMP1

MOVLW 0x0E3 ;227 DEC

MOVWF TMP0

lap DECFSZ TMP0,F

GOTO lap

DECFSZ TMP1,F

GOTO lap

return

dieukhien

movlw 1

CPFSEQ mathietbi

goto ketthuc

call hienthi

ketthuc

return

Trang 9

hienthi ;dung cho bai tiep theo cac bai tuong tu movlw 20

cpfseq lenh

goto ketthucht

call phudinhrd2

ketthucht

return

;=========================

phudinhrd2

btfss LATD,2

GOTO LEN1

BCF LATD,2

GOTO THOATPD

LEN1

BSF LATD,2

THOATPD

movlw 255

movwf biendem

laptre

CALL delay750 ; goi tre

decfsz biendem,1

goto laptre

return

Trang 10

l p trình đi u khi n ti vi sony bottons ập trình đọc chân RB0 ngắt ều khiển ti vi sony ển ti vi sony

config WDT = off ; tat dong ho watch dog

config bor = off ; khong reset khi nguon giam config FOSC = HSPLL_HS

config PLLDIV = 5 ; dau vao 20Mhz

config CPUDIV = OSC4_PLL6; toc do 96/6=16

config PBADEN = OFF ; chan PB0-PB4 la I/O digital config LVP = off ; tat che do nap dien ap thap

include "P18F4550.INC"

biendem equ 0x20 ; bien dem

lenh equ 0x21 ; lenh

mathietbi equ 0x22 ; du lieu

TMP1 equ 0x23

TMP0 equ 0x24

org 0

goto batdau

org 0x08

goto xulingat

org 30

batdau

bcf OSCCON,0,1

bcf OSCCON,1,1

BsF TRISB,0 ; chân PB0 là vào du lieu

Trang 11

movlw 0

movwf TRISD ;cong D ra du lieu

movlw 0

movwf INTCON2 ; bit7=0( kéo các chân cong B lên 1) bit6=0 (ngat INT0 boi suon am) movlw b'11010000' ; cho phép ngat INT0

movwf INTCON ;cho phép ngat INT0

movlw 255

movwf LATD

lapvotan

goto lapvotan

; -xulingat

movlw 3

movwf biendem ; bien dem

wait

call delay240

BTFSC PORTB,0 ; bo qua lenh tiep theo neu PORTB0=0

goto thoat

decfsz biendem,1

goto wait

; xong bit dong bo

movlw 7

movwf biendem

lap7lan

Trang 12

doiduongl

BTFSS PORTB,0 ; bo qua lenh tiep theo neu PORTB0=1 goto doiduongl

doiaml

BTFSC PORTB,0

goto doiaml

call delay240

bcf STATUS,0 ; xoa co C ,co C la bit 0 cua STATUS BTFSS PORTB,0

bsf STATUS,0 ; thiet lap co C=1 neu PORTB0=1

RRCF lenh,1 ; dich phai dua co C vao lenh

decfsz biendem,1

goto lap7lan

bcf STATUS,0

RRCF lenh,1

; lay xong ma lenh

movlw 5

movwf biendem

lap5lan

doiduongdtb

BTFSS PORTB,0 ; bo qua lenh tiep theo neu PORTB0=1 goto doiduongdtb

doiamdtb

BTFSC PORTB,0

goto doiamdtb

Trang 13

call delay240

bcf STATUS,0 ; xoa co C ,co C la bit 0 cua STATUS

BTFSS PORTB,0

bsf STATUS,0 ; thiet lap co C=1 neu PORTB0=1

RRCF mathietbi,1 ; dich phai dua co C vao lenh

decfsz biendem,1

goto lap5lan

BCF STATUS,0

RRCF mathietbi,1

BCF STATUS,0

RRCF mathietbi,1

BCF STATUS,0

RRCF mathietbi,1

; lay xong du lieu

call dieukhien

thoat

call tre

bcf INTCON ,1 ; xoa co ngat

RETFIE

; -delay240 ; tre 800 micro giay tu Fcpu=16Mhz <=>2996+4 T MOVLW 0x04 ;4 DEC

MOVWF TMP1

MOVLW 0x0E3 ;227 DEC

Trang 14

MOVWF TMP0

lap DECFSZ TMP0,F

GOTO lap

DECFSZ TMP1,F

GOTO lap

return

dieukhien

movlw 1

CPFSEQ mathietbi

goto ketthuc

call hienthi

ketthuc

return

;======================

hienthi

movlw 21 ; 21 la gia tri phim power cpfseq lenh

goto sosanh_mute

call xuli_power

goto ketthucht

sosanh_mute

movlw 20 ; 20 la gia tri phim Mute

Trang 15

cpfseq lenh

goto sosanh_input

call xuli_mute

goto ketthucht

sosanh_input

movlw 37 ; 37 la gia tri phim Input cpfseq lenh

goto ketthucht

call xuli_input

ketthucht

return

;========================== xuli_power

BCF TRISD,7 ; chan RD7 huong ra du lieu btfss LATD,7

GOTO LEN1_RD7

BCF LATD,7

GOTO THOATPD7

LEN1_RD7

BSF LATD,7

THOATPD7

return

;=========================

xuli_mute

BCF TRISD,7 ; chan RD7 huong ra du lieu

Trang 16

bcf LATD,7

return

;========================== xuli_input

BCF TRISD,7 ; chan RD7 huong ra du lieu bsf LATD,7

return

;========================== phudinhrd2

btfss LATD,2

GOTO LEN1

BCF LATD,2

GOTO THOATPD

LEN1

BSF LATD,2

THOATPD

return

;=========================== tre

movlw 255

movwf biendem

laptre

CALL delay240

CALL delay240

CALL delay240

Trang 17

CALL delay240 CALL delay240 decfsz biendem,1 goto laptre return

end

17

Ngày đăng: 17/06/2014, 15:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w