--ðH KHTN-- 3LỆNH PUSH : CẤT GIÁ TRỊ CỦA THANH GHI HOẶC Ô NHỚ VÀO STACKCON 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 :...
Trang 1ðH KHTN 1
ÔN TẬP
LÝ THUYẾT VðK 8051
GV : NGUYỄN THANH VIỆT
Ngày 3/06/2010
Trang 2CÁ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)
Trang 3ðH KHTN 3
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 :
Trang 4MOVC A,@A+DPTR : A+DPTR ->Ô NHỚ ,GIÁ TRỊ Ô NHỚ ðƯỢC ðƯA VÀO THANH GHI A.
Trang 5ðH KHTN 5
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
Trang 6CÁ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)
Trang 7ðH KHTN 7
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:
Trang 9ðH KHTN 9
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)
Trang 10D.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.
Trang 11ðH KHTN 11
E.LỆNH MUL,DIV :
2.CÁC LỆNH LOGIC :
3.CÁC LỆNH RẼ NHÁNH :
Trang 12BỘ ðỊ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
Trang 13ðH KHTN 13
VD :
Trang 14TÍNH CHU KÌ VÀ TẦN SỐ CỦA XUNG VUÔNG:
Trang 15ðH KHTN 15
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)
Trang 16GIẢ 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