1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 單片機+四位數碼管如何進行動態顯示-菜鳥求助 [打印本頁]

作者: 西西弗    時間: 2020-4-6 21:05
標題: 單片機+四位數碼管如何進行動態顯示-菜鳥求助
請問四位數碼管如何進行動態顯示,端選和位選分別是P0和P2控制,我希望結果是一個顯示1,一個顯示0,我的單片機主函數是這樣的:
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uint x,y;
sbit we1=P2^0;
sbit we2=P2^1;
void delay(uint a);
void main()
{
        while(1)
        {
                we1=1;
                P0=0xF9;
                we1=0;
                delay(100);

                we2=1;
                 P0=0xC0;
                we2=0;
                delay(100);
        }
}

void delay(uint a)
{
        for(x=a;x>0;x--)
                for(y=150;y>0;y--);
}
但是燒錄之后就是接替閃爍0和1(因為比較快,所以看起來就是兩個0),而不是一個顯示0,一個顯示1


批注 2020-04-06 210348.jpg (58.35 KB, 下載次數: 94)

批注 2020-04-06 210348.jpg

批注 2020-04-06 210311.jpg (30.14 KB, 下載次數: 80)

批注 2020-04-06 210311.jpg

作者: benclee    時間: 2020-4-6 21:34
we1=1;
  P0=0xF9;
delay(100);
we1=0;
we2=1;
P0=0xC0;
delay(100);
we2=0;

試一下這樣呢
作者: wulin    時間: 2020-4-6 21:41
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uint x,y;
sbit we1=P2^0;
sbit we2=P2^1;
void delay(uint a);
void main()
{
        while(1)
        {
                P0=0xff;
                we1=1;we2=0;
                P0=0xF9;
                delay(1);

                P0=0xff;
                we1=0;we2=1;
                P0=0xC0;               
                delay(1);
        }
}

void delay(uint a)
{
        uint x,y;
        for(x=a;x>0;x--)
                for(y=125;y>0;y--);
}
作者: 溫酒斬華騰    時間: 2020-4-6 22:01
去普中那,找個demo改一下直接用。
作者: 西西弗    時間: 2020-4-7 09:26
wulin 發表于 2020-4-6 21:41
#include
#define uchar unsigned char
#define uint  unsigned int

實測有效,謝謝大神!!!
作者: 西西弗    時間: 2020-4-7 09:28
benclee 發表于 2020-4-6 21:34
we1=1;
  P0=0xF9;
delay(100);

如果這樣燈就不亮了,不過還是謝謝提醒
作者: billaj    時間: 2020-4-7 09:48
流水燈你寫過沒,把流水燈的方式用在這里,每個燈就是一位數碼管




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1