定时器练习题2

一、功能描述:1、 利用定时/计数器T0从P1.0输出周期为1s的方波,
                                   2、让发光二极管以1HZ闪烁,设晶振频率为12MHz。




二、source program:


#include<reg52.h>


int n=0;
sbit D0=P1^0;
int main()
{
	EA=1; //开总中断;
	ET0=1;//开定时/计数器0;
	TMOD=0x01;//设置T0为定时器且工作方式为方式1;
	TR0=1;//启动定时器0;
	TH0=(65536-50000)/256; //为定时器0高8位赋初值;
	TL0=(65536-50000)%256; //为定时器0低8位赋初值;
	while(1)
    	{	
	   	if(n==20)      //判断n是否为20;若n为20,则进入主程序是LED闪烁一次;
         	{	
		   n=0;        //当n为20时,将n清零;  
	       	 
		   D0=~D0;    //给使LED闪烁;
		   	 
	     	}
     	}
	
	return 0;
}


void Timer0()interrupt 1
{
	TH0=(65536-50000)/256;  //每产生一次中断重装一次初值;
	TL0=(65536-50000)%256;
	n++;					




}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值