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

PIC16F877-20/L 参数 Datasheet PDF下载

PIC16F877-20/L图片预览
型号: PIC16F877-20/L
PDF下载: 下载PDF文件 查看货源
内容描述: 40分之28引脚8位CMOS闪存微控制器 [28/40-pin 8-Bit CMOS FLASH Microcontrollers]
分类和应用: 闪存微控制器
文件页数/大小: 200 页 / 3544 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC16F877-20/L的Datasheet PDF文件第77页浏览型号PIC16F877-20/L的Datasheet PDF文件第78页浏览型号PIC16F877-20/L的Datasheet PDF文件第79页浏览型号PIC16F877-20/L的Datasheet PDF文件第80页浏览型号PIC16F877-20/L的Datasheet PDF文件第82页浏览型号PIC16F877-20/L的Datasheet PDF文件第83页浏览型号PIC16F877-20/L的Datasheet PDF文件第84页浏览型号PIC16F877-20/L的Datasheet PDF文件第85页  
PIC16F87X  
9.2.11 I2C MASTER MODE TRANSMISSION  
9.2.11.3 ACKSTAT STATUS FLAG  
Transmission of a data byte, a 7-bit address or either  
half of a 10-bit address is accomplished by simply writ-  
ing a value to SSPBUF register. This action will set the  
buffer full flag (BF) and allow the baud rate generator to  
begin counting and start the next transmission. Each  
bit of address/data will be shifted out onto the SDA pin  
after the falling edge of SCL is asserted (see data hold  
time spec). SCL is held low for one baud rate gener-  
ator rollover count (TBRG). Data should be valid before  
SCL is released high (see data setup time spec).  
When the SCL pin is released high, it is held that way  
for TBRG. The data on the SDA pin must remain stable  
for that duration and some hold time after the next fall-  
ing edge of SCL. After the eighth bit is shifted out (the  
falling edge of the eighth clock), the BF flag is cleared  
and the master releases SDA allowing the slave device  
being addressed to respond with an ACK bit during the  
ninth bit time, if an address match occurs or if data was  
received properly. The status of ACK is read into the  
ACKDT on the falling edge of the ninth clock. If the  
master receives an acknowledge, the acknowledge  
status bit (ACKSTAT) is cleared. If not, the bit is set.  
After the ninth clock, the SSPIF is set and the master  
clock (baud rate generator) is suspended until the next  
data byte is loaded into the SSPBUF, leaving SCL low  
and SDA unchanged (Figure 9-14).  
In transmit mode, the ACKSTAT bit (SSPCON2<6>) is  
cleared when the slave has sent an acknowledge  
(ACK = 0), and is set when the slave does not acknowl-  
edge (ACK = 1). A slave sends an acknowledge when  
it has recognized its address (including a general call),  
or when the slave has properly received its data.  
After the write to the SSPBUF, each bit of address will  
be shifted out on the falling edge of SCL until all seven  
address bits and the R/W bit are completed. On the fall-  
ing edge of the eighth clock, the master will de-assert  
the SDA pin allowing the slave to respond with an  
acknowledge. On the falling edge of the ninth clock, the  
master will sample the SDA pin to see if the address  
was recognized by a slave. The status of the ACK bit is  
loaded into the ACKSTAT status bit (SSPCON2<6>).  
Following the falling edge of the ninth clock transmis-  
sion of the address, the SSPIF is set, the BF flag is  
cleared, and the baud rate generator is turned off until  
another write to the SSPBUF takes place, holding SCL  
low and allowing SDA to float.  
9.2.11.1 BF STATUS FLAG  
In transmit mode, the BF bit (SSPSTAT<0>) is set when  
the CPU writes to SSPBUF and is cleared when all 8  
bits are shifted out.  
9.2.11.2 WCOL STATUS FLAG  
If the user writes the SSPBUF when a transmit is  
already in progress (i.e. SSPSR is still shifting out a  
data byte), then WCOL is set and the contents of the  
buffer are unchanged (the write doesn’t occur).  
WCOL must be cleared in software.  
1999 Microchip Technology Inc.  
DS30292A-page 81  
 复制成功!