原创 STC单片机扩展P4口的应用(转)

2009-2-11 11:37 2941 11 11 分类: MCU/ 嵌入式

http://www.tx-power.com/web/viewarticle.asp?userid=1070303&lanmuid=7472654&contentID=1694981

作者:郭天祥    来源:原创    更新时间:2008-11-27 21:50:27    浏览次数:465


      对于PQFP-44PLCC-44封装的STC89系列单片机增加了4I/OP4口,P4口在特殊功能寄存器中的地址为E8H,可以进行位寻址,用户在使用P4口之前需要先定义地址,然后就像操作其它I/O口一样操作P4口了。


      另外,P4口的P4.2P4.3新增加了两个外部中断作为它们的第二功能,使用这两个外部中断时和使用P3.2P3.3外部中断方法相同,P4.2(INT2)的中断向量入口地址为33H,中断序号为6P4.3(INT3)的中断向量地址为3BH,中断序号为7P4口的外部中断由另一个新增加的扩展中断控制寄存器来设置,请看下一个知识点。


知识点:扩展中断控制寄存器(XICON)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


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中的PX3PX2共同决定,如:[PX3HPX3]=[00][01][10][11]代表不同的优先级。


EX3:置1,允许外部中断3中断;清0,禁止外部中断3中断。


IE3:外部中断3中断请求标志位,中断条件成立后,IE3=1,该位由硬件自动清零。


IT3:置1,外部中断3为下降沿触发中断;清0时,为低电平触发中断。


PX2:置位表明外部中断2的优先级为高,但优先级最终由中断优先级寄存器IP,扩展中断优先级寄存器IPH,和扩展中断控制寄存器XICON中的PX3PX2共同决定,如:[PX2HPX2]=[00][01][10][11]代表不同的优先级。


EX2:置1,允许外部中断2中断;清0,禁止外部中断2中断。


IE2:外部中断2中断请求标志位,中断条件成立后,IE2=1,该位由硬件自动清零。


IT2:置1时,外部中断2为下降沿触发中断;清0时,为低电平触发中断。


知识点:扩展中断优先级寄存器(IPH)


STC89系列单片机扩展中断优先级寄存器在特殊功能寄存器中的字节地址为B7H,不能位寻址,该寄存器与中断优先级寄存器、扩展中断控制寄存器XICON中的PX3PX2位来共同决定单片机所有中断的最终优先级。单片机复位时该寄存器全部被清0其各位的定义如表2所示。


2扩展中断优先级寄存器(IPH)




位序号


D7


D6


D5


D4


D3


D2


D1


D0


位符号


PX3H


PX2H


PT2H


PSH


PT1H


PX1H


PT0H


PX0H


         关于扩展中断优先级寄存器的用法是这样的:假如设定[PX3HPX3]=[11][PX2HPX2]=[11] ,其它中断的组合均不是[11],则这时外部中断3、外部中断2的优先级为比其它中断优先级都高,因为不可能有两个最高,所以再来看系统默认的优先级,在软件设置优先级别相同时,外部中断2的优先级更高。用此方法可设置任一个中断的优先级。


         使用P4口编写C语言代码时,在程序开始处加上如下语句,以后便可像操作其它I/O口一样操作P4口。


         sfr P4=0xe8;

         注:STC89LE516ADSTC89LE516X2STC89LE58ADSTC89LE54ADrP4口地址为C0h
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条