插手珍藏夹
本站长久域名:http://www.agpgames.com              首页 || English Version || 汇款须知 || 汇款确认及留言 || 论坛 || 淘宝网店

PIC单片机16F84的内部硬件本钱(三)

4 I/O口
   单片机作为一个节制器件必定无数据输入和输出。输入量可能是温度、压力、转速等,而输出量可能是开关量和数据,以包管受控过程在规定的范畴内运转。数据的输入和输出都需经由单片机内部相关电路,再与引脚构成输入/输出(I/O)端口。PIC16F84单片机芯片有两个I/O端口(PROTA和PORTB)。端口A为5位口,端口B为8位口,共占用13位引脚。每个端口由一个锁存器(即数据存储器中的特殊功能寄放器05H、06H单元)、一个输出驱动器和输入缓冲器等构成。当把I/O口作输出时,数据能够锁存;作输入口时,数据能够缓冲。
   16F84 PORTA口中的RA4是斯密特触发输入、漏极开路输出。而其它的RA口引脚都是TTL电平输入和全CMOS驱动输出。端口PORTB是一个八位双向可编程I/O口。各端口虽然也由锁存器、驱动器、缓冲器等构成,但因功能略有不合而导致电路亦具有不同。现以PORTA口的RA0 ~RA3的电路(见左图)为例,申明其根底工作道理。
   图中RA口的I/O引脚是由数据标的目的位(寄放器TRISA)来定义数据流向。当TRISA寄放器的位置为“1”时,其输出驱动器(由P沟道和N沟道MOS管串接而成)呈高阻态,即两个MOS管均截止,I/O口被定义为输入。此时,数据由I/O端输入,经TTL输入缓冲器到D触发器。当施行读指令时,此D触发器使能,数据经三态门进入数据总线。
   当TRISA的位置为“0”时,I/O口被定义为输出,此时输出锁存器的输出电平便是I/O口的输出电平。
   读PORTA寄放器的成果便是读取I/O引脚上的电平,而写PORTA寄放器的成果是写入I/O锁存器。所有的写I/O口的操作都是一个“读入/编削/写入”的过程,即先读I/O引脚电平,然后由法式编削(按要求给定一个值),再置入I/O锁存器。
   PIC16F84单片机的输出可供给20mA的电流,所以它可间接驱动LED。PORTA和PORTB各个位均可别离定义为输入和输出。下面以PORTA口初始化法式的实例,申明选择I/O口的方式。
   CLRF PORTA;端口A被清零
   BSF STATUS;情况寄放器STATUS的RPO位置为1,选BANK1。
   MOVLW 0xCF ;将定向值
         ;11001111置入W工作寄放器
   MOVWF TRISA;置RA(3~0)位为输入
         ;RA 54位为输出
          ;TRISA 76位未用
   在使用I/O口时应留意:
   (1)当需要一个I/O口一会做输入、一会又做输出时,输出值会不确定。
   (2)I/O引脚输出驱动电路为CMOS互补推挽输出。当其为输出情况时,不能与其它输出脚接成“线或”或“线与”,不然,会因电流过载烧坏单片机。
   (3)当对I/O口进行写操作后不宜间接进行读操作,一般要求在两条持续的写、读指令间至多插手一条NOP指令。
   例:MOVWF 6 ;写I/O
    NOP ;不变I/O电平
    MOVF 6,W;读I/O
   5辈挚
   单片机施行法式时,常常要施行调用子法式。多么就发生了一个问题:若何回忆是从何处调用的子法式,以便施行子法式之后精确前去。此外,在法式施行过程中,又一次可能会发生中缀,转而施行中缀子法式,这时,又若何回忆从何处中缀,以便前去呢?
   满足上述功能的方式便是“仓库”技术。
   “仓库”是一个用来保留姑且数据的栈区。当主法式调用子法式时,单片机施行到CALL指令或发生中缀时,就主动将下一条指令的地址“压栈”保留到栈区。当子法式结束,单片机施行前去指令时,就主动地把栈区的内容“弹出”,作为下步指令施行的新地址。
   PIC16F84单片机芯片内有一个8级13位宽(与PC同宽)的硬件仓库,此仓库既不占用法式存储空间,也不占用数据存储空间。当施行一条CALL指令或一个中缀被响应后,法式计数器PC中的断点地址就主动被压栈(PUSH)庇护,而当施行RETURN、RETLW或者RETFIE指令时,仓库中的断点地址会弹回(POP)法式计数器PC中。无论是PUSH仍是POP操作,都不影响PCLATH寄放器的内容。  成都 卫东 
   学问竞赛试题:
   19奔蚴鯬IC单片机I/O口的功能。
   20盤IC16C64A/RL64与PIC16C65的管脚数相等,管脚功能附近,但PIC16C64A/RL64的{16}脚无CCP2、{25}脚无TX/CK、{26}脚无RX/DT等功能,试绘出PIC16C64A/RL64的管脚功能图。


以上部门内容转载于网上,如有涉及到版权问题,请即通知本人删除 ICP备05019516号
联系地址:浙江省杭州市西湖科技园西园七路3号4层 邮政编码:310011 Email:hificat@163.com xu169@sina.com
德律:0571-87615070 传真:0571-87615070 手机:13185018567 QQ:420951892 MSN:hificat@hotmail.com
杭州电子&算计机工作室 版权所有 COPYRIGHT2003——2007 HangZhou Electron&Computer Studio. All rights reserved