Chương trình ASM tạo xung vuông 70/30 tần số 12Khz, với Thạch anh 12Mhz.
Sử dụng trình dịch Reads51, mô phỏng trên Proteus:
mô phỏng trên proteus
Mã nguồn ASM:
; ------------- READS51 generated header --------------
; module : C:\Users\Sony\Desktop\xung vuong\xung.asm
; created : 02:05:56, Sunday, February 19, 2012
; -----------------------------------------------------
#include <sfr51.inc>
org 0h
main:
MOV sp,#60h
MOV TMOD,#01H ; Chon Timer0, che do 1 (16 bit)
; Chu ky xung: 1/12K=83 us
;chu ky may: 12/12M=1 us
; => 70/30 = 58/25
; 58-8=50
; 25-10=15
HERE: SETB P0.1 ;1 Bat P0.1
MOV TL0, #0CEH ;2 byte thap;CE
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
AGAIN1: JNB TF0, AGAIN1 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0 ;1 Xoa co bo dinh thoi cho vong sau
CLR P0.1 ;1 Lat P0.1
MOV TL0, #0F1H ;2 byte thap;F1
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
AGAIN2: JNB TF0, AGAIN2 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0 ;1 Xoa co bo dinh thoi cho vong sau
SJMP HERE ;2
end
0 nhận xét:
Đăng nhận xét