这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 如何使用定时/计数寄存器举例(C语言)

共1条 1/1 1 跳转至

如何使用定时/计数寄存器举例(C语言)

助工
2014-09-19 15:40:40     打赏
利用定时/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,
闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环
#include<reg52.h>
#include<intrins.h>
unsigned char t,a;
void main()
{
	TMOD=0x10;					//给TMOD赋值,选择定时器T1  		
	TH1=(65536-50000)/256;		//计算初值写入TH1,TL1					
	TL1=(65536-50000)%256;
	EA=1;						//中断允许总控制位开启			
	ET1=1;                      //定时、计数器T1控制位开启				
	TR1=1;						//TR1置位,启动定时、计数器T1		
	while(1)
	{
		if(t==2)
		{
			a=0xfe;
			P1=a;
			while(1)
		   	{
				a=_crol_(a,1);//循环左移一位,还有一种方式左移后按位或用FOR语句
				P1=a;
				P0=0xfd;
				t=0;
			}
		}
	}
}
void extimer1() interrupt 3		//中断方式以及对应的中断号 
{								
	TH1=(65536-50000)/256;
	TL1=(65536-50000)%256;
	t++;
}

 



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]