80C51单片机并行IO口的扩展毕业设计资料.docx
- 文档编号:26956181
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:31
- 大小:523.36KB
80C51单片机并行IO口的扩展毕业设计资料.docx
《80C51单片机并行IO口的扩展毕业设计资料.docx》由会员分享,可在线阅读,更多相关《80C51单片机并行IO口的扩展毕业设计资料.docx(31页珍藏版)》请在冰豆网上搜索。
80C51单片机并行IO口的扩展毕业设计资料
摘要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断的走向深入。
但是在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。
单片机扩展通常是借助外部器件对系统进行扩展。
本文主要研究了采用可编程多功能扩展芯片intel8155扩展单片机I/O口。
把单片机作为一个核心部件,设计单片机与8155的接口,并实现数码管三位数字的显示。
本文的主要内容有:
单片机的概述,设计的意义,核心器件intel8155芯片、80C51单片机、数码管的介绍,单元电路模块,设计原理图及流程图,软件编程设计以及最后的结果和个人在整个设计前后的心得体会。
关键词:
单片机,8155,数码管,动态显示。
Abstract
WiththedevelopmentofcomputerpenetrationinthesocialfieldandLSIinrecentyears,theapplicationofMCUisconstantlydeepening.butintheactualmeasurementandcontrolsystemconstitutedbythemicrocontroller,thesmallestapplicationssystemoftencannotmeettherequirements,sowehavetosolvethesystemexpansion.TheMicroprocessorusuallyuseanexternaldevicetorelizetheexpansionofthesystem.
AdoptingIntel8155whichisakindofprogrammablemulti-functionexpansionchip,thispaperstudiesthe expansion ofMCUparallelI/Oport.MCUactasacorecomponent,.wehavedesignedthe8155chipinterfacetorelizethreedigitaldisplayonLEDnumericalcodetube.
Themaincontentofthispaperaremicrocontrolleroverviewofthesignificanceofthedesign,thecoreofthedeviceintel8155;80C51microcontroller,theintroductionofLEDnumericalcodetube,theunitcircuitmodule,designschematicsandflowcharts,softwareprogrammingdesign,thefinalresultsandindividualfeelingsandexperiencesthroughoutthedesign.
Keywords:
MCU,8155,LEDnumericalcodetube,dynamicdisplay.
80C51单片机并行I/O口的扩展
1.绪论
1.1单片机概述
单片机是在一片芯片上集成了中央处理器CPU、随机储存器RAM、程序储存器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O口等功能器件的微型计算机。
单片机的特点:
一是体积小、成本低、运用灵活、易于产品化。
它能方便的组成各种智能化的控制设备和仪器;二是面向控制,能针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比;三是抗干扰能力强,使用温度范围宽,在各种恶劣的环境下都能可靠的工作,这是其它类计算机无法比拟的;四是可以方便地实现多机和分布式,使整个控制系统的效率和可靠性大大提高。
单片机技术的发展速度十分惊人。
时至今日,单片机技术已经发展地相当完善,它已成为计算机技术的一个独特而又重要的分支。
单片机的应用领域也日益广泛,特别是在电信、家用电器、商用产品、工业控制、仪器仪表、汽车电子、计算机网络与通信产品、航空航天电子等领域的智能化方面,扮演着极其重要的角色。
例如:
1.在2000年,一般美国家用系统中应用单片机的数量就增加到了226个;自动化办公室内有42个;典型的汽车电子系统中装有35个,使用的单片机主要的是8位单片机。
目前,单片机的产量正以每年27%的速度递增;
2.据2001年的资料公布,世界单片机产量已经高达70亿片;中国大陆的单片机年需求量约为6亿片;
3.一台微机系统中约嵌入了10片单片机;
4.一辆BMW-7系列宝马轿车中嵌入了63片单片机。
现代电子系统的基本核心是嵌入式计算机应用系统(简称嵌入式系统,EmbeddedSystem),而单片机就是最典型、最广泛、最普及的嵌入式计算机应用系统。
1.2课题研究背景及意义
在当今的单片机应用领域中,单片机的种类层出不穷,功能也越来越强。
在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。
80C51系列单片机是MCS-51单片机中一组高性能兼容性单片机,其功耗低,种类繁多,已占主流地位。
在MCS-51单片机属于一种“通用”的单片机,片内各种资源都是折衷配置的,如片内程序存储器、数据存储器的容量都不大,并行I/O端口的数量也不多,此外,在有些应用中,片内定时器、中断、串行口等也显得不够用,一些功能基本型MCS-51没有,比如A/D转换,D/A转换等。
而在设计单片机应用系统时,如果单片机内部资源不够使用,就需要对单片机进行扩展,以满足实际需要。
MCS-51系列单片机有四个8位并行I/O口(即P0,P1,P2,P3),通常情况下这四个口均可用作通用I/O口。
但在实际应用中,单片机往往通过P0和P2构成扩展总线,扩展EPRAM、RAM或其它功能芯片,此时P0口和P2口就不能作为一般的I/O使用,P3口是双功能口,某些位又经常作为第二功能使用,MCS-51单片机可提供给用户使用的I/O口只有P1口和部分未作第二功能使用的P3口I/O口线。
因此,大部分的MCS-51单片机应用系统设计中都需要进行I/O口的扩展。
1.3设计任务
1.用带RAM和计数器的并行可编程接口芯片8155与80C51单片机接口扩展并行I/O口。
2.在扩展的I/O口上实现数码管动态显示1、2、3。
2.核心器件基本结构与工作原理
2.180C51单片机
80C51系列中,用CHMOS工艺制造的单片机都采用双列直插式(DIP)40脚封装,引脚信号完全相同。
图2-180C51系列单片机引脚图
图2-1为引脚图,这40根引脚大致可分为:
电源(VCC、VSS、VPP、VPD)、时钟(XTAL1、XTAL2)、I/O口(P0~P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、
、
、
)等几部分。
它们的功能简述如下:
1.电源Vcc(引脚号40),芯片电源,接+5V;Vss(引脚号20),电源接地端。
2.时钟XTAL1(引脚号19)内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。
当采用外部振荡器时,此引脚接地。
XTAL2(引脚号18)内部振荡器的反相放大器输出端,是外接晶振的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
3.控制总线
(1)ALE/
(引脚号30):
正常操作时为ALE功能(允许地址锁存),用来把地址的低字节锁存到外部锁存器。
ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟信号或用于定时。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LSTTL电路。
在8751单片机EPROM编程期间,此引脚接编程脉冲(
功能)。
(2)
(引脚号29):
外部程序存储器读选通信号。
在从外部程序存储器取指令(或数据)期间,
在每个机器周期内两次有效。
可以驱动8个LSTTL电路。
(3)RST/VPD(引脚号9):
复位信号输入端。
振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。
此引脚还可接上备用电源。
在Vcc掉电期间,由
向内部RAM提供电源,以保持内部RAM中的数据。
(4)
/Vpp(引脚号31):
为内部程序存储器和外部程序存储器的选择端。
当
为高电平时,访问内部程序存储器(PC值小于4K);当
为低电平时,访问外部程序存储器。
对于87C51单片机,在EPROM编程期间,此端为21V编程电源输入端。
4.I/O线
(1)P0口(引脚号32~39):
单片机的双向数据总线和低8位地址总线。
在访问外部存储器时实现分时操作,先用作地址总线,在ALE信号的下降沿,地址被锁存;然后用作为数据总线。
它也可以用作双向输入/输出口。
P0口能驱动8个LSTTL负载。
(2)P1口(引脚号1~8):
准双向输入/输出口,它能驱动4个LSTTL负载。
(3)P2口(引脚号21~28):
准双向输入/输出口。
在访问外部存储器时,用作高8位地址总线。
P2口能驱动4个LSTTL负载。
(4)P3口(引脚号10~17):
准双向输入/输出口,它能驱动4个LSTTL负载。
P3口的第二功能:
P3.0—RXD:
串行口输入端;
P3.1—TXD:
串行口输出端;
P3.2—
:
外部中断0中断请求输入端;
P3.3—
:
外部中断1中断请求输入端;
P3.4—T0:
定时器/计数器0外部输入端;
P3.5—T1:
定时器/计数器1外部输入端;
P3.6—
:
外部数据存储器写选通信号;
P3.7—
:
外部数据存储器读选通信号。
2.2带RAM和计数器的可编程并行I/O扩展接口8155
8155芯片内具有256RAM、2个8位和1个6位的可编程I/O口、1个14为减法计数器,与MCS-51单片机接口简单,广泛应用于单片机应用系统。
2.2.1结构和引脚
8155有40个引脚,采用双列直插封装,图2-2给出了8155的引脚分布和内部逻辑结构框图。
图2-28155的引脚分布和内部逻辑结构框图
1.地址/数据线(8条)
AD0~AD7:
三态地址/数据总线,是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,分时传送单片机和8155直接的地址、数据、命令、状态信息。
当ALE=1时,传送的是地址。
2.I/O口总线(22条)
PA0~PA7:
A口的I/O线(用于和外设之间传递数据),I/O方向由命令字编程设定;
PB0~PB7:
B口的I/O线(用于和外设之间传递数据),I/O方向由命令字编程设定;
PC0~PC5:
C口的I/O线(用于和外设之间传递数据)或A口和B口的状态控制信号线,I/O方向由命令字编程设定;
3.控制总线(8条)
ALE:
地址锁存允许信号输入端,是低8位地址线和数据线的共用输入总线(三态地址/数据总线),高电平有效,常和单片机的ALE端相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。
由ALE下降沿将AD0~AD7上的地址、/CE及IO//M状态锁存到片内锁存器。
因此,单片机的P0口和8155连接时,无需外接锁存器。
:
RAM/IO口选择:
=0,单片机选择8155中的RAM读/写,AD0~AD7上地址为RAM单元地址;
=1,选择8155的寄存器或端口,地址分配见表2.1。
表2.1地址分配
/CE
A7
A6
A5
A4
A3
A2
A1
A0
所选端口
0
1
X
X
X
X
X
0
0
0
命令/状态寄存器
0
1
X
X
X
X
X
0
0
1
A口
0
1
X
X
X
X
X
0
1
0
B口
0
1
X
X
X
X
X
0
1
1
C口
0
1
X
X
X
X
X
1
0
0
计数器低8位
0
1
X
X
X
X
X
1
0
1
计数器高8位
0
0
X
X
X
X
X
X
X
X
RAM单元
:
片选信号,低电平有效。
:
读信号,控制8155的读操作。
:
写信号,控制8155的写操作。
RESET:
输入一个大于600ms正脉冲,8155总清零,各I/O口定义为输入方式。
T1、T0:
14位计数器输入输出。
Vcc、Vss:
+5V电源和接地。
2.2.28155命令和状态字
8155提供的PA口、PB口、PC口以及定时器/计数器都是可编程的。
CPU通过写命令字来对它们的操作,通过读状态字来判别它们的状态。
命令字和状态字寄存器共用一个口地址,命令字寄存器只能写不能读。
状态字寄存器只能读不能写。
1.8155命令字格式
(1)8155命令字格式如下图2-3:
图2-38155命令字格式
其中方式1(ALT1)方式2(ALT2)为基本I/O方式,A、B、C各口分别用作无条件输入或输出。
可以直接和外设相连,采用“MOVX”类的指令进行输入/输出操作。
方式3(ALT3)方式4(ALT4)为选通I/O方式,A、B口分别用作选通输入或输出,C口各线规定为A、B口的联络线。
图2-4
给出了8155I/O口的逻辑组态。
图2-48155I/O口的逻辑组态
(2)选通I/O的组态
对8155命令字的PC2﹑PC1位编程,使A或B口工作在选通方式时,C口的PC0~PC5就被定义为A或B口选通I/O方式的应答和控制线。
表2.2C口的控制分配表
工作方式
PC5
PC4
PC3
PC2
PC1
PC0
ALT1
输入
ALT2
输出
ALT3
输出
/STBA
BFA
INTRA
ALT4
/STBB
BFB
INTRB
/STBA
BFA
INTRA
赵德安,《单片机原理与应用》,机械工业出版社,2010年1月,163页
3.8155状态字格式
8155状态字格式如下:
图2-58155状态字格式
INTRa/INTEb:
中断请求标志。
BFa/BFb:
口缓冲器空/满标志。
BFa/BFb=1,表示口缓冲器已装满数据,可由外设或单片机取走;BFa/BFb=0,表示口缓冲器为空,可以接受外设或单片机发送数据。
INTEa/INTEb:
口中断允许/禁止标志。
TIMER:
计数器计满标志。
TIMER=1,表示计数器的原计数初值已计满回零;TIMER=0,表示计数器尚未计满。
状态寄存器和命令寄存器是同一地址,状态寄存器只能读出不能写入,也就是说,状态字只能通过指令MOVXA,@DPTR或MOVXA,@Ri来读出,以此来了解8155的工作状态。
2.2.38155定时器/计数器
8155定时器/计数器是一个14位的减法计数器。
他的技术初值可设在0002H~3FFFH之间。
其技术速率取决于输入T1的脉冲频率。
最高可达4MHz。
8155内有两个寄存器存放操作方式码和计数初值。
图2-68155定时器/计数器存放格式
最高位存放的方式码决定定时器/计数器的4种操作方式,操作方式选择及相应的输出波形如表2-3所示。
表2.3操作方式选择及相应的输出波形
M1M2
方式
T0脚输出波形
说明
00
单负方波
宽为n/2个(n-1)/2个(n奇)T1时钟周期
01
连续方波
低电平宽n/2个(n偶)或(n-1)/2个(n奇)T1时钟周期;高电平宽n/2个(n偶)或(n+1)/2个(n奇)T1时钟周期,自动恢复初值
10
单负脉冲
计数溢出一个宽为T1时钟周期的负脉冲
11
连续脉冲
每次计数溢出时输出一个宽为T1时钟周期的负脉冲并自动恢复初值
使用8155的定时器/计数器时,应先对它的高低字节寄存器编程,设置操作方式和计数初值n。
然后对命令寄存器编程(命令字最高两位为1),启动定时器/计数器。
通过将命令寄存器的最高两位编程位01或10,可使定时器/计数器停止计数或到定时器计数器溢出时停止计数。
2.2.4MCS-51和8155的接口方法
因8155的AD0~AD7为三态双向的地址/数据总线口,内部有8位地址锁存器,故8155能直接和MCS-51的P0口(D0~D7)相连。
图2-2-4即是8155和MCS-51的一种接口逻辑
。
图2-78155和MCS-51接口电路
黄遵熹,《单片机原理接口与应用》,西北工业大学出版社,2002年5月,137页
RAM地址为0000H~00FFH。
命令/状态寄存器为0400H。
PA口为0401H,PB口为0402H,PC口为0403H。
计数器低8位为0404H。
计数器高8位为0405H。
如果使PA口和PB口为基本输入口,PC为基本输出口,8155的定时器/计数器作为方波发生器,T0输出方波频率是T1输出时钟的二十分频,则初始化子程序如下:
IN8155:
MOVDPTR,#0404H
MOVA,#20
MOVX@DPTR,A
INCDPTR
MOVA,#40H
MOVX@DPTR,A
MOVDPTR,#0400H;PA口、PB口输入,PC口输出
MOVA,#0CCH
MOVX@DPTR,A
RET
2.3LED显示器接口
LED显示器是由发光二级管构成的字段组成的显示器,有8段(含小数点﹒段)和16段(“米”字)管两大类,这种显示器有共阴极和共阳极之分,如图,共阴极LED显示器发光二级管的阴极连接在一起,既可以接地,也可以逐位扫描控制,当一个或几个发光二级管的阳极为高电平时相应的段被点亮即可以显示。
同样的,共阳极LED显示器的阳极连接在一起,阴极为高电平时被点亮显示。
图2-8a)八段数码管b)共阴极数码管c)共阳极数码管
2.3.1LED显示器的工作原理
要使数码管显示指定的字符,对共阴极接法的电路:
1、共阴极端接低电平。
2、要发光的二极管段加高电平。
如图2-9所示要显示数字5时的原理图
图2-9显示数字5
要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字型编码。
对照图上图,字型码各位定义如下:
表2.4字型码
数据线:
D7
D6
D5
D4
D3
D2
D1
D0
I/口线:
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
LED段:
dp
g
f
e
d
c
b
a
2.3.2LED显示器的显示方式
LED显示器有静态显示与动态显示两种形式:
静态显示就是当显示某个字符时,相应的发光二极管恒定导通或截止。
每一个显示器都需要一个带有锁存功能的I/O口控制字形码。
单片机把要显示的字符的的字形码送到接口电路使得显示器显示相应字符,直到要显示新的数据时,再发送新的字形。
动态显示就是一位一位地轮流点亮每个显示器(动态扫描),每一位显示器每隔一段时间点亮一次,但由于人视觉的滞留效应,看到的是每个显示器都在显示各自的字符。
1.静态显示方式
静态显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。
每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。
采用静态显示方式,相应的发光二极管恒定导通或恒定截止,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。
图2-10静态显示方式
如图2-11为MC14495芯片作为LED的静态显示器接口的静态显示接口电路。
图2-11MC14495芯片静态显示
2.动态显示方式
为了克服静态显示方式的缺点,节省I/O口线,人们常常使用动态显示方式。
它将所有数码管的a、b、c、d、e、f、g、sp引线并联在一起,由一个8位I/O口控制,而公共端由另一个I/O口控制。
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。
动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。
依此规律循环,即可使各位数码管显示将要显示的字符。
虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
图2-12动态显示方式
常用可编程并行接口芯片8155作为LED动态显示器的接口。
下图即为8155芯片作为LED的动态显示器接口的动态显示接口电路。
实验设备中8051通过8155接六只共阴极LED显示器的接口电路。
图中8155的B口经8路反相驱动器74LS240与LED的a、b、c、d、e、f、g、dp相连,A口经六路反相驱动器和各LED控制端G相连,故B口为段选口(字形码口),A口为位选口(字位码口),CPU可以通过A口控制各LED是否点亮。
图2-138155芯片动态显示接口电路
3.硬件设计
3.1元器件列表
序号
元件名称
规格
数量
用途
厂家
价格
1
51单片机
AT89S51
1个
控制核心
北京瑞美泰电子科技有限公司
11元
2
晶振
12MHz立式
1个
晶振电路
广东省虹星星有限公司
2元
3
8155H
1个
I/O扩展
深圳市天泽恒电子有限公司
2.5元
4
按键
1个
按键电路
东莞市信诺电子
0.5元
5
电解电容
22uF/10V
1个
复位电路
东莞市荣誉电子
1元
6
瓷片电容
30uF瓷片电容
2个
晶振电路
东莞市朗汛电子
0.02元
7
电阻
1kΩ
2个
复位电路
深圳市诺亚森精密电子
1元
8
共阴极数码管
1位LED数码管
3个
数码管显示电路
深圳市誉创辉科技
1元
9
电源
5V/0.5A
1个
提供+5V
中夏科技有限公司
8元
10
排阻
3.6k
2个
数码管显示电路
深圳市诺亚森精密电子
3元
表3.1元器件列表
1.AT89S51
2.8155H
3.12MHz晶振
4.瓷片电容
5.开关
6.电解电容
7.共阴极数码管
3.2单元电路模块设计
3.2.1单片机
单片机选用一片AT89S51。
AT89S51片内有4KB的flash
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 单片机 并行 IO 扩展 毕业设计 资料