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

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

QQ登錄

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

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

求助 時(shí)鐘按鍵問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
//s1加鍵,s2減鍵,s3設(shè)置鍵,knum是設(shè)置鍵按下的次數(shù)
//現(xiàn)在加,減調(diào)節(jié)都正常;
//現(xiàn)在想在按下設(shè)置鍵,對(duì)時(shí)后過(guò)幾秒鐘使時(shí)鐘自行啟動(dòng)走;
//后面寫(xiě)了一段程序,按下設(shè)置鍵不做任何操作過(guò)10秒啟動(dòng)時(shí)鐘走時(shí),
//現(xiàn)在問(wèn)題是按下設(shè)置鍵,按加、減鍵調(diào)時(shí),如果從1加到59,時(shí)間沒(méi)對(duì)好就啟動(dòng)時(shí)鐘走時(shí)了,怎么做才能使時(shí)間對(duì)好后過(guò)幾秒自動(dòng)啟動(dòng)走時(shí)呢?
void keyscan()                                                                   //按鍵掃描函數(shù)
{                                                                                   
        if(s3==0)                                                                   //選擇按鍵按下
        {
                delay(10);                                                        //延時(shí)
                if(s3==0)
                {
                        while(!s3)                //松手檢測(cè),這句后面不能加分號(hào),不然按鍵按下所以數(shù)碼管會(huì)滅,松手后才亮
                                display(shi,fen,miao);        //加上這句,按鍵按下對(duì)應(yīng)的位置就會(huì)閃
                        knum++;
                        if(knum==1)                                                  //分閃爍
                        {
                                 write_1302(0x8e,0x00);                //寫(xiě)保護(hù)取消
                                 write_1302(write_miao,0x80); //  寫(xiě)秒80,時(shí)鐘停止走時(shí);
                        
                        }
                        
                        
                        if(knum==3)                                                   //時(shí)鐘啟動(dòng)
                        {
                                knum=0;
                                write_1302(write_miao,0x00);
                                write_1302(0x8e,0x80);                //保護(hù)啟動(dòng)
                        }


                }
        }




        if(knum==1)                                                                //分鐘調(diào)節(jié)
        {
                if(s1==0)                                                        //加
                {
                        delay(10);
                        if(s1==0)
                        {        
                                while(!s1)
                                        display(shi,fen,miao);        //加上這句,按鍵按下就會(huì)閃
                                fen++;
                                fen=fen/10*16+fen%10;                //轉(zhuǎn)為16進(jìn)制
                                if(fen==0x60)
                                        fen=0x00;
                                write_1302(write_fen,fen);        //寫(xiě)入1302
                                read_sf();                                        //讀出時(shí)間,然后顯示
                                
                                
                        
                        }
                  
                }
               
                if(s2==0)
                {
                        delay(10);
                        if(s2==0)
                        {        
                                while(!s2)
                                        display(shi,fen,miao);        //加上這句,按鍵按下就會(huì)閃
                                fen--;
                                fen=fen/10*16+fen%10;                //轉(zhuǎn)為16進(jìn)制
                                if(fen==-1)
                                        fen=0x59;
                                write_1302(write_fen,fen);
                                read_sf();
                        }
                }

                        
        }
        
        
        if(knum==2)
        {
                if(s1==0)
                {
                        delay(10);
                        if(s1==0)
                        {        
                                while(!s1)
                                        display(shi,fen,miao);        //加上這句,按鍵按下就會(huì)閃
                                shi++;
                                shi=shi/10*16+shi%10;                //轉(zhuǎn)為16進(jìn)制
                                if(shi==0x24)
                                        shi=0x00;
                                write_1302(write_shi,shi);
                                read_sf();
                        }
                }
                if(s2==0)
                {
                        delay(10);
                        if(s2==0)
                        {        
                                while(!s2)
                                          display(shi,fen,miao);        //加上這句,按鍵按下就會(huì)閃
                                shi--;
                                shi=shi/10*16+shi%10;                //轉(zhuǎn)為16進(jìn)制
                                if(shi==-1)
                                        shi=0x23;
                                write_1302(write_shi,shi);
                                read_sf();


                        }
                }
        }
        

        if(knum!=0 )        //在設(shè)置狀態(tài)下,x秒鐘不做任何操作,則自動(dòng)退出設(shè)置狀態(tài),時(shí)鐘啟動(dòng),走時(shí)。

        {
           
          if( (s1!=0)&&(s2!=0) )
          {
                TR1=1;                          //啟動(dòng)定時(shí)器
                if(zs==10)                  
                  {
                        zs=0;
                        knum=0;                                           //設(shè)置按鍵次數(shù)清零
                        TR1=0;                                           //關(guān)閉定時(shí)器
                        write_1302(write_miao,0x00); //寫(xiě)秒0,時(shí)鐘啟動(dòng),走時(shí)。
                        write_1302(0x8e,0x80);                //保護(hù)啟動(dòng)
                  }
                }
        }        
}

void temer2() interrupt 3      //50毫秒中斷
{
  TH1=(65536-46080)/256;
  TL1=(65536-46080)%256;
  ss1++;
  if(ss1==20)       //到1秒
  {        
          ss1=0;
          zs++;
  }

}

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

使用道具 舉報(bào)

沙發(fā)
ID:111634 發(fā)表于 2017-4-8 15:40 | 只看該作者
本帖最后由 zl2168 于 2017-4-8 17:24 編輯

先給你2個(gè)案例看看,其中有你需要的東東。
先Proteus仿真,確認(rèn)有效。
實(shí)例91 具有校正功能的時(shí)鐘1302LCD1602顯示)


實(shí)例91 帶校正時(shí)鐘1302(LCD1602顯示).rar (52.74 KB, 下載次數(shù): 7)

實(shí)例93 具有校正功能的時(shí)鐘1302(LED數(shù)碼管顯示)
實(shí)例93 帶校正時(shí)分秒的時(shí)鐘1302(6位LED數(shù)碼管顯示).rar (732.75 KB, 下載次數(shù): 5)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。
回復(fù)

使用道具 舉報(bào)

板凳
ID:140489 發(fā)表于 2017-4-8 21:08 來(lái)自手機(jī) | 只看該作者
zl2168 發(fā)表于 2017-4-8 15:40
先給你2個(gè)案例看看,其中有你需要的東東。
先Proteus仿真,確認(rèn)有效。
實(shí)例91  具有校正功能的時(shí)鐘1302( ...

例子里沒(méi)有我想要的哦
回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2017-4-8 22:42 | 只看該作者
lids 發(fā)表于 2017-4-8 21:08
例子里沒(méi)有我想要的哦

你的問(wèn)題是:“按下設(shè)置鍵,按加、減鍵調(diào)時(shí),如果從1加到59,時(shí)間沒(méi)對(duì)好就啟動(dòng)時(shí)鐘走時(shí)了,怎么做才能使時(shí)間對(duì)好后過(guò)幾秒自動(dòng)啟動(dòng)走時(shí)呢?”
我推薦的案例是:按加、減鍵調(diào)時(shí),時(shí)鐘照常運(yùn)行,根本就不需過(guò)幾秒再啟動(dòng)。
你先Proteus仿真一下,確認(rèn)有效,再去找程序源代碼。不過(guò),我先告訴你:仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書(shū)上看了。

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:187627 發(fā)表于 2017-4-9 10:08 | 只看該作者
不知道哦
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天插日日操 | 91视频免费 | 免费在线观看一区二区三区 | 亚洲精品视频三区 | 国产精品一二区 | 中文字幕在线精品 | 久久999 | 国产一区二区三区四区五区加勒比 | 久久大全| 日韩和的一区二区 | 中国一级毛片免费 | 一区二区在线 | 国产一区二区免费 | 男人的天堂中文字幕 | 精品91视频 | 91免费看片神器 | 精品久久一区 | 久久国产视频网 | 日韩成人av在线 | 在线观看视频中文字幕 | 成人久久18免费网站 | 国产一区日韩在线 | 国产精品久久久久久久久久久免费看 | 亚洲天堂精品久久 | 亚洲v日韩v综合v精品v | 日韩1区| av一二三区| 日韩国产免费 | 午夜在线精品偷拍 | 久久久久久看片 | 亚洲免费在线观看 | av免费在线播放 | 国产成人综合在线 | 国色天香综合网 | 自拍 亚洲 欧美 老师 丝袜 | 国产精品综合 | 亚洲精品一区中文字幕乱码 | 免费日韩av | 精品一区二区三区在线观看 | 欧美a区 | 四虎影音|