欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4589|回復: 6
收起左側

數碼管計數求助 兩塊573驅動兩位共陰數碼管

[復制鏈接]
ID:218870 發表于 2017-8-13 05:50 | 顯示全部樓層 |閱讀模式
100黑幣
兩塊573驅動兩位共陰數碼管,按鍵計數00——99,電路圖如下

無標題.png
回復

使用道具 舉報

ID:230901 發表于 2017-9-8 16:47 | 顯示全部樓層
這是要程序。。。
回復

使用道具 舉報

ID:82765 發表于 2017-9-8 17:07 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

ID:111634 發表于 2017-9-9 17:01 | 顯示全部樓層
本帖最后由 zl2168 于 2017-9-9 17:09 編輯

統計T0引腳上10分鐘內的脈沖數
實例71 統計T0引腳上10分鐘內脈沖數.rar (52.96 KB, 下載次數: 4)
統計脈沖數.jpg
Proteus仿真一下,確認有效。以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版. 書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。


回復

使用道具 舉報

ID:162665 發表于 2017-9-9 20:20 | 顯示全部樓層
首先你要知道鎖存器是怎么工作的,然后會數碼管靜態,動態顯示。鎖存器的原理如圖,代碼自己寫吧C:\Users\Administrator\Desktop
回復

使用道具 舉報

ID:225822 發表于 2017-9-10 20:02 | 顯示全部樓層
給你程序自己修改吧,只是這個程序里是自動加1計數。兩個573用來片選和段選分別鎖存。

#include<reg52.h>
sbit selectWei=P2^7;
sbit selectDuan=P2^6;
unsigned char code selectPin[]={0x0e,0x0d,0x0b,0x07};
unsigned char code displayNum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int a;
unsigned int number;
void outPutNumber(unsigned int);
void delay();
void main()
{
        number=0;
        while(1)
        {
                outPutNumber(number);
                number++;
        }
}

void outPutNumber(unsigned int z)
{
        if(z>9999)  //取千位數
        {
                selectDuan=1;                //先發送段字符
                P1=displayNum[z%100000/10000];
                selectDuan=0;
                selectWei=1;                //再開通位選 可消除重影
                P0=selectPin[0];
                selectWei=0;
                delay();
        }

        if(z>999)  //取千位數
        {
                selectDuan=1;
                P1=displayNum[z%10000/1000];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[1];
                selectWei=0;
                delay();
        }

        if(z>99)  //取百位數
        {
                selectDuan=1;
                P1=displayNum[z%1000/100];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[2];
                selectWei=0;
                delay();
        }

        if(z>9)  //取十位數
        {
                selectDuan=1;
                P1=displayNum[z%100/10];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[3];
                selectWei=0;
                delay();
        }
/*
        if(z>0)  //取個位數
        {       
                selectDuan=1;
                P1=displayNum[z%10];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[3];
                selectWei=0;
                delay();
        }*/
}

void delay()
{
        int i,j;
        for(i=0;i<10;i++)
                for(j=0;j<110;j++);
}

回復

使用道具 舉報

ID:186936 發表于 2017-9-26 20:19 | 顯示全部樓層
#include<reg52.h>
sbit selectWei=P2^7;
sbit selectDuan=P2^6;
unsigned char code selectPin[]={0x0e,0x0d,0x0b,0x07};
unsigned char code displayNum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int a;
unsigned int number;
void outPutNumber(unsigned int);
void delay();
void main()
{
        number=0;
        while(1)
        {
                outPutNumber(number);
                number++;
        }
}

void outPutNumber(unsigned int z)
{
        if(z>9999)  //取千位數
        {
                selectDuan=1;                //先發送段字符
                P1=displayNum[z%100000/10000];
                selectDuan=0;
                selectWei=1;                //再開通位選 可消除重影
                P0=selectPin[0];
                selectWei=0;
                delay();
        }

        if(z>999)  //取千位數
        {
                selectDuan=1;
                P1=displayNum[z%10000/1000];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[1];
                selectWei=0;
                delay();
        }

        if(z>99)  //取百位數
        {
                selectDuan=1;
                P1=displayNum[z%1000/100];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[2];
                selectWei=0;
                delay();
        }

        if(z>9)  //取十位數
        {
                selectDuan=1;
                P1=displayNum[z%100/10];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[3];
                selectWei=0;
                delay();
        }
/*
        if(z>0)  //取個位數
        {        
                selectDuan=1;
                P1=displayNum[z%10];
                selectDuan=0;
                selectWei=1;
                P0=selectPin[3];
                selectWei=0;
                delay();
        }*/
}

void delay()
{
        int i,j;
        for(i=0;i<10;i++)
                for(j=0;j<110;j++);
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表