找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2126|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机C编程(三、4位数码管飞入效果)

[复制链接]
跳转到指定楼层
楼主
ID:107189 发表于 2016-3-6 14:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define uchar unsigned char
#define LED P0 uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳数码管数字码
uchar disp1[8][4]={{8,10,10,10},{0,8,10,10},{5,0,8,10},{1,5,0,8},{10,1,5,0},{10,10,1,5},{10,10,10,1},{10,10,10,10}};
        //数码管的8个显示状态
uchar scan;
void delay1ms(int);
void display(int);

void main()
{
int i;  
while(1)
{
      for(i=0;i<8;i++)    //依次扫描8个状态
      display(i);
}
}

void display(int m)
{
int i,j,k;
for(k=5;k>0;k--)  //每个状态共扫描5次
  {
   scan=0x01;  //扫描码
   for(i=0;i<4;i++)
   {
    P3=scan;
    j=disp1
-;     //取扫描状态中的一位
    LED=tab[j];   //取对应的段码
    delay1ms(10);
    scan=scan<<1;  //扫描码左移
   }
  }
}

void delay1ms(int x)
{
   int i,j;
   for(i=x;i>0;i--)
    for(j=120;j>0;j--);
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表