精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 關(guān)于MCS-51單片機(jī)、你們懂得!

    關(guān)于MCS-51單片機(jī)、你們懂得!
    以下是是MCS-51單片機(jī)的數(shù)字時鐘程序,
    #include "reg51.h"
    unsigned char code disptab[] =
    {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
    0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
    unsigned char code bittab[] =
    {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
    unsigned char hour=12,min=0,sec=0;//時分秒
    unsigned int count;//定時1ms計數(shù)次數(shù)
    unsigned char num=0;//數(shù)碼管序號
    void disp() //顯示函數(shù)
    {
    num++;
    num=(num%6);
    P2=0xff; //數(shù)碼管消影
    P0=0xff;
    P2=bittab[num];
    switch(num)
    {
    case 0:P0=disptab[sec%10]; break;//秒個位
    case 1:P0=disptab[sec/10]; break;//秒十位
    case 2:P0=disptab[min%10]; break;//分個位
    case 3:P0=disptab[min/10]; break;//分十位
    case 4:P0=disptab[hour%10]; break;//時個位
    case 5:P0=disptab[hour/10]; break;//時十位
    default:;
    }
    //if(num==2||num==4)P0=P0&0x7f;
    }
    void t0() interrupt 1 //T0中斷函數(shù)
    {
    TL0=0x6c;//賦初值,重新定時1ms
    TH0=0xfc;
    count++;
    if(count==1000)
    {
    count=0;
    sec=sec+1;
    if(sec==60) {sec=0;min++;}
    if(min==60) {min=0;hour++;}
    if(hour==24) {hour=0;}
    }
    disp();
    }
    void main() //主函數(shù)
    {
    TMOD=0x01; //T0工作方式1,定時
    TH0=0xfc; //定時1ms,賦初值
    TL0=0x6c;
    ET0=1;
    EA=1;
    TR0=1;
    while(1);
    }
    通過修改源程序設(shè)計一個可預(yù)置倒計時秒表!按鍵S1調(diào)節(jié)十位,按鍵S2調(diào)各位,預(yù)置范圍為(0-59),按鍵S3負(fù)責(zé)啟動S4暫停,暫停時現(xiàn)實最后記時值,當(dāng)?shù)褂嫊r進(jìn)行時s1和s2不起作用,倒計時到0時蜂鳴器報警1秒,又回到預(yù)置值準(zhǔn)備倒計時.
    提示:通過定時和中斷記性數(shù)碼管動態(tài)掃描顯示,在主程序中判斷按鍵,通過一個位變量來表示倒計時的運行于暫停狀態(tài),在1s計時到的時候判斷標(biāo)識狀態(tài)以確定是否要對計數(shù)值減一
    其他人氣:199 ℃時間:2020-06-21 21:53:34
    優(yōu)質(zhì)解答
    #include "reg51.h"
    unsigned char code disptab[] =
    {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
    0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
    unsigned char code bittab[] =
    {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
    unsigned char hour=12,min=0,sec=0;//時分秒
    unsigned int count;//定時1ms計數(shù)次數(shù)
    unsigned char num=0;//數(shù)碼管序號
    sbit K1=P3^4;//按鍵,接在P3-4567,你隨便接,記得改定義!
    sbit K2=P3^5;
    sbit K3=P3^6;
    sbit K4=P3^7;
    sbit bee=P3^3;//蜂鳴器
    void disp() //顯示函數(shù)
    {
    num++;
    if(num==2)num=0;//你說是秒表,分就沒用了
    num=(num%6);
    P2=0xff; //數(shù)碼管消影
    P0=0xff;
    P2=bittab[num];
    switch(num)
    {
    case 0:P0=disptab[sec%10]; break;//秒個位
    case 1:P0=disptab[sec/10]; break;//秒十位
    case 2:P0=disptab[min%10]; break;//分個位
    case 3:P0=disptab[min/10]; break;//分十位
    case 4:P0=disptab[hour%10]; break;//時個位
    case 5:P0=disptab[hour/10]; break;//時十位
    default:;
    }
    //if(num==2||num==4)P0=P0&0x7f;
    }
    void t0() interrupt 1 //T0中斷函數(shù)
    {
    TL0=0x6c;//賦初值,重新定時1ms
    TH0=0xfc;
    count++;
    if(count==1000)
    {
    count=0;
    if(sec==0)sec=1;//防止在自減前就已經(jīng)是0了
    sec=sec-1;//這里改成減!
    // if(sec==60) {sec=0;min++;}
    // if(min==60) {min=0;hour++;}你要的是秒表,這兩個就不要了
    // if(hour==24) {hour=0;}
    }
    //disp();這個函數(shù)移動下位置,我要把它放在主函數(shù)里
    }
    void delayms(unsigned char t) //叫delayms其實被改過,并非延遲1ms
    {
    unsigned char k;
    while (t--)
    {
    for (k = 0; k < 11; k++)
    ;
    }
    }
    /*開關(guān)K4檢測函數(shù) /
    uchar j_K3()
    {
    if(K3==0)
    {
    delayms(40);
    if(K3==0)
    {
    while(1)
    {
    if(K3==1)
    {
    delayms(40);
    if(K3==1)break;
    }
    }
    return 1;
    }
    else return 0;
    }
    else return 0;
    }
    uchar j_K2()
    {
    if(K2==0)
    {
    delayms(40);
    if(K2==0)
    {
    while(1)
    {
    if(K2==1)
    {
    delayms(40);
    if(K2==1)break;
    }
    }
    return 1;
    }
    else return 0;
    }
    else return 0;
    }
    uchar j_K1()
    {
    if(K1==0)
    {
    delayms(40);
    if(K1==0)
    {
    while(1)
    {
    if(K1==1)
    {
    delayms(40);
    if(K1==1)break;
    }
    }
    return 1;
    }
    else return 0;
    }
    else return 0;
    }
    void beep()
    {
    unsiged char i,j;
    for(i=0;i
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版