一氧化碳报警器设计 - 软件设计(6)

2019-02-14 22:54

东南大学成贤学院毕业设计报告

IO/M AD0~AD7 256K CE ALE RD WR SRAM B口 PB0~PB7 A口 PA0~PA7 RESET 14位计数器 C口 PC0~PC7 TIMER IN TIMER OUT 图2-17 8155的内部结构

VSS VCC 8155有要由三个并端口A、B、C,一个14位定时计数器、256B SRAM组成,各个部分的结构以及功能说明如下。

? 定时器

定时器由2个8位寄存器构成,其中低14位组成计数器,最高的两个位定义计数器的输出形式。最高位组合的模式意义如下:M2M1=00,输出单个方波;M2M1=01,输出连续方波;M2M1=10,输出单个脉冲;M2M1=11,输出连续脉冲。

? 端口A、B、C

8155芯片有2个8位和1个6位的可编程并行I/O端口。端口A和B都是8位,端口C为6位口,都可以作为输入或输出。A口和B口作为选通输入或输出口时,C口与A、B配合,作为它们的控制信号或状态信号。

A口和B口有两种工作方式:基本I/O和选通I/O;C口只有基本I/O工作方式。当A口或B口以选通工作方式传送数据时,C口作联络信号。

? 8155共有256个RAM单元,52单片机扩展8155芯片时,可以将该256B RAM作为片外数据 存储单元,使用MOVX指令或XBYTE即可。

21

东南大学成贤学院毕业设计报告

PC3 PC4 TIMER IN RESET PC5 TIMER OUT IO/M CE RD WR ALE CE AD1 AD2 AD3 AD4 AD5 AD6 AD7 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8155 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0

图2-18 8155的引脚分布

8155的引脚功能介绍如下。

? AD0~AD7:地址/数据复用线。与单片机的低8位地址/数据总线(P0口)相连。单片机与8155

之间的地址、数据、命令与状态信息都是通过这个总线口传送的。

? CE片先信号:低电平有效,由它启动单片机和8155的通信。在单片机应用系统中,8155是

按外部数据存储器统一编址的,为16位地址,其高8位由片选线CS提供,当CE=0,选中该片。

当 CE=0,IO/M =0时,选中8155片内RAM,这时8155只能作片外RAM使用,其RAM的低8位编址为00H~FFH;当 CE=0,IO/M =1时,选中8155的I/O口,其端口地址的低8位由AD7~AD0确定,其中AD7~AD3任选,AD3~AD0如下表6-1所示。这时,A、B、C口的口地址低8位分别为01H、02H、03H(设地址无关位为0)。

? IO/M:IO端口和8155片内的SRAM选择线,当IO/M=1时,对8155的IO口和计数器进行

读/写,AD0~AD7和的地址为其端口地址;当IO/M=0时,对8155的RAM进行读/写,AD0~AD7和的地址为RAM的单元地址,地址范围为00H~FFH。

8155片内的计数器低8位、计数器高8位等6个可编址单元,且低3位地址对端口进行编址,6

22

东南大学成贤学院毕业设计报告

个端口的地址为00H~05H,具体对应如下表2-10所示:

表2-10 8155端口的编址

A2 0 0 0 0 1 1 A1 0 0 1 1 0 0 A0 1 1 0 1 0 1 端口 命令状态寄存器 端口A 端口B 端口C 计数器低8位 计数器高6位

? RST复位信号:高电平有效。复位后,它清除命令状态寄存器和置A、B、C三个I/O口均为输入

方式。

? RD读选通信号:控制对8155的读操作,低电平有效。 ? WR写选通信号:控制对8155的写操作,低电平有效。

? ALE:地址锁存信号。8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位

地址信息及CE、IO/M的状态都锁存到8155内部锁存器。因此,P0口输出的低8位地址信号不需外接锁存器。

? PA0~PA7:8位通用I/O口,其输入、输出的流向可由程序控制。 ? PB0~PB7:8位通用I/O口,功能同A口。

? PC0~PC5:有两个作用,既可作为通用的I/O口,也可作为A口和B口在选通工作方式时的状态

控制信号线,这些可通过程序控制。当C口作为状态控制信号时,其每位线的作用如下: PC0:INTRA(A口中断请求线) PC1:BFA(A口缓冲器满信号) PC2:A口选通信号

PC3:INTRB(B口中断请求线) PC4:BFB(B口缓冲器满信号) PC5:B口选通信号

? TIMER IN:定时/计数器脉冲输入端。 ? TIMER OUT:定时/计数器输出端。 ? VCC:+5V电源。 2.8.3 8155的使用

52单片机外部扩展使用8155并口芯片时,8155的I/O工作方式选择以及工作状态查询是通过对8155内部命令状态寄存器设定控制字实现的。8155的命令状态寄存器实际上为两个寄存器,分别存放命令字和状态字。命令控制字用于设定8155的工作方式,命令寄存器只能写入,不能读出;状态寄存器用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。状态寄存器的端口地址与命令寄存器相同,低8位也是00H,状态寄存器的内容只能读出,不能写入。所以可以认为8155的I/O口地址00H是命令/状态寄存器的地址,对其写入时作为命令寄存器;而对其读出时,则作为状态寄存器。

? 8155命令字

命令字写入命令寄存器,用于定义并行I/O端口及定时器的工作方式。其格式如下图2-19所示。

23

东南大学成贤学院毕业设计报告

D7 D6 D5 D4 D3 D2 D1 D0

A口方式 B口方式

C口功能

0——输入 1——输出

00——C口入,A口、B口基本I/O

01——A口选通I/O,PC0~PC2为联络信号; B

A口B口工作口基本I/O,PC3~PC5输出

方式 10—— A口、B口基本I/O

11——C口输出、 A口、B口基本I/O

A口中断 B口中断

0——禁止中断 1——允许中断 00——无操作 01——停止计数

定时器方式

10——减1计数,到0后停止计数

11——启动计数器:设置计数器初值后立即启动,如果需重新设置计数初值则等减1计数到0后,才按新的计数初值计数

图2-19 8155端口及定时器的工作方式设置(8155命令寄存器格式设置)

如果选择8155芯片工作于基本的输入输出端口方式,A、B口为输出,C口为输入,禁止A口、B口中断,定时器无操作,则命令控制字为00000011B。

? 8155状态字

状态字从状态寄存器读出,用于寄存端口A、端口B和定时器的工作状态,状态寄存器格式如下图2-20所示。

D7

D6 D5 D4 D3 D2 D1 D0

× INTRA 1—A口有中断请求;0—无

BFA INTEA INTRB BFB

1—A口缓冲器满;0—空 1—允许A口中断;0—禁止 1—B口有中断请求;0—无

1—B口缓冲器满;0—空 1—允许B口中断;0—禁止 1—定时/计数器溢出,产生中断

INTEB INTER

图2-20 8155端口及定时器的工作状态寄存器

通过对8155命令状态寄存器的读写,可以设置8155的内部资源按照指定的工作方式正常工作,需要说明的是:8155的复位时间比较长,待其复位稳定后方可对其命令寄存器进行设定,以使8155正常工作。体现在系统设计中就是52单片机复位后适当延时以等待8155的正常复位。

24

东南大学成贤学院毕业设计报告

第三章 硬件连接原理图

第二章主要是一些器件及其使用的介绍。本章将把它们连接起来,给出它们的硬件连接原理图。

3.1 8155接口电路

8155接口电路如下图3-1所示。

图3-1 8155接口电路

3.2 ADC0809接口电路

AT89S52与ADC0809接口时必须弄清楚并处理好三个问题: (1)要给START线送一个100ns宽的启动正脉冲。

(2)获取EOC线上的状态信息,因为它是A/D转换的结束标志。

(3)要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。 将单片机的P3.3、P3.4、P3.5与ADC0809的ADDA、ADDB、ADDC相连接,控制选择ADC0809的采集通道IN0~IN7。单片机的P0口作为地址/数据复用口通过8155与ADC0809相连。ADC0809 CLK 上的时钟频率为500KHZ。为得到此频率,因为AT89S52采用12MHZ的时钟频率,然后经过2个74LS74

25


一氧化碳报警器设计 - 软件设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《单片机技术》课程设计课题任务书(数字电压表)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: