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

PIC16C71-04/SO 参数 Datasheet PDF下载

PIC16C71-04/SO图片预览
型号: PIC16C71-04/SO
PDF下载: 下载PDF文件 查看货源
内容描述: 8位CMOS微控制器与A / D转换器 [8-Bit CMOS Microcontrollers with A/D Converter]
分类和应用: 转换器微控制器
文件页数/大小: 176 页 / 1596 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC16C71-04/SO的Datasheet PDF文件第26页浏览型号PIC16C71-04/SO的Datasheet PDF文件第27页浏览型号PIC16C71-04/SO的Datasheet PDF文件第28页浏览型号PIC16C71-04/SO的Datasheet PDF文件第29页浏览型号PIC16C71-04/SO的Datasheet PDF文件第31页浏览型号PIC16C71-04/SO的Datasheet PDF文件第32页浏览型号PIC16C71-04/SO的Datasheet PDF文件第33页浏览型号PIC16C71-04/SO的Datasheet PDF文件第34页  
PIC16C71X  
5.3  
I/O Programming Considerations  
EXAMPLE 5-3: READ-MODIFY-WRITE  
INSTRUCTIONS ON AN I/O  
PORT  
5.3.1  
BI-DIRECTIONAL I/O PORTS  
;Initial PORT settings: PORTB<7:4> Inputs  
Any instruction which writes, operates internally as a  
read followed by a write operation. The BCF and BSF  
instructions, for example, read the register into the  
CPU, execute the bit operation and write the result  
back to the register. Caution must be used when these  
instructions are applied to a port with both inputs and  
outputs defined. For example, a BSFoperation on bit5  
of PORTB will cause all eight bits of PORTB to be read  
into the CPU. Then the BSF operation takes place on  
bit5 and PORTB is written to the output latches. If  
another bit of PORTB is used as a bi-directional I/O pin  
(e.g., bit0) and it is defined as an input at this time, the  
input signal present on the pin itself would be read into  
the CPU and rewritten to the data latch of this particular  
pin, overwriting the previous content. As long as the pin  
stays in the input mode, no problem occurs. However,  
if bit0 is switched to an output, the content of the data  
latch may now be unknown.  
;
PORTB<3:0> Outputs  
;PORTB<7:6> have external pull-ups and are  
;not connected to other circuitry  
;
;
;
PORT latch PORT pins  
---------- ---------  
BCF PORTB, 7  
BCF PORTB, 6  
BSF STATUS, RP0  
BCF TRISB, 7  
BCF TRISB, 6  
; 01pp pppp  
; 10pp pppp  
;
11pp pppp  
11pp pppp  
; 10pp pppp  
; 10pp pppp  
11pp pppp  
10pp pppp  
;
;Note that the user may have expected the  
;pin values to be 00pp ppp. The 2nd BCF  
;caused RB7 to be latched as the pin value  
;(high).  
A pin actively outputting a Low or High should not be  
driven from external devices at the same time in order  
to change the level on this pin (“wired-or”, “wired-and”).  
The resulting high output currents may damage the  
chip.  
Reading the port register, reads the values of the port  
pins. Writing to the port register writes the value to the  
port latch. When using read-modify-write instructions  
(ex. BCF, BSF, etc.) on a port, the value of the port pins  
is read, the desired operation is done to this value, and  
this value is then written to the port latch.  
5.3.2  
SUCCESSIVE OPERATIONS ON I/O PORTS  
The actual write to an I/O port happens at the end of an  
instruction cycle, whereas for reading, the data must be  
valid at the beginning of the instruction cycle  
(Figure 5-6). Therefore, care must be exercised if a  
write followed by a read operation is carried out on the  
same I/O port. The sequence of instructions should be  
such to allow the pin voltage to stabilize (load depen-  
dent) before the next instruction which causes that file  
to be read into the CPU is executed. Otherwise, the  
previous state of that pin may be read into the CPU  
rather than the new state. When in doubt, it is better to  
separate these instructions with a NOP or another  
instruction not accessing this I/O port.  
Example 5-3 shows the effect of two sequential read-  
modify-write instructions on an I/O port.  
FIGURE 5-6: SUCCESSIVE I/O OPERATION  
Q4  
Q4  
Q4  
Q1 Q2  
Q4  
Q3  
Q3  
Q3  
Q3  
Q1 Q2  
PC  
Q1 Q2  
Q1 Q2  
Note:  
This example shows a write to PORTB  
followed by a read from PORTB.  
PC + 3  
NOP  
PC  
Instruction  
fetched  
PC + 1  
PC + 2  
NOP  
MOVWF PORTB MOVF PORTB,W  
write to  
PORTB  
Note that:  
data setup time = (0.25TCY - TPD)  
RB7:RB0  
where TCY = instruction cycle  
TPD = propagation delay  
Port pin  
sampled here  
TPD  
Therefore, at higher clock frequencies,  
a write followed by a read may be  
problematic.  
Instruction  
executed  
NOP  
MOVWF PORTB  
write to  
MOVF PORTB,W  
PORTB  
DS30272A-page 30  
1997 Microchip Technology Inc.  
 
 
 复制成功!