最近由于赶不上提高班的进展,教师给的教程总是时断时续的,所以我计划跟11月1号经过考试的网友们一同学习,呵呵,这也是我一经验来着,在三维里学习要坚持一步一个脚印,坚持必有奇观,但也要跟得上我们,今后再忙也要努力实现计划了,不能再像这次相同,由于所谓的考试落下了好几堂课,不过也没有联系,能够汲取点经验总是好的。我能够先给自己点时刻多学些其它的基础知识。
今日开端学单片机的计数器了,呵呵,可能是一向由于用C言语编程序我守时老是定禁绝的原因,当得知学会守时/计数器后能够让单片机C言语守时精确后,我感觉学它真的很有动力,尽管编一个简略的程序也花了我好长时刻,但编出来的感觉却是那么的直爽,我觉得要学会守时/计数器,关键是要学会编程操控 TCOM,TMOD,及TH和TL吧。主要是TH和TL的精确运算。还有便是完时今后怎么样让其跟循环句子合作运用。
今日所编的程序是使用单片机守时器操控LED灯以1S的速度闪耀,我的晶振是12MHZ的,首先是让计时器0.02S进行一次溢出,使TF1=1,其次是使用I++循环50次,加起来为1S。程序如下:
#include
sbit LED = P1^2;
void main()
{unsigned char i;
TMOD |= 0x10;
TMOD &= 0xdf;
TH1 = 0xb1;
TL1 = 0xdf;
TCON |= 0x40;
while(1)
{
if(TF1==1)
{
TF1 = 0;
TH1 = 0xb1;
TL1 = 0xdf;
i++;
if(i==50)
{
i=0;
LED=~LED;
}
}
}
}