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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4234|回復(fù): 4
收起左側(cè)

單片機(jī)數(shù)碼管某些數(shù)字顯示錯(cuò)誤,求解

[復(fù)制鏈接]
ID:297685 發(fā)表于 2018-12-14 11:49 | 顯示全部樓層 |閱讀模式
數(shù)碼管1,4,7顯示亂碼,暫停和啟動(dòng)不能實(shí)現(xiàn)。求大神解惑。問題程序段如下
/* if((ina==0)&&(dea==0))//暫停
              {
      delayms(1) ;
      if((ina==0)&&(dea==0)){   
    TR0=1;
    j=miao;      
    while(!ina);
    while(!dea);  
    }
    }*/



#include <reg52.h>
#define uchar unsigned char
sbit ina=P1^0; //a得分加一按鈕
sbit inb=P1^2; //b得分加一按鈕
sbit dea=P1^1; //a得分減一按鈕
sbit deb=P1^3; //b得分減一按鈕
sbit change=P1^4; //分?jǐn)?shù)互換按鈕
//sbit clean=P1^5; //分?jǐn)?shù)清零按鈕
//sbit xiuxi=P1^6; //暫停休息按鈕
sbit fm=P1^6 ; //蜂鳴器控制口
sbit led=P1^7;        
sbit dt=P3^6;
//定義全局變量
uchar count1,count2,miao10,miao1,fen10,fen1,adui10;
uchar j,k,l;
uchar adui1,bdui10,bdui1,fen,adui,bdui,x,a,b;
uchar adui100,bdui100;
char miao;
  //char code table[]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,0x00}
char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0-9
void delayms( uchar time) //延時(shí)子函數(shù)
{ uchar i,j;
for(i=time;i>0;i--)
for(j=100;j>0;j--) ;
}
void buzzer()
{ //蜂鳴器
  fm=(((ina==0)||(inb==0)||(dea==0)||(deb==0)||(change==0))?0:1);
}
////////////////////////////////////////////////
void displayadui100(adui100) //顯示a得分?jǐn)?shù)的百位
{
P2=0xfe ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[adui100] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}
void displayadui10(adui10) //顯示a得分?jǐn)?shù)的十位
{
P2=0xfd ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[adui10] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}
void displayadui1(adui1) //顯示a得分?jǐn)?shù)的個(gè)位
{
P2=0xfb ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[adui1] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}

void displayadui(uchar adui) // 顯示a得分(數(shù)據(jù)處理)
{ adui100=adui/100;
  adui10=adui%100/10;
  adui1=adui%100%10;
displayadui100(adui100);
displayadui10(adui10);
displayadui1(adui1);
}
////////////////////////////////////////////////////////////////
void displaybdui100(bdui100) //顯示B得分?jǐn)?shù)的百位
{
P2=0xdf ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[bdui100] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}
void displaybdui10(bdui10) //顯示B得分?jǐn)?shù)的十位
{
P2=0xbf ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[bdui10] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}
void displaybdui1(bdui1) //顯示B得分?jǐn)?shù)的個(gè)位
{
P2=0x7f ; //選中某一數(shù)碼管(靠最左端一個(gè))
dt=1;
P0=table[bdui1] ; //送數(shù)據(jù)
dt=0;
delayms(5) ; //延時(shí)
}

void displaybdui(uchar bdui) // 顯示B得分(數(shù)據(jù)處理)
{ bdui100=bdui/100;
  bdui10=bdui%100/10;
  bdui1=bdui%100%10;
displaybdui100(bdui100);
displaybdui10(bdui10);
displaybdui1(bdui1);
}
   ////////////////////////////////////
void displaymiao10(miao10) // 顯示時(shí)間秒 的十位
{
P2=0xf7;
dt=1;
P0=table[miao10] ;
dt=0;
delayms(1) ;
}
void displaymiao1(miao1) // 顯示時(shí)間秒的個(gè)位
{
P2=0xef ;
dt=1;
P0=table[miao1] ;
dt=0;
delayms(1) ;
}
void displaymiao(miao) //顯示秒(數(shù)據(jù)處理)
{miao10=miao/10;
miao1=miao%10;
displaymiao10(miao10);
displaymiao1(miao1);
}
//////////////////////////////
void timer0() interrupt 1 //中斷函數(shù)(定時(shí)器1工作于方式1)
{
TH0=(65536-50000)/256; //初值重裝
TL0=(65536-50000)%256;
count1++; // 計(jì)數(shù)加一,實(shí)現(xiàn)時(shí)間的計(jì)算
if(count1==20) // 實(shí)現(xiàn)時(shí)間計(jì)時(shí)為一秒 (20個(gè)中斷 為時(shí)間一秒)
{  count1=0; // count1重新開始,計(jì)時(shí)下一秒
    miao--; // 秒倒計(jì)時(shí)一
    if(miao==-1) // 當(dāng)秒倒計(jì)時(shí)到0時(shí),將秒賦值59,重新倒計(jì)時(shí),同時(shí)分倒計(jì)一
      { miao=24;}
     if(miao==12 ) // 0為通
      { led=0;}
     if(miao!=12 ) //
      { led=1;}
       displaymiao(miao);} // 將時(shí)間秒更新顯示
}
/*
uchar changgscan()
{
   if(change==0) //掃描換分按鍵
  {  delayms(1);     
   if(change==0) {
       jishu++;
     while(!change); }
    }
  return(jishu);
}
  */
uchar keyscan() //鍵盤掃描
{ uchar temp;
        if(change==0) //掃描換分按鍵
  {  delayms(1);     
   if(change==0)        
    {  
     temp=adui; //數(shù)據(jù)交換
     adui=bdui;
     bdui=temp;
     delayms(1);      
     while(!change); //待鍵開  
    }
  }

  ///////////////////  //////////////
  
    //if ((ina==0)&&(dea==0)){ TR0=1;j=miao;}//暫停
    if((ina==0)&&(dea==0))//暫停
              {
      delayms(1) ;
      if((ina==0)&&(dea==0)){   
    TR0=1;
    j=miao;      
    while(!ina);
    while(!dea);  
    }
    }
  //  if ((inb==0)&&(deb==0)){ TR0=0;miao=j;} //啟動(dòng)
     if((inb==0)&&(deb==0))//啟動(dòng)
              {
      delayms(1) ;
      if((inb==0)&&(deb==0)){   
    TR0=0;
    miao=j;      
    while(!inb);
    while(!deb);  
    }
    }
          if((ina==0)&&(dea==1)) //A加分按鍵按下
              {
      delayms(1) ;
      if((ina==0)&&(dea==1)){   
    adui++ ; //a分?jǐn)?shù)+1      
    while(!ina);  
    }
    }
      if((ina==1)&&(dea==0)) //A-按鍵按下
               {
    delayms(1) ;
      if((ina==1)&&(dea==0)){
    adui-- ; //a分?jǐn)?shù)-1      
    while(!dea);
    }
    }
     if((inb==0)&&(deb==1)) //B加分按鍵按下
               {
    delayms(1) ;
      if((inb==0)&&(deb==1)){     
    bdui++ ; //B分?jǐn)?shù)加一  
    while(!inb);
    }
    }
        if((inb==1)&&(deb==0)) //B減分按鍵按下
               {
    delayms(1) ;
      if((inb==1)&&(deb==0)){
   
    bdui-- ; //B分?jǐn)?shù)減一        
    while(!deb);
    }
    }
             return(adui);
    return(bdui);  }

void main() //主函數(shù)
{
TMOD=0x11; //設(shè)置定時(shí)器1,2工作于方式1
TH0=(65536-50000)/256; //設(shè)置初值
TL0=(65536-50000)%256;
fm=1; //起初關(guān)蜂鳴器
EA=1; //開總中斷
ET0=1; // 允許定時(shí)器0中斷
ET1=1; //允許定時(shí)器1中斷
//TR1=0; //先不啟定時(shí)器1
miao=24;
TR0=1; //開啟定時(shí)器0,倒計(jì)時(shí)開始
P0=0xff ;
delayms(1) ;
while(1) //隨時(shí)掃描按鍵并顯示
{  buzzer();
   // changgscan();
   keyscan();
  displayadui(adui);
  displaybdui(bdui);
  displaymiao(miao);
}
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩aⅴ在线观看 | 在线播放中文字幕 | 久久精品久久久 | 在线日韩 | 夜夜草导航 | 亚洲成人免费视频在线 | 精品国产青草久久久久福利 | 亚洲色图50p | 国产精品国产成人国产三级 | 精产嫩模国品一二三区 | 欧美一区二区在线 | 波波电影院一区二区三区 | www.久久艹| 一级黄色片免费在线观看 | 亚洲精品久久久9婷婷中文字幕 | 999久久久免费精品国产 | 亚洲激情综合 | 亚洲欧美国产毛片在线 | 国产一区欧美 | 男女爱爱福利视频 | 久久成人精品一区二区三区 | 日本中文在线 | 毛片在线看片 | 欧美一区二区三区四区视频 | 东方伊人免费在线观看 | 中文字幕精品一区二区三区精品 | 1000部精品久久久久久久久 | 国产高清视频 | 亚洲精品一区二区三区在线 | 中文字幕中文字幕 | 久久久精品一区 | 日韩成年人视频在线 | 久久精品天堂 | 日本一区二区不卡 | 日韩欧美久久精品 | 二区在线视频 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 超级乱淫av片免费播放 | 久久99国产精品 | 99reav| 91精品国产91综合久久蜜臀 |