|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
用计时器0做三次定时再装入初值可以吗? |
作者:yangguon 栏目:单片机 |
请问大家我可以在遥控解码程式中用计时器0做三次定时再装入初值可以吗?是不是每次要设置它的关和开启?? IR_IN: MOV R0,#IRCOM I1: JNB IRIN,I2 ;等待 IR 信号出现,IRIN=0则跳转到I2 JMP I1 I2: MOV R4,#20 I20: DJNZ R4,I20 ;寄存器-1不为0则跳转 JNB IRIN,I1 ;确认IR信号出现,IRIN等于1则跳到I1 JMP $+2 I21: JB IRIN,I3 ;等 IR 变为高电平 CLR TR0 MOV TH0, #0DEH ;设置9.2MS计数初值 MOV TL0, #0E1H SETB TR0 I3: MOV R3,#0 ;8位数清为0 LL: JNB IRIN,I4 ;等 IR 变为低电平 JMP LL CLR TR0 MOV TH0, #0EFH ;设置4.5MS计数初值 MOV TL0, #0CDH SETB TR0 I4: JB IRIN,I5 ;等 IR 变为高电平 CLR TR0 MOV TH0, #0FCH ;0.84MS MOV TL0, #0FAH SETB TR0 JMP I4 I5: MOV C,IRIN MOV R2,#0 ;0.14ms 计 L1: CALL DEL JB IRIN, N1 ;等 IR 变为高电平,若IRIN等于1则跳转 ;IR=0,检查R2中的计数值 MOV A,#8 CLR C SUBB A,R2 ;判断高低位 A=8-0-1=7H 大于1有进位,小于1无进位 P126 看I5: MOV R2,#0 ;IF C=0 BIT=0 MOV A,@R0 ;A=20H,R0的内容不变 P114 IR_IN: MOV R0,#IRCOM RRC A ;00100000 \00010000 C=0 P=124 即A=10H MOV @R0,A ;处理完一位 地址20H的内容10H,R0和A的内容都不变 P116 这句注释对吗?? INC R3 ;R3内容加1 CJNE R3,#8,LL ;需处理完8位,寄存器与立即数不相等则跳转 MOV R3,#0 INC R0 ;20H+1 CJNE R0,#24H,LL ;收集到4字节了即32位,1字节8位 JMP IR_SHOW N1: INC R2 CJNE R2,#30,L1 ;0.14ms 计数过长则时间到自动离开,寄存器与立即数不相等即跳转 RET |
2楼: | >>参与讨论 |
作者: YANGGUON 于 2007/3/12 13:56:00 发布:
用计时器0做三次定时再装入初值可以吗? |
3楼: | >>参与讨论 |
作者: 海天一色 于 2007/3/13 12:53:00 发布:
可以 可以 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |