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

PIC18F4580-I/PT 参数 Datasheet PDF下载

PIC18F4580-I/PT图片预览
型号: PIC18F4580-I/PT
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚增强型闪存微控制器与ECAN技术, 10位A / D和纳瓦技术 [28/40/44-Pin Enhanced Flash Microcontrollers with ECAN Technology, 10-Bit A/D and nanoWatt Technology]
分类和应用: 闪存微控制器和处理器外围集成电路时钟
文件页数/大小: 490 页 / 8912 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F4580-I/PT的Datasheet PDF文件第200页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第201页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第202页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第203页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第205页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第206页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第207页浏览型号PIC18F4580-I/PT的Datasheet PDF文件第208页  
PIC18F2480/2580/4480/4580  
18.4.2  
OPERATION  
18.4.3.1  
Addressing  
The MSSP module functions are enabled by setting the  
MSSP Enable bit, SSPEN (SSPCON<5>).  
The SSPCON1 register allows control of the I2C  
operation. Four mode selection bits (SSPCON<3:0>)  
allow one of the following I2C modes to be selected:  
• I2C Master mode, clock = (FOSC/4) x (SSPADD + 1)  
• I2C Slave mode (7-bit address)  
• I2C Slave mode (10-bit address)  
Once the MSSP module has been enabled, it waits for  
a Start condition to occur. Following the Start condition,  
the 8-bits are shifted into the SSPSR register. All  
incoming bits are sampled with the rising edge of the  
clock (SCL) line. The value of register, SSPSR<7:1>, is  
compared to the value of the SSPADD register. The  
address is compared on the falling edge of the eighth  
clock (SCL) pulse. If the addresses match and the BF  
and SSPOV bits are clear, the following events occur:  
• I2C Slave mode (7-bit address) with Start and  
Stop bit interrupts enabled  
• I2C Slave mode (10-bit address) with Start and  
Stop bit interrupts enabled  
• I2C Firmware Controlled Master mode, slave is  
Idle  
Selection of any I2C mode with the SSPEN bit set,  
forces the SCL and SDA pins to be open-drain,  
provided these pins are programmed to inputs by  
setting the appropriate TRISC bits. To ensure proper  
operation of the module, pull-up resistors must be  
provided externally to the SCL and SDA pins.  
1. The SSPSR register value is loaded into the  
SSPBUF register.  
2. The Buffer Full bit, BF, is set.  
3. An ACK pulse is generated.  
4. MSSP Interrupt Flag bit, SSPIF (PIR1<3>), is  
set (interrupt is generated, if enabled) on the  
falling edge of the ninth SCL pulse.  
In 10-Bit Addressing mode, two address bytes need to  
be received by the slave. The five Most Significant bits  
(MSbs) of the first address byte specify if this is a 10-bit  
address. Bit, R/W (SSPSTAT<2>), must specify a write  
so the slave device will receive the second address  
byte. For a 10-bit address, the first byte would equal  
11110 A9 A8 0’, where ‘A9’ and ‘A8’ are the two  
MSbs of the address. The sequence of events for  
10-bit addressing is as follows, with steps 7 through  
9 for the slave-transmitter:  
18.4.3  
SLAVE MODE  
In Slave mode, the SCL and SDA pins must be config-  
ured as inputs (TRISC<4:3> set). The MSSP module  
will override the input state with the output data when  
required (slave-transmitter).  
The I2C Slave mode hardware will always generate an  
interrupt on an address match. Through the mode  
select bits, the user can also choose to interrupt on  
Start and Stop bits  
1. Receive first (high) byte of address (bits, SSPIF,  
BF and UA (SSPSTAT<1>), are set).  
2. Update the SSPADD register with second (low)  
byte of address (clears bit, UA, and releases the  
SCL line).  
When an address is matched, or the data transfer after  
an address match is received, the hardware automati-  
cally will generate the Acknowledge (ACK) pulse and  
load the SSPBUF register with the received value  
currently in the SSPSR register.  
3. Read the SSPBUF register (clears bit, BF) and  
clear flag bit, SSPIF.  
4. Receive second (low) byte of address (bits,  
SSPIF, BF and UA, are set).  
5. Update the SSPADD register with the first (high)  
byte of address. If match releases SCL line, this  
will clear bit, UA.  
Any combination of the following conditions will cause  
the MSSP module not to give this ACK pulse:  
6. Read the SSPBUF register (clears bit BF) and  
clear flag bit, SSPIF.  
• The Buffer Full bit, BF (SSPSTAT<0>), was set  
before the transfer was received.  
7. Receive Repeated Start condition.  
• The overflow bit, SSPOV (SSPCON<6>), was set  
before the transfer was received.  
8. Receive first (high) byte of address (bits, SSPIF  
and BF, are set).  
In this case, the SSPSR register value is not loaded  
into the SSPBUF, but bit, SSPIF (PIR1<3>), is set. The  
BF bit is cleared by reading the SSPBUF register, while  
bit SSPOV is cleared through software.  
9. Read the SSPBUF register (clears bit, BF) and  
clear flag bit, SSPIF.  
The SCL clock input must have a minimum high and  
low for proper operation. The high and low times of the  
I2C specification, as well as the requirement of the  
MSSP module, are shown in timing parameter 100 and  
parameter 101.  
DS39637D-page 204  
© 2009 Microchip Technology Inc.  
 复制成功!