欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3.12单片机实验 定时计数器

程序员文章站 2022-06-09 09:36:03
...

3.12单片机实验 定时计数器

 

include<reg51.h>                  //  将8051单片机头文件包含到文件中
main(void )
{
    unsigned char counter;   //设置无符号字符型变量,存储定时器中断次数。
   	TMOD=0x01; //设T0为定时模式,由TR0控制启动和停止,且工作于方式1
	TH0=(65536-46083)/256;         //初始化T0的高8位
	TL0=(65536-46083)%256;        //初始化T0的低8位
	TF0=0;                       //初始化定时器溢出标志
	P0=0xff;                      //关闭LED
    counter=0;                    //从0开始计数  
    TR0=1;                       //启动定时器0
   while(1)
    {
	   while(TF0==1)              //如果定时器溢出
	  {
          counter++;              //计时次数加1
          if(counter==20)          //计时时间达到1s
           {
             P0=~P0;                // P0所有位取反,使LED闪烁              
             counter=0;              //重新从0开始计数
           }
            TH0=(65536-46083)/256;  //重新初始化T0的高8位
            TL0=(65536-46083)%256; //重新初始化T0的低8位
            TF0=0;                 //重新初始化定时器溢出标志
       }