电子工程师设计认证-设计例程(3)

2019-04-05 18:20

电子设计工程师认证课程

缓冲门电路74LS244、74LS245;

3)时钟和复位电路的选择可以参考4.2.2节的内容; 4)STC89C516RD+的参数和性能可查阅相应的手册。

3.3 I/O扩展模块

3.3.1设计目的及任务

1、设计任务:设计一个基于单片机的I/O扩展模块以及相应的外围电路。

2、 功能指标:扩展I/O数量大于16个,可以通过编程控制输入或者输出方向,电源为+5V供电 3、 设计要求:所设计的I/O扩展模块应满足EDP实验仪系统设计要求,并能与整个系统有效结合。

以下是一个以8155 I/O扩展芯片为例的设计范例及其相应电路的讲解,仅供参考。

3.3.2 8155 I/O扩展芯片的基本工作原理

1 、8155内部结构

Intel 8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。8155可直接与MCS-51单片机连接不需要增加任何硬件逻辑。由于8155既有RAM又具有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一,8155的引脚及内部结构如下图3.12:

图3.12: 8155的引脚及内部结构

8155共有40个引脚,采用双列直插式封装。各引脚功能如下:

AD7~AD0:地址数据总路线。单片机和8155之间的地址、数据、命令、状态信息都是通过它传送的。

11

电子设计工程师认证课程

CE:片选信号线,低电平有效 RD:存储器读信号线,低电平有效。 WR:存储器写信号线,低电平有效。

LE:地址及片选信号锁存线,高电平有效,其后沿将地址及片选信号锁存到器件中。 IO/M:I/O接口与存储器选择依赖线,高电平表示选择I/O接口,低电平选择存储器。 PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线。

PC5~PC0:C口输入/输出或控制信号线。用作控制信号线时,其功能如下: PC0:A INTR(A口中断信号线)。 PC1:A BF(A口缓冲器满信号线)。 PC2:ASTB(A口选通线)。 PC3:B INTR(B口中断信号线)。 PC4:B BF(B口缓冲器满信号线)。 PC5:BSTB(B口选通线)。 TIMER IN:定时器/计时器输入端。 TIMER OUT:定时器/计数器输出端。 RESET:复位信号线。 VCC:+5V电源。 VSS:地。

12

电子设计工程师认证课程

3.3.3设计内容

1、试验仪8155模块接口定义

试验8155模块接口定义如图3.13。

VCC SS11 SS33 SS55 D0 D2 D4 D6 RST CE WR GND VCC SS22 SS44 SS66 D1 D3 D5 D7 ALE IO/M RD GND 图3.13:试验8155模块接口定义 注:上图中为8155模块的双26针插脚位置及定义。 2、设计原理及其说明 单片机与8155芯片的连接框图见图3.14,详细的电原理图见图3.15。 8155I/O扩展模块 VCC ZH ZF ZD ZB SS8 SS6 SS4 SS2 GND VCC ZG ZE ZC ZA SS7 SS5 SS3 SS1 GND

单片机 MCU┊ D0~D7 8155 ┊ PA口CEWRRDALEIO/M┊ PB口┊ PC口 图3.14: 单片机与8155芯片的连接框图

13

电子设计工程师认证课程

图3.15:8155电原理图

注:IO/M端接单片机的P2.0脚,CE端接单片机的P2.1脚。

EDP试验仪的显示采用6位共阴极动态扫描方式,段选码由8155的8位并行口 PB提供,位选线则由8155的PA口提供。单片机通过一片I/O扩展芯片8155为LED显示器提供LED段选码和位选线。由于8155的I/O口不能提供足够的灌电流,因此,通过两次正向驱动器7407与LED段选线连接;通过一片反向驱动器7406与LED的位选线连接,以提供给LED足够的显示电流,详细的LED设计请参考4.4节。8155除了为LED模块提供扩展接口外,还同时为键盘和LCD模块提供外部扩展接口,请参考相关的章节。

单片机通过片选线选通8155芯片,然后将要传输的数据通过D0~D7送8155芯片,8155芯片把输入的地址进行译码并通过PA、PB、PC口输出。 3、软件设计方法

软件设计中,首相定义8155的命令寄存器的外部地址是0x0fd00,定义PA和PB口的外部地址为0x0fd01和0x0fd02。然后定义一个数据缓存数组data dis_buffer[],存储显示数据。其流程见图4-3-5,根据软件流程的51单片机的C语言接口函数见例3.16。

14

电子设计工程师认证课程

开始 定义常量 程序初始化 数码管显示 延时 N 延时时间到? Y 结束

图3.16:软件流程

例3-1:8155测试程序

#include

#include //使用XBYTE必须使用的头文件 #define ORDER8155 XBYTE[0xfd00] #define PA8155 XBYTE[0xfd01] #define PB8155 XBYTE[0xfd02] #define uchar unsigned char

uchar data dis_buffer[] = {0x1,0x2,0x3,0x4,0x5,0x6}; /***** 延时子程序 ******/ void delay(uchar x) { }

/***** 显示子程序 *****/ void display(uchar *p) {

15

// 定义8155命令寄存器地址 // 定义8155 PA口地址 // 定义8155 PB口地址

// 位选线,1~6 // 段选码,显示1~6

uchar code table[20] = {0x06,0x5b,0x4f,0x66,0x6d,0x7d };

while(x--);


电子工程师设计认证-设计例程(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:爱立信LTE后台指令

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

马上注册会员

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