Ô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