Tìm kiếm
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Đất nền View Sông ngay cửa ngõ Tây Bắc Tp.HCM Giá: 205 triệu/nền (Hỗ trợ thanh toán: 5 triệu/tháng)
Fri Jul 22, 2016 3:38 pm by saubds

» Đất nền khu đô thị Sinh thái Tây Bắc Tp.HCM giá chỉ 200 triệu/nền
Sat Jul 09, 2016 4:47 pm by saubds

» Dự án Bella Vista giá gốc Chủ Đầu Tư chỉ 200 triệu/nền, Sổ Riêng
Sat Jul 09, 2016 4:46 pm by saubds

» Đất nền khu đô thị Sinh thái Tây Bắc Tp.HCM giá chỉ 200 triệu/nền
Sat Jul 09, 2016 4:45 pm by saubds

» Bán Đất nền Đô thị Tây Bắc Sài Gòn Giá: 255 triệu/nền; CK:15%; Sổ Riêng
Tue Jun 14, 2016 3:11 pm by saubds

» Bán đất nền Đô thị Tây Bắc Sài Gòn Giá: 255 Triệu/Nền; CK:15%; Sổ Riêng
Wed Jun 08, 2016 9:00 am by saubds

» Bella Vista - Đất nền đô thị Tây Bắc Sài Gòn Giá SIÊU RẺ, Tặng 5 chỉ vàng; CK: 15%
Wed Jun 08, 2016 8:49 am by saubds

» Bella Vista - Đất nền đô thị Tây Bắc Sài Gòn giá SIÊU RẺ - LH: 09 8888 3102
Tue May 31, 2016 8:59 pm by saubds

» Đất nền khu sinh thái Tây Bắc TPHCM 225 triệu/nền. LH: 0988883102
Tue May 31, 2016 8:58 pm by saubds

» BELLA VISTA - Đất nền Đô Thị Tây Bắc Sài Gòn giá SIÊU RẺ; Sổ Riêng; CK đến 15%
Tue May 31, 2016 8:57 pm by saubds

» BELLA VISTA đất nền ĐT Tây Bắc Sài Gòn giá SIÊU RẺ - LH: 09 8888 3102
Mon May 23, 2016 6:16 pm by saubds

» Đất nền Đô Thị Sinh Thái Tây Bắc Sài Gòn BELLA VISTA Gía SIÊU RẺ; Tặng 5 chỉ vàng; CK đến 15%
Mon May 23, 2016 2:07 pm by saubds

» BELLA VISTA - Đất nền Đô Thị Sinh Thái Tây Bắc Sài Gòn giá SIÊU RẺ; Tặng 5 chỉ vàng; CK đến 15%
Mon May 23, 2016 2:02 pm by saubds

» Mở Bán Dự Án Bella Vista Giá siêu rẻ chỉ 3 triệu/m2; Tặng 5 chỉ vàng; CK: 5%
Fri May 20, 2016 5:09 am by saubds

» Mở Bán Đất Nền TpHCM Giá Rẻ Bella Vista City
Fri May 20, 2016 5:05 am by saubds

» Mua Đất Nền Khu Đô Thị Sinh Thái Bella Vista City giá chỉ 3 triệu/m2
Fri May 20, 2016 5:03 am by saubds

» Đất nền dự án Bella Vista tại Đô Thị Tây Bắc Sài Gòn - LH: 0988883102
Fri May 20, 2016 5:00 am by saubds

» Đất Nền Bella Vista City Giá Rẻ Quy Hoạch Chuẩn Nhật Bản
Fri May 20, 2016 4:57 am by saubds

» Mở Bán Bella Vista Dự Án Giá Rẻ Quy Hoạch Chuẩn Nhật Bản
Fri May 20, 2016 4:54 am by saubds

» Đất nền Bella Vista City Giá Siêu Rẻ - LH: 09 8888 3102
Fri May 20, 2016 4:50 am by saubds

» BELLA VISTA CITY - KHU ĐÔ THỊ SINH THÁI TÂY BẮC SÀI GÒN SẮP RA MẮT
Tue Apr 26, 2016 3:54 pm by saubds

» BELLA VISTA CITY - KHU ĐÔ THỊ SINH THÁI TÂY BẮC SÀI GÒN SẮP RA MẮT
Tue Apr 26, 2016 3:52 pm by saubds

» BELLA VISTA CITY - KHU ĐÔ THỊ SINH THÁI TÂY BẮC SÀI GÒN SẮP RA MẮT
Tue Apr 26, 2016 3:29 pm by saubds

» Đất thổ cư giá 184 triệu/nền; Sổ Hồng riêng gần Bà Điểm, Hóc Môn
Mon Apr 11, 2016 4:15 pm by saubds

» Bán đất KDC Mỹ Hạnh Hoàng Gia giá từ 159 triệu/nền
Sat Nov 28, 2015 10:47 am by saubds

» Cần mua lại nhà, đất trong KDC Mỹ Hạnh Hoàng Gia
Tue Nov 24, 2015 9:46 am by saubds

» Cần mua lại nhà, đất trong KDC Mỹ Hạnh Hoàng Gia
Tue Nov 24, 2015 9:44 am by saubds

» KDC Mỹ Hạnh Hoàng Gia giá từ 159 triệu/nền (Hoa hồng 3%)
Thu Nov 19, 2015 8:35 am by saubds

» KDC Mỹ Hạnh Hoàng Gia giá từ 159 triệu/nền (Hoa hồng 3%)
Thu Nov 19, 2015 8:34 am by saubds

» Mở bán dự án KDC An Ha Riverside giá tốt nhất – LH: 0938 992 878
Thu Nov 19, 2015 8:31 am by saubds

» An Ha Riverside - Khu đô thị sinh thái phía tây Sài Gòn – Sổ hồng riêng giá 3,6 triệu/m2
Thu Sep 10, 2015 12:46 pm by saubds

» An Ha Riverside - Khu đô thị sinh thái phía tây Sài Gòn – Sổ hồng riêng
Thu Sep 10, 2015 12:44 pm by saubds

» An Ha Riverside Khu đô thị sinh thái phía tây Sài Gòn – Sổ hồng riêng
Thu Sep 10, 2015 12:42 pm by saubds

» Nhà Hóc Môn 1 trệt 1 lầu DT: 84m2(1PK, 2PN, 2WC) Bán: 335Tr (TL); SHR
Thu Jul 23, 2015 4:39 pm by saubds

» Nhà Hóc Môn 1 trệt 1 lầu DT: 84m2(1PK, 2PN, 2WC) Bán: 335Tr (TL); SHR
Thu Jul 23, 2015 4:38 pm by saubds

» Bán đất thổ cư giá 80 triệu nhận nền gần chợ Bà Điểm, Hóc Môn
Wed Apr 15, 2015 4:26 pm by saubds

» Mua đất nhận vàng - Trúng nhà sang tại Khu dân cư BẢO NGỌC
Wed Apr 15, 2015 4:06 pm by saubds

» Khu dân cư Bảo Ngọc phía Tây Bắc Tp.HCM chỉ 80 triệu nhận nền; Trả góp 5 triệu/tháng
Mon Apr 06, 2015 4:19 pm by saubds

» Đất nền KDC Bảo Ngọc giá 230 triệu/nền; Thanh toán 5 triệu/tháng
Tue Mar 31, 2015 2:41 pm by saubds

» Khu dân cư Bảo Ngọc phía Tây Bắc Tp.HCM giá từ 230 triệu/nền; Trả góp 5 triệu/tháng
Tue Mar 31, 2015 2:40 pm by saubds

» Đất nền KDC Bảo Ngọc giá 230 triệu/nền; Thanh toán 5 triệu/tháng
Sat Mar 28, 2015 2:40 pm by saubds

HỖ TRỢ TRỰC TUYẾN
Administrator
--------------------------------
Administrator
ĐỒNG HỒ TRỰC TUYẾN
Đăng Nhập

Quên mật khẩu

SỐ LƯỢT TRUY CẬP
free html visitor counters

Tóm tắt 1 số tập lệnh ASM và ví dụ về Pic 16f877a

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Tóm tắt 1 số tập lệnh ASM và ví dụ về Pic 16f877a

Bài gửi by hts on Sat Jan 14, 2012 3:22 am


1. Hình dạng và Sơ đồ chân :





2. Cấu trúc I/O (input/output) :
Pic 16f877a có 5 port có chức năng I/O
* Port A : (RA0 - RA5), port A được điều khiển bởi thanh ghi trisA. Ngoài ra port A còn là ngõ ra cũa bộ chuyễn đỗi ADC, bộ so sánh điện áp và là ngõ vào cũa xung Clock cho Timer 0 hoạt động.
* Port B : (RB0 - RB7) 8 bit I/O cũng được điều khiển bỡi thanh ghi trisB, ngoài ra Port B còn liên quan đến tính năng ngắt ngoại vi.
* Port C : (RC0 - RC7)
8 bit I/O cũng được điều khiển bỡi thanh ghi trisC, bên cạnh đó port C còn có các chân có tính năng so sánh, đồng thời là ngõ vào xung Clock của bộ Timer 1 và các chuẩn giao tiếp nối tiếp.
* Port D : (RD0 - RD7) : 8 bit I/O được điều khiển bỡi thanh ghi trisD.
Port E : (RE0 - RE2) : 3 bit I/O được điều khiển bởi thanh ghi trisE, ngoài ra còn có tính năng nhận ngõ vào Analog để thực hiện chuyễn đỗi ADC.
3. Tổ chức bộ nhớ :
Gồm 2 bộ nhớ : bộ nhớ chương trình (ROM) và bộ nhớ dữ liệu (RAM)
* Bộ nhớ chương trình : 8 kword có khả năng lập trình 8192 lệnh
* Bộ nhớ dữ liệu : 4 bank , mỗi bank chứa 128 byte dữ liệu.
4. Bộ định thời (Timer) :
Gồm 3 bộ : Timer0,
Timer1, Timer2.
* Timer 0 : là bộ đếm 8 bit , giá trị đếm nằm trong thanh ghi TMR0 (8 bit).
* Timer 1: 16 bit , giá trị đếm nằm trong 2 thanh ghi TMR1H (chứa bit cao) và TMR1L (chứa bit thấp).
* Timer 2 : 8 bit giống timer0 nhưng tần số định thời có thể thay đổi được.
--------------------
TẬP LỆNH :

Lệnh MOVLW K;

* W là thanh ghi trung gian độ dài 8 bit
* 0 <= k <= 255

* Mang giá trị của K gán vào thanh ghi W

Ví dụ :
MOVLW 85H; //Sau khi thực hiện lệnh W = 85H

1
0
0
0
0
1
0
1
Lệnh MOVWF f ;
* f là tên của thanh ghi
* Mang giá trị của thanh ghi W chuyển vào thanh ghi f


Ví dụ :
MOVLW 85H; // thanh ghi W có giá trị 85H (85H là số đếm HEX - thập lục phân)
MOVWF trisB; // trisB có giá trị 85H

Lệnh ADDLW K;
* w = w k
* Cộng thêm giá trị thanh ghi K vào thanh ghi trung gian W, kết quả lưu vào W
* 0 <= k <= 255

Ví dụ :
MOVLW d'100'; //w có giá trị 100 tính theo giá trị decimal (thập phân)
ADDLW d'37'; // w có giá trị là 137

ADDWF f,d;
* Thực hiện phép toán cộng giữa w và f
* Nếu d= 0 thì kết quả lưu vào w
* Nếu d = 1 kết quả lưu vào f
* Với d là già trị điều khiển (0|1)


Ví dụ :
MOVLW d'15'; // w =15
MOVWF trisB ; // trisB = 15
MOVLW d'30' ; // w =30
ADDWF trisB,1; //trisB = 45 (lưu vào tris B vì d = 1)

Lệnh ANDLW K;
* 0 < = k <= 255
* Thực hiện phép toán AND giữa thanh ghi W và K, kết quả lưu vào W.


Ví dụ :
MOVLW 85H;
ANDLW 15H; // sau khi thực hiện kết quả sẽ cho ra W = 05H

Thanh Ghi W = 85H (tách 2 số ra 8 và 5 . Số 8 mang 4 bit cao từ trái qua phải " 1000" và số 5 mang 4 bit thấp " 0101")

Bit thứ 8
Thứ 4
Thứ 2
Thứ1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
1
0
0
0
0
1
0
1

AND

Giá trị đưa vào để AND là 15H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
1
0
1
0
1
KẾT QUẢ CHO RA W = 05H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
0
0
1
0
1
Để có được kết quả như vậy ta phải lấy bảng chân lý của hàm AND mới thấy được :
* Kết quả ngõ ra hàm AND ỡ mức 1 khi ngõ vào đều ỡ mức cao (1)

input
X
input
Y
output
XY
0
0
0
0
1
0
1
0
0
1
1
1
Lệnh ANDWF f,d;
* Thực hiện phép toán AND (từng bit) của 2 thanh ghi w và f
* Nếu d = 0 kết quả lưu trong w
* Nếu d = 1 kết quả lưu trong f


Ví dụ :
MOVLW 32H ;// w = 32 h
MOVWF trisA; // trisA = 32h
MOVLW 27H; // W = 27h
ANDWF trisA,0; // W = 22h (do d = 0 nên kết quả lưu vào W).

Lệnh IORLW k ;
* 0 <= k <= 255
* Thực hiện phép toán OR giữa thanh ghi w và k

Ví dụ :
MOVLW 15H;
IORLW 02;

THANH GHI W CÓ GIÁ TRỊ 15H
Bit thứ 8
Thứ 4
Thứ 2
Thứ1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
1
0
1
0
1

IOR

Giá trị đưa vào để OR là 02H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
0
0
0
1
0
KẾT QUẢ CHO RA W = 17H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
1
0
1
1
1
Để có được kết quả như vậy ta phải lấy bảng chân lý của hàm OR mới thấy được :
* Kết quả ngõ ra hàm OR ỡ mức 1 khi 1 trong 2 ngõ vào ỡ mức cao (1)

input
X
input
Y
output
X/Y
0
0
0
0
1
1
1
0
1
1
1
1

Lệnh IORWF f,d;
* Thực hiện phép toán OR giữa 2 thanh ghi w và f.
* Nếu d = 0 lưu kết quả vào w
* Nếu d = 1 lưu kết quả vào f


Ví dụ : tương tự như lệnh ANDWF

Lệnh XORLW K;
* 0 <= k <= 255
* Thực hiện phép toán EX-OR giữa w và k, kết quả lưu vào w

Ví dụ :
MOVLW 25H;
XORLW 15H;


THANH GHI W CÓ GIÁ TRỊ 20H
Bit thứ 8
Thứ 4
Thứ 2
Thứ1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
1
0
0
1
0
1

XOR

Giá trị đưa vào để XOR là 15H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
0
1
0
1
0
1

KẾT QUẢ CHO RA W = 30H
Bit thứ 8
Thứ 4
Thứ 2
Thứ 1
Thứ 8
Thứ 4
Thứ 2
Thứ 1
0
0
1
1
0
0
0
0

Để có được kết quả như vậy ta phải lấy bảng chân lý của hàm EXOR mới thấy được :
* Kết quả ngõ ra hàm EX-OR ỡ mức 0 khi 2 ngõ vào tích cực giống nhau (cùng cao (1) hoặc cùng thấp (0)).

input
X
input
Y
output
X/Y
0
0
0
0
1
1
1
0
1
1
1
0


Lệnh XORWF f,d;
* Thực hiện phép toán EXOR giữa 2 thanh ghi w và f.
* Nếu d = 0 lưu kết quả vào w
* Nếu d = 1 lưu kết quả vào f


Ví dụ : tương tự như lệnh XORWF

-----------------
Cỏn nữa hôm khác viết tiếp nhé , buồn ngủ quá rồi santa

hts

Tổng số bài gửi : 206
Cảm ơn : 2
Join date : 26/06/2009
Age : 29
Đến từ : Tay Ninh Province

Xem lý lịch thành viên http://htsvn.getgoo.net

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết