外接晶振为12MHz时51简单的单片机LED闪爍程序相关周期的具体值为:
51简单的单片机LED闪烁程序定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启動和中断申请
1、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0高四位用于T1。其格式如下:
GATE是门控位, GATE=0時用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使TCON中的TR0或TR1为1就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作即此时定时器的启动条件,加上了INT0/1引脚为高电平这一条件
C/T :定时/计数模式選择位。C/T =0为定时模式;C/T =1为计数模式
M1M0:工作方式设置位。定时/计数器有四种工作方式
TCON的高4位用于控
制定时/计数器的启动和中断申请。其格式如下:
TF1(TCON.7):T1溢出中断请求标志位T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0T1工作时,CPU可随时查询TF1的状态所以,TF1可鼡作查询测试的标志TF1也可以用软件置1或清0,同硬件置1或清0的效果一样
TR1(TCON.6):T1运行控制位。TR1置1时T1开始工作;TR1置0时,T1停止工作TR1由软件置1或清0。所以用软件可控制定时/计数器的启动与停止。
TF0(TCON.5):T0溢出中断请求标志位其功能与TF1类同。
TR0(TCON.4):T0运行控制位其功能与TR1类同。
定时/计数器的工作方式
方式1的计数位数是16位由TL0作为低8位,TH0
作为高8位组成了16位加1计数器 。计数个数与计数初值的关系为:X=2(16次方)-N
為自动重装初值的8位计数方式 计数个数与计数初值的关系为:X=28-N
工作方式2特别适合于用作较精确的脉冲信号发生器。所以串口通信处用此方式
机器周期也就是CPU完成一个基本操作所需要的时间。
机器周期=1/简单的单片机LED闪烁程序的时钟频率
51简单的单片机LED闪烁程序内部时钟頻率是外部时钟的12分频。也就是说当外部晶振的频率输入到简单的单片机LED闪烁程序里面的时候要进行12分频比如说你用的是12MHZ的晶振,那么簡单的单片机LED闪烁程序内部的时钟频率就是12/12MHZ当你使用12MHZ的外部晶振的时候。机器周期=1/1M=1us
而我们定时1ms的初值是多少呢,1ms/1us=1000也就是要计数1000个数,初值=+1(因为实际上计数器计数到66636才溢出)=64536=FC18H
ES(IE.4)串行口中断允许位;
主程序中需要有以下代码:
EA=1;//打开总中断开关
IT0=0/1;//设置外部中断的触发方式