PIC单片机IO扩展.doc_第1页
PIC单片机IO扩展.doc_第2页
PIC单片机IO扩展.doc_第3页
PIC单片机IO扩展.doc_第4页
PIC单片机IO扩展.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PIC系列单片机简单I/O口扩展技术摘 要 在实际应用当中当单片机的I/O口资源无法满足系统设计需要时,为了节省成本,常通过外部I/O扩展芯片来达到设计要求。74系列TTL电路是一种简单实用的I/O扩展技术,介绍了74HC165和74HC595芯片的工作原理,给出了该芯片与PIC系列单片机的接口硬件电路及软件代码。关键词 单片机 I/O口 扩展 TTL电路 引 言当单片机的I/O口资源无法满足系统设计需要时,为了节省成本,常通过外部I/O扩展芯片来达到设计要求。通常的办法是设计之初就选用I/O口丰富的单片机来实现,但如果外围设备较多时,也只能进行外部扩展了。另外,使用一款新的单片机,开发者还有一个熟悉、学习过程,因此这并不是最经济的办法。常用的I/O口扩展方法有:(1)专用扩展芯片,如可编程并口扩展芯片8255,通过3个外部地址,扩展出3个并口;又如可通过串入并出、并入串出、并入并出进行I/O口扩展的GM8166芯片等。(2)单片机I/O口扩展法,在系统中设计多个单片机,利用单片机自身I/O口资源进行扩展。(3)TTL移位寄存器法,通过移位寄存器,来扩展无穷个输出或者输入I/O口。(4)最简单的I/O口扩展法,如采用74373做多个锁存器进行输出扩展,采用74245做多个总线收发器进行输入扩展。上述几种方法都有其一定的应用条件和适用范围,并不一定能分出个孰优孰劣,但从最经济角度来说,设计者往往希望能缩短开发周期、降低开发成本。而TTL移位寄存器方法是一种简单实用的I/O扩展技术,芯片控制简单、编程容易,应用十分广泛。本文介绍了74HC165和74HC595芯片的工作原理,给出了与PIC系列单片机的接口硬件电路及软件代码。芯片介绍(1)8位并入/互补串出移位寄存器74HC165。74HC165是一款高速CMOS器件,8位并行读取或串行输入移位寄存器,可在末级得到互补的串行输出(P0和P7)。当移位/并行置入控制(/PL)输入为低时,从P0到P7口输入的并行数据将被异步地读取进寄存器内。而当/PL为高时,数据将从SER输入端串行进入寄存器,在每个时钟脉冲的上升沿向右移动一位(P0P1 P2,等等)。利用这种特性,只要把Q7输出绑定到下一级的SER输入,即可实现并转串扩展即芯片的级联。74HC165八个单独的数字数据输入端使对每一级的并行输入存取得以实现,数字数据输入端由移位控制/并行置入控制端的低电平使能。这种寄存器同时具有门控时钟输入端和第八位互补输出端的特点。为使传输线效应变得最小,输入都是二极管钳位,因而简化了系统设计。74HC165引脚图见图1。图1 74HC165芯片引脚图引脚说明:CLK1,CLK2:时钟输入端,上升沿有效;P0P7:并行数据输入端;SER:串行数据输入端;Q7:数据输出端;/Q7:互补数据输出端;/PL:移位控制/并行置入控制端,低电平有效。当移位/并行置入控制端(/PL)为低电平时,并行数据(P0P7)被置入寄存器,而与时钟(CLK1,CLK2)及串行数据(SER)均无关。当(/PL)为高电平时,并行数据置数功能被禁止。CLK1和CLK2在功能上是等价的,可以交换使用,当CLK1和CLK2有一个为低电平并且/PL为高电平时,另一个时钟可以输入。当CLK1和CLK2有一个为高电平时,另一个时钟被禁止。只有CLK1为高电平时CLK2才可以变为高电平。(2)8位串入/并出移位寄存器74HC595。74HC595是硅结构的CMOS器件,兼容低电压TTL电路,具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SRCLK的上升沿输入移位寄存器,在RCLK的上升沿输入存储寄存器。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 74HC595移位寄存器有一个串行移位输入(SER)和一个串行输出(Q7)以及一个异步的低电平复位端,存储寄存器有一个并行8位的,具备三态的总线输出,当低电平使能E端时,存储寄存器的数据输出到并口总线。8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态的三态形式。74HC595引脚图见图2。引脚说明:O0O7:并行数据输出;Q7:串行数据输出;图2 74HC595引脚图SRCLK:移位寄存器时钟输入;RCLK:存储寄存器时钟输入;/SRCLR:主复位,低电平有效;E:使能,低电平输出有效;SER:串行数据输入。芯片级联应用电路图3 两片74HC165级联电路图(1)两片74HC165级联。两片74HC165级联可以实现16路数字信号输入,而单片机仅需3根I/O口线,若对时间要求不是很高,理论上可以进行N个芯片的级联,实现N8路信号输入。图3为两片74HC165级联电路图。U2串行输出端Q7与U1串行输入端相连,16路信号由U1的Q7端串行进入单片机,U1和U2的/PL端、CLK1相连分别接单片机I/O口,CLK2端均接地。信号在CLK1时钟作用下进入单片机的顺序为:U1:P7P0U2:P7P0。图4 两片74HC595级联电路图(2)两片74HC595级联。两片74HC595级联可以实现单片机对16路执行机构的控制,而单片机仅需4根I/O口线,若对时间要求不是很高,理论上可以进行N个芯片的级联,实现N8路执行机构的控制。图4为两片74HC595级联电路图。U1串行输出端Q7与U2串行输入端SER相连,主复位/SRCLR端相连后接高电平,移位寄存器时钟输入SRCLK端、存储寄存器时钟输入RCLK端、使能E端均相连并分别接单片机I/O口。单片机控制信号从U1的SER端输入,两字节的控制信号在16个时钟作用下顺序出现在U1的O0O7和U2的O0O7端。程序示例下面以PIC单片机为例,给出上述两种芯片的程序代码。程序已在硬件上调试通过,读者可做适当修改后移植使用。(1)74HC165程序。CLK1为时钟输出端,PL为移位/并行置入控制端,KGDI为数据输入端,读取的数据存入DJFK_BYTE1和DJFK_BYTE2内。PL低电平置入数据时,74HC165自动移一位,在程序中只需要触发7次,读取两字节数据需移位15次。所有有效的上升沿或下降沿持续时间至少为1微妙。;=; 读取74HC165状态子程序 ;=READ_DJBSFPL;并行置入控制端为高,禁止置入NOPBCFPL;并行数据置入移位寄存器内NOPBSFPL;并行置入控制端为高,禁止置入BTFSCKGDI;判断输入数据GOTOREAD_DJ3;输入数据为1,转READ_DJ3BCFSTATUS,C;确保进位位为0GOTOREAD_DJ5;输入数据为0,转READ_DJ5READ_DJ3BSFSTATUS,C;置位进位位READ_DJ5RLFDJFK_BYTE2,F;DJFK_BYTE2右移一次RLFDJFK_BYTE1,F;DJFK_BYTE1右移一次MOVLW0EH;移位15次MOVWFTEMP_JCQ3READ_DJ2BCFCLK1;时钟保持低电平,禁止移位NOPBSFCLK1;时钟高电平,数据移位NOPBCFSTATUS,CBTFSCKGDI;判断输入数据GOTOREAD_DJ1;输入数据为1,转READ_DJ1BCFSTATUS,C;确保进位位为0GOTOREAD_DJ4;输入数据为0,转READ_DJ4READ_DJ1BSFSTATUS,CREAD_DJ4RLFDJFK_BYTE2,F;DJFK_BYTE2右移一次RLFDJFK_BYTE1,F;DJFK_BYTE1右移一次DECFSZTEMP_JCQ3,F;移位是否15次GOTOREAD_DJ2;不是,转READ_DJ2RETURN;是,子程序结束(2)74HC595程序。SC为移位寄存器时钟输出端,RC为存储器时钟输出端,DTI为数据输出端,DTEN为芯片使能端,连续发送两字节。当SC上升沿到来时,DTI引脚的当前电平值在移位寄存器中右移一位,在下一个上升沿到来时移位寄存器中所有位都右移一次,同时最高位出现在Q7端,连续移位8次,就可以把控制字节送到移位寄存器中,两字节移位完成后,RC上升沿到来时移位寄存器中值就会被锁存到存储器中,并从O0O7引脚输出。所有有效的上升沿或下降沿持续时间至少为1微妙。;=; 发送两字节子程序(74HC595) ;=RL_KZBCFSC;移位寄存器时钟输出低电平,禁止移位BCFRC;存储器时钟输出低电平,禁止锁存BCFDTEN;使能74HC595MOVLW02H;发送2字节MOVWFTEMP_JCQ1MOVLW28H;发送数据首地址MOVWFFSRRL_KZ3MOVFINDF,W;发送数据装入临时寄存器MOVWFTEMP_JCQ2DECFFSR,F;地址指针修正MOVLW08H;移位8次MOVWFTEMP_JCQ3RL_KZ2RRFTEMP_JCQ2,F;数据右移一次BTFSCSTATUS,C;判断移出的值GOTORL_KZ1;移出值为高,转RL_KZ1BCFDTI;输出低电平GOTO$+2RL_KZ1BSFDTI;输出高电平BSFSC;移位寄存器时钟输出高电平,移位NOPBCFSC;移位寄存器时钟输出高电平,禁止移位DECFSZTEMP_JCQ3,F;移位是否8次GOTORL_KZ2;未到8次,转RL_KZ2继续移位DECFSZTEMP_JCQ1,F;移位8次,两字节数据是否发送完毕GOTORL_KZ3;两字节数据未发送完毕,转RL_KZ3继续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论