| 数据搜索系统,热门电子元器件搜索 |
|
PIC16LC771 数据表(PDF) 87 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PIC16LC771 数据表(HTML) 87 Page - Microchip Technology |
|
87 / 224 page ![]() 1999-2013 Microchip Technology Inc. Advance Information DS41120C-page 87 PIC16C717/770/771 9.2.12 I2C MASTER MODE TRANSMISSION In Master-transmitter mode, serial data is output through SDA, while SCL outputs the serial clock. The first byte transmitted contains seven bits of address data and the Read/Write (R/W) bit. In this case, the R/ W bit will be logic '0'. Subsequent serial data is trans- mitted eight bits at a time. After each byte is transmit- ted, an Acknowledge bit is received. START and STOP conditions are output to indicate the beginning and the end of a serial transfer. 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 the SSPBUF register. This action will set the buffer full flag (BF) and allow the baud rate genera- tor 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 generator roll over 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 sta- ble for that duration and some hold time after the next falling 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. This allows the slave device being addressed to respond with an ACK bit during the ninth bit time. The status of ACK is read into the ACKDT on the rising edge of the ninth clock. If the master receives an Acknowledge, the Acknowl- edge status bit (ACKSTAT) is cleared. Otherwise, the bit is set. The SSPIF is set on the falling edge of the ninth clock, 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-18). A typical transmit sequence would go as follows: a) The user generates a START Condition by set- ting the START enable bit (SEN) in SSPCON2. b) SSPIF is set at the completion of the START sequence. c) The user resets the SSPIF bit and loads the SSPBUF with seven bits of address plus R/W bit to transmit. d) Address and R/W is shifted out the SDA pin until all eight bits are transmitted. e) The MSSP Module shifts in the ACK bit from the slave device, and writes its value into the SSPCON2 register (SSPCON2<6>). f) The module generates an interrupt at the end of the ninth clock cycle by setting SSPIF. g) The user resets the SSPIF bit and loads the SSPBUF with eight bits of data. h) DATA is shifted out the SDA pin until all eight bits are transmitted. i) The MSSP Module shifts in the ACK bit from the slave device and writes its value into the SSPCON2 register (SSPCON2<6>). j) The MSSP module generates an interrupt at the end of the ninth clock cycle by setting the SSPIF bit. k) The user resets the SSPIF bit and generates a STOP condition by setting the STOP enable bit PEN in SSPCON2. l) SSPIF is set when the STOP condition is complete. 9.2.12.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 eight bits are shifted out. 9.2.12.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. 9.2.12.3 ACKSTAT STATUS FLAG 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. |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |