第4章 并行接口P0~P3和单片机的中断系统1.ppt

第4章 并行接口P0~P3和单片机的中断系统1.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 并行接口P0~P3和单片机的中断系统1.ppt

单片机原理、接口及应用 PO口—1.作为输入/输出口。 2.作为地址/数据总线 ,接外围芯片时PO口分时输出低 8 位地址与数据信号。 P1口—1.作为输入/输出口。 2.在增强型(52系列)和ISP型(在系统编程型)中有如下功能: 4.1.1.2 端口的内部结构 四个端口的一位结构见图4.1,同一个端口的各位具有相同的结构。由图可见,四个端口的 结构有相同之处: PO作I/O口使用 CPU发控制电平“0”封锁与门,使T1管截止,同时使MUX开关同下面的触点接通,使锁存器的 Q 与T2栅极接通。 当CPU向端口输出数据时,写脉冲加在锁存器的 CL上、内部总线的数据经反相,再经T2管反相,PO口的这一位引脚上出现正好和内部总线同相的数据。由于输出驱动级是漏极开路电路(因T1截止),在作I/O口使用时应外接10K的上拉电阻。  当输入操作时,端口中两个三态缓冲器用于读操作。缓冲器2用于读端口引脚的数据。当执行端口读指令时,读引脚脉冲打开三态缓冲器2,于是端口引脚数据经三态缓冲器2送到内部总线。缓冲器1用于读取锁存器Q端的数据。当执行“读-修改-写”指令(即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:ANL PO,A指令),即是读的锁存器Q的数据。 这是为了避免错读引脚的电平信号,例如用一根口线去驱动一个晶体管基极,当向口线写“1”,晶体管导通,导通的PN结会把引脚的电平拉低,如读引脚数据,则会读为0 ,而实际上原口线的数据为1。因而采用读锁存器Q的值而避免了错读。究竟是读引脚还是读 锁存器,CPU内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。 应注意 ,当作输入端口使用时,应先对该口写入“1”使场效应管T2截止,再进行读入操作,以防场效应管处于导通状态,使引脚箝位到零,而引起误读。 当PO口作地址/数据线使用时,CPU及内部控制信号为“1”,转换开关MUX打向上面的触点, 使反相器的输出端和T2管栅极接通,输出的地址或数据信号通过与门驱动T1管,同时通过反相器驱动T2管完成信息传送,数据输入时,通过缓冲器进入内部总线。 当扩展片外存贮器时,MUX开关打向右,P2口作高八位地址线输出高八位地址信号。 其MUX的的倒向是受CPU内部控制的。 应当注意:当P2口的几位作地址线使用时,剩下的P2口线不能作I /O口线使用。 归纳四个并行口使用的注意事项如下: 1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用。 2.四个口在作输入口使用时,均应先对其写“1”,以避免误读。 3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。 4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。 5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。 4.1.2 编程举例 下面举例说明端口的输入、输出功能,其他功能的应用实例在后面章节说明。 例4-1.设计一电路,监视某开关K,用发光二极管LED显示开关状态,如果开关合上,LED 亮、 开关打开,LED熄灭。 分析:设计电路如图5. 2如示。 开关接在P1.1口线,LED接P1.0口线,当开关断开时,P1.1为+5V,对应数字量为“1”,开 关合上时P1.1电平为0V,对应数字量为“0”,这样就可以用JB指令对开关状态进行检测 。 编程如下: CLR P1.0 ;使发光二极管灭 AGA:SETB P1.1 ;先对P1口写入“1” JB P1.1,LIG ;开关开,转LIG SETB P1.0 ;开关合上,二极管亮 SJMP AGA LIG: CLR P1.0 ;开关开,二极管灭 SJMP AGA 例4-2.在下图中P1.4~P1.7接四个发光二极管LED,P1.0~P1.3接四个开关,编程将开关的状态反映到发光二极管上。 上述程序中每次读开关之前,输入位都先置“1”,保证了开关状态的正确读入。 编程如下: ORG 0000H ABC: MOV P1, #0FFH ;高四位灭,低四位送“1”

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档