相信大家经过前面的学习,都应该对单片机有一些了解,那么大家有没有疑惑,c8051的内部2MHz的时钟定时不稳定,那么怎么来让其稳定呢?
这里是就利用到外部晶振,那么外部晶振怎么设置,怎么样配置,都是一些问题,下面我来和大家一起来配置一下
下面我们看一下内部振荡器
我们可以看到内部默认时钟是2MHz,那么我们可以不可设置为其他呢?下面我们看一下,寄存器OSCICN 这里
我们重点关注位3,为1选择外部振荡器作为系统时钟
下面我们看一下外部振荡器控制寄存器,我们用到的开发板是的外部晶振是24MHz
这里我们可以配置OSCXCN=0x67;我们可以知道0x67是0110 0111,我们可以知道0110代表我们用晶体振荡器方式,那么0111是怎么得来得,我们通过看外部振荡器频率控制位可以知道,我们已知晶振频率为24MHz,24MHz>6.7MHz,则只能配置0111。
下面我们看一下具体配置过程
下面我们来看一下配置代码
这时候我们就把时钟设置为外部24MHz,那么我们怎么配置成定时20ms呢,下面我们看一下代码
那么这个40000怎么来得呢?我们看一下计算过程
本次要求大家用定时器0实现定时20ms,并实现可调节时钟效果