📄 tongbu.asm
字号:
ORG 0
START: MOV TMOD,#60H ;设T1为方式2,计数方式
MOV TL1,#0FFH ;1次计数初值
MOV TH1,#0FFH
SETB P1.2
CLR P1.3
SETB TR1 ;启动T1计数
LOOP: JBC TF1,LP1
SJMP LOOP
LP1: CLR TR1 ;停止计数
MOV TMOD,#20H ;T1改为定时器,方式2
MOV TH1,#0CEH ;100us定时初值
MOV TL1,#0CEH
SETB P1.3 ;P1.3输出1
CLR P1.2 ;P1.2输出0
SETB TR1 ;启动T1定时
MOV R1,#4 ;R1计100us的个数
LOOP1: JBC TF1,LP2 ;第一个100us到?
SJMP LOOP1 ;没到,等待
LP2: SETB P1.2 ;到了,P1.2恢复
LOOP2: JBC TF1,LP3
SJMP LOOP2
LP3: DJNZ R1,LOOP2 ;500us到了吗?否,继续
CLR P1.3 ;P1.3恢复0
CLR TR1 ;关定时器T1
SJMP START
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -