久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 51單片機P1^0口led改變狀態(tài),產(chǎn)生脈沖,T0計數(shù)加一數(shù)碼管顯示,T1定時 [打印本頁]

作者: 安暖暖    時間: 2018-11-29 20:37
標(biāo)題: 51單片機P1^0口led改變狀態(tài),產(chǎn)生脈沖,T0計數(shù)加一數(shù)碼管顯示,T1定時
51單片機問題求助,P1^0口led改變狀態(tài),產(chǎn)生脈沖,T0計數(shù)加一數(shù)碼管顯示,T1定時數(shù)碼管,正常顯示不了,改了好幾次,不知道哪里錯了,求助,謝謝

  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit led=P1^0;                //用杜邦線連接p1^0和p3^4
  6. sbit dula=P2^6;
  7. sbit wela=P2^7;
  8. uchar code table[]=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f);                //0~9
  9. void delay(uint j)
  10. {
  11.         uint m,n;
  12.         for(m=j;m>0;m--)
  13.         for(n=125;n>0;n--);
  14. }
  15. void display(uchar i)
  16. {                                                                                 
  17.         uchar bai,shi,ge;
  18.         bai=i/100;
  19.         shi=i%100/10;
  20.         ge=i%10;
  21.     P0=0xff;
  22.         wela=1;
  23.         P0=0xfe;
  24.         wela=0;        


  25.     dula=1;
  26.         P0=table[bai];
  27.         dula=0;
  28.         delay(1);


  29.         P0=0xff;
  30.         wela=1;
  31.         P0=0xfd;
  32.         wela=0;

  33.         
  34.         dula=1;
  35.         P0=table[shi];
  36.         dula=0;
  37.         delay(5);

  38.         
  39.         P0=0xff;        
  40.         wela=1;
  41.         P0=0xfb;
  42.         wela=0;
  43.         
  44.         dula=1;
  45.         P0=table[ge];
  46.         dula=0;
  47.         delay(5);
  48. }
  49. void t0Init() //
  50. {
  51.            TR0=1;  
  52.             
  53.         TMOD |=0x05;                        //實現(xiàn)計數(shù)功能
  54.         TH0=0;
  55.         TL0=0;
  56. }
  57. void t1Init()
  58. {
  59.         TR1=1;        
  60.         TMOD |=0x10;
  61.          TH1=0x4b;         //定時50ms
  62.         TL1=0xfd;
  63. }
  64. void main()          //main函數(shù)自身會循環(huán)
  65. {
  66.         uchar mSec;        //毫秒和秒儲存變量
  67.            t0Init() ;
  68.     t1Init() ;
  69.         TH0=0;
  70.         TL0=0;
  71.         while(1)
  72.         {            
  73.                 if(TF1==1)
  74.                 {                        //判斷是否溢出
  75.                         TF1=0;                //軟件清零溢出標(biāo)志位
  76.                         TH1=0x4b;         //定時50ms
  77.                 TL1=0xfd;
  78.                     mSec++;
  79.                         if(mSec==10)
  80.                          {
  81.                                 mSec=0;
  82.                             led=~led;        //產(chǎn)生方波                                
  83.                          }
  84.                                 
  85.                 }
  86.                         
  87.                         display(TL0);//數(shù)碼管顯示函數(shù)
  88.         }
  89. }
復(fù)制代碼



作者: wulin    時間: 2018-11-30 09:23
你的數(shù)組括號用錯了,另外動態(tài)數(shù)碼管顯示程序也有缺陷,亮度不均勻。給你改了下,你試試。

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0;                //用杜邦線連接p1^0和p3^4
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9
/*
void delay(uint j)
{
        uint m,n;
        for(m=j;m>0;m--)
                for(n=125;n>0;n--);
}*/
void display(uchar i)
{                                                                                 
        static uchar a=0;
//        uchar bai,shi,ge;
//        bai=i/100;
//        shi=i%100/10;
//        ge=i%10;
        P0=0x00;
        switch(a)
        {
                case 0:
                        P0=0xfe;
                        wela=1;
                        wela=0;
                        P0=table[i/100];
                        dula=1;
                        dula=0;
                        a++;
                break;

                case 1:
                        P0=0xfd;
                        wela=1;
                        wela=0;
                        P0=table[i%100/10];
                        dula=1;
                        dula=0;
                        a++;
                break;
                case 2:
                        P0=0xfb;
                        wela=1;
                        wela=0;
                        P0=table[i%10];
                        dula=1;
                        dula=0;
                        a=0;
                break;
        }
}
void t0Init() //
{
        TMOD |=0x05;     //實現(xiàn)計數(shù)功能
        TH0=0;
        TL0=0;
        TR0=1;
}
void t1Init()
{        
        TMOD |=0x10;
        TH1 = 0xEC;                 //定時5ms
        TL1 = 0x78;
        TR1=1;
}
void main()          //main函數(shù)自身會循環(huán)
{
        uchar mSec;        //毫秒和秒儲存變量
        t0Init() ;
        t1Init() ;
        TH0=0;
        TL0=0;
        while(1)
        {            
                if(TF1==1)
                {                        //判斷是否溢出
                        TF1=0;                //軟件清零溢出標(biāo)志位
                        TH1 = 0xEC;                 //定時5ms
                        TL1 = 0x78;
                        mSec++;
                        if(mSec==100)
                        {
                                mSec=0;
                                led=~led;        //產(chǎn)生方波                                
                        }
                        display(TL0);//數(shù)碼管顯示函數(shù)
                }       
        }
}




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产欧美视频一区二区三区 | 午夜在线 | 久久午夜国产精品www忘忧草 | 午夜精品一区二区三区在线观看 | 日本免费黄色一级片 | 天堂免费看片 | 欧美成人精品二区三区99精品 | 欧美一级高潮片免费的 | 亚洲精品9999久久久久 | 久久中文字幕一区 | 国产成人精品一区二 | 日韩av免费看| 亚洲视频免费在线看 | 精品视频久久久久久 | 免费看的黄网站 | 射久久 | 成人久久18免费网站 | 欧美日韩亚洲二区 | 欧美精品一区二区三区在线播放 | 天天干夜夜操 | 成人国产精品久久 | 国产剧情久久 | 一区二区小视频 | 国产在线一区二区三区 | 亚洲一区二区av在线 | 国产一区二区三区四区区 | 国产激情精品一区二区三区 | 精品久久久久久亚洲精品 | 国产视频一区二区三区四区五区 | 精品入口麻豆88视频 | www.99re5.com | 亚洲成人av | 亚洲综合成人网 | 91九色porny首页最多播放 | 色婷婷综合久久久中文字幕 | 亚洲精品第一页 | 在线视频亚洲 | 超碰在线人人干 | 韩日一区二区 | 操人网| 一区二区三区四区国产精品 |