原创 51 定时器实验 实验(九)

2008-5-12 10:51 4116 10 10 分类: MCU/ 嵌入式

点击下载


这个实验利用51内部定时器0,详细介绍见附件


平台:FDR51开发板


#include<AT89X52.h>
#include"key.h"                              //包含按键扫描函数的头文件
#include"led.h"         //包含数码显示的头文件


/*************************************************************************
                    IO口宏定义区
**************************************************************************/
sbit beep="P3"^7;                                        
/***************************************************************
                      全局变量声明区
****************************************************************/


unsigned char Count="0";
 


/*********************************************************************
                      定时器0中断初始化函数
**********************************************************************/
  void Time0_Init()
{
 TMOD = 0x01;
 IE   = 0x82;
 TH0  = 60;
 TL0  =175;  //12MZ晶振,50ms


}
/*************************************************************************
                      定时器0中断处理函数
**************************************************************************/
void Time0_Int() interrupt 1
{
 TH0  = 60;
 TL0  =175;  //12MZ晶振,10ms
 Count++;   //长度加1
}
/****************************************************
               程序主函数
*****************************************************/
void main()
{
   unsigned char key="0";
   unsigned  int t="0";
   Time0_Init();             //初始化定时器0
   while(1)
   {
    key="getch"();
    if(key!=255&&key!=13)    //按下按键时
 TR0=!TR0;         //按下13清零
 if(key==13)
 t=0;
 if(Count==20)
     {
   t++;
   Count="0";
   if(t==10000)
   t="0";
  }
    led_display(t);
  
   }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条