给你改了,对比一下就知道哪里错了。
- ;是利用T0计时1s,T1计脉冲数
- ORG 0000H
- RESET: LJMP MAIN
- ORG 000BH
- LJMP ITOP
- ORG 1000H
- MAIN: MOV SP, #60H
- MOV B, #14H ;20 x 50ms = 1s
- MOV R1, #0H
- MOV R0, #0H
- MOV TMOD,#51H ;TOMD ;MOV TOMD,51H ;定时器 1使用模式1,16位计数器,
- MOV TL0, #00H ;给定初值
- MOV TH0, #4CH
- MOV TL1, #00H ;给定初值 T1外部计数
- MOV TH1, #00H
- SETB ET0 ;定时器0 中断打开
- SETB ET1 ;定时器1 中断打开
- SETB EA ;总中断打开
- SETB TR0 ;定时器 0 开始运行
- SETB TR1 ;定时器 1 开始运行
- CLR A
- MOV R2,#0H
- HERE: SJMP HERE ;HERE:SHMP HERE
- ;定时器0,
- ITOP: MOV TL0,#00H ;重新赋值
- MOV TH0,#4CH
- DJNZ B,RTURN ; <20
- CLR EA
- CLR TR0
- CLR TR1
- MOV R1,TH1 ;计数器
- MOV R0,TL1
- SETB F0
- RTURN: RETI
- END
-
-
复制代码 |