实验七 单片机数码管动态扫描显示实验_第1页
实验七 单片机数码管动态扫描显示实验_第2页
实验七 单片机数码管动态扫描显示实验_第3页
实验七 单片机数码管动态扫描显示实验_第4页
实验七 单片机数码管动态扫描显示实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、实验七 数码管动态扫描显示实验一、 实验目的1 掌握keilC51软件protues软件联合仿真调试的方法;2 掌握单片机对数码管的动态显示控制方式;3 掌握定时器的基本应用及编程方法。二、 实验内容1 用Protues设计一8位数码管动态扫描显示电路。要求利用P0口作数码管的段选线,P1.0P1.2与74LS138译码器的3个输入端相连,其译码输出Y0Y7作为数码管的位选线。2 编写程序,将数字18分别显示在8个数码管上,要求显示内容无闪烁。3 编写程序,利用Protues中的“激励源/DCLOCK/数字类型/时钟”产生频率为1HZ的方波输出,并利用定时/计数器T1统计脉冲的个数,将统计结果

2、动态实时的显示在数码管上。该脉冲计数电路在以上电路的基础上自行修改。三、 实验仪器与设备1. 微机一台 2.keil c51 集成开发环境 3.proteus 仿真软件四、 实验说明1.动态扫描方法:(1)动态扫描法是对各数码管循环扫描、轮流显示的方法。由于一次只能让一个数码管显示,因此,要显示8位的数据,必须让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个数码管。当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现象,这种显示需要一个接口完成字形码的输出(段选),另一接口完成各数码管的轮流点亮(位选)。(2

3、)在进行数码管显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。(3)对于显示的字形码数据采用查表方法来完成。2.P0口P0口作为地址/数据总线使用时是一个真正的双向端口;而作通用I/O口时,只是一个准双向口,由于其内部漏极开路,应外接10K的上拉电阻,否则无法输出高电平。3.74LS138:3线8线译码器引脚排列: Vcc Y0 Y1 Y2 Y3 Y4 Y5 Y616 15 14 13 12 11 10 974LS1381 2 3 4 5 6 7 8A0 A1 A2 S3 S2 S1 Y7 GND真值表:输入输出S1S2+S3A2 A1 A0Y0 Y1 Y2

4、Y3 Y4 Y5 Y6 Y70X11111111X100000000X X X X X X 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 10 1 1 1 1 1 1 11 0 1 1 1 1 1 11 1 0 1 1 1 1 11 1 1 0 1 1 1 11 1 1 1 0 1 1 11 1 1 1 1 0 1 11 1 1 1 1 1 0 11 1 1 1 1 1 1 0五、 实验步骤1 用Protues设计数码管动态扫描显示电路;2 在KeilC51中编写键盘识别程序,编译通过后,于Protue

5、s联合调试;3 启动仿真,观察数码管显示是否正确;4 用Protues设计脉冲计数电路,仿真调试运行程序并查看效果。六、 实验总结1、 实验电路及程序见附录。2、 数码管动态显示的原理利用人的视觉暂留特性,当扫描显示频率较高时,眼睛就看不出数码管的闪烁,从而实现稳定的显示。注意依次扫描的时间间隔应在5ms左右。扫描一次八个数码管的时间也应在此范围内。3、 用74LS138译码器做数码管的选通信号输入端,采用共阴极数码管可容易的实现对其选通控制。4、 在编写程序时注意显示缓冲区的使用,即开辟一个把位的叔祖,每个显示缓冲区装有显示的不同数据即可实现显示效果。附录:电路图程序1#include #d

6、efine uint unsigned int#define uchar unsigned char unsigned long int cnt,num,temp; uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code address=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07; uchar disbuf8;void delay(uint mwhile(m-;void main(void uchar i;TMOD=0x10; ET1=1; TR1=1; EA

7、=1;while(1 num=cnt*65536+TH1*256+TL1; if(num=100000000 num=0;temp=num;for(i=0;i<8;i+disbufi=temp%10; temp=temp/10; for(j=0;j<8;j+P1=address7-j;P0=tabledisbufj; delay(100;void tc1( interrupt 3cnt+;程序2#include #define uint unsigned int#define uchar unsigned char uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code address=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07;v

温馨提示

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

评论

0/150

提交评论