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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關(guān)于單片機(jī)數(shù)碼管動(dòng)態(tài)顯示程序上的疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:384762 發(fā)表于 2018-11-9 09:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
下面面這個(gè)是我在51hei論壇上看到的程序,我看了一下我有個(gè)疑問(1)當(dāng)stopwatch=1的時(shí)候, LedNumbe[]這個(gè)數(shù)組是否除了LedNumbe[0]=1以外,其他LedNumbe[]是否都為0  ,假如是的話,請看問題2。(2)當(dāng)stopwatch=1的時(shí)候,進(jìn)入動(dòng)態(tài)刷新,除了第一個(gè)數(shù)碼管能顯示1外 其他數(shù)碼管都會(huì)有顯示0,到最后的數(shù)碼管的效果就會(huì)變成這樣000001 000002 000003,而這個(gè)程序的效果應(yīng)該是 1    2     3    4    5    6,就是多余位是不會(huì)顯示的0的。我現(xiàn)在疑問的是 我不知道自己所描述的疑問是否正確  

#include <reg52.h>               //包含寄存器的庫文件                  
sbit  ADDR0 = P1^0;
sbit  ADDR1 = P1^1;
sbit  ADDR2 = P1^2;
sbit  ADDR3 = P1^3;
sbit  ENLED = P1^4;
unsigned char code LedChar[] = {   //用數(shù)組來表示數(shù)碼管真值表
    0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
    0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8e,
};
unsigned char LedNumber[6] = {0}; //定義全局變量
unsigned char j = 0;
unsigned int counter = 0;
void main()
{
    unsigned long stopwatch =0;
    ENLED = 0; ADDR3 = 1; P0 = 0XFF;   //74HC138P0初始化部分
    TMOD = 0x01;  //設(shè)置定時(shí)器0為模式1
    TH0  = 0xFC;
    TL0  = 0x67;  //定時(shí)值初值,定時(shí)1ms
    TR0  = 1;     //打開定時(shí)器0
    EA = 1;       //打開中中斷
    ET0 = 1;      //打開定時(shí)器0中斷
    while(1)
    {
        if(1000 == counter)     //判斷定時(shí)器0溢出是否達(dá)到1000
        {
            counter = 0;
            stopwatch++;
            LedNumber[0] = stopwatch%10;
            LedNumber[1] = stopwatch/10%10;
            LedNumber[2] = stopwatch/100%10;
            LedNumber[3] = stopwatch/1000%10;
            LedNumber[4] = stopwatch/10000%10;
            LedNumber[5] = stopwatch/100000%10;
        }
    }
}
void InterruptTimer0() interrupt 1               //中斷函數(shù)的特殊寫法,數(shù)字’1’為中斷入口號(hào)
{
    TH0 = 0xFC;   //溢出后進(jìn)入中斷重新賦值
    TL0 = 0x67;
    counter++;   //計(jì)數(shù)值counter1
    P0 = 0xFF;   //消隱
    switch(j)
    {
        case 0: ADDR0=0; ADDR1=0; ADDR2=0; j++; P0=LedChar[LedNumber[0]]; break;
        case 1: ADDR0=1; ADDR1=0; ADDR2=0; j++; P0=LedChar[LedNumber[1]]; break;
        case 2: ADDR0=0; ADDR1=1; ADDR2=0; j++; P0=LedChar[LedNumber[2]]; break;
        case 3: ADDR0=1; ADDR1=1; ADDR2=0; j++; P0=LedChar[LedNumber[3]]; break;
        case 4: ADDR0=0; ADDR1=0; ADDR2=1; j++; P0=LedChar[LedNumber[4]]; break;
        case 5: ADDR0=1; ADDR1=0; ADDR2=1; j=0; P0=LedChar[LedNumber[5]]; break;
        default: break;
    }    //動(dòng)態(tài)刷新
}   


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

使用道具 舉報(bào)

沙發(fā)
ID:384762 發(fā)表于 2018-11-12 19:50 | 只看該作者
有沒有人
回復(fù)

使用道具 舉報(bào)

板凳
ID:111339 發(fā)表于 2018-11-13 11:34 | 只看該作者
(1)當(dāng)stopwatch=1的時(shí)候, LedNumbe[]這個(gè)數(shù)組是否除了LedNumbe[0]=1以外,其他LedNumbe[]是否都為0  :
答:沒錯(cuò) 當(dāng) stopwatch=1 時(shí)stopwatch/10 = 0,0%10 = 0,所以 LedNumber[1] = stopwatch/10%10 = 0 ;  
        
(2)當(dāng)stopwatch=1的時(shí)候,進(jìn)入動(dòng)態(tài)刷新,除了第一個(gè)數(shù)碼管能顯示1外 其他數(shù)碼管都會(huì)有顯示0,到最后的數(shù)碼管的效果就會(huì)變成這樣000001 000002 000003,而這個(gè)程序的效果應(yīng)該是 1    2     3    4    5    6,就是多余位是不會(huì)顯示的0的。
答:你的想法是對的
回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2018-11-14 08:27 | 只看該作者
4.2  LED數(shù)碼管動(dòng)態(tài)顯示    實(shí)例56  PNP晶體管選通3位共陽LED數(shù)碼管動(dòng)態(tài)顯示; 實(shí)例57  74LS139選通4位LED數(shù)碼管動(dòng)態(tài)顯示 實(shí)例58  74LS138選通8位LED數(shù)碼管動(dòng)態(tài)顯示 實(shí)例59  74LS595串行選通8位LED數(shù)碼管動(dòng)態(tài)顯示 實(shí)例60  8255A擴(kuò)展8位LED數(shù)碼管動(dòng)態(tài)顯示 實(shí)例63  8155擴(kuò)展8位LED數(shù)碼管動(dòng)態(tài)顯示 實(shí)例64  MAX7221控制8位LED數(shù)碼管動(dòng)態(tài)顯示    以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天操天天射天天 | 久久久久久91 | 日韩a视频 | 欧美成人一区二区三区 | 久久精品视频在线观看 | 91视频进入 | 国产免费拔擦拔擦8x高清 | 久久综合九九 | 欧美成人精品激情在线观看 | 欧美一区二区三区一在线观看 | a免费观看 | 91看片免费 | 免费h视频| 亚洲精品乱码久久久久久按摩 | 亚洲成人国产 | 欧美日本一区 | 亚洲成人精品国产 | 观看av| 亚洲欧美在线一区 | 日韩在线h| 玖玖国产精品视频 | 中文字幕精品一区二区三区精品 | 精品成人免费视频 | 成人在线中文字幕 | 成人欧美一区二区三区在线观看 | 伊人久久精品一区二区三区 | 超碰人人插 | 亚洲成人av| 国产精品久久久99 | 久久精品中文字幕 | 在线免费观看日本 | 亚洲高清视频在线观看 | 国内久久 | 精品国产免费人成在线观看 | 国产1区2区在线观看 | 国产高清视频在线 | 日日天天 | 午夜电影网址 | www.欧美| 成人欧美一区二区三区黑人孕妇 | 亚洲国产精品视频一区 |