虫虫首页|资源下载|资源专辑|精品软件
登录|注册

您现在的位置是:虫虫下载站 > 资源下载 > 单片机编程 > 51单片机动态LED显示电路编程实例

51单片机动态LED显示电路编程实例

  • 资源大小:29 K
  • 上传时间: 2013-11-18
  • 上传用户:yangbaochun
  • 资源积分:2 下载积分
  • 标      签: LED 51单片机 动态 显示电路

资 源 简 介

51单片机动态LED显示电路编程实例:上一节我们讲述了单只LED与单片机的接口电路及编程实例,目的在于让初学者了解LED在单片机中的应用原理,单只LED显示在实际应用中并无多大用途,一般都是多位的LED显示。现在我们作进一步学习,我们要讲解的是8位LED的显示原理及实际的编程方法。这里我们没有采用多I/O口的8051系列单片机,而是采用了完全兼容C51指令系统的质优价廉的AT89C2051单片机,它的软件编程与C51完全一致。
    在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。在没有富余端口的情况下,怎样通过扩展电路达到预期的目的呢?我们希望通过此例使设计人员在实际应用中了解一点电路扩展的原理,对实际的应用有所帮助。
 此电路中,74LS273用于驱动LED的8位段码,8位LED相应的"a"—"g"段连在一起,它们的公共端分别连至由74LS138(点击芯片型号可浏览其详细的技术手册)译码选通后经74LS04反相驱动的输出端。这样当选通某一位LED时,相应的地址线(74LS04输出端)输出的是高电平,所以我们的LED选用共阳LED数码管。
    动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改,可参见程序清单中的DELAY延时子程序。
    为简单起见,我们只是编写了8位LED同步显示"00000000"—"11111111"直到"99999999"数字,并且反复循环。程序很简单,流程图略去。

相 关 资 源