51单片机数码管显示

51的单片机的数码管显示

  • 基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。

以下附一个 数码管
以下是一个电子秒表的代码


```c
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit we=P2^7;
sbit du=P2^6;
sbit s2=P3^0;
sbit s3=P3^1;
sbit s4=P3^2;
uchar a,b,c,d,e,f,t,x, num,num1,num2;
uchar code yidaojiu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint);
void play1(uchar,uchar,uchar,uchar,uchar,uchar);
void play2(uchar);
void main()
{ 
  TMOD=0x01;
  TH0=(65535-9216)/256;
        TL0=(65535-9216)%256;
  EA=1;  
  ET0=1;    
  TR0=1;
    while(s2)          
      play1(a,b,c,d,e,f);  
   }
   void play1(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
    {
   du=1;
   P0=yidaojiu[a];
   du=0;
    P0=0xff;   
     we=1;
   P0=0X7f;
   we=0;
    delay(3);
     du=1;
   P0=yidaojiu[b];
   du=0;
   P0=0XFF;
     we=1;
   P0=0Xbf;
   we=0;
    delay(3);

   du=1;
   P0=yidaojiu[c];
   du=0;
   P0=0XFF;
     we=1;
   P0=0XDF;
   we=0;
    delay(3);
    du=1;
   P0=yidaojiu[d];
   du=0;
   P0=0xff;
  we=1;
   P0=0Xef;
   we=0;
  delay(3);
du=1;
   P0=yidaojiu[e];
   du=0;
   P0=0xff;
  we=1;
   P0=0Xf7;
   we=0;
  delay(3);

   du=1;
   P0=yidaojiu[f];
   du=0;
   P0=0xff;
  we=1;
   P0=0Xfb;
   we=0;
  delay(3);
   }
    void delay(uint z)
   {
    uint x,y;
 for(x=z;x>0;x--)
 for(y=114;y>0;y--);
   }
    void dingshizhongduan0() interrupt 1
   { 
   char flat;
   TH0=(65535-9216)/256;
   TL0=(65535-9216)%256;
  if(s4==0)
  flat2=0;
   if(flat==0)
  num++;
  if(num==100)
  { 
   num=0;
   num1++;
  }
  if(num1==60)
  {
  num1=0;
  num2++; 
  }
  if(num2==100)
  num2=0;
  s2=1;
  a=num%10;
  b=num/10;
  c=num1%10;
  d=num1/10;
  e=num2%10;
  f=num2/10;
  }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值