PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 07-04-2009, 05:17 PM   #5
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
các lệnh ASM bạn cần chú ý đặc biệt tới 0<= K <=255 và 0 <= F <= 127

bạn xem các ví dụ sau. mình đã test với pisumilator ide. Mình chỉ nhớ nó 1 cách rập khuôn . có rất ít bài viết nói rõ ý nghĩa K & F. bạn nên xem tập lệnh tiếng anh PIC 16F84 .cuón này có ví dụ cụ thể sau mỗi lệnh.
vd1:
;============phan dat bien=============================
D1 EQU 0X20
;===========Phan chuong trình chính======================
ORG 0x00
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
MOVLW H'FF' ; 0<= k <= 255
MOVWF D1 ; 0 <= f <= 127
CLRW
MOVLW D1 ; 0<= k <= 255
MOVWF PORTB ; 0 <= f <= 127
GOTO $
END
Kết quả : g.tri portb = b ‘00100000’ = h ‘ 20’.
g.tri byte 20h = b ‘ 11111111’ = h ‘ff ’.
################################################## ######################################
vd2:
D1 EQU 0X20
;===========Phan chuong trình chính======================
ORG 0x00
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
MOVLW H'FF' ; 0<= k <= 255
MOVWF D1 ; 0 <= f <= 127
CLRW
MOVF D1,W ; 0 <= f <= 127
MOVWF PORTB ; 0 <= f <= 127
GOTO $
END
Kết quả : g.tri portb = b ‘11111111’ = h ‘ ff’.
g.tri byte 20h = b ‘ 11111111’ = h ‘ff ’.
################################################## ######################################
vd3:
D1 EQU 0X20
;===========Phan chuong trình chính======================
ORG 0x00
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
MOVLW H'FF' ; 0<= k <= 255
MOVWF D1 ; 0 <= f <= 127

CLRW
MOVF 0x20,W ; 0 <= f <= 127
MOVWF PORTB ; 0 <= f <= 127
GOTO $
END
Kết quả : g.tri portb = b ‘11111111’ = h ‘ ff’.
g.tri byte 20h = b ‘ 11111111’ = h ‘ff ’.
################################################## ######################################
vd4:
D1 EQU 0X20
;===========Phan chuong trình chính======================
ORG 0x00
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB
BANKSEL PORTB
CLRF PORTB
MOVLW H'FF' ; 0<= k <= 255
MOVWF 0x20 ; 0 <= f <= 127
CLRW
MOVF 0x20,W ; 0 <= f <= 127
MOVWF PORTB ; 0 <= f <= 127
GOTO $
END
Kết quả : g.tri portb = b ‘11111111’ = h ‘ ff’.
g.tri byte 20h = b ‘ 11111111’ = h ‘ff ’.
################################################## #####################################
0<= k <= 255 : k là hằng số.
0 <= f <= 127 : f là thanh ghi 8 bit.

Có 1 chú ý nhỏ ở vd1 :
MOVLW H'FF' ; 0<= k <= 255 ; copy g.trị .255 vào w
Và MOVLW D1 ; 0<= k <= 255 ; copy g.trị t.ghi d1 vào w, nhưng do ta đã khai báo
‘D1 EQU 0X20’ . nên c.trình hiểu 0x20 là 1 hằng số (g.trị ) chứ ko phải là 1 byte nhớ.

thay đổi nội dung bởi: phandinh, 07-04-2009 lúc 05:23 PM. Lý do: thêm
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam