DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 141|回复: 0
打印 上一主题 下一主题

STC单片机扩展P4口的应用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:42:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
对于PQFP-44和PLCC-44封装的STC89系列单片机增加了4个I/O口P4口,P4口在特殊功能寄存器中的地址为E8H,可以进行位寻址,用户在使用P4口之前需要先定义地址,然后就像操作其它I/O口一样操作P4口了。
??????另外,P4口的P4.2和P4.3新增加了两个外部中断作为它们的第二功能,使用这两个外部中断时和使用P3.2和P3.3外部中断方法相同,P4.2(INT2)的中断向量入口地址为33H,中断序号为6,P4.3(INT3)的中断向量地址为3bH,中断序号为7,P4口的外部中断由另一个新增加的扩展中断控制寄存器来设置,请看下一个知识点。
知识点:扩展中断控制寄存器(XICON)
STC89系列单片机扩展中断控制寄存器在特殊功能寄存器中的字节地址为C0H,能位寻址,该寄存器用来管理扩展中断开启、关闭、及中断优先级设定。单片机复位时该寄存器全部被清0。其各位的定义如表1所示。
表1扩展中断控制寄存器(XICON)
?

位序号
            
            
            D7
            
            
            D6
            
            
            D5
            
            
            D4
            
            
            D3
            
            
            D2
            
            
            D1
            
            
            D0
            
        
        
            
            位符号
            
            
            PX3
            
            
            EX3
            
            
            IE3
            
            
            IT3
            
            
            PX2
            
            
            EX2
            
            
            IE2
            
            
            IT2
            
        

?
PX3:置位表明外部中断3的优先级为高,但优先级最终由中断优先级寄存器IP,扩展中断优先级寄存器IPH,和扩展中断控制寄存器XICON中的PX3、PX2共同决定,如:[PX3H,PX3]=[0,0];[0,1];[1,0];[1,1]代表不同的优先级。
EX3:置1,允许外部中断3中断;清0,禁止外部中断3中断。
IE3:外部中断3中断请求标志位,中断条件成立后,IE3=1,该位由硬件自动清零。
IT3:置1时,外部中断3为下降沿触发中断;清0时,为低电平触发中断。
PX2:置位表明外部中断2的优先级为高,但优先级最终由中断优先级寄存器IP,扩展中断优先级寄存器IPH,和扩展中断控制寄存器XICON中的PX3、PX2共同决定,如:[PX2H,PX2]=[0,0];[0,1];[1,0];[1,1]代表不同的优先级。
EX2:置1,允许外部中断2中断;清0,禁止外部中断2中断。
IE2:外部中断2中断请求标志位,中断条件成立后,IE2=1,该位由硬件自动清零。
IT2:置1时,外部中断2为下降沿触发中断;清0时,为低电平触发中断。
知识点:扩展中断优先级寄存器(IPH)
STC89系列单片机扩展中断优先级寄存器在特殊功能寄存器中的字节地址为b7H,不能位寻址,该寄存器与中断优先级寄存器、扩展中断控制寄存器XICON中的PX3、PX2位来共同决定单片机所有中断的最终优先级。单片机复位时该寄存器全部被清0。其各位的定义如表2所示。
表2扩展中断优先级寄存器(IPH)
?

位序号
            
            
            D7
            
            
            D6
            
            
            D5
            
            
            D4
            
            
            D3
            
            
            D2
            
            
            D1
            
            
            D0
            
        
        
            
            位符号
            
            
            PX3H
            
            
            PX2H
            
            
            PT2H
            
            
            PSH
            
            
            PT1H
            
            
            PX1H
            
            
            PT0H
            
            
            PX0H
            
        

?
???????? 关于扩展中断优先级寄存器的用法是这样的:假如设定[PX3H,PX3]=[1,1],[PX2H,PX2]=[1,1] ,其它中断的组合均不是[1,1],则这时外部中断3、外部中断2的优先级为比其它中断优先级都高,因为不可能有两个最高,所以再来看系统默认的优先级,在软件设置优先级别相同时,外部中断2的优先级更高。用此方法可设置任一个中断的优先级。
???????? 使用P4口编写C语言代码时,在程序开始处加上如下语句,以后便可像操作其它I/O口一样操作P4口。
???????? sfr P4=0xe8;
???????? 注:STC89LE516AD,STC89LE516X2,STC89LE58AD,STC89LE54ADr的P4口地址为C0h。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-2 07:25 , 耗时 0.102945 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表