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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1786|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

求大神,在做單片機(jī)秒表實(shí)驗(yàn),就復(fù)位有問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:438852 發(fā)表于 2020-11-9 11:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "reg51.h"
unsigned char seg_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   //數(shù)碼管字模
unsigned char time=0;
unsigned char sec=20;
unsigned char min=60;
sbit P3_0=P3^0;                                                          //定義位變量
sbit P3_1=P3^1;
sbit key1=P1^0;                                                                 //清零
sbit key2=P1^1;                                                                                                                         //暫停
sbit key3=P1^2;                                                                                                                         //啟動(dòng)
unsigned char wei1;
unsigned char wei2;

void delay(unsigned int a)   //誤差 0us
{
    unsigned int j;
    for(;a>0;a--)
        for(j=0;j<125;j++);

}


void timer0() interrupt 1         //T0中斷函數(shù)
{   

     TH0=0x3c;                                          //計(jì)數(shù)初值
         TL0=0xb0;
         if(++time==sec)                      //1s
         {     
                  time=0;                                                   
              if(min==60)                            //60s循環(huán)
                  min=0;
                  wei1=min%10;                  //個(gè)位
                  wei2=min/10;                  //十位
                  min++;
         }                             
}





void main()
{
     TMOD=0x01;                                          //T0方式一
         TH0=0x3c;
         TL0=0xb0;
         TR0=0;                                                  //定時(shí)器打開(kāi)
         EA=1;                                                  //開(kāi)中斷
         ET0=1;
         TR0=1;     
     while(1)
         {
                      if(key3==0)                  //啟動(dòng)
                     {        
                           TR0=1;
                     }
                          if(key2==0)                  //暫停
                {        
                       TR0=0;
                    }
                         if(key1!=0)                  //清零
                     {        
                           P3_1=1;
                       P2=seg_mod[wei2];                  //個(gè)位顯示
                       P3_0=0;
                       delay(5);
                       P3_0=1;
                       P2=seg_mod[wei1];                  //十位顯示
                       P3_1=0;
                       delay(5);
                     }
                         else
                         {
                           wei1=wei2=0;
                           P3_1=1;
                       P2=seg_mod[wei2];;                  //個(gè)位顯示
                       P3_0=0;
                       delay(5);
                       P3_0=1;
                       P2=seg_mod[wei1];                  //十位顯示
                       P3_1=0;
                       delay(5);
                         }
                  
                 
               
        
         }
         
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:438852 發(fā)表于 2020-11-9 11:11 | 只看該作者
按下按鍵顯示清零,松開(kāi)就返回原值。
回復(fù)

使用道具 舉報(bào)

板凳
ID:158375 發(fā)表于 2020-11-9 12:44 | 只看該作者
在  wei1=wei2=0; 前邊 加一行試試:
      min=0;
      wei1=wei2=0;
原因:定時(shí)器里面 min 沒(méi)改變引起的

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:332444 發(fā)表于 2020-11-9 12:58 | 只看該作者
清零時(shí)也要把中斷停止試看。
回復(fù)

使用道具 舉報(bào)

5#
ID:140489 發(fā)表于 2020-11-9 14:43 | 只看該作者
void timer0() interrupt 1         //T0中斷函數(shù)
{   

     TH0=0x3c;                                          //計(jì)數(shù)初值
         TL0=0xb0;
         if(++time==sec)                      //1s
         {     
                  time=0;                                                   
              if(min==60)                            //60s循環(huán)
                  min=0;
                  wei1=min%10;                  //個(gè)位
                  wei2=min/10;                  //十位
                  min++;
         }                             
}
////////////////////////////////
void timer0() interrupt 1         //T0中斷函數(shù)
{   

     TH0=0x3c;                                          //計(jì)數(shù)初值
         TL0=0xb0;
         if(++time==sec)                      //1s
         {     
                  time=0;
                  min++;       //把min++寫(xiě)這里                          
              if(min==60)                            //60s循環(huán)
                  min=0;
                  wei1=min%10;                  //個(gè)位
                  wei2=min/10;                  //十位
           //       min++;
         }                             
}
回復(fù)

使用道具 舉報(bào)

6#
ID:438852 發(fā)表于 2020-11-9 22:56 | 只看該作者
#include "reg51.h"
unsigned char seg_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   //數(shù)碼管字模
unsigned char time=0;
unsigned char sec=20;
unsigned char min=60;
sbit P3_0=P3^0;                                                          //定義位變量
sbit P3_1=P3^1;
sbit key1=P1^0;                                                                 //清零
sbit key2=P1^1;                                                                                                                         //暫停
sbit key3=P1^2;                                                                                                                         //啟動(dòng)
unsigned char wei1;
unsigned char wei2;

void delay(unsigned int a)   //誤差 0us
{
    unsigned int j;
    for(;a>0;a--)
        for(j=0;j<122;j++);
            
}


void timer0() interrupt 1         //T0中斷函數(shù)
{   
   
     TH0=0x3c;                                          //計(jì)數(shù)初值
         TL0=0xb0;
         if(++time==sec)                      //1s
         {     
                  time=0;                                                   
              if(min==60)                            //60s循環(huán)
                  min=0;
                  wei1=min%10;                  //個(gè)位
                  wei2=min/10;                  //十位
                  min++;
         }                             
}





void main()
{
     TMOD=0x01;                                          //T0方式一
         TH0=0x3c;
         TL0=0xb0;
         TR0=0;                                                  //定時(shí)器打開(kāi)
         EA=1;                                                  //開(kāi)中斷
         ET0=1;   
     while(1)
         {
                      if(key3==0)                  //啟動(dòng)
                     {       
                           TR0=1;
                     }
                          if(key2==0)                  //暫停
                {       
                       TR0=0;
                    }
                         if(key1!=0)                  //清零
                     {       
                           P3_1=1;
                       P2=seg_mod[wei2];                  //個(gè)位顯示
                       P3_0=0;
                       delay(5);
                       P3_0=1;
                       P2=seg_mod[wei1];                  //十位顯示
                       P3_1=0;
                       delay(5);
                     }
                         else
                         {
                          
                           TH0=0x3c;                                          //計(jì)數(shù)初值
                   TL0=0xb0;
                           min=0;
                           wei1=wei2=0;
                           P3_1=1;
                       P2=seg_mod[wei2];;                  //個(gè)位顯示
                       P3_0=0;
                       delay(5);
                       P3_0=1;
                       P2=seg_mod[wei1];                  //十位顯示
                       P3_1=0;
                       delay(5);
                         }
                  
                 
               
       
         }
          
}
回復(fù)

使用道具 舉報(bào)

7#
ID:438852 發(fā)表于 2020-11-9 22:56 | 只看該作者
已經(jīng)改好,謝謝大神們
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品91 | 一区二区在线不卡 | 欧美一级免费看 | 日本不卡一区二区三区 | 五月天综合影院 | 亚洲人免费视频 | 黄色精品视频网站 | 亚洲成人免费视频在线观看 | 国产福利网站 | 特级做a爰片毛片免费看108 | 中文一区 | 天天干天天爱天天操 | 精品视频在线观看 | 亚洲国产精品一区二区第一页 | 在线观看中文字幕一区二区 | 中文字幕av在线一二三区 | 亚州国产 | 一区二区三区回区在观看免费视频 | 亚洲精品一区二区三区在线 | 免费成人在线网 | 久久久久久久国产精品视频 | 日韩欧美不卡 | 亚洲精品在线国产 | 波多野结衣一区二区 | 国产精品亚洲欧美日韩一区在线 | 日韩国产中文字幕 | 国产高清免费视频 | 可以在线看的黄色网址 | 成人免费区一区二区三区 | 久久这里只有 | 精品视频在线一区 | 国产精品毛片一区二区在线看 | 午夜寂寞影院列表 | av一区二区三区四区 | 91高清免费| 99精品国产一区二区三区 | 日韩精品成人一区二区三区视频 | 色婷婷综合久久久中字幕精品久久 | 极品销魂美女一区二区 | 日韩av免费在线电影 | 日韩一区二区三区av |