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

標(biāo)題: 大家好!請(qǐng)教大家關(guān)于定時(shí)器自己改的的問(wèn)題 [打印本頁(yè)]

作者: 一個(gè)杰    時(shí)間: 2019-11-6 22:07
標(biāo)題: 大家好!請(qǐng)教大家關(guān)于定時(shí)器自己改的的問(wèn)題
大家好!小萌新想請(qǐng)教大家關(guān)于我自己改的定時(shí)器外部脈沖處的問(wèn)題。題目大概是對(duì)T0引腳輸入的外部脈沖進(jìn)行計(jì)數(shù),并在數(shù)碼管上顯示結(jié)果。外部脈沖由獨(dú)立按鍵KEY2產(chǎn)生,要求KEY2每按一次,產(chǎn)生一個(gè)脈沖,數(shù)碼管顯示的數(shù)字加一。這個(gè)沒(méi)有問(wèn)題,主要是(第二個(gè)問(wèn):實(shí)現(xiàn)每當(dāng)外部脈沖技術(shù)達(dá)到5個(gè)時(shí),數(shù)碼管顯示的數(shù)字加一)自己改的不對(duì)。
以下是書(shū)上的代碼,沒(méi)有問(wèn)題。大家可以忽略。
#include<reg52.h>
sbit KEY2=P3^4;
sbit LSA=P1^5;
sbit LSB=P1^6;
sbit LSC=P1^7;
unsigned char code smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void Delayms(unsigned int );
void main(void)
{
bit keybuf=1;  //按鍵值暫存
bit backup=1;  //按鍵值備份
unsigned char cnt=0;   //按鍵計(jì)數(shù)
LSA=1;
LSB=0;
LSC=0;
P0=smgduan[cnt];
while(1)
{
  keybuf=KEY2;
  if(keybuf!=backup)
  {
   Delayms(10);
   if(keybuf == KEY2)
   {
    if(backup==0)
        {
         cnt++;
         if(cnt>=10)
         {
          cnt=0;
          }
          P0=smgduan[cnt];
          }
          backup=keybuf;
          }
         }
        }
   }


void Delayms(unsigned int xms)
{
  unsigned int i,j;
  for(i=xms;i>0;i--)
  {
   for(j=110;j>0;j--);
   }
   }

第二個(gè)問(wèn)
是自己改的,但是感覺(jué)自己基礎(chǔ)很薄弱,這個(gè)最后也沒(méi)有跑出來(lái)。題目說(shuō)是外部脈沖技術(shù)達(dá)到5個(gè)時(shí),數(shù)碼管顯示數(shù)字加一,我自己認(rèn)為是cnt>=0&&cnt<5的時(shí)候P0處的賦值不變,5<cnt<10的時(shí)候,P0處賦值加一,但是我這樣的不對(duì),沒(méi)有什么基礎(chǔ),還想問(wèn)問(wèn)看啥書(shū)?

   if(keybuf==KEY2)
   {
    if(backup==0)
        {
         cnt++;
         if(cnt>=0&&cnt<5)
         {
      P0=smgduan[cnt];
          }
          if(cnt>=5&&cnt<10)
          {
          P0=smgduan[cnt+1];
          }
          if(cnt>=10)
          {
           cnt=0;
           }
想請(qǐng)教大家這里出現(xiàn)什么問(wèn)題了?是if不可以這樣用嗎?

         
          
       


作者: wulin    時(shí)間: 2019-11-6 22:07
一個(gè)杰 發(fā)表于 2019-11-7 17:38
每5個(gè)外部脈沖計(jì)數(shù),數(shù)碼管顯示的數(shù)字加1,是按5次,數(shù)字加1,是我理解錯(cuò)了

按5次數(shù)字加1。

  1. #include<reg52.h>
  2. sbit KEY2=P3^4;
  3. unsigned char code smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  4. void Delayms(unsigned int );

  5. void main(void)
  6. {
  7.         bit keybuf=1;  //按鍵值暫存
  8.         bit backup=1;  //按鍵值備份
  9.         unsigned char cnt=0;   //按鍵計(jì)數(shù)
  10.         unsigned char cnt1=0;
  11.         P0=smgduan[cnt];
  12.         while(1)
  13.         {
  14.                 keybuf=KEY2;
  15.                 if(keybuf!=backup)
  16.                 {
  17.                         Delayms(10);
  18.                         if(keybuf == KEY2)
  19.                         {
  20.                                 if(backup==0)
  21.                                 {
  22.                                         cnt1++;
  23.                                         if(cnt1>=5)
  24.                                         {
  25.                                                 cnt1=0;
  26.                                                 cnt++;
  27.                                                 if(cnt>=10)
  28.                                                         cnt=0;
  29.                                         }
  30.                                         P0=smgduan[cnt];
  31.                                 }
  32.                                 backup=keybuf;
  33.                         }
  34.                 }
  35.         }
  36. }


  37. void Delayms(unsigned int xms)
  38. {
  39.         unsigned int i,j;
  40.         for(i=xms;i>0;i--)
  41.                 for(j=110;j>0;j--);
  42. }
復(fù)制代碼

作者: man1234567    時(shí)間: 2019-11-7 12:27
掃一眼看就少2個(gè)右半邊括號(hào)
作者: 一個(gè)杰    時(shí)間: 2019-11-7 15:42
man1234567 發(fā)表于 2019-11-7 12:27
掃一眼看就少2個(gè)右半邊括號(hào)

那個(gè)是省略的,主要的是代碼
作者: 一個(gè)杰    時(shí)間: 2019-11-7 17:38
每5個(gè)外部脈沖計(jì)數(shù),數(shù)碼管顯示的數(shù)字加1,是按5次,數(shù)字加1,是我理解錯(cuò)了




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