PIC单片机 定时器初值计算

本文介绍了一个具体的定时器初值计算案例:使用8M晶振进行25us定时,通过计算得出定时器的初始值为238。此计算考虑了分频比1:2的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器 初值计算

 

定时器0初值计算

 

 

 

 晶振8M 需定时25us 分频比1:2

初值(EE)=256 - 25/ (4/8*2) + 14/2  = 256- 25 + 7 = 238

 

 

 

 

 

 

 

 

IST P=16C73 INCLUDE "P16C73.INC" CBLOCK 30H LAY1,LAY2,LAY3,RAM ENDC ORG 00H INC CLRF PORTB CLRF PORTC BSF STATUS,5 CLRF PORTC CLRF PORTB BCF STATUS,5 ;**************************TMR1初始化************************** BSF STATUS,5 MOVLW 00H MOVWF PIE1 ;关TMR1中断 BCF STATUS,5 MOVLW 00H MOVWF T1CON ;设TMR1分频为1;1内部时钟,关TMR1 BCF INTCON,7 ;关总中断 MOVLW 00H ;0DFH 和0B1H 是20HZ, MOVWF TMR1L MOVLW 00H ; MOVWF TMR1H ;设初值为FFF6,就是100KHZ BCF PIR1,0 ;清TMR1标志位 BSF INTCON,6 ;开外设中断 BSF INTCON,7 ;开总中断 BSF T1CON,0 ;启动TMR1 GOTO MAIN ;***************************************************************** MAIN MOVLW 0FFH MOVWF PORTC CALL LAY1S ; 灯亮1S MOVLW 00H MOVWF PORTC CALL LAY2S ; 灯暗2S BTFSS PIR1,TMR1IF GOTO $ ; 等到溢出 MOVLW 0FFH MOVWF PORTC CALL LAY2S ;亮2S ;************************TMR1初始化********************************* MOVLW 00H MOVWF T1CON ;设TMR1分频为1;1内部时钟,关TMR1 BCF INTCON,GIE ;关总中断 MOVLW 00H MOVWF PORTC CALL LAY2S ;暗2S MOVLW 0FEH ;0DFH 和0B1H 是20HZ, MOVWF TMR1L MOVLW 0FFH MOVWF TMR1H ;设初值为FFF6,就是100KHZ BCF PIR1,TMR1IF ;清TMR1标志位 BSF INTCON,PEIE ;开外设中断 BSF INTCON,GIE ;开总中断 BSF T1CON,TMR1ON ;启动TMR1 ;******************************************************************** AA BTFSS PIR1,TMR1IF ; 判断有没有溢出 GOTO $-1 ;ON COMF PORTC ;YES GOTO AA LAY1S MOVLW 037H MOVWF LAY3 MOVLW 0F0H MOVWF LAY1 MOVLW 018H MOVWF LAY2 DECFSZ LAY2 GOTO $-1 DECFSZ LAY1 GOTO $-5 DECFSZ LAY3 GOTO $-9 RETURN LAY2S MOVLW 069H MOVWF LAY3 MOVLW 0F0H MOVWF LAY1 MOVLW 018H MOVWF LAY2 DECFSZ LAY2 GOTO $-1 DECFSZ LAY1 GOTO $-5 DECFSZ LAY3 GOTO $-9 RETURN END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值