wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機可調(diào)校時鐘中的問題———求大神指點迷津

[復(fù)制鏈接]
回帖獎勵 1 黑幣 回復(fù)本帖可獲得 1 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉(zhuǎn)到指定樓層
樓主
ID:139207 發(fā)表于 2016-9-15 01:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 lilipo 于 2016-9-18 17:33 編輯

/**********************************************************************************
此程序利用八位共陽數(shù)碼管顯示的時鐘具有時鐘、調(diào)時、調(diào)鬧鐘的功能,實現(xiàn)八位數(shù)碼管單獨
位校準,同時校準時數(shù)碼管閃爍。
key4----計時開關(guān),(主要控制TR0是1或0,即LED燈的亮或滅)。
                初始值0,按下后取反,開始計時,再按,停止計時。

key1----模式選擇,標志位flg,取值1、2、0。
                初始值0,正常顯示時鐘走時;
                按一下,flg=1,時鐘調(diào)整模式,按兩下,flg=2,鬧鐘調(diào)整模式;
                按三下,flg=0;回到正常時鐘模式。依次循環(huán)。

key2----校準位選擇,標志位flg1,取值0~8.
                初始值為0;哪一位都不閃爍,哪一位都不校準;
                每按一下,則flg1+1,加到8,再按一下回到flg1=0;
                flg1=1,表示校準第一位,第一位閃爍;flg1=2,校準第二位,第二位閃爍,依次……

key3----校準控制位,控制改變每一位數(shù)碼管所顯示的數(shù)字,校準哪一位,則按key3改變哪一位的值。
******************************************************************************************
定時器0用來產(chǎn)生計時,定時器1用來控制閃爍標志位flg2
******************************************************************************************
由于匆忙,未加入鬧鐘,不過這不是最主要的問題。在電路實際運行中,發(fā)現(xiàn)一些問題不足,求大神
高手指點迷津。謝謝!!!!!!!!!!!!!!!!!!!!!!!
現(xiàn)象描述:
a.        上電后,按key4,啟動計時;
b.        按key1,選擇調(diào)校時鐘,
c.        按key2,控制校準位選擇
d.        按key3,改變校準位的值
e.        反復(fù)按key2,
f.        反復(fù)按key4,
g.        按Key1,使之回到正常時鐘計時模式,反復(fù)按key4,;
問題:1、重復(fù)e.f兩個步驟,則會出現(xiàn)“明明已經(jīng)開啟計時模式,led亮,即TR0=1,但最后一位秒位
                要十幾秒才反應(yīng)過來繼續(xù)改變數(shù)值計時”的情況“
      2、操作g步驟,同樣遇到上述問題
***********************************************************************************
疑惑 1、產(chǎn)生上述問題的根源是什么???這是否與啟用兩個定時器設(shè)置有關(guān)????
         2、使用兩個定時器時應(yīng)該注意哪些問題???此處我令兩個定時器初值都一樣,是否不當?
         3、定時器0和定時器1有中斷先后優(yōu)先級,初始化時是否需要配置IP???
***********************************************************************************/
#include<reg52.h>
#include<intrins.h>
#define  uchar  unsigned char        
#define  uint  unsigned int
sbit voice=P2^3;
sbit DU=P2^6;
sbit WE=P2^7;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
uchar cnt;
char  flg,flg1;//flg按Key2,一次時鐘調(diào)整模式flg=1,兩次定鬧鐘調(diào)整模式flg=2,三次正常時鐘模式flg=0;
                          //flg1用來選擇校準位;
bit flg2;  //flg2用來閃爍標志位,bit只有0和1兩種狀態(tài)。
           //TR0=1,則令P1=0x00,led亮,反之,TR0=1,則令P1=0xff,led滅,便于直觀看出是否啟動計時
uchar shi,fen,miao;//設(shè)定時鐘
uchar hour,minute,second;//設(shè)定鬧鐘
uchar code duan[]={
                0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};
//段選         0    1    2    3    4    5     6    7   8     9        A         b          C           D        E         F          滅  -                                
uchar code T_COM[]={
                0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//位選         滅   第一  二   三   四   五   六   七   八位               
uchar table[]={0,1,2,17,4,5,17,7,8,9,10,17,12,13,17,15,16};//顯示哪一位
void delayms(char xms)
{
        uchar i,j;        
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
void init()
{
        TMOD=0x11;
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%256;//定時50ms
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%256;//定時50ms
        EA=1;
        ET0=1;
        ET1=1;
        TR1=1;
        shi=18;
        fen=1;
        miao=0;
        DU=0;
        WE=0;
}
void keyscan()//shi+10;shi+1;fen+10;fen+1;miao+10;miao+1        
{
        if(key1==0)
        {
                delayms(10);
                if(key1==0)
                {
                        flg++;
                        if(flg>2)
                        flg=0;
                        while(!key1);
                }
        }
        if(key2==0)
        {
                delayms(10);
                if(key2==0)
                {        
                        flg1++;
                        if(flg1>8)
                        flg1=1;
                        while(!key2);
                }
        }
        if(key3==0)
        {
                delayms(10);
                if(key3==0)
                {
                        if(flg==1)
                        {
                                switch(flg1)
                                {
                                        case 1: if(shi<13)
                                                                shi+=10;
                                                        else if(shi<20&shi>13)
                                                                shi-=10;
                                                        else if(shi>20)
                                                                shi-=20;  break;
                                        case 2:        if(shi<20)
                                                        {
                                                                if(shi%10==9)
                                                                        shi-=9;
                                                                else
                                                                        shi+=1;
                                                        }
                                                        else
                                                        {
                                                                if(shi%10==3)
                                                                        shi-=3;
                                                                else
                                                                        shi+=1;
                                                        }  break;
                                        case 3: break;
                                        case 4:        if(fen>=50)
                                                                fen-=50;
                                                        else
                                                                fen+=10; break;
                                        case 5:        if(fen%10==9)
                                                                fen-=9;
                                                        else
                                                                fen+=1; break;
                                        case 6:        break;
                                        case 7:        if(miao>=50)
                                                                miao-=50;
                                                    else miao+=10; break;
                                        case 8:        if(miao%10==9)
                                                                miao-=9;
                                                        else
                                                                miao+=1; break;
                                }
                        }
                        else if(flg==2)
                        {
                                switch(flg1)
                                {
                                        case 1: if(hour<=13)
                                                                hour+=10;
                                                        else if(hour<20&hour>13)
                                                                hour-=10;
                                                        else if(hour>20)
                                                                hour-=20;  break;
                                        case 2:        if(hour<20)
                                                        {
                                                                if(hour%10==9)
                                                                        hour-=9;
                                                                else
                                                                        hour+=1;
                                                        }
                                                        else
                                                        {
                                                                if(hour%10==3)
                                                                        hour-=3;
                                                                else
                                                                        hour+=1;
                                                        }  break;
                                        case 3: break;
                                        case 4:        if(minute>=50)
                                                                minute-=50;
                                                        else
                                                                minute+=10; break;
                                        case 5:        if(minute%10==9)
                                                                minute-=9;
                                                        else
                                                                minute+=1; break;
                                        case 6:        break;
                                        case 7:        if(second>=50)
                                                                second-=50;
                                                        else
                                                                second+=10; break;
                                        case 8:        if(second%10==9)
                                                                second-=9;
                                                        else
                                                                second+=1; break;
                                }
                        }
                        while(!key3);
                }
        }
        if(key4==0)
        {
                delayms(10);
                if(key4==0)
                {        
                        TR0=~TR0;
                        while(!key4);         
                }
        }
}
void caculate()
{
                table[1]=shi/10;
                table[2]=shi%10;
                table[4]=fen/10;
                table[5]=fen%10;        
                table[7]=miao/10;
                table[8]=miao%10;
                table[9]=hour/10;
                table[10]=hour%10;  
                table[12]=minute/10;
                table[13]=minute%10;        
                table[15]=second/10;
                table[16]=second%10;
}
void display()
{
        uchar i;
        for(i=1;i<=8;i++)
        {
                WE=1;
                P0=T_COM;
                WE=0;
                P0=0x00;        
                DU=1;
                if(flg<2)
                {
                        if(flg1==i&&flg2==1)
                                P0=0x00;
                        else
                                P0=duan[table];        
                }
                else
                {
                        if(flg1==i&&flg2==1)
                                P0=0x00;
                        else
                                P0=duan[table[i+8]];
                }
                DU=0;
                delayms(10);
                P0=0xff;        
        }
}//此處針對proteus仿真所編寫,實際板子中的display程序稍微不同,此處不影響 不必深究
void main()
{
        init();
        while(1)
        {        
                keyscan();
                if(!flg)
                flg1=0;         
                keyscan();
                        if(cnt==20)
                        {
                                cnt=0;
                                miao++;        
                        }
                        if(miao>59)
                        {
                                miao=0;
                                fen++;
                        }
                        if(fen>59)
                        {
                                fen=0;
                                shi++;
                        }
                        if(shi>23)
                                shi=0;
                if(TR0)
                        P1=0x00;
                else
                        P1=0xff;         
                caculate();        
                display();
        }
}
void timer0() interrupt 1
{
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%256;//定時50ms
        cnt++;        
}
void timer1() interrupt 3
{
        TH1=(65536-46080)/256;
        TL1=(65536-46080)%256;//定時50ms
        cnt++;
        if(cnt==5)
        {
                cnt=0;
                   flg2=~flg2;
        }
        
}


fangzhen_clock.rar

67.5 KB, 下載次數(shù): 3

問題求解

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:140489 發(fā)表于 2017-6-19 12:51 | 只看該作者
兩個定時器里面都用一個cnt變量來計時,肯定出錯
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
蜜桃视频第一区免费观看| 日韩av网站导航| 黄色精品一区| 国内自拍亚洲| 成人av电影观看| 手机在线色视频| 性生交大片免费看女人按摩| 一本一本久久a久久| 成人午夜激情av| 亚洲激情一区二区三区| 国产精品视频久| 日韩中文字幕视频在线| 91.com视频| 亚洲午夜久久久久久久久电影院| 国产乱妇无码大片在线观看| 欧美+日本+国产+在线a∨观看| 欧美美女福利视频| 国产美女av在线| 成人福利网址| 四虎成人精品在永久在线观看| 高潮毛片又色又爽免费| 欧美黄色高清视频| av在线免费观看不卡| 国产欧美日韩成人| 国产噜噜噜噜噜久久久久久久久| 亚洲国产精品va在线看黑人| 午夜精品久久久久久久久久久| 久久久久久视频| 婷婷综合五月天| 成人亚洲精品久久久久软件| 欧美精品大片| 色婷婷狠狠五月综合天色拍| 亚洲精品国产嫩草在线观看| 免费观看在线午夜影视| av天在线播放| 日本视频网址| 久久香蕉综合色一综合色88| 亚洲一区二区色| 黄色片视频网站| 亚洲二区在线播放| 亚洲区自拍偷拍| 四虎永久免费观看| 国内国产精品天干天干| 99爱视频在线| 日本福利视频一区| 亚洲成成品网站| 亚洲va韩国va欧美va精品| 91捆绑美女网站| 国产98色在线|日韩| 奇米精品一区二区三区四区| 夜夜嗨av一区二区三区网站四季av| 日韩av片子| 亚洲伊人春色| 亚洲第一二三区| 澳门精品久久国产| 日本在线视频一区二区三区| 婷婷久久免费视频| av免费在线一区| 日韩成人高清| www成人在线视频| av有声小说一区二区三区| 91www在线| 国产精品69xx| 欧美13videosex性极品| 2020日本在线视频中文字幕| 日本大片在线播放| 俄罗斯一级**毛片在线播放| 午夜影院免费在线| gogo久久| 偷拍精品精品一区二区三区| 成人mm视频在线观看| 免费成人美女女| 日韩三区四区| 亚洲福利合集| 美国一区二区| 少妇精品久久久一区二区| 国产一区二区三区日韩精品 | 男人的天堂va在线| 中文字幕2区| 国产精品视频福利一区二区| 国产成人免费视频app| 天堂在线免费视频| av高清资源| 有码在线播放| 调教视频免费在线观看| aa在线视频| 桃子视频成人app| 亚洲我射av| 亚洲深夜福利在线观看| 香蕉视频官网在线观看日本一区二区| 欧美精选一区| 蜜桃精品视频在线观看| 国产sm精品调教视频网站| 久久亚洲精品国产精品紫薇| 综合激情成人伊人| 色狠狠综合天天综合综合| 欧美疯狂性受xxxxx喷水图片| 丁香花在线高清完整版视频| 欧美一级大片免费看| 亚洲精品www.| 亚州av综合色区无码一区| 亚洲一二三精品| 久久久久在线视频| 涩涩视频免费看| 再深点灬舒服灬太大了少妇| 全部孕妇毛片丰满孕妇孕交| 瑟瑟视频在线| 成人免费毛片嘿嘿连载视频…| 久久狠狠久久| 影音先锋中文字幕一区| 国产精品一区免费在线观看| 国产精品乱码妇女bbbb| 色视频一区二区| 亚洲毛片在线看| 欧美在线视频a| 六月婷婷久久| 黄色片久久久久| 亚洲精品一区二区网址| 日韩一区在线视频| 91精品久久久久久久久久另类 | 在线视频一区二区三区四区| www日本高清视频| 青娱乐在线视频观看| 亚洲色图另类色图| 午夜日韩成人影院| 欧美色图一区| 国内一区二区视频| 亚洲激情图片小说视频| 亚洲国产成人精品一区二区| 69久久夜色精品国产7777| 久久婷婷开心| 狠狠操狠狠干视频| 国产极品美女高潮无套嗷嗷叫酒店| 精品国产av一区二区| 国卡一卡二卡三免费网站| 亚洲欧美视频一区二区| 欧美激情三级| 亚洲免费影视| 亚洲人成在线观看一区二区| 精品三级在线看| 国产精彩精品视频| 国产免费xxx| 制服丝袜第二页| 在线亚洲欧美日韩| www.天天射| 两个人看的在线视频www| 日韩欧美网址| 久久综合色之久久综合| 欧美日本在线看| 国产精品6699| 国产l精品国产亚洲区久久| 午夜精品一区二区三区视频| 香港一级纯黄大片| 一区二区三区视频国产日韩| 日韩欧乱色一区二区三区在线| 91成人免费| 成人午夜免费av| 在线成人午夜影院| 国产精品99久久99久久久二8| 中文字幕一区二区中文字幕| www.色天使| www.狠狠干| 国产污污在线观看| 国产一区二区av在线| 国产精品社区| 亚洲亚洲人成综合网络| 久久在精品线影院精品国产| 欧美亚州在线观看| 9.1成人看片| 黄色美女一级片| 欧美著名女优| 风间由美一区二区av101| 麻豆成人免费电影| 欧美日韩在线电影| 欧美一区第一页| 中文字幕乱码人妻综合二区三区| 日本高清一二三区| 日本一卡2卡三卡4卡网站| 欧美另类tv| 91精品国产乱码久久久久久| 国产精品嫩草影院com| 国产婷婷色综合av蜜臀av| 高清不卡日本v二区在线| 中文字幕第38页| 国产农村妇女毛片精品| 毛片网站大全| 日韩伦理一区二区三区| 91蜜桃免费观看视频| 日韩视频123| 成人午夜电影在线播放| 99热超碰在线| 亚洲风情第一页| 成人午夜影视| 欧美岛国激情| 一区二区三区四区中文字幕| 欧美成人免费小视频| 欧美黄色免费网址| 五月婷婷激情网| www.99com| 国产精品主播在线观看| 福利视频网站一区二区三区| 亚洲精品黄网在线观看| 欧美日韩精品不卡| 黑人操日本美女| 嫩草影院在线观看未满十八| 欧美gv在线| 麻豆精品一二三| 欧美成人福利视频| 99在线看视频| 五月天免费网站| 色视频在线免费| 精品中文视频| 国产日韩欧美精品一区| 欧美成人性色生活仑片| 18禁男女爽爽爽午夜网站免费| 亚洲男人天堂网址| 国产在线视频网| 中文字幕一区二区精品区| 午夜在线电影亚洲一区| 91久久综合亚洲鲁鲁五月天| 国产探花在线观看视频| 欧美最猛黑人xxxx黑人猛交黄| 日韩电影毛片| 国产成人综合亚洲网站| 亚洲欧美制服第一页| 亚洲欧美国产不卡| 天天综合网入口| 日本啊v在线| 999久久久91| 色综合天天做天天爱| 亚洲a在线播放| 久久久久麻豆v国产| 999www成人| heyzo久久| 岛国av一区二区| 国产一级精品aaaaa看| 欧美 日韩 国产 一区二区三区| www.操操| 91亚洲国产成人久久精品| 黑人精品xxx一区一二区| 精品国产乱码久久久久| 免费在线黄色片| 黄动漫视频高清在线| 欧美成熟视频| 亚洲精品av在线| 热久久这里只有精品| 在线观看av中文字幕| 免费黄色小视频| 成人羞羞网站入口| 欧美精品九九99久久| 日韩欧美视频一区二区| 69av视频在线观看| 69av成人| av男人天堂一区| 久久久久久亚洲精品不卡| 俄罗斯女人裸体性做爰| 天天操天天舔| 欧美激情性爽国产精品17p| 欧美一区二区免费观在线| 超碰97在线看| 日本美女一级片| 欧美最新精品| 中文字幕在线观看一区二区| 91香蕉电影院| 国产高潮久久久| 英国三级经典在线观看| 欧美国产精品中文字幕| 亚洲在线视频观看| 中日韩精品视频在线观看| 黄色在线论坛| 91在线丨porny丨国产| 97在线视频免费观看| 欧美xxxooo| 国产1区2区3区在线| 成人av动漫在线| **亚洲第一综合导航网站| 日本中文字幕在线| 涩涩涩视频在线观看| 亚洲一区二区三区中文字幕 | 亚洲色图88| 亚洲无线码在线一区观看| 中文字幕永久免费| 黄页网站在线观看| 粉嫩av一区二区三区| 亚洲综合大片69999| 一区二区自拍偷拍| 日韩视频一二区| 69堂国产成人免费视频| 狠狠躁狠狠躁视频专区| 国产免费福利网站| 国产成人精品在线看| caoporn国产精品免费公开| 国产三级漂亮女教师| 日韩精品丝袜美腿| 亚洲欧美日韩精品久久亚洲区| 亚洲香蕉中文网| 99久久精品国产亚洲| 国产另类xxxxhd高清| 色哦色哦哦色天天综合| 妺妺窝人体色www在线观看| av福利网址| 国产精品亚洲人在线观看| 91免费看蜜桃| 香蕉视频免费看| 欧美大片一区| 欧美中文字幕第一页| 日本丰满少妇做爰爽爽| 国产精品zjzjzj在线观看| 日韩精品视频在线观看网址 | av成人网在线| 成人久久久精品乱码一区二区三区| 国产精品区二区三区日本| 亚洲天堂在线播放| 欧美韩日精品| 日韩男女性生活视频| 亚洲一区二区三区高清视频| 亚洲电影男人天堂| 久久夜色精品国产亚洲aⅴ| 久久精品免费在线| 日韩精品成人在线观看| 日韩国产欧美精品一区二区三区| 国产成人jvid在线播放| 国产精品毛片一区二区在线看舒淇| 国产在线一区不卡| 国产视频久久网| 青娱乐av在线| silk一区二区三区精品视频 | 日本wwwxx| 成人直播在线| 91久久精品一区二区二区| 亚洲视频天天射| 国产蜜臀一区二区打屁股调教| 欧美亚洲综合在线| a级在线观看视频| 亚洲人体影院| 亚洲第一免费网站| 青青草精品在线视频| 一区二区三区在线资源| 日韩在线高清视频| 亚洲av无码乱码国产精品fc2| 欧美一级精品片在线看| 2019中文字幕在线免费观看| 国产日韩视频一区| 888av在线视频| 日韩欧美卡一卡二| 男女性高潮免费网站| 北条麻妃在线一区二区免费播放 | 黑人巨大猛交丰满少妇| av大片在线| 日韩欧美久久久| 久草视频精品在线| 欧美一区二区三| 国产精品爽黄69天堂a| 欧美性受xxxx黑人xxxx| 九九在线精品视频| 在线国产99| 少妇性bbb搡bbb爽爽爽欧美| 精品女厕一区二区三区| 国产精品成人一区二区三区电影毛片| jizzyou欧美16| 久久精品精品电影网| 国产肥老妇视频| 日韩中文字幕一区二区三区| 日本成人黄色| 天堂在线视频| 欧洲亚洲国产日韩| 东方av正在进入| 成人短片线上看| 99精品国产一区二区| 天天操天天操天天色天天要| 亚洲免费观看高清完整版在线| 97超碰国产精品女人人人爽 | 亚洲综合欧美综合| 成人爽a毛片| 国产成人精品免费视频| xxxx性欧美黑人| 国产欧美一区二区精品婷婷| 国产精品999.| 成人av在线播放| 欧美一区二区三区……| 国产精品在线| 国产精品国产三级国产普通话99| 中文字幕人妻无码系列第三区| 黄色欧美视频| 欧美一区二粉嫩精品国产一线天| 国产在线播放你懂的| 中文字幕精品一区二区三区精品| 蜜桃视频无码区在线观看| 国产一区二区| 国产欧美日韩中文| 日本wwwwww| 欧美午夜精品免费| 4438国产精品一区二区| 一本色道精品久久一区二区三区| 亚洲一区二区三区涩| 久久综合之合合综合久久| 国产一区二区三区网站| 欧美一区二区三区成人片在线| 成人a区在线观看| 51自拍视频在线观看|