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

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

QQ登錄

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

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

初學(xué)定時(shí)中斷做了個(gè)時(shí)鐘,顯示數(shù)字為何一直閃?請(qǐng)教各位了!

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:686778 發(fā)表于 2020-2-5 22:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
程序如下:

#include<reg52.h>

unsigned char i=0;
unsigned int c = 0;

unsigned char code table[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99,
                                                        0x92, 0x82, 0xf8, 0x80, 0x90};

void delay(unsigned int ms)  //延遲函數(shù)
{
        unsigned int a;
        unsigned int b;
        for (a = ms; a > 0; a--)
        {
                for (b = 121; b > 0; b--);
        }
}

void dsnumber() //數(shù)碼二極管顯示函數(shù)
{
        unsigned int b;
       
        b = c;
        P2 = 0xfe;      //第一個(gè)數(shù)碼管亮
        b  = b/600%6;   //計(jì)算十分位的數(shù)值
        P0 = table[b];  //
        delay(10);                 //延遲

        b = c;
        P2 = 0xfd;      //第二個(gè)數(shù)碼管亮
        b  = b/60%10;   //計(jì)算分位的數(shù)值
        P0 = table[b];  //
        delay(10);                 //延遲

               
        b = c;
        P2 = 0xfb;      //第三個(gè)數(shù)碼管亮
        b  = b/10%6;    //計(jì)算十秒位的數(shù)值
        P0 = table[b];  //
        delay(10);                 //延遲

       
        b = c;
        P2 = 0xf7;      //第四個(gè)數(shù)碼管亮
        b  = b%10;       //計(jì)算秒位的數(shù)值
        P0 = table[b];         //
        delay(10);                 //延遲
    P0=0xff;
       
}


void InitTimer0(void)
{
    TMOD = 0x01;//計(jì)數(shù)器狀態(tài)選擇
        TH0 = 0x4C;//計(jì)數(shù)初值,11.0592M晶振
    TL0 = 0x00;//計(jì)數(shù)初值
    EA = 1;//EA為 中斷開(kāi)關(guān),不需硬件中斷時(shí)可以不寫(xiě)。
    ET0 = 1;//ET0為0或不寫(xiě)默認(rèn)為0時(shí),計(jì)數(shù)器溢出TF0=1,不產(chǎn)生中斷,需要軟件清除。為1時(shí)引發(fā)中斷同時(shí)硬件清0標(biāo)志位。
    TR0 = 1;//計(jì)數(shù)開(kāi)始
       
}

void main(void)
{
   InitTimer0();//重復(fù)上面的中斷
        while(1)
        dsnumber();
       
}

void Timer0Interrupt(void) interrupt 1
{

        i++;
        TH0 = 0x4C;
    TL0 = 0x00;
        if  (i==20) /* 50ms定時(shí)中斷,20次為1S */
        {
                c++;
                i=0;
               
        }
       
}

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

使用道具 舉報(bào)

沙發(fā)
ID:437615 發(fā)表于 2020-2-5 23:04 來(lái)自觸屏版 | 只看該作者
閃的話一般是因?yàn)?1單片機(jī)速度比較慢,數(shù)碼管刷新的速度跟不上
回復(fù)

使用道具 舉報(bào)

板凳
ID:686778 發(fā)表于 2020-2-5 23:43 | 只看該作者
還有個(gè)問(wèn)題,顯示延時(shí)的時(shí)間,是否影響時(shí)鐘的準(zhǔn)確性,需要在定時(shí)中斷中減去或者說(shuō)補(bǔ)償一下嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:235200 發(fā)表于 2020-2-6 00:16 | 只看該作者
你要明白數(shù)碼管閃的原因是每一位數(shù)碼管點(diǎn)亮至下一位點(diǎn)亮的時(shí)間問(wèn)題,程序中用了delay(10);   //延遲作為每一位數(shù)碼管的顯示時(shí)間,顯然不符合要求,程序中4位數(shù)碼管顯示,其延時(shí)時(shí)間應(yīng)控制在4.5ms左右,與定時(shí)計(jì)數(shù)器作為中斷沒(méi)有關(guān)系(因顯示不是用定時(shí)計(jì)數(shù)器定時(shí))
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2020-2-6 06:27 | 只看該作者
數(shù)碼管動(dòng)態(tài)顯示周期不宜大于20ms,否則會(huì)閃爍。4位數(shù)碼管每位顯示延時(shí)應(yīng)不大于5ms,樓主使用10ms延時(shí)時(shí)間太長(zhǎng)。
回復(fù)

使用道具 舉報(bào)

6#
ID:332444 發(fā)表于 2020-2-6 07:23 | 只看該作者
數(shù)碼管延時(shí)值調(diào)整試看
回復(fù)

使用道具 舉報(bào)

7#
ID:587810 發(fā)表于 2020-2-6 09:11 來(lái)自觸屏版 | 只看該作者
你可以試著改一下延時(shí)時(shí)間
回復(fù)

使用道具 舉報(bào)

8#
ID:462827 發(fā)表于 2020-2-7 01:07 | 只看該作者
數(shù)碼管動(dòng)態(tài)掃描一般間隔不要太長(zhǎng),2ms左右就好,另外還需要消影。
回復(fù)

使用道具 舉報(bào)

9#
ID:686778 發(fā)表于 2020-12-2 21:10 | 只看該作者
顯示延時(shí)由delay(10)改為delay(1)就好了,不閃了。謝謝以上各位!
回復(fù)

使用道具 舉報(bào)

10#
ID:853361 發(fā)表于 2020-12-2 21:18 | 只看該作者
delay(unsigned int ms)這個(gè)函數(shù)延時(shí)明顯不夠

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

11#
ID:782419 發(fā)表于 2020-12-3 09:44 | 只看該作者
多位數(shù)碼管顯示一般是動(dòng)態(tài)刷新,你在顯示函數(shù)中用延時(shí)的想法有問(wèn)題!
建議在網(wǎng)上找一些關(guān)于動(dòng)態(tài)數(shù)碼管動(dòng)態(tài)顯示的教程參考學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

12#
ID:767811 發(fā)表于 2020-12-3 14:35 | 只看該作者
這種問(wèn)題,我一般遇到的話會(huì)先檢查數(shù)碼管是不是選錯(cuò)了,例如共陰極用成了共陽(yáng)極
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品夜间视频香蕉 | 中文字幕视频在线免费 | 久久久妇女国产精品影视 | 99精品久久久久 | 欧美一级淫片免费视频黄 | 亚洲精品第一 | 91精品国产综合久久久久 | 午夜精品久久久久久久99黑人 | 日本精品一区二区三区在线观看视频 | 一级黄色片免费在线观看 | 久久久久久久久99 | 日韩高清国产一区在线 | 蜜桃视频成人 | 成人在线免费观看视频 | www.99热这里只有精品 | 久久99精品久久久久久 | 午夜视频在线 | 亚洲欧洲色视频 | 国产精品久久久久久久久免费相片 | 日韩av大片免费看 | 国产精品亚洲欧美日韩一区在线 | 久久中文一区二区 | 羞羞的视频在线 | 91久久国产综合久久 | 天天爽天天操 | 一区二区高清 | 国产精品视频播放 | 亚洲综合色丁香婷婷六月图片 | 欧美日韩精品免费观看 | 日韩在线播放第一页 | 黄色片av| 91精品一区二区三区久久久久 | 中文字幕精品一区二区三区精品 | 久久av综合| 天堂成人国产精品一区 | 欧美xxxx性| 国产美女精品视频 | 美女黄网站视频免费 | www.日日夜夜 | 天天躁天天操 | 福利视频网站 |