




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
期中大作业 学院: 物理与电子信息工程学院 课题: 【利用8255和51单片机实现数码管显示按键数值的程序】要求: 【4*4矩阵键盘,按0到15,数码管上分别显示09,AF】芯片资料:8255:8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。8255特性:1.一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。2.具有24个可编程设置的I/O口,即3组8位的I/O口,分别为PA口、PB口和PC口。它们又可分为两组12位的I/O口:A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3)。A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O三种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定. 引脚说明 RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。 RD:读信号线,当这个输入引脚为低电平时,即CS=0且RD=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即CS=0且WR=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。 当A1=0, A0=0时,PA口被选择; 当A1=0, A0=1时,PB口被选择; 当A1=1, A0=0时,PC口被选择; 当A1=1. A0=1时,控制寄存器被选择。74ls373芯片资料: 74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片.本文将介绍74ls373的工作原理,引脚图(管脚图),内结构图、主要参数及在单片机系统中的典型应用电路.L低电平;H高电平;X不定态;Q0建立稳态前Q的电平;G输入端,与8031ALE连高电平:畅通无阻低电平:关门锁存。图中OE使能端,接地。当G=“1”时,74LS373输出端1Q8Q与输入端1D8D相同;当G为下降沿时,将输入数据锁存。EG功能00直通Qi = Di01保持(Qi保持不变)1X输出高阻774ls373在单片机系统中的应用电路图:当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0Q7 状态与输入端D1D7状态相同;当C发生负的跳变时,输入端D0D7 数据锁入Q0Q7。51单片机的ALE信号可以直接与74LS373的C连接。在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用,其连接方法如上图所示。其中输入端1D8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。1D8D为8个输入端。1Q8Q为8个输出端。 G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。 OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。(1).1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);(2).当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态. 锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。 当三态门使能信号OE为低电平时,三态门导通,允许Q0Q7输出,OE为高电平时,输出悬空。74LS138:无论从逻辑图还是功能表我们都可以看到74LS138的八个输出引脚,任何时刻要么全为高电平1芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。80C51单片机引脚图及引脚功能介绍:单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。 3、 复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。 【实验电路图】【单片机源程序】#include /51单片机头文件#include /该可使用其中定义的宏来访问绝对地址#include #define uchar unsigned char /宏的定义变量类型 uchar 代替 unsigned char#define uint unsigned int /宏的定义变量类型 uint 代替 unsigned int#define PA8255 XBYTE0x4000 / 8255的A口地址#define PB8255 XBYTE0x4001 / 8255的B口地址#define PC8255 XBYTE0x4002 / 8255的C口地址#define PD8255 XBYTE0x4003 / 8255的控制口地址uchar temp,key; /定义变量temp,key为按键键值,无实际意义void delay(uint z) /延迟程序 uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); void ini_8255() /初始化8255函数 PD8255 = 0x81; void display() /显示函数,不可删除,删除出现连闪情况 PB8255 = 0xff; / PB8255全部置1,数码管清0 PA8255 = 0x00; / PA8255全部置0,对数码管进行位选,选中六个数码管 delay(100); /延迟 void keyscan(void) /按键扫描程序,让数码管显示按键数值 PC8255 = 0xef; /PC8255选中JL1列,JL1置0,其他置1 if(temp != 0xef) delay(10); /延迟防抖 temp = PC8255; switch(temp) case 0xee: key = 0x0f; PB8255 = 0x8e; /第15按键键值,数码管显示F break; case 0xed: key = 0x0b; PB8255 = 0x83; /第11按键键值,数码管显示B break; case 0xeb: key = 0x07; PB8255 = 0xf8; /第7按键键值,数码管显示7 break; case 0xe7: key = 0x03; PB8255 = 0xb0; /第3按键键值,数码管显示3 break; while(temp != PC8255); PC8255 = 0xdf; if(temp != 0xdf)/PC8255选中JL2列,JL2置0,其他置1 delay(10); temp = PC8255; switch(temp) case 0xde: key = 0x0e; PB8255 = 0x86; /第14按键键值,数码管显示E break; case 0xdd: key = 0x0a; PB8255 = 0x88; /第10按键键值,数码管显示A break; case 0xdb: key = 0x06; PB8255 = 0x82; /第6按键键值,数码管显示6 break; case 0xd7: key = 0x02; PB8255 = 0xa4; /第2按键键值,数码管显示2 break; while(temp != PC8255); PC8255 = 0xbf; /PC8255选中JL3列,JL3置0,其他置1 if(temp != 0xbf) delay(10); temp = PC8255; switch(temp) case 0xbe: key = 0x0c; PB8255 = 0xa1; /第13按键键值,数码管显示C break; case 0xbd: key = 0x09; PB8255 = 0x90; /第9按键键值,数码管显示9 break; case 0xbb: key = 0x05; PB8255 = 0x92; /第5按键键值,数码管显示5 break; case 0xb7: key = 0x01; PB8255 = 0xf9; /第1按键键值,数码管显示1 break;while(temp != PC8255); PC8255 = 0x7f; /PC8255选中JL4列,JL4置0,其他置1 if(temp != 0x7f) delay(10); temp = PC8255; switch(temp) case 0x7e: key = 0x0b; PB8255 = 0xc6; /第12按键键值,数码管显示B break; case 0x7d: key = 0x08; PB8255 = 0x80;/第8按键键值 ,数码管显示8 break; case 0x7b: key = 0x04; PB8255 = 0x99;/第4按键键值 ,数码管显示4 break; case 0x77: key = 0x00; PB8255 = 0xc0;/第0按键键值 ,数码管显示0 break;while(temp != PC8255); void main() /主函数 ini_8255(); /8255初始化子函数 while(1) /不断循环扫描矩阵键盘 temp != PC8255; keyscan(); 【实验结果】【心得体会】 通过这次实验,我对51单片机有了深刻理解,对书本上理论知识的运用,发现要学好和认识一种芯片,最快的就是去运用它,哪怕是做简单的仿真。一直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运输车队整体租赁合作合同
- 2025茶叶作物租赁合同模板
- 2025年《公共经济学》题及答案
- 2025年度农作物秸秆运输承包合同
- 揭阳历史中考试卷及答案
- 火工品生产安全知识培训课件
- 2025年麻醉药品考试试题及答案
- 2025年公用设备工程师之专业案例(动力专业)考试题库及参考答案(黄金题型)
- 2025年公共卫生与预防医学题库含答案
- 2025年安全工程师安全生产法使用合格的电焊工具考试题(附答案)
- 《胸腔穿刺术》课件
- 《人才选用育留》课件
- 农村土地使用权转让协议书
- 富血小板血浆(PRP)临床实践与病例分享课件
- 华为HCSA-Presales-IT售前认证备考试题及答案
- 黑龙江省大庆市铁人中学2024-2025学年高一数学上学期期中试题含解析
- 竹木复合材料在无人机中的轻量化设计
- 近几年大学英语四级词汇表(完整珍藏版)
- 网络工程系统集成与设计
- 2024年POE项目投资建议书
- 智能网联汽车:第6章 智能网联汽车先进驾驶辅助技术
评论
0/150
提交评论