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

PIC16F777-I/PT 参数 Datasheet PDF下载

PIC16F777-I/PT图片预览
型号: PIC16F777-I/PT
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚, 8位CMOS闪存微控制器与10位A / D和纳瓦技术 [28/40/44-Pin, 8-Bit CMOS Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology]
分类和应用: 闪存微控制器
文件页数/大小: 276 页 / 4898 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC16F777-I/PT的Datasheet PDF文件第104页浏览型号PIC16F777-I/PT的Datasheet PDF文件第105页浏览型号PIC16F777-I/PT的Datasheet PDF文件第106页浏览型号PIC16F777-I/PT的Datasheet PDF文件第107页浏览型号PIC16F777-I/PT的Datasheet PDF文件第109页浏览型号PIC16F777-I/PT的Datasheet PDF文件第110页浏览型号PIC16F777-I/PT的Datasheet PDF文件第111页浏览型号PIC16F777-I/PT的Datasheet PDF文件第112页  
PIC16F7X7  
10.4.2  
OPERATION  
10.4.3  
SLAVE MODE  
The MSSP module functions are enabled by setting  
MSSP enable bit, SSPEN (SSPCON<5>).  
The SSPCON register allows control of the I2C opera-  
tion. Four mode selection bits (SSPCON<3:0>) allow  
one of the following I2C modes to be selected:  
• I2C Master mode, clock = Oscillator/4 (SSPADD + 1)  
• I2C Slave mode (7-bit address)  
• I2C Slave mode (10-bit address)  
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).  
To ensure proper communication of the I2C Slave  
mode, the TRIS bits (TRISx [SDA, SCL]) correspond-  
ing to the I2C pins must be set to ‘1’. If any TRIS bits  
(TRISx<7:0>) of the port containing the I2C pins  
(PORTx [SDA, SCL]) are changed in software, during  
• 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 communication using  
a
Read-Modify-Write  
instruction (BSF, BCF), then the I2C mode may stop  
functioning properly and I2C communication may  
suspend. Do not change any of the TRISx bits (TRIS  
bits of the port containing the I2C pins) using the  
instruction BSF or BCFduring I2C communication. If it  
is absolutely necessary to change the TRISx bits  
during communication, the following method can be  
used:  
• 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, pro-  
vided 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.  
MOVF  
IORLW  
ANDLW  
TRISC, W  
0x18  
B’11111001’  
; Example for a 40-pin part such as the PIC16F877A  
; Ensures <4:3> bits are ‘11’  
; Sets <2:1> as output, but will not alter other bits  
; User can use their own logic here, such as IORLW, XORLW and ANDLW  
MOVWF  
TRISC  
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.  
10.4.3.1  
Addressing  
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 incom-  
ing 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:  
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.  
Any combination of the following conditions will cause  
the MSSP module not to give this ACK pulse:  
1. The SSPSR register value is loaded into the  
SSPBUF register.  
• The Buffer Full bit, BF (SSPSTAT<0>), was set  
before the transfer was received.  
2. The Buffer Full bit, BF, is set.  
3. An ACK pulse is generated.  
• The overflow bit, SSPOV (SSPCON<6>), was set  
before the transfer was received.  
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 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.  
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.  
DS30498C-page 106  
2004 Microchip Technology Inc.  
 复制成功!