网站大量收购闲置独家精品文档,联系QQ:2885784924

王煜彬单片机论文.doc

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

基于51单片机的8位数码管动态显示的研究 摘要 51单片机在电子设计电路中有广泛的应用,本文主要基于51单片机的8位数码管动态显示进行研究,从硬件电路原理图到软件流程图和程序,以及后续的编译仿真和调试,比较系统全面的操作了数码管动态显示的流程,具有很强的实践性与一定的参考意义。 关键词:51单片机 数码管 电路原理图 编译 1引言 单片机,全称单片微型计算机,是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。虽然目前单片机的品种很多,但其中最具代表性的当属Intel公司的MCS-51单片机系列。MCS-51以其典型的结构、完善的总线、SFR的集中管理模式、位操作系统和面向控制功能的丰富的指令系统,为单片机的发展奠定了良好的基础MCS-51单片机实现了8位数码管的动态显示的相关研究。 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。LED有段码和位码之分,所谓段码就是让LED显示出“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳级的LED而言,高电平使能。要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。 多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而 循环次数则正比于显示的变化速度。在编程时要充分考虑到这一点,正确的设定循环次数与延迟时间。软件设计主要包括软件流程图与程序两个方面。 3.1 软件流程图 3.2 软件程序 按照电路图与流程图的相关要求与思路,设计了数码管动态显示的程序,具体如下所示: #includereg52.h #define DataPort P0 sbit LATCH1=P2^2; sbit LATCH2=P2^3; unsigned char code DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void Delay(unsigned int t); main() { unsigned char i=0; while(1) { DataPort=WeiMa[i]; LATCH2=1; LATCH2=0; DataPort=DuanMa[i]; LATCH1=1; LATCH1=0; Delay(200); i++; if(8==i) i=0; } } void Delay(unsigned int t) { while(--t); } 4仿真调试 在按照数码管显示的功能编写完程序之后,要进行仿真调试,主要包括Keil uVision软件编译调试和STC_ISP软件下载烧录,最后连接成品。 4.1 Keil uVision编译 如下图所示: 4.2 STC_ISP烧录 如下图所示: 4.3实物成品 如下图所示: 5总结 51单片机在电子设计电路及生活中

文档评论(0)

vc5gv1x + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档