2018-02-13@單片機(jī)

定時(shí)器知識(shí)點(diǎn)

由于注釋不知道怎么了,復(fù)制代碼有問題,所以還是截圖了,代碼加解釋,加油
郭天祥10天學(xué)會(huì)單片機(jī)系列

#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula =P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x5e,
0x76,0x79,0x38,0x3f,0
};     
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
void init();
void display(uchar,uchar,uchar,uchar,uchar,uchar);
void delay(uint z)
{
    uint t1,y;
    for (t1=z;t1>0;t1--)
        for(y=110;y>0;y--);
}
void main()
{
    init();
    while(1)
    {
        if(flag!=1)
            display(7,6,5,bai,shi,ge);
        else
            display(16,17,18,18,19,20);
    }
}
void init()
{
    shu=432;
    temp=0xfe;
    P1=temp;
    TMOD=0x11;/*定時(shí)器0工作,工作方式為3僅有T0可以

                定時(shí)器/計(jì)數(shù)器工作方式寄存器
                TMOD特殊功能寄存器,不可以位尋址,89H復(fù)位即清零
                定時(shí)器1            定時(shí)器0
                GATA C/T非 M1 M0   同定時(shí)器1
                GATA
                原理圖......即可
                GATA=0;僅有TCON寄存器TRX來控制
                GATA=1;有TCON TRX與外部中斷INT0 INT1
                C/T非模式選擇位
                M1M0方式選擇位
                M1  M0
                0   0   方式0,13位定時(shí)器/計(jì)數(shù)器
                0   1       1,16
                1   1       2,8位初值自動(dòng)重裝,8位定時(shí)器/計(jì)數(shù)器
                1   1       3,僅T0分成8位計(jì)數(shù)器 T1停止計(jì)數(shù)

                定時(shí)器控制TCON寄存器
                特殊功能寄存器,88H-8FH可位尋址                  
                復(fù)位即清零
                TF1 TR1 TF0 TR0 用于定時(shí)器和計(jì)數(shù)器,
                IE1 IT1 IE0 IT0用于外部中斷
                TF1:溢出標(biāo)志;利用定時(shí)器中斷不需要操作;
                    用查詢需要軟件清零
                TR1:GATE=1,INT1=1 TR1=1開啟定時(shí)器1
                IE1:外部中斷請(qǐng)求標(biāo)志
                    IT1=0;電平觸發(fā)方式INT1為低電平時(shí)置1否則IE1清零
                    IT1=0;跳變沿沿觸發(fā)方式從高到底負(fù)跳變有效
                
                定時(shí)器初值問題
                時(shí)鐘周期位12MHZ要計(jì)滿2^16-1個(gè)數(shù),溢出一次需要65536微妙
                約等于65.5ms,50ms,就是累加5000次就溢出,則1s即是20個(gè)
                50ms,65536-50000   /256 TH0 %TH0*/
void timer0()interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    T0++;
    if(flag!=1)
    {
        if(t0==10)
        {
            t0=1;
            temp=_crol_(temp,1);
            P1=temp;
        }
    }
    else
    {
        if(t0%4==0)
            P1=~P1;
        if(t0==60)
        {
            TR0=0;
            p1=0XFF;
            flag1=1;
        }
    }
}

void timer1()interrupt 3
{
    TH1=(65536-50000)/256;
    TL0=(65536-50000)%256;
    t1++;
    if(t1==2)
    {
        t1=0;
        shu--;
        bai=shu%100;
        shi=shu%100/10;
        ge=shu%10;
        if(shu==398)
        {
            TR0=0;
            TH0=(65536-50000);
            TL0=(65536-50000);
            TR0=1;
            flag=1;
            t0=0;
            P1=0xff;
            TR1=0;
        }
    }
}


}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,007評(píng)論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • 原諒,一是寬恕別人,二是解開自己心結(jié)。如果原諒了別人,自己卻糾結(jié)萬分,就是幫他人放下了負(fù)累,自己卻舊傷添新愁。
    薄荷糖微清涼閱讀 171評(píng)論 0 0
  • 爺爺叫自立,人如其名,在地里蓋的一個(gè)小房子,種果樹,種菜。一口鍋,一口井(井水甘甜),一桿煙斗,一盞煤油燈,一席炕...
    NieFeng1024閱讀 348評(píng)論 0 0
  • 2016年的夏天,我在貴陽花溪大學(xué)城。 在一個(gè)陽光溫暖的午后。我在貴陽中醫(yī)學(xué)院的門口坐了下來。那一天我沒有去練習(xí)。...
    我身在忘川閱讀 211評(píng)論 0 0

友情鏈接更多精彩內(nèi)容