第四章功能扩展 - 图文 联系客服

发布时间 : 星期日 文章第四章功能扩展 - 图文更新完毕开始阅读cf9ac9a7f524ccbff1218481

3、8155的寄存器

和单片机相同,可编程器件都是由寄存器控制,编程也就是对寄存器编程。 (1) 命令/状态寄存器C/S,该寄存器地址为×××××0 0 0 B 该寄存器是两个寄存器公用一个地址,(写是命令,读是状态) 命令寄存器:(见表)

注意:复位时,命令寄存器被置为00H,端口PA、PB都为输入方式。 状态寄存器:

状态寄存器用于查询当前状态。读状态寄存器,TIMER自动清零。 (2) PA寄存器,地址:×××××0 0 1 B 为PA口寄存器。

(3) PB寄存器,地址:×××××0 1 0 B 为PB口寄存器。

(4) 定时器低8位寄存器,地址:×××××1 0 0 B 定时器高8位寄存器,地址:×××××1 0 1 B (5) PC寄存器 地址:×××××0 1 1 B

为PC口寄存器,可以由命令寄存器中的PC1、PC2设置PC口为输入寄存器、输出寄存器,也可以PC的6个端口设为PA、PB口的控制线。

第五节 中断扩展

1、为什么要扩展中断。AT89C52单片机有两个外部中断请求输入端(即外部中断0、外部中断1)。在实际应用中,往往有三个或三个以上的外部事件需要用中断进行处理,这就需要扩展外部中断源。

2、利用查询加中断的方式进行扩展

利用AT89C52的两个外部中断线,每一个中断线可以通过“与”的关系连接多个外部中断源,同时利用AT89C52的I/O端口作为各中断源的识别。

例:用单片机监测X1,X2,X3三个外部设备在运行过程中是否有故障。不管哪 一个设备一旦出现故障,必须马上处理,所以采用中断系统来监测这三个外部设备。当系统无故障时,3个故障源输人端X1~X3全为低电平,对应的3个显示灯全灭;当某个设备出现故障时,其对应的输入端由低电平变为高电平,从而引起AT89C52单片机中断,中断服务程序的任务是判定故障,并点亮对应的发光二极管。其中,发光二极管LEDl~LED3对应3个输入端X1~X3。

实现上述功能的电路如图所示。3个故障源X1~X3通过“或非门”与AT89C52单片机的外部中断0输入端相连,同时,X1~X3与PO口的P1.0-P1.2引脚相接,3个发光二极管LEDl~LED3分别与P0口的P1.3~P1.5相接。