| 数据搜索系统,热门电子元器件搜索 |
|
PICDEM2 数据表(PDF) 21 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PICDEM2 数据表(HTML) 21 Page - Microchip Technology |
|
21 / 60 page ![]() PICDEM 2 User’s Guide DS30374D-page 16 2001 Microchip Technology Inc. 5.1 SSP Module This section presents the flowcharts to implement a software I2C master mode in hardware. For MSSP operation, refer to Section 5.2. 5.1.1 Main Routine The main routine is actually preceded by several register file, bit and vector assignments (Figure 5.2). The program begins by configuring PORTB as outputs and PORTC as inputs. The output data value will be read from PORTB, so it is initialized to one. PORTC is cleared to set SCL and SCA low when not in tri-state. This is important as I2C is an open-drain bus. That is, only the zero values are actually driven to the bus. Ones are transmitted by making the pin an input (tristate) and allowing the pullup resistor to pull the line high. Data is transmitted in this manner by initializing the SCL and SDA port pins to zero and then writing the output value to the corresponding TRIS bit. A one written to the bit causes the pin to tristate pulled high and a zero causes it to become an output, driven low. Interrupts are not used in this program, so they are disabled. Also, the SSP is configured to enable I2C master mode. The write/read loop begins with the initialization of the EEPROM address to 00h, and the device address to A0h. Then the write loop executes by writing the output data value to each address in the EEPROM (Figure 5.3). After the write loop, the EEPROM address and device address are re-initialized for read. The read loop executes by reading data values for each EEPROM address and verifying their accuracy (Figure 5.4). After the read loop, the output data value is incremented by one and this value displayed, via PORTB, on the LEDs. Then the write/read loop begins again. If an error is encountered when writing or reading the EEPROM, or if an EEPROM value read is incorrect, the program jumps to the error loop, which flashes the LEDs (Figure 5.5). |
|
链接网址 |
| 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 |