8255应用研究毕业论文2.doc

上传人:wj 文档编号:7402502 上传时间:2023-05-11 格式:DOC 页数:28 大小:443KB
下载 相关 举报
8255应用研究毕业论文2.doc_第1页
第1页 / 共28页
8255应用研究毕业论文2.doc_第2页
第2页 / 共28页
8255应用研究毕业论文2.doc_第3页
第3页 / 共28页
8255应用研究毕业论文2.doc_第4页
第4页 / 共28页
8255应用研究毕业论文2.doc_第5页
第5页 / 共28页
8255应用研究毕业论文2.doc_第6页
第6页 / 共28页
8255应用研究毕业论文2.doc_第7页
第7页 / 共28页
8255应用研究毕业论文2.doc_第8页
第8页 / 共28页
8255应用研究毕业论文2.doc_第9页
第9页 / 共28页
8255应用研究毕业论文2.doc_第10页
第10页 / 共28页
8255应用研究毕业论文2.doc_第11页
第11页 / 共28页
8255应用研究毕业论文2.doc_第12页
第12页 / 共28页
8255应用研究毕业论文2.doc_第13页
第13页 / 共28页
8255应用研究毕业论文2.doc_第14页
第14页 / 共28页
8255应用研究毕业论文2.doc_第15页
第15页 / 共28页
8255应用研究毕业论文2.doc_第16页
第16页 / 共28页
8255应用研究毕业论文2.doc_第17页
第17页 / 共28页
8255应用研究毕业论文2.doc_第18页
第18页 / 共28页
8255应用研究毕业论文2.doc_第19页
第19页 / 共28页
8255应用研究毕业论文2.doc_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

8255应用研究毕业论文2.doc

《8255应用研究毕业论文2.doc》由会员分享,可在线阅读,更多相关《8255应用研究毕业论文2.doc(28页珍藏版)》请在冰点文库上搜索。

8255应用研究毕业论文2.doc

绵阳师范学院

本科生毕业设计(设计)

题目8255应用研究

专业电子信息科学与技术

院系物理与电子工程学院

学号0709410114

姓名

指导教师讲师

答辩时间2011年5月

论文工作时间:

2010年12月至2011年4月

论文题目来源:

国家自然科学基金项目

编号:

四川省自然科学研究项目

编号:

校级自然科学研究项目

编号:

8255应用研究

学生:

郑国海

指导教师:

郭辛

摘要:

随着电子技术的迅猛发展,电路越来越复杂,这使得一些低端单片机因其有限的接口不能胜任复杂的外围电路。

这时我们就要对单片机I/O口进行扩展。

最常用的就是INTEL公司的8255A芯片。

该芯片性能稳定,功能多,价格合理,已经广泛应用到各个领域。

本研究主要研究8255对51单片机I/O口扩展功能。

本设计采用stc89c52单片机作为主控芯片,通过74hc573锁存,再传给8255。

这样可以通过编程实现对单片机I/O口的扩展。

再由8255的PA、PB、PC口作为I/O口,从而实现对lcd1602液晶和矩阵键盘的控制。

关键词:

液晶、51单片机、键盘、I/O口

ResearchonApplicationof8255

Undergraduate:

ZhengGuohai

Supervisor:

GuoXin

Abstract:

Withtherapiddevelopmentofelectronictechnology,single-chipmicroprocessor(SCM)cannotmeettheneedofcomplexcircuitsbecauseofitslimitinterfaces.Inthiscase,somemicrocontrollerI/Oportforexpansionwouldbeuse.ThemostcommonistheIntelCompany's8255Achip.Thechipperformsstably,function,lowcost,andhasbeenwidelyappliedinvariousfields.TheI/OportexpansionforC51hasbeenstudiedinthispaper.

WithSTC89c52beingitsmicrocontroller,dataaresentto8255AviaLatch,74hc573inthedesign.Portexpansioncanbeachievedbyprogram.Andthendatafrom8255thePA,PB,PCportasI/Oports,enablecontrolliquidcrystaldisplay(LCD)andkeyboard.

朗读

显示对应的拉丁字符的拼音

Keywords:

LCD;SCM;Keyboard;I/OPort

目录

绪论 1

1单片机概述 2

1.1单片机的应用领域 2

1.2单片机的发展趋势 2

2设计方案及单片机的选型 3

2.1系统设计方案 3

2.2单片机选型及其介绍 3

38255对单片机I/O口扩展 6

3.18255工作方式及扩展原理 6

3.2单片机与8255接口电路 8

4锁存芯片选择及功能 9

4.1锁存芯片选择 9

4.274LS573功能介绍 9

5LCD1602显示原理 10

6矩阵键盘及键盘电路 11

7系统软件设计 12

7.1软件设计思路 12

7.2软件调试 15

结论 16

参考文献 17

致谢 16

附录1 19

附录2(程序清单) 20

绵阳师范学院2011届本科设计(论文)

绪论

随着科技的飞速发展,电子系统变得越来越复杂。

传统的51单片机的32个I/O口已经远远不能胜任工业控制,以及一些电子产品的外围电路控制。

所以本文介绍了一种简单实用的方法扩展单片机I/O口。

用一片51单片机,一片74hc574锁存芯片,还有8255以及一些简单的外围电路便可以实现对单片机I/O口进行扩展。

扩展口8255的PA、PB、PC口可以当单片机的8位I/O口用。

但是这是需要对地址及数据进行锁存,可以通过对单片机写软件进行实现。

数据锁存可以用74ls373也可以用74hc573,都是D-Q锁存芯片,功能也都相同,由于管教分布不一样。

74ls373是输入输出有交叉的,而74hc573输入和输出不交叉,这样给电路设计带来很多方便。

因此本课题锁存芯片采用74hc574的电路,使电路更加简单。

本设计主要原理是由stc89c52单片机作CPU,通过74hc573锁存数据,再传给8255的COM口。

通过设置8255端口地址,达到控制8255的PA、PB、PC口的读写,这样就可以实现对单片机I/O口的扩展。

8255的A0、A1接到74hc573的输出端。

其中片选端CS低电平有效,REST接地。

其中8255选择方式0,其控制线WR,RD分别于单片机对应口相连。

本课题主要研究8255芯片对单片机I/O口的扩展功能,以及矩阵键盘和液晶的应用。

1 单片机概述[2][4][5][6]

1.1单片机的应用领域[2]

单片机常常作为电子产品,智能仪器的核心,相当于人的大脑。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

[2]

1。

在智能仪器仪表上的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(功率计,示波器,各种分析仪)。

2.在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

3.在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

4.在计算机网络和通信领域中的应用

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

5.单片机在医用设备领域中的应用

单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。

1.2单片机的发展趋势[4][6]

世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。

纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:

1.低功耗CMOS化

MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。

象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。

CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。

所以这种工艺将是今后一段时期单片机发展的主要途径。

2.微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。

甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。

3.主流与多品种共存[6]

虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机最常用,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。

所以C8051为核心的单片机占据了半壁江山。

而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。

在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

2设计方案及单片机选型

2.1设计方案

采用8255扩展单片机I/O口,用stc89c52单片机作为主控芯片,通过74hc573锁存,再传给8255。

这样可以通过编程实现对单片机I/O口的扩展。

通过锁存后再把数据传给8255,从而实现PA、PB、PC口作为I/O口的功能。

本系统设计框图见图2-1:

锁存芯片

8255

键盘液晶

单片机

图2-1系统框图

2.1单片机的选型及其介绍[2][6]

在系统的设计中,选择合适的系统核心器件就成为能否成功完成设计任务的关键。

选择好合适的单片机可以最大地简化单片机应用系统,而且功能优异,可靠性好,成本低廉,具有较强的竞争力。

目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。

一般来说,选择单片机需要考虑以下几个方面:

(1)单片机的基本性能参数。

例如指令执行速度,程序存储器容量,I/O引脚数量等。

(2)单片机的增强功能。

例如看门狗、多指针、双串口等。

(3)单片机的存储介质。

对于程序存储器来说,Flash存储器和OTP(一次性可编程)存储器相比较,最好是Flash存储器。

(4)芯片的封装形式。

如DIP(双列直插)封装,PLCC(PLCC有对应插座)封装及表面贴附等。

(5)芯片工作温度范围符合工业级、军工级还是商业级。

如果设计户外产品,必须选用工业级。

(6)芯片的功耗。

比如设计并口加密狗时,信号线取电只能提供几mA的电流,选用STC单片机就是因为它能满足低功耗的要求。

(7)供货渠道是否畅通、价格是否低廉。

(8)技术支持网站的速度如何,资料是否丰富。

包括芯片手册,应用指南,设计方案,范例程序等。

(9)芯片保密性能好、单片机的抗干扰性能好。

图2-2STC89C52芯片引脚及功能

STC89系列单片机是MCS-51系列单片机的派生产品。

比AT89S51单片机性能更稳定,保密性更好。

它在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。

STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。

根据本系统的实际情况,选择STC89C52单片机,引脚见图2-1。

其引脚定义及其功能为:

VCC:

供电电压。

GND:

接地。

P0口:

P0口是为一组个8位漏级开路双向I/O口,也即地址数据总线复用口。

作为输出口用时,每位可驱动8个TTL逻辑门电路,对端口写“1”时可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲级可驱动4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在Flash编程和程序校验期间,P1口接收低8位地址。

P2口:

P2口为一个带有内部上拉电阻的8位双向I/O口,P2口输出缓冲级可驱动4个TTL逻辑门电路。

当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,P3口:

P3口是一组带有8个内部上拉电阻的双向I/O口,P3口输出缓冲级可驱动4个TTL逻辑门电路。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。

DISRT0位在缺省为RESET时输出高电平,呈打开状态。

  ALE/PROG(————)当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。

在Flash编程期间,此引脚用于输入编程脉冲。

当不访问外部存储器时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当访问外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出,可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

  PSEN(————):

程序存储允许输出的是外部程序存储器的选通信号。

当AT89S51由外部程序存储器取指令或数据时,每个机器周期两次PSEN(————)有效,即输出两个脉冲。

但在访问外部数据存储器时,这两次有效的PSEN(————)信号将不出现。

  EA(——)/Vpp:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意到是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

当EA端接高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

在Flash编程期间,该引脚加上+12V的编程电压Vpp。

  XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

因此本设计采用时钟频率为11.0592MHZ,采用STC89C52单片机,外加按键复位电路构成一个单片机最小系统。

为了使本设计简单且稳定采用usb供电,因此省去了电源电路部分。

图2-2为单片机最小系统原理图。

图2-3单片机最小系统

38255对单片机IO口扩展[5][8][9][12][13][14]

3.18255工作方式及扩展原理[5][8][9][12]

8255是单片机应用系统中广泛采用的可编程外部IO口,扩展芯片。

它有3个8位并行IO口,每个口可以有3种工作方式。

其中的WR\是写信号输入端,RD\是读信号输入端,A1A0用于决定端口的地址。

1.8255是一个通用可编程并行I/O接口芯片,引脚定义如图3-1所示。

[12]

(1)8255有3个8位并行I/O端口,端口A,B,C均可以工作在输入或输出方式;

(2)两组控制电路分别控制3个端口,A组控制端口A和端口C的高4位,B组控制电路控制端口B端口C的低4位;

(3)具有数据总线缓冲器,可以方便地与单片机数据总线连接;

(4)端口A,B,C通过内部数据总线与数据总线缓冲器连接,即各端口通过数据端口与单片机交互信息;

(5)提供读/写控制逻辑,可以很方便地通过MOVX反映令完成对其各端口的操作。

图3-18255引脚图

2.8255的功能

(1)数据端口A,B,C

端口A:

一个8位数据输出锁存/缓冲器,一个8位数据输入锁存器;

端口B:

一个8位数据输出锁存/缓冲器,一个8位数据输入锁存器;

端口C:

一个8位数据输出锁存/缓冲器,一个8位数据输入锁存器。

3个端口都可以作为数据输入式输出端口,但是不同的端口有不同的工作方式。

除一般输入/输出方式外,端口A还可以工作在双向方式、握手联络方式,端口B可以工作在握手联络方式;而端口C可以作为控制或状态信号的端口,为端口A和B提供握手联络信号,并且端口C还可工作在按位置位/复位方式。

本设计中,只将其作为最基本的I/O口使用。

(2)读/写和控制逻辑

读/写和控制逻辑直接与单片机的控制总线及地址总线相连接,8255的A0,A1及与地址总线连接,而和与单片机的和信号连接。

8255有如下相关的控制信号。

片选信号,低电平时,8255被选口;

读信号,低电平有效,该信号有效时可以读取8255的端口数据或状态信息;

写信号,低电平有效,该信号有效时可以向8255写入控制字式向端口写数据;

RESET:

复位信号,高电平有效,只有复位后8255才能接收单片机对其进行的初始化。

(3)端口地址的确定

8255的地址由其引脚,A1,A0决定,端口选择如表所示。

表3-18255端口选择

3.8255的控制字、状态字和工作方式

(1)8255的控制字

8255有两种控制字,它们决定了8255的工作方式。

方式控制字

D7:

D7=1,是方式控制字标志。

D6和D5:

确定A口工作方式,D6D5=00,A口工作在方式0;D6D5=01,A口工作在方式1;D6D5=10,A口工作在方式2。

D4:

确定A口的数据传输方向,D4=1,A口输入;D4=0,A口输出。

D3:

确定C口的PC7~PC4的数据传输方向,D3=1,PC7~PC4输入;D3=0,PC7~PC4输出。

D2:

确定B口的数据传输方向,D2=1,B口输入;D2=0,B口输出。

D0:

确定C口的PC3~PC0的数据传输方向,D0=1,PC3~PC0输入;D0=0,PC3~PC0输出。

(2)按位复位/置位控制字

D7:

D7=0,是按位复位/置位,控制字标志。

D6,D5,D4:

没有定义。

D3,D2,D1:

选择C口中的某一位,3位组成8个状态,000~111分别代表选择PC0~PC7。

D0:

置1、清零标志,D0=1,将D3D2D1选择位置1;D0=0,将D3D2D1选择位清零。

(3)8255的状态字[12]

8255没有专门的状态字,当端口A、端口B工作于方式1或方式时,端口C为它们提供握手联络信号,读端口C,可以得到有关端口的工作状态信息。

端口工作于方式0时,没有相应的状态信息。

状态字与工作方式密切相关。

(4)8255工作方式

由8255的方式控制字可知,8255有3种工作方式,并且不同的端口有不同的工作方式。

端口A可以工作在方式0、方式1和方式2,端口B可以工作在方式0和方式1,端口C只能工作在方式0。

本设计中只选用8255的方式0,即基本的输入/输出方式,3个端口互不影响,可以分别设置为输入或输出。

3.2单片机与8255的接口电路[13][14]

8255与单片机的接口电路如图3-2所示。

单片机的P0口通过74ls573锁存后再与8255的D0-D7口相接,从而实现多单片机P0口扩展功能。

这样单片机就多了3组I/O口,因此在一些复杂的系统中常用这种方法。

其中rest为复位信号,输入,高电平有效,当它有效时所有内部寄存器清零,三个数据端口均被设置为输入方式。

所以这里rest端口就不接悬空,否则将无法扩展。

CS为片选信号,输入低电平有效,只有当它有效时8255才会被单片机选中。

这里接到74ls573的Q2口。

和分别和单片机的和相连,分别为读信号和写信号。

8255与单片机的连接电路见图3-2

图3-28255与单片机的连接电路

4 锁存芯片的选择及功能[13][14]

4.1锁存芯片选择[13][14]

市场上8位的锁存芯片很多。

比较常用的有74ls373和74ls573。

都是D型锁存器,逻辑完全相同,管脚排列不同。

表面上看起来选择哪款芯片没有影响,但是由于74ls373输入输出是交叉排列,这样会导致电路连接起来比较复杂。

对于单面板或者多孔板焊接时难免会很困难,同时也降低了系统的可靠性。

且74ls573价格适中,性能稳定,应用已经很成熟。

因此选择74ls573作为锁存芯片。

4.274LS573功能介绍[13][14]

74LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。

当使能为低时,输出将锁存在已建立的数据电平上。

输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。

特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。

5 LCD1602显示原理[14]

字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。

本设计选用的是16脚液晶,显示容量为16X2字符,共工作电压为4.5-5.5V,工作电流为20mA,模块最佳工作电压为5V。

其详细接口信号说明见表5-1

表5-1

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

DATAI/O

2

VDD

电源正极

10

D3

DATAI/O

3

VL

液晶显示偏压信号

11

D4

DATAI/O

4

RS

数据命令选择端

12

D5

DATAI/O

5

R/W

读写选择端

13

D6

DATAI/O

6

E

DATAI/O

14

D7

DATAI/O

7

DO

DATAI/O

15

BLA

背光源正极

8

D1

DATAI/O

16

BLK

背光源负极

操作时序:

1:

读状态:

输入:

RS=0,RW=1,E=1

2:

写指令:

输入:

RS=0,RW

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2