找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求问大家移动的单片机动态显示为啥不行?

[复制链接]
跳转到指定楼层
楼主
ID:781174 发表于 2020-6-23 19:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
void delay (unsigned int x)
{
        while(x--);
}
void zhixing()
{
        unsigned char i,j,k;
        unsigned char code deng[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x6f,0x6f,0x6f,0x3f,0x6d,0x3f,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
        unsigned char code kong[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
          for(i=0;i<15;i++)
                for(j=0;j<10;j++)
                for(k=0;k<8;k++)
                {
                        P2=kong[k];
                        P1=deng[i+k];
                        delay(1);
                        P2=0xff;
                }
        }
        void main()
        {
                while(1)
                {
                        zhixing();
                }
        }51单片机,共阴数码管
这个程序是8个数码管显示第一个显示1,然后前两个显示19。以此类推,到显示完19990509,最后再最后一个显示9,完成循环。
本人新手,求各位指点



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

使用道具 举报

沙发
ID:143244 发表于 2020-6-23 21:47 | 只看该作者
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试
回复

使用道具 举报

板凳
ID:781174 发表于 2020-6-24 08:38 | 只看该作者
ksvhxd 发表于 2020-6-23 21:47
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试

谢谢大佬,已经成功了。谢谢。
回复

使用道具 举报

地板
ID:781174 发表于 2020-6-24 08:42 | 只看该作者
ksvhxd 发表于 2020-6-23 21:47
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试

谢谢大佬,已经成功了,谢谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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