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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

單片機秒表設(shè)計

作者:89s51   來源:不詳   點擊數(shù):  更新時間:2007年05月16日   【字體:

1.             實驗任務(wù)

(1.       開始時,顯示“00”,第1次按下SP1后單片機秒表就開始計時。

(2.       第2次按SP1后,計時停止。

(3.       第3次按SP1后,計時歸零。

2.           電路原理圖

圖4.17.1

3.           系統(tǒng)板上硬件連線

(1.       把“單片機系統(tǒng)”區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個a-h(huán)端口上;要求:P0.0/AD0對應(yīng)著a,P0.1/AD1對應(yīng)著b,……,P0.7/AD7對應(yīng)著h。

(2.       把“單片機系統(tǒng)”區(qū)域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個a-h(huán)端口上;要求:P2.0/A8對應(yīng)著a,P2.1/A9對應(yīng)著b,……,P2.7/A15對應(yīng)著h。

(3.       把“單片機系統(tǒng)“區(qū)域中的P3.5/T1用導(dǎo)線連接到”獨立式鍵盤“區(qū)域中的SP1端口上;

4.           程序框

T0中斷服務(wù)程序框

 

 

 

 

 

 

 

 

 

 

 

 

圖4.17.2

5.           匯編源程序

TCNTA            EQU 30H

TCNTB           EQU 31H

SEC       EQU 32H

KEYCNT          EQU 33H

SP1       BIT P3.5

        ORG 00H

        LJMP START

           ORG 0BH

        LJMP INT_T0

START:    MOV KEYCNT,#00H

        MOV SEC,#00H

        MOV A,SEC

        MOV B,#10

        DIV AB

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P0,A

        MOV A,B

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P2,A

        MOV TMOD,#02H

        SETB ET0

        SETB EA

WT:       JB SP1,WT

        LCALL DELY10MS

        JB SP1,WT

        INC KEYCNT

        MOV A,KEYCNT

        CJNE A,#01H,KN1

        SETB TR0

        MOV TH0,#06H

        MOV TL0,#06H

        MOV TCNTA,#00H

        MOV TCNTB,#00H

        LJMP DKN

KN1:      CJNE A,#02H,KN2

        CLR TR0

        LJMP DKN

KN2:      CJNE A,#03H,DKN

        MOV SEC,#00H

        MOV A,SEC

        MOV B,#10

           DIV AB

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P0,A

        MOV A,B

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P2,A

        MOV KEYCNT,#00H

DKN:    JNB SP1,$

        LJMP WT

DELY10MS:

           MOV R6,#20

D1:        MOV R7,#248

        DJNZ R7,$

        DJNZ R6,D1

        RET

INT_T0:

        INC TCNTA

        MOV A,TCNTA

        CJNE A,#100,NEXT

        MOV TCNTA,#00H

        INC TCNTB

        MOV A,TCNTB

        CJNE A,#4,NEXT

        MOV TCNTB,#00H

        INC SEC

        MOV A,SEC

        CJNE A,#100,DONE

        MOV SEC,#00H

DONE:             MOV A,SEC

        MOV B,#10

        DIV AB

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P0,A

        MOV A,B

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P2,A

NEXT:   RETI

TABLE:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

        END

6.           C語言源程序

#include <AT89X51.H>

 

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

                               0x66,0x6d,0x7d,0x07,

                               0x7f,0x6f,0x77,0x7c,

                               0x39,0x5e,0x79,0x71,0x00};

unsigned char second;

unsigned char keycnt;

unsigned int tcnt;

 

void main(void)

{

  unsigned char i,j;

 

  TMOD=0x02;

  ET0=1;

  EA=1;

  second=0;

  P0=dispcode[second/10];

  P2=dispcode[second];

  while(1)

    {

      if(P3_5==0)

        {

          for(i=20;i>0;i--)

          for(j=248;j>0;j--);

          if(P3_5==0)

            {

              keycnt++;

              switch(keycnt)

                {

                  case 1:

                    TH0=0x06;

                    TL0=0x06;

                    TR0=1;

                    break;

                  case 2:

                    TR0=0;

                    break;

                  case 3:

                    keycnt=0;

                    second=0;

                    P0=dispcode[second/10];

                    P2=dispcode[second];

                    break;

                }

              while(P3_5==0);

            }

        }

    }

}

 

void t0(void) interrupt 1 using 0

{

  tcnt++;

  if(tcnt==400)

    {

      tcnt=0;

      second++;

      if(second==100)

        {

          second=0;

        }

      P0=dispcode[second/10];

      P2=dispcode[second];

    }

}

單片機秒表設(shè)計完畢,請尊重作者版權(quán)http://m.zg4o1577.cn

關(guān)閉窗口
主站蜘蛛池模板: 五月婷婷影院 | 日韩久久久久久久 | 中文字幕婷婷 | www.四虎.com | 草草在线观看 | 亚洲一区二区国产精品 | 亚洲成人一区 | 国产一区高清 | 国产中文在线观看 | 一区二区三区在线观看免费 | 国产精品一二三区 | 四虎在线免费观看 | www一级片| 午夜激情网站 | 色综合久| 一级特黄aaaaaa大片 | 国产三级精品视频 | 懂色av懂色av粉嫩av | 俺去俺来也在线www色官网 | www.国产一区 | 蜜桃综合网 | 亚洲综合在线播放 | 色婷婷视频在线观看 | 色一情一乱一乱一区91av | av免费在线观看网站 | av免费看网站 | 一级毛片免费看 | 国产www视频 | 欧美不卡 | av福利在线 | 看黄网站在线观看 | 九九在线精品 | 狠狠干天天 | 天天看天天干 | 日韩午夜在线观看 | 天堂成人网 | 在线成人| 97超碰在线播放 | 久久手机视频 | 制服丝袜av在线 | 国产精品福利一区 |