<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 8位共陰數(shù)碼管動(dòng)態(tài)掃描自增自減

          8位共陰數(shù)碼管動(dòng)態(tài)掃描自增自減

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          #include//包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
          sbit duan=P2^2;//定義P2.2為段操作,愛(ài)設(shè)置哪個(gè)都行
          sbit wei=P2^3;//定義P2.3為位操作
          /*------------------------------------------------
          程序主要作用于動(dòng)態(tài)掃描,沒(méi)什么實(shí)際應(yīng)用
          ----------------------查表表格--------------------------*/
          unsigned char code shuzhi[]={
          0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
          };//數(shù)字表0123456789abcdef定義進(jìn)RAM
          unsigned char code weizhi[]={
          0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f
          };//共陰數(shù)碼管位置表01234567定義進(jìn)RAM
          unsigned char huanchong[8];//定義一個(gè)一維數(shù)組做為緩沖區(qū)
          /*---------------------------定義進(jìn)入ROM
          函數(shù)聲明
          ------------------------------------------------*/
          void yeishi(unsigned int t);//函數(shù)聲明
          /*------------------------------------------------
          主函數(shù)
          ------------------------------------------------*/
          main ()
          {

          unsigned char i,j;
          //定義一個(gè)char型變量 i 取值范圍 0~255,如果定義j為unsigned long int就可以實(shí)現(xiàn)0~4294967295
          while (1)//主循環(huán)
          {
          j=0;
          j++;//j不斷加1,直到255溢出,如果改成--j就是自減

          for(i=0;i<8;i++)//for循環(huán),i初始為0自加小于8,0-7
          {
          ///////////////拆分?jǐn)?shù)j//////////////////////////
          huanchong[0]=shuzhi[j/100];
          huanchong[1]=shuzhi[(j/10)%10];
          huanchong[2]=shuzhi[j%10];
          ////////通過(guò)數(shù)學(xué)運(yùn)算得到每個(gè)位的數(shù)值并賦值給緩沖區(qū)因?yàn)橹挥?55三位
          只定義三位
          別問(wèn)我為什么要這樣算,我數(shù)理化英都不好,沒(méi)看見(jiàn)我的變量定義全是拼音么?而且我都不能保證
          拼音是對(duì)的
          有一定規(guī)律:
          huanchong[0]=shuzhi[j/10000000];
          huanchong[1]=shuzhi[(j/1000000)%10];
          huanchong[2]=shuzhi[(j/100000)%10];
          huanchong[3]=shuzhi[(j/10000)%10];
          huanchong[4]=shuzhi[(j/1000)%10];
          huanchong[5]=shuzhi[(j/100)%10];
          huanchong[6]=shuzhi[(j/10)%10];
          huanchong[7]=shuzhi[j%10];
          ////////////////////只用P0口,P0的定義已經(jīng)在頭文件里面了////////////*/
          P0=weizhi[i];
          wei=1;//位開(kāi)關(guān),1為開(kāi),0為關(guān)
          wei=0;
          P0=huanchong[i];//通過(guò)前面的運(yùn)算,調(diào)用緩沖區(qū)數(shù)值
          duan=1;//段開(kāi)關(guān),1為開(kāi),0為關(guān)
          duan=0;
          yeishi(300);//延時(shí)函數(shù)調(diào)用設(shè)置為300,按情況定,越大沒(méi)效果,越小有重影
          }
          }
          }
          /*------------------------------------------------
          含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是
          0~65535
          ------------------------------------------------*/
          void yeishi(unsigned int t)
          {
          while(--t);
          }


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();