欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 52單片機數碼管從左往右間隔一秒循環顯示“-”,哪里不對,求大神 [打印本頁]

作者: 霍禮林    時間: 2017-11-6 15:51
標題: 52單片機數碼管從左往右間隔一秒循環顯示“-”,哪里不對,求大神
#include "reg52.h"               
#include<intrins.h>                //因為要用到左右移函數,所以加入這個頭文件
#define uchar unsigned char
typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;

u8 duan[8]={0x40};
u8 wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}
u8 dispbitcnt;
u8 i;
void Timer()
{
        TMOD=0x01;//采用定時器0,16位
        TH0=0x3c;                //初始值 10ms
        TL0=0xb0;
        EA=1;                //總中斷打開
        ET0=1;                //定時器中斷打開
        TR0=1;                //定時器開關打開
}

void main()
{
        Timer();
        while (1);
        {
                if(i==100)                                       
                {
                        i=0;
                        P0=0x40;
                        P2=wei[dispbitcnt];
                        P2=P2>>1;
                        dispbitcnt++;
                        if(P2==0x7f)
                        dispbitcnt=0;
                }
        }
}
void Timer0(void) interrupt 1
{
        static u16 i;
        TH0=0xd8;       
        TL0=0xf0;               
        i++;
}


作者: Felixin    時間: 2017-11-6 16:23
為啥會有一個全局變量i
作者: Felixin    時間: 2017-11-6 16:24
為啥會有一個全局變量i和一個局部變量i呢,你主函數用的應該是全局變量那個吧
作者: 1014477535    時間: 2017-11-6 16:49
會不會是因為定時太短了?
作者: 霍禮林    時間: 2017-11-6 16:55
Felixin 發表于 2017-11-6 16:24
為啥會有一個全局變量i和一個局部變量i呢,你主函數用的應該是全局變量那個吧

用的全局的

作者: liut_text    時間: 2017-11-6 17:26
while(1);這里有分號,運行到這里就一直循環
作者: zl2168    時間: 2017-11-6 21:05
先學理論,打基礎,否則,問題多多,事倍功半。
作者: 白羊一只老母豬    時間: 2017-11-6 21:13

先學理論,打基礎,否則,問題多多,事倍功半。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1