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

標(biāo)題: 各位大佬看看為什么我的單片機(jī)數(shù)碼管無(wú)法正常顯示? [打印本頁(yè)]

作者: 1649833297    時(shí)間: 2020-7-2 14:16
標(biāo)題: 各位大佬看看為什么我的單片機(jī)數(shù)碼管無(wú)法正常顯示?

#include<reg52.h>
              #include<intrins.h>
              #define uint unsigned int
              #define uchar unsigned char
              uchar temp,aa,nn;
              sbit rn=P2^0;                              
              sbit nb=P2^1;
              sbit gn=P2^2;
              sbit rw=P2^3;
              sbit dx=P2^4;
              sbit gw=P2^5;
              sbit shi=P3^6;
              sbit ge=P3^7;                            /*對(duì)要使用的單片機(jī)各個(gè)口進(jìn)行定義*/
              bit flag=0;
              uchar code table[]={
              0x3f,0x06,0x5b,0x4f,
              0x66,0x6d,0x7d,0x07,
              0x7f,0x6f,0x77,0x7c,
              0x39,0x5e,0x79,0x71};         /*將數(shù)字0123456789的16進(jìn)制數(shù)定義成數(shù)組用以顯示*/
              void delay(uint z);
              void disp(uint n);
              void nb_flash(void);
              void dx_flash(void);
              void  xint0();
              void timer0();
              void  LED_ON();
              void  xint1();
              void  LED_OFF();
              void nanbei();
              void dongxi();                 /*將所使用的子函數(shù)定義*/
              void main()
              {
                            uint num;
                            num=0;
                            aa=0;
                            TMOD=0x01;
                            TH0=(65536-50000)/256;
                            TL0=(65536-50000)%256;
                            EA=1;
                            ET0=1;
                            TR0=1;
                            EX0=1;
                            IT0=0;
                            EX1=1;
                            IT1=1;                       /*中斷初始化*/
                            while(1)
                            {
                                          nanbei();            
                                          nb_flash();
                                          dongxi();
                                          dx_flash();                /*主函數(shù)中顯示部分*/
        }
              }
              void delay(uint z)                    /*延時(shí)子函數(shù)*/
              {
                            uint x,y;
                            for(x=z;x>0;x--)
                                          for(y=110;y>0;y--);
              }
              void timer0() interrupt 1             /*定時(shí)器初始化*/
              {
                            TH0=(65536-50000)/256;
                            TL0=(65536-50000)%256;
                            aa++;
                            if(aa==18)
                            {
                                          aa=0;
                                          flag=1;
                            }            
              }
              void disp(uint n)                    /*顯示子函數(shù)*/
              {
                while(!flag)
                {
                              ge=0;
                              P0=table[n%10];
                              delay(50);
                              shi=1;ge=1;
                              shi=0;
                              P0=table[n/10];
                              delay(50);
                              shi=1;ge=1;
                 }
                if(flag==1)
                   flag=0;
              }
              void nanbei()                    /*南北方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/
              {                            uint num;
                                          num=60;
                                          disp(num);
                                          while(num<=60&&num>0)
                                          {              num--;
                                               P2=0xde;
                                                           disp(num);                                         
                                          }
              }
              void dongxi()                     /*東西方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/
              {                            uint num;                                         
                                          num=60;
                                          while(num<=60&&num>0)
                                          {              P2=0xf3;               
                                                        disp(num);
                                                        num--;
                                          }
              }
              void nb_flash(void)              /*南北方向的黃燈和數(shù)碼管顯示子函數(shù)*/
              {
                            uint a;
                            for(a=3;a>0;a--)
                            {              P2=0xdd;
                                          nb=1;
                                          delay(100);
                                          nb=0;
                                          disp(a);
                            }
              }
              void dx_flash(void)                /*東西方向的黃燈和數(shù)碼管顯示子函數(shù)*/
              {
                            uint a;
                            for(a=3;a>0;a--)
                            {              P2=0xeb;
                                          dx=1;
                                          delay(100);
                                          dx=0;
                                          disp(a);
                            }
              }
              void  xint0()  interrupt 2                     /*中斷定義*/
{            
              TH0=(65536-50000)/256;
              TL0=(65536-50000)%256;            
}               


作者: 不要黑    時(shí)間: 2020-7-2 15:24
數(shù)碼管用的是共陽(yáng)的還是共陰的
作者: xianfajushi    時(shí)間: 2020-7-2 15:25
看圖像好似數(shù)碼數(shù)據(jù)不對(duì),取反一下試看 P0=~table[n%10];
作者: 烈火    時(shí)間: 2020-7-2 15:36
如果數(shù)碼管是共陰極的,程序的延時(shí)子函數(shù)有問題,仿真軟件對(duì)延時(shí)要求很高。
作者: SKYLAR123    時(shí)間: 2020-7-2 16:27
無(wú)論是共陰還是共陽(yáng)延時(shí)都是有問題,建議先靜態(tài)顯示一個(gè)一個(gè)調(diào)試
作者: 1649833297    時(shí)間: 2020-7-2 17:12
SKYLAR123 發(fā)表于 2020-7-2 16:27
無(wú)論是共陰還是共陽(yáng)延時(shí)都是有問題,建議先靜態(tài)顯示一個(gè)一個(gè)調(diào)試

多謝,我去試試
作者: 1649833297    時(shí)間: 2020-7-2 17:12
不要黑 發(fā)表于 2020-7-2 15:24
數(shù)碼管用的是共陽(yáng)的還是共陰的

共陰的。
作者: 1649833297    時(shí)間: 2020-7-2 17:13
烈火 發(fā)表于 2020-7-2 15:36
如果數(shù)碼管是共陰極的,程序的延時(shí)子函數(shù)有問題,仿真軟件對(duì)延時(shí)要求很高。

這樣啊 ,咋個(gè)改呢?
作者: 1649833297    時(shí)間: 2020-7-2 17:24
SKYLAR123 發(fā)表于 2020-7-2 16:27
無(wú)論是共陰還是共陽(yáng)延時(shí)都是有問題,建議先靜態(tài)顯示一個(gè)一個(gè)調(diào)試

多謝帖吧大佬




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