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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9569|回復: 4
收起左側

8位共陰數碼管動態掃描顯示計數數字00000000-99999999;沒完成的(程序下載后,顯示...

[復制鏈接]
ID:59980 發表于 2015-6-11 09:30 | 顯示全部樓層 |閱讀模式
#include<reg52.h> //8位共陰數碼管動態掃描顯示計數數字00000000-99999999;沒完成的
#define uchar unsigned char
#define uint unsigned int
unsigned char count;
unsigned char i; //定義一個無符號的整數型單字節變量        (取值0-255)
unsigned long j;  //定義一個無符號的整數型三字節變量32位(取值0-4294967295)
sbit du=P2^2;               
sbit we=P2^3;
void  init();
void display();
void delay(uint z) //帶參數調整的延時函數,調整變量z,可改變延時時間
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=0;y>0;y--);        //約0.001ms
}

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                            0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F共 陰        段碼表


unsigned char code weima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//開位碼表


unsigned char temp[8];

void main()
{

        count=0;
        while(1)
        {
       
                    /**********************定時器0初始化程序************************/

               

            TMOD=0X01;//使用模式1,16位定時器0;
        TH0=(65535-50000)/256;//裝初值
        TL0=(65535-50000)%256;
        EA=1;//開總中斷
        ET0=1;//開定時器0中斷
        TR0=1;//啟動定時器0
                TH0=(65535-50000)/256;//重裝初值
        TL0=(65535-50000)%256;

            count++;
          if(count==20)
                {  
                    j++;
                        count=0;
                        display();
                 }
          

/***************************重裝初值************************************/

                 
        }

}



       
       
               
                                 
                          

void display()
{

        for(i=0;i<8;i++)
                        {
                                  temp[0]=table[j/10000000]; //分離千萬位數
                                  temp[1]=table[(j/1000000)%10];//分離百萬位數
                                  temp[2]=table[(j/100000)%10]; //分離十萬位數
                              temp[3]=table[(j/10000)%10]; //分離萬位數
                                  temp[4]=table[(j/1000)%10];//分離千位數
                                  temp[5]=table[(j/100)%10];//分離百位數
                                  temp[6]=table[(j/10)%10];//分離十位數
                                  temp[7]=table[j%10];////分離個位數
                                  
                                 P0=weima[i];//"11111110" 送位碼,第一位顯示 0
                                we=1; //開位鎖存使能端
                                we=0; //關位鎖存使能端
               
                                P0=temp[i];//送段碼“0”
                                du=1; //開段鎖存使能端
                                du=0;//關段鎖存使能端
                                delay(0); //延時10ms
                               

                        }
}

評分

參與人數 2黑幣 +54 收起 理由
qjzyx + 4 贊一個!
admin + 50 共享資料的積分獎勵!

查看全部評分

回復

使用道具 舉報

ID:82781 發表于 2015-6-12 01:10 | 顯示全部樓層
太感謝了,按你的程序 修改端口后 試驗成功  幫了我的大忙..謝謝 好人一生平安
回復

使用道具 舉報

ID:100391 發表于 2018-1-20 13:44 | 顯示全部樓層
確定可以將定時器初始化放到while(1)大循環里嗎??程序是不是不完整的?有沒有完整的附件?我想看看,謝謝。
回復

使用道具 舉報

ID:266116 發表于 2018-1-20 14:32 | 顯示全部樓層
謝謝分享!
回復

使用道具 舉報

ID:1082988 發表于 2023-6-9 16:39 | 顯示全部樓層
有仿真圖嗎 樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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