Tải bản đầy đủ (.pdf) (16 trang)

Cấu trúc lệnh, chương trình vi điều khiển 8051

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (343.31 KB, 16 trang )

ÔN TẬP

LÝ THUYẾT VðK 8051
GV : NGUYỄN THANH VIỆT

Ngày 3/06/2010
--ðH KHTN--

1


CÁC CHẾ ðỘ ðỊNH ðỊA CHỈ
CÁC CHẾ ðỘ ðỊNH ðỊA CHỈ CỦA 8051
-TỨC THỜI (IMMEDIATE) : MOV A,#55H
-THANH GHI (REGISTER) : MOV A,R0
-GIÁN TIẾP THANH GHI : MOV A,@R0
-TRỰC TIẾP : MOV A,40H
-ðỊNH ðỊA CHỈ CHỈ SỐ : MOVC A,@A+DPTR
LƯU Ý: DPTR LÀ CON TRỎ 16 BIT CÓ THỂ TRUY XUẤT DƯỚI DẠNG 2 THANH
GHI 8 BIT : DPH ,DPL
-CÁC THANH GHI SFR CÓ MỘT ðỊA CHỈ RIÊNG BIỆT ,TA CÓ THỂ TRUY XUẤT
THANH GHI DƯỚI DẠNG TÊN HOẶC ðỊA CHỈ :
VD : MOV A,4
GiỐNG VỚI MOV A,R4
(ðỊA CHỈ R4 Ở BANK 0 LÀ 4H)

--ðH KHTN--

2



LỆNH PUSH : CẤT GIÁ TRỊ CỦA THANH GHI HOẶC Ô NHỚ VÀO
STACK(CON TRỎ STACK TĂNG 1)

LỆNH POP : LẤY LẠI GIÁ TRỊ TỪ STACK (CON TRỎ STACK GiẢM 1)
CÁCH DÙNG : GiỐNG LỆNH PUSH
VD :

--ðH KHTN--

3


MOVC A,@A+DPTR : A+DPTR ->Ô NHỚ ,GIÁ TRỊ Ô NHỚ ðƯỢC ðƯA
VÀO THANH GHI A.

--ðH KHTN--

4


MUỐN CHỌN BANK THANH GHI TA DÙNG 2 BIT TRONG PSW

CHƯƠNG TRÌNH SAU LƯU GIÁ TRỊ VÀO THANH GHI R7 CỦA BANK2

--ðH KHTN--

5


CÁC LỆNH SỐ HỌC VÀ LOGIC

1.CÁC LỆNH SỐ HỌC : ADD ,ADDC,SUB,SUBB,MUL,DIV
CÁC CỜ ẢNH HƯỞNG TRONG PHÉP TOÁN SỐ HỌC
-CY : CỜ TRÀN Ở BIT D7
-AC :CỜ TRÀN BIT D3
-PF:CỜ PARITY

CY=1 ,AC=1, PF=1
-OV :CỜ TRÀN KẾT QUẢ (DÙNG TRONG PHẾP CỘNG SỐ CÓ ðẤU)

--ðH KHTN--

6


A.PHÉP CỘNG SỐ KHÔNG DẤU:
B.PHÉP CỘNG SỐ CÓ DẤU : BIT D7 CHỈ DẤU( 1: ÂM, 0:DƯƠNG)
VD1:

VD2:

--ðH KHTN--

7


--ðH KHTN--

8



C.HIỆU CHỈNH THẬP PHÂN BCD (KẾT QUẢ BIỂU DIỄN DƯỚI DẠNG SỐ
TỪ THẬP PHÂN TỪ 0 – 9)

--ðH KHTN--

9


D.LỆNH SUB,SUBB
CY=0 :KẾT QUẢ DƯƠNG :
CY =1 :KẾT QUẢ ÂM ->LẤY BÙ 2 ðỂ ðƯỢC KẾT QUẢ CHÍNH XÁC.

--ðH KHTN--

10


E.LỆNH MUL,DIV :
2.CÁC LỆNH LOGIC :
3.CÁC LỆNH RẼ NHÁNH :

--ðH KHTN--

11


BỘ ðỊNH THỜI
CÓ 2 BỘ ðỊNH THỜI : TIMER0 ,TIMER1
THƯỜNG DÙNG NHẤT DƯỚI DẠNG TẠO THỜI GIAN DELAY :
-NẠP TMOD VỚI GIÁ TRỊ THÍCH HỢP ðỂ CHỌN CHẾ ðỘ CHO TIMER0 HOẶC

TIMER1
-NẠP TL VÀ TH VỚI GIÁ TRỊ BAN ðẦU.
-BẮT ðẤU BỘ ðỊNH THỜI BẰNG LỆNH SETB TRX
-ðỢI TF=1 : JNB TFX,target
-DỪNG BỘ ðỊNH THỜI : CLR TRX
-XÒA CỜ TF
-QUAY LẠI BƯỚC 2

--ðH KHTN--

12


VD :

--ðH KHTN--

13


TÍNH CHU KÌ VÀ TẦN SỐ CỦA XUNG VUÔNG:

TẦN SỐ F=1/T
Ở ðÂY TẦN SỐ XTAL = 11.0592

--ðH KHTN--

14



VIẾT CHƯƠNG TRÌNH TẠO RA SÓNG VUÔNG CÓ TẦN SỐ 1KHz TRÊN MỘT
CHÂN BẤT KÌ (VD CHÂN P1.0)
MAIN:
MOV TMOD,#01H
;TIMER0 16BIT
CLR P1.0
LOOP:
MOV TL0,#...
;2CYCLES
MOV TH0,#...
;2CYCLES
CPL P1.0
;1CYCLE
ACALL DELAY
;2CYCLES
SJMP LOOP
;2 CYCLES
DELAY :
SETB TR0
;1CYCLE
LAP : JNB TF0,LAP
;Y CYCLES(Y:SỐ LẦN ðẾM TIMER0)
CLR TR0
;1CYCLE
CLR TF0
;1CYCLE
RET
;2CYCLES
TỔNG = 14+Y -> T= 2(14+Y)
--ðH KHTN--


15


GIẢ SỬ TẦN SỐ XTAL = 12MHz (1CYCLE = 1us)
F=1KHz ->T= 1ms = 1000us = 2(14+y) -> y = 486
TIMER0 ðẾM 486 LẦN ->SỐ NẠP = 65536 – 486 = 65050(FE1AH)
VẬY MOV TL0,#1AH
MOV TH0,#0FEH
->OK
DÙNG CÁCH NÀY ðỂ TẠO SÓNG VUÔNG CÓ TẦN SỐ BẤT KÌ TRÊN
MỘT CHÂN BẤT KÌ.
PHẤN NGẮT ,TRUYỀN THÔNG NỐI TiẾP ,GIAO TiẾP BỘ NHỚ NGOÀI:
THAM KHẢO Ở PHẦN THUYẾT TRÌNH VÀ BÀI GiẢNG

THE END
--ðH KHTN--

16



×