#我的单片机入门就是蓝桥杯单片机比赛了,一直没有记录我的学习记录,一直也都是读别人的博客,突发奇想,想自己也写一下学习记录,估计会有很多错误的地方哈哈哈,还有就是我写代码的习惯都是会分一个源文件和头文件,和很多人不一样,我看很多都是把一些代码直接写进头文件,而我的习惯是在源文件里写,然后在头文件里加上要用的函数以及变量。#
定时器:
定时器主要是定时作用,可以用于定时,在按键上还可以应用于定时器扫描法,扫描数码管之类的。我听了之前的师兄说,写代码尽量少用延时,多用定时器,所以我也就有了这个习惯,基本很多问题都是用的定时器去解决,U1S1,确实很好用。
定时器的计算可以在STC_ISP软件上复制,延时,波特率那些同样也是:
代码:
timer.c:
#include <timer.h>
void Timer0Init(void) //1毫秒@12.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
EA=ET0=1; //开启定时器0中断和总中断
}
timer.h:
#ifndef _TIMER_H_
#define _TIMER_H_
#include <STC15F2K60S2.H>
void Timer0Init(void);
void Timer1Init(void);
#endif
main.c:
void main(void)
{
Timer0Init(); //需要调用
while(1)
{
}
}
void timer0_isr(void) interrupt 1 //中断号,定时器0为1
{
}