单片机数码管动态显示.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

动态显示

1.掌握LED数码管显示及其一般电路结构;

2.掌握LED动态显示程序的一般设计方法。

实验内容

动态显示,也称为扫描显示。显示器由6个共阴极LED数码管构成。单片机的P0口输出显示段码,由一片74LS245输出给LED管;由P1口输出位码,经74LS04输出给LED显示。

实验步骤

1、打开ProteusISIS编辑环境,按下表所列的元件清单添加元件。

实验所用元件清单

元件名称

所属类

所属子类

AT89C51

MicroprocessorICs

8051Family

CAP

Capacitors

Generic

CAP-ELEC

Capacitors

Generic

CRYSTAL

Miscellaneous

-

RES

Resistors

Generic

7SEG-MPX6-CC-BLUE

Optoelectronics

7-SegmentDisplays

74LS04

TTL74LSSeries

GatesInverters

74LS245

TTL74LSSeries

Transeivers

元件全部添加后,在ProteusISIS的编辑区域中按实验原理图连接硬件电路。

图1动态显示实验电路原理图

2、按实验要求在KeilC中创建项目,编辑、编译程序。

3、将编译生成的目标码文件(后缀为.Hex)传入Proteus的实验电路中。

4、在ProteusISIS仿真环境中运行程序,观察实验运行结果并记录。

实验要求

编写一显示程序显示201071;

显示特殊字符good;

调整软件延时子程序的循环初值,逐渐加大每一位LED点亮的时间,观察程序运行结果。

参考程序

dbufequ30h;置存储区首址

tempequ40h;置缓冲区首址

org00h

mov30h,#2;存入数据

mov31h,#0

mov32h,#1

mov33h,#0

mov34h,#7

mov35h,#1

movr0,#dbuf

movr1,#temp

movr2,#6;六位显示器

movdptr,#segtab;段码表首地址

dp00:mova,@r0;取要显示的数据

movca,@a+dptr;查表取段码

mov@r1,a;段码暂存

incr1

incr0

djnzr2,dp00

disp0:movr0,#temp;显示子程序

movr1,#6;扫描6次

movr2,#01h;从第一位开始

dp01:mova,@r0

movp0,a;段码输出

mova,r2;取位码

movp1,a;位码输出

acalldelay;调用延时

mova,r2

rla

movr2,a

incr0

djnzr1,dp01

sjmpdisp0

segtab:db3fh,06h,5bh,4fh,66h

db6dh,7dh,07h,7fh,6fh

delay:movr4,#03h;延时子程序

aa1:movr5,0ffh

aa:djnzr5,aa

djnzr4,aa1

ret

end

实验原理

MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。

定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入

文档评论(0)

191****1763 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档