| Electronic Components Datasheet Search |
|
PIC16F87 Datasheet(PDF) 8 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PIC16F87 Datasheet(HTML) 8 Page - Microchip Technology |
|
8 / 24 page ![]() PIC16F87/88 DS39607B-page 8 2002 Microchip Technology Inc. 3.4.2 SERIAL PROGRAM OPERATION The RB6 pin is used as a clock input pin, while the RB7 pin is used to enter command bits, and input or output data during serial operation. To input a command, the clock pin (RB6) is cycled six times. Each command bit is latched on the falling edge of the clock, with the Least Significant bit (LSb) of the command being input first. The data on RB7 is required to have a minimum setup (tset1) and hold (thold1) time (see AC/DC specifications), with respect to the falling edge of the clock. Commands with associated data (read and load) are specified to have a minimum delay (tdly1) of 1 µs between the command and the data. After this delay, the clock pin is cycled 16 times, with the first cycle being a Start bit (0) and the last cycle being a Stop bit (0). Data is transferred LSb first. During a read operation, the LSb will be transmitted onto RB7 on the rising edge of the second cycle, while, during a load operation, the LSb will be latched on the falling edge of the second cycle. A minimum 1 µs delay (tdly2) is specified between consecutive commands. All commands and data words are transmitted LSb first. The data is transmitted on the rising edge and latched on the falling edge of the clock. To allow decoding of commands and reversal of data pin configuration, a time separation of at least 1 µs (tdly1) is required between a command and a data word, or another command. The available commands are described in the following paragraphs and listed in Table 3-1. 3.4.2.1 Load Configuration Upon receipt of the Load Configuration command, the PC will be set to 0x2000 and the data sent with the command is discarded. The four ID locations and the configuration words can then be programmed using the normal programming sequence, as described in Section 3.4 “Program Mode”. A description of the memory mapping schemes of the program memory for normal operation and Configuration mode operation is shown in Figure 3-1. Once the configuration memory is entered, the only way to get back to the user program memory is to exit the Program/Verify Test mode by taking MCLR low (VIL). 3.4.2.2 Load Data for Program Memory After receiving this command, the chip will load one word (with 14 bits as a “data word”) to be programmed into user program memory when 16 cycles are applied. A timing diagram for this command is shown in Figure 7-1. 3.4.2.3 Load Data for Data Memory After receiving this command, the chip will load a 14-bit “data word” when 16 cycles are applied. However, the data memory is only 8 bits wide and, thus, only the first 8 bits of data after the Start bit will be programmed into the data memory (8 data bits and 6 zeros). It is still necessary to cycle the clock the full 16 cycles in order to allow the internal circuitry to reset properly. The data memory contains up to 256 bytes. If the device is code protected, the data is read as all zeros. A timing diagram for this command is shown in Figure 7-2. 3.4.2.4 Read Data from Program Memory After receiving this command, the chip will transmit data bits out of the program memory (user or configuration) currently accessed, starting with the second rising edge of the clock input. The RB7 pin will go into Output mode on the second rising clock edge, reverting to Input mode (high-impedance) after the 16th rising edge. A timing diagram of this command is shown in Figure 7-3. 3.4.2.5 Read Data from Data Memory After receiving this command, the chip will transmit data bits out of the data memory, starting with the second rising edge of the clock input. The RB7 pin will go into Output mode on the second rising edge, reverting to Input mode (high-impedance) after the 16th rising edge. As previously stated, the data memory is 8-bits wide and, therefore, only the first 8 bits that are output are actual data. A timing diagram for this command is shown in Figure 7-4. 3.4.2.6 Increment Address The PC is incremented when this command is received. A timing diagram of this command is shown in Figure 7-5. Note: Upon entering Programming mode, a “Load Data for Program Memory” or “Load Data for Data Memory” command of 0x01 must be given before a Begin Erase or Begin Programming command is initiated. This will ensure that the programming pointer is pointing to the correct location in data or program memory. |
|
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List 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 |