非编码键盘的扫描程序设计Word文档下载推荐.docx
《非编码键盘的扫描程序设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《非编码键盘的扫描程序设计Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
首先逐列置零电平,其余各列置为高电平,然后检查各行线电平的变化,如果某行电平高电平变为零电平,则可确定此行此列交叉点处的按键被按下。
4系统硬件设计
选用元器件
8031单片机
8031单片机共有40条引脚,其中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出引脚。
其引脚图如图4-1所示。
图4-18031单片机引脚图
下面按其引脚功能分为四部分叙述这40条引脚的功能。
主电源引脚VCC和VSSVCC——接+5V电压;
VSS——接地。
外接晶体引脚XTAL1和XTAL2
XTAL1接外部晶体的一个引脚。
在单片机内部,它是一个反相放大
4
器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;
对CHMOS单片机,此引脚作为驱动端。
XTAL2接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;
对XHMOS,此引脚应悬浮。
控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP①RST/VPD当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围内,VPD就向内部RAM提供备用电源。
②ALE/PROG:
当访问外部存贮器时,ALE的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动8个LS型的TTL输入电路。
对于EPROM单片机,在EPROM编程期间,此引脚用于输入编程脉冲。
③PSEN:
此脚的输出是外部程序存储器的读选通信号。
在从外部程序存储器取指令期间,每个机器周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN同样可以驱动8个LS型的TTL输入。
④EA/VPP:
当EA端保持高电平时,访问内部程序存储器,但在PC值超过0FFFH或1FFFH时,将自动转向执行外部程序存储器内的程序。
当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
对于常用的8031来说,无内部
5
程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。
对于EPROM型的单片机,在EPROM编程期间,此引脚也用于施加21V的编程电源。
输入/输出引脚P0、P1、P2、P3
①P0口:
是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。
②P1口:
是准双向8位I/O口。
于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动4个LS型的TTL负载。
对8052、8032,引脚的第二功能为T2定时/计数器的外部输入,引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
对EPROM编程和程序验证时,它接收低8位地址。
③P2口:
在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。
在对EPROM编程和程序验证期间,它接收高8位地址。
P2可以驱动4个LS型的TTL负载。
④P3口:
是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。
P3能驱动4个LS型的TTL负载。
作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。
作为第二功能使用时,各引脚的定义如表4-1所示。
P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
表4-1P3各口线的第二功能定义
6
口线 引脚1011121314151617第二功能RXDTXDINT0INT1T0T1WRRD8155芯片
8155芯片是为8086系列微机开发出的系列通用可编程I/O接口芯片。
8155不仅可以提供三个并行的I/O端口,在其内部还集成有256个字节的RAM存储空间、一个14位的定时/计数器,因此非常适合与MCS-51单片机连接实现系统功能的扩展。
8155的引脚图如图4-2所示:
图4-28155引脚图
8155各引脚功能说明如下:
7
RST:
复位信号输入端,高电平有效。
复位后,3个I/O口均为输入方式。
AD0~AD7:
三态的地址/数据总线。
与单片机的低8位地址/数据总线相连。
单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。
RD:
读选通信号,控制对8155的读操作,低电平有效。
WR:
写选通信号,控制对8155的写操作,低电平有效。
CE:
片选信号线,低电平有效。
IO/M:
8155的RAM存储器或I/O口选择线。
当IO/M=0时,则选择8155的片内RAM,AD0~AD7上地址为8155中RAM单元的地址;
当IO/M=1时,选择8155的I/O口,AD0~AD7上的地址为8155I/O口的地址。
ALE:
地址锁存信号。
8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及,IO/的状态都锁存到8155内部锁存器。
因此,P0口输出的低8位地址信号不需外接锁存器。
PA0~PA7:
8位通用I/O口,其输入、输出的流向可程序控制。
PB0~PB7:
8位通用I/O口,功能同A口。
PC0~PC5:
有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。
TIMERIN:
定时/计数器脉冲输入端。
TIMEROUT:
定时/计数器输出端。
VCC:
+5V电源。
8155的地址编码及工作方式
在单片机应用系统中,8155是按外部数据存储器统一编址的,为16位地址,其高8位片选线提供,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确定,如表4-2所示。
8
这时,A、B、C口的口地址低8位分别为01H、02H、03H。
表4-28155芯片的I/O口地址CE0000000IO/M1111110A7-A3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXA2A1A0000