晶振延时(0592mhz晶振怎么延时1ms)
本文目录
11***0592mhz晶振怎么延时1ms
11.0592mhz与1ms单位不一致,不能比较
设计一个延时的程序
流水灯最简易的模型应该有以下几个部分:
1.电源
2.soc(51单片机之类)以及基础的周围电路
3.以“电阻+单个led”为单位的单个灯模型
而流水灯这个实验的要点是学会如何使用
延时功能
。1.学会点灯
这个只需要根据电路图,控制soc的管脚的正确开合(逻辑0与逻辑1)即可。
2.添加延时。
当令到目标led全部点亮之后,就可以在各个led逻辑之间添加延时函数来实现依次点亮。
一般来说,可以靠soc的晶振电路来算出单个逻辑运算的时间,然后通过简单的不断相加来达到你想要的延时。
所以可以通过添加循环运算加法来实现延迟。
例如n=0进入逻辑n+1n<100跳回去n+1相当于运算100个逻辑时间。
来到这一步,事实上已经用了很原始的方式来实现了你的目标功能。
但是如果想更深一步,就可以使图将led灯的逻辑电路归纳,通过额外添加循环之类的方法,来减少这种暴力实现功能的手段。
例如led逻辑门0-9
首先
n=0
进入循环1
亮灯第n号
进入延时循环
走出循环
关闭第n号
n=n+1
n<10
回到循环1
否则跳出循环
程序完结
基本上就是这样子,至于更加高级的中断之类的,那是另外一回事了。
硬件延时电路计算方法
以C51为例,12MHZ晶振的话,1个时钟周期为1/12微秒,1个机器周期=12个时钟周期,定时器每个机器周期可延时12*1/12微秒=1微秒。
如果晶振为8MHZ的话,定时器每个机器周期可延时12*1/8微秒=1.5微秒