keil4制作一個秒表計時器-----10969


制作一個秒表計時器,記錄0-15秒時間。要求精准,可控。

所需keil_proteus電路圖鏈接:https://pan.baidu.com/s/1QWcxt7-lTIe9_cJGrILpsQ 提取碼:tkn4

一,要求

1.能夠用按鍵控制秒表開始

2.能夠用按鍵控制秒表停止

3.能夠用按鍵控制秒表清零

4.使用定時器控制時間,要求精確。

5.使用1個數碼管和多個按鍵實現功能。

 

1.打開單只數碼管顯示proteus電路圖

 

 2.打開keil4開始寫代碼如下圖:

 

 3.具體代碼如下

#include<reg52.h>
#define LED_ALL P0
sbit KEY1 = P1^0;
sbit KEY2 = P1^1; 
unsigned int i = 0;
unsigned char N = 0;
unsigned char LED_NUM[] = {0xc0,0xf9,0xa4,0xb0,\
                           0x99,0x92,0x82,0xf8,\
                           0x80,0x90,0x88,0x83,\
                           0xc6,0xa1,0x86,0x8e};
void INT_T0(void)
{
    TMOD = 0X01; //打開定時器0 ,使用模式1定時
    TH0 = 0XFC;
    TL0    = 0X18;    //初始值
    EA = 1;          //打開總開關
    ET0 = 1;      //打開中斷T0開關
}
void main(void)
{    
    INT_T0();
    TR0 = 0;       //定時功能打開
    LED_ALL = LED_NUM[0];
    while(1)
    {
        if(KEY1 == 0)
        {
          TR0 = 1;      //定時功能關閉
        }
        if(KEY2 == 0)
        {
            i = 0;
            N = 0;
        }    
    }
}
void time0(void) interrupt 1 
{
    TH0 = 0XFC;
    TL0    = 0X18;     //初始值
    if(i < 1000)
    {
        i++;
    }
    else
    {
        LED_ALL = LED_NUM[N];
        if(N<16)
        {
            N++;
        }
        else
        {
            N = 0;
        }
        i = 0;
    }

}

4.最后只需將生成hex文件燒入單只數碼管顯示電路圖即可

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM