欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC18LF4320-I/ML 参数 Datasheet PDF下载

PIC18LF4320-I/ML图片预览
型号: PIC18LF4320-I/ML
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚高性能,增强型闪存微控制器与10位A / D和纳瓦技术 [28/40/44-Pin High-Performance, Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology]
分类和应用: 闪存微控制器和处理器外围集成电路时钟
文件页数/大小: 388 页 / 6899 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第122页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第123页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第124页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第125页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第127页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第128页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第129页浏览型号PIC18LF4320-I/ML的Datasheet PDF文件第130页  
PIC18F2220/2320/4220/4320  
A write to the high byte of Timer1 must also take place  
12.4 Timer1 Interrupt  
through the TMR1H Buffer register. Timer1 high byte is  
updated with the contents of TMR1H when a write  
occurs to TMR1L. This allows a user to write all 16 bits  
to both the high and low bytes of Timer1 at once.  
The TMR1 register pair (TMR1H:TMR1L) increments  
from 0000h to FFFFh and rolls over to 0000h. The  
Timer1 interrupt, if enabled, is generated on overflow  
which is latched in interrupt flag bit, TMR1IF  
(PIR1<0>). This interrupt can be enabled/disabled by  
setting/clearing Timer1 interrupt enable bit, TMR1IE  
(PIE1<0>).  
The high byte of Timer1 is not directly readable or writ-  
able in this mode. All reads and writes must take place  
through the Timer1 High Byte Buffer register. Writes to  
TMR1H do not clear the Timer1 prescaler. The  
prescaler is only cleared on writes to TMR1L.  
12.5 Resetting Timer1 Using a CCP  
Trigger Output  
12.7 Using Timer1 as a Real-Time  
Clock  
If the CCP module is configured in Compare mode to  
generate a “special event trigger” (CCP1M3:CCP1M0  
= 1011), this signal will reset Timer1 and start an A/D  
conversion if the A/D module is enabled (see  
Section 15.4.4 “Special Event Trigger” for more  
information).  
Adding an external LP oscillator to Timer1 (such as the  
one described in Section 12.2 “Timer1 Oscillator”  
above), gives users the option to include RTC function-  
ality to their applications. This is accomplished with an  
inexpensive watch crystal to provide an accurate time  
base and several lines of application code to calculate  
the time. When operating in Sleep mode and using a  
battery or supercapacitor as a power source, it can  
completely eliminate the need for a separate RTC  
device and battery backup.  
Note:  
The special event triggers from the CCP1  
module will not set interrupt flag bit,  
TMR1IF (PIR1<0>).  
Timer1 must be configured for either Timer or Synchro-  
nized Counter mode to take advantage of this feature.  
If Timer1 is running in Asynchronous Counter mode,  
this Reset operation may not work.  
The application code routine, RTCisr, shown in  
Example 12-1, demonstrates a simple method to  
increment a counter at one-second intervals using an  
Interrupt Service Routine. Incrementing the TMR1 reg-  
ister pair to overflow, triggers the interrupt and calls the  
routine, which increments the seconds counter by one;  
additional counters for minutes and hours are  
incremented as the previous counter overflow.  
In the event that a write to Timer1 coincides with a  
special event trigger from CCP1, the write will take  
precedence.  
In this mode of operation, the CCPR1H:CCPR1L  
register pair effectively becomes the period register for  
Timer1.  
Since the register pair is 16 bits wide, counting up to  
overflow the register directly from a 32.768 kHz clock  
would take 2 seconds. To force the overflow at the  
required one-second intervals, it is necessary to pre-  
load it; the simplest method is to set the MSbit of  
TMR1H with a BSF instruction. Note that the TMR1L  
register is never preloaded or altered; doing so may  
introduce cumulative error over many cycles.  
12.6 Timer1 16-Bit Read/Write Mode  
Timer1 can be configured for 16-bit reads and writes  
(see Figure 12-2). When the RD16 control bit  
(T1CON<7>) is set, the address for TMR1H is mapped  
to a buffer register for the high byte of Timer1. A read  
from TMR1L will load the contents of the high byte of  
Timer1 into the Timer1 high byte buffer. This provides  
the user with the ability to accurately read all 16 bits of  
Timer1 without having to determine whether a read of  
the high byte, followed by a read of the low byte, is valid  
due to a rollover between reads.  
For this method to be accurate, Timer1 must operate in  
Asynchronous mode and the Timer1 overflow interrupt  
must be enabled (PIE1<0> = 1) as shown in the rou-  
tine, RTCinit. The Timer1 oscillator must also be  
enabled and running at all times.  
DS39599C-page 124  
2003 Microchip Technology Inc.