单片机实验四 I O显示控制实验(数码管显示实验).doc_第1页
单片机实验四 I O显示控制实验(数码管显示实验).doc_第2页
单片机实验四 I O显示控制实验(数码管显示实验).doc_第3页
单片机实验四 I O显示控制实验(数码管显示实验).doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子信息工程学系实验报告成 绩:课程名称:单片微型计算机与接口技术 指导教师(签名):实验项目名称: 实验四 i/o显示控制实验 实验时间: 2013.11.24 班级: * 姓名:* 学号:* 一 、实 验 目 的: 1、 熟悉keil仿真软件、proteus仿真软件、软件仿真板的使用。2、 了解并熟悉一位数码管与多位led数码管的电路结构、与单片机的连接方法及其应用原理。3、 学习proteus构建led数码管显示电路的方法,掌握c51中单片机控制led数码管动态显示的原理与编程方法。二、 实 验 环 境: 1、windows xp系统; 2、keil uvision2、proteus系列仿真调试软件三 、实 验 原 理: 1、led数码管的结构和原理 led显示器是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是七段led,这种显示器有共阴极与共阳极两种。 (a)共阴极led显示器的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,该发光二极管则点亮; (b)共阳极led显示器的发光二极管阳极并接。2、七段显示器与单片机接口:只要将一个8位并行输出口与显示器的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,如下表所示。通常将控制发光二极管的8位字节数据称为段选码。八段选码(显示码)的推导(以共阳数码管显示c为例): 要显示c则a、f、e、d四个灯亮2.为是共阳数码管,则a、f、e、d应送0时亮3.dp-a为11000110b3、多位数码管的显示:电路结构、动态静态两种实现原理:led显示器有静态显示与动态显示两种方式。 (1)led静态显示方式 各位led的位选线连在一起接地或接+5v;每位led的段选线(adp)各与一个八位并行口相连;在同一时间里每一位显示的字符可以各不相同。(2)led动态显示方式 将所有led的段选线并联在一起,由一个八位io口控制,而位选线分别由相应的io口线控制。如:8位led动态显示电路只需要两个八位io口。其中一个控制段选码,另一个控制位选。四 、实 验 内 容 过 程 及 结 果 分 析: 用protues进行流水灯的仿真需要的元件有at89c51、cap、button、led-blue、res、crystal、7seg-mpxi1cc画出仿真图 1、在左边第3位显示 5程序如下:第 5 页 共 5 页#include reg51.hvoid delay(int z) int i,j; for(i=110;i0;i-) for(j=z;j0;j-); main() unsigned char i;while(1) p2=0xdf; p0=0x6d; delay(400); 图4.1 左边第3位显示5 2、在左边第2位循环显示 1-8程序下所示:#include reg51.hunsigned char code tab=0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,;void delay(int z) for(i=50;i0;i-) int i,j; for(j=z;j0;j-); main() unsigned char i; while(1) for(i=0;i8;i+) p2=0xfd; p0=tabi; delay(500); p2=0x00 ; 图4.2左边第2位循环显示1-83、在数码管上同时“显示1-8程序如下#includereg51.hunsignedcharcode tab=0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,;unsignedcharcode chr=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,;main()unsigned char i; while(1) for(i=0;i=7;i+) p2=chri; p0=tabi; delay(5); 图4.3 为同时显示1-84、开关控制显示内容(参考课本) 开关不同位置分别显示12345和hello#include#define uint unsigned int#define uchar unsigned charsbit p13=p13;sbit p16=p16;uchar code tab1=0x06,0x5b,0x4f,0x66,0x6d;uchar code tab2=0x76,0x79,0x38,0x38,0x3f;uchar code wei=0xfe,0xfd,0xfb, 0xf7,0xef,0xdf,0xbf,0x7f;void delay(uint a) uint i,j; for(i=a;i0;i-) for(j=19;j0;j-);void main() uchar num; while(1) for(num=0;num5;num+) p2=weinum; if(p16=0) p0=tab1num; delay(10); if(p13=0) p0=tab2num; delay(10); p0=0; 图4.4 开关控制不同位置分别显示12345和hello5、用一个开关控制(开始)8从右边跑马8遍程序如下所示:#include#define uint unsigned int#define uchar unsigned charsbit p16=p16;uchar code wei=0xfe,0xfd,0xfb, 0xf7,0xef,0xdf,0xbf,0x7f;void delay(uint a) uint i,j; for(i=a;i0;i-) for(j=6524;j0;j-);void main() uchar num1,num2; while(1) if(p16=0) for(num1=0;num18;num1+) p0=0x7f; for(num2=0;num28;num2+) p2=weinum2; delay(5); p0=0; 图4.5 8从右边跑马8遍五 、实 验 心 得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论