匯編語言實現89C51單片機輸出一個50HZ的方波,並由P1.1口輸出的詳解
系統時鍾頻率為12MHZ
單片機原理及接口技術書中的例程
;-----------------
;Title:定時器T1產生一個50HZ的方波由P1.1輸出
;Authors:DDH-qiu
;Date:2022-4-5
;Abstract:fosc=12MHZ,利用定時器產生方波
;-----------------
ORG 0100H ;偽指令下一條指令的起始地址
MOV TMOD,#10H ;TMOD寄存器(0001 0000)設置定時器方式為定時器1,GATE門控位關閉
;選擇定時模式(定時模式低電平有效)選擇定時器工作模式1
SETB TR1 ;將TCON中TR1(定時器啟動控制)置1,啟動定時器
LOOP: ;LOOP標號
MOV TH1,#0D8H ;定時器高8位寫入D8H
MOV TL1,#0F0H ;定時器低8位寫入F0H,定時器時間計算公式
JNB TF1,$ ;JNB(判位變量轉移指令,當TF1(TCON中)為0時跳轉,為1時順序執行)
;等待定時器1的溢出中斷
CLR TF1 ;清除TF1的定時器溢出中斷標志
CPL P1.1 ;CPL位取反命令,將P1.1取反
SJMP LOOP ;SJMP相對跳轉,跳轉到LOOP標號處
END