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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

用軟件延時實現00-59秒單片機計時器

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

1.  實驗任務

  如下圖所示,在AT89S51單片機的P0和P2端口分別接有兩個共陰數碼管,P0口驅動顯示秒時間的十位,而P2口驅動顯示秒時間的個位。

2.  電路原理圖

圖4.11.1

3.  系統板上硬件連線

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

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

4.  程序設計內容

(1.       在設計過程中我們用一個存儲單元作為秒計數單元,當一秒鐘到來時,就讓秒計數單元加1,當秒計數達到60時,就自動返回到0,從新秒計數。

(2.       對于秒計數單元中的數據要把它十位數和個數分開,方法仍采用對10整除和對10求余。

(3.       在數碼上顯示,仍通過查表的方式完成。

(4.       一秒時間的產生在這里我們采用軟件精確延時的方法來完成,經過精確計算得到1秒時間為1.002秒。

DELY1S:        MOV R5,#100

D2:                MOV R6,#20

D1:                MOV R7,#248

                     DJNZ R7,$

                     DJNZ R6,D1

                     DJNZ R5,D2

                     RET

5.  程序框圖

 

 

 

 

 

 

 

 

 

 

 

 

圖4.11.2

6.  匯編源程序

Second                 EQU 30H

                            ORG 0

START:               MOV Second,#00H

NEXT:                MOV A,Second

                           MOV B,#10

                            DIV AB

                            MOV DPTR,#TABLE

                           MOVC A,@A+DPTR

                            MOV P0,A

                            MOV A,B

                           MOVC A,@A+DPTR

                            MOV P2,A

                            LCALL DELY1S

                           INC Second

                            MOV A,Second

                            CJNE A,#60,NEXT

                           LJMP START

DELY1S:             MOV R5,#100

D2:                      MOV R6,#20

D1:                     MOV R7,#248

                            DJNZ R7,$

                            DJNZ R6,D1

                           DJNZ R5,D2

                            RET

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

                            END

7.  C語言源程序

#include <AT89X51.H>

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

                            0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char Second;

void delay1s(void)

{

  unsigned char i,j,k;

  for(k=100;k>0;k--)

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

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

}

void main(void)

{

  Second=0;

  P0=table[Second/10];

  P2=table[Second];

  while(1)

    {

      delay1s();

      Second++;

      if(Second==60)

        {

          Second=0;

        }

      P0=table[Second/10];

      P2=table[Second];

    }

}

用軟件延時實現00-59秒單片機計時器程序全部完畢,轉載請保留版權http://www.zg4o1577.cn

關閉窗口
主站蜘蛛池模板: 日韩欧美一区二区三区 | 中文字幕视频一区 | 国产视频精品在线 | 欧美精品1区2区 | 四虎影院在线播放 | 免费的黄色片子 | 国产精品视频一区二区三区 | 亚洲在线一区 | 欧美日韩91| 欧美日韩精品免费 | 亚洲精品在线播放 | 91免费在线 | 欧美日韩一区二区三区四区 | 久久久美女 | 欧美大片一区二区 | 天天操夜夜操 | 91欧美| 中文字幕精品一区二区三区精品 | 亚洲美女天堂网 | 日韩精品一区二区三区中文在线 | 日日噜噜噜夜夜爽爽狠狠视频97 | 高清视频一区二区三区 | 日本涩涩网 | 精品国产1区2区3区 在线国产视频 | 影音先锋成人资源 | 国产成人精品区一区二区不卡 | 97国产精品视频人人做人人爱 | 久久在线精品 | 婷婷二区 | 国产精品久久久久久高潮 | 九一国产精品 | 我要看免费一级毛片 | 成人免费共享视频 | 一区二区激情 | 亚洲视频在线一区 | 日韩欧美国产精品一区二区 | 黄色国产 | 亚洲国产成人精品女人久久久 | 在线成人av| 久久亚洲经典 | 精品三区|