标题:
新手求解题
[打印本页]
作者:
beyondlxj1
时间:
2014-6-10 10:23
标题:
新手求解题
设时钟频率为6MHz,试编写利用T0产生的1秒定时程序
作者:
胡德立22
时间:
2014-6-17 19:11
真的蛮好的哦
作者:
kevin_2010
时间:
2014-6-17 22:55
还24小时必答,无法保证就不要 吹这个牛啊,这比ACCESS论坛回覆速度太不稳定多了~~
作者:
爱爱爱
时间:
2019-1-5 10:08
51单片机定时时间的计算
作者:
angmall
时间:
2019-1-5 11:15
/*-----------------------------------------------
名称:定时器0
内容:通过定时让LED灯闪烁
设时钟频率为6MHz,试编写利用T0产生的1秒定时程序
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit LED=P1^2; //定义LED端口
/*------------------------------------------------
定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void) //50毫秒@6.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TL0 = 0x58; //设置定时初值 50毫秒@6.000MHz
TH0 = 0x9E; //设置定时初值
TF0 = 0; //清除TF0标志
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
Init_Timer0();
while(1);
}
/*------------------------------------------------
定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
unsigned char Count=0;
TH0=0x58; //重新赋值 50毫秒@6.000MHz
TL0=0x9E;
Count++;
if(Count>20) //1秒定时
{
LED=~LED; //指示灯反相,可以看到闪烁 1秒
Count=0;
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1