找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1008|回复: 0
收起左侧

8位以内任意计数 单片机程序

[复制链接]
ID:609946 发表于 2019-10-15 19:28 | 显示全部楼层 |阅读模式
#include <reg51.h>         
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long      
unsigned char SEG[]={0xc0,0xf9,0xa4,0xb0,
    0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int x)
{
        uint i,j;
        for(i=0;i<x;i++)
        for(j=0;j<123;j++);
}
void dispw(uchar i,uchar j)
{
        P2=_crol_(0x01,i);
        P0=SEG[j];
        delay(1);
        P2=0;
}
void disp(ulong x)
{
        uchar a[8],i,k,n;
        a[7]=x%10;
        a[6]=x%100/10;
        a[5]=x%1000/100;
        a[4]=x%10000/1000;
        a[3]=x%100000/10000;
        a[2]=x%1000000/100000;
        a[1]=x%10000000/1000000;
        a[0]=x%100000000/10000000;
        for(n=0;n<8;n++)
        {
                if(a[n]!=0)
                {
                        if(a[n-1]==0)
                        {
                                k=8-n;
                                break;
                        }
                }
        }
        for(i=0;i<k;i++)
        dispw(7-i,a[7-i]);
}
main()
{
        ulong num;
        uchar m;
        while(1)
        {
                for(num=0;num<88888888;num++)
                {
                for(m=0;m<10;m++)
                {
                disp(num);
                delay(5);
                }
                }
        }
}

8位以内计数

8位以内计数

动态显示.rar

78.9 KB, 下载次数: 3, 下载积分: 黑币 -5

8位以内任意计数

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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