⑴ 单片机的高八位和低八位,能不能用个简单的程序例子说明下用法
最直接的例子,就是定时器初始化,比如:
TMOD=0x01;//定时器0设为工作方式1
TH0=(65536-50000)/256;//初值高八位赋值给TH0
TL0=(65536-50000)%256;//初值低八位赋值给TL0
⑵ avr单片机定时器TCNT0=,公式是什么
TCNT0 是8位T0寄存器, 所以赋值范围是0~255,。
晶振 / 分频 = 分频后的时钟
1 /分频后的时钟 = 分频后的每个时钟周期
定时器溢出时间 /分频后时钟每周期时间 = 定时器经过N + 1次累后溢出
256 -定时间经过N次累后溢出 =TCNT0预装值、重装值
例子:8M晶振; 64分频;定时器溢出时间定为 1ms
8000 000 / 64 = 125000(分频后的时钟)
1 / 125000 = 0.000 008 s (分频后的每个时钟周期)
0.001s / 0.000 008s = 125 (定时器经过125 + 1次后溢出)
256 - 125 = 131 (TCNT0预装值、重装值)
⑶ 51单片机TMOD定时器中,模式2的八位自动重装是什么意思最好举个例子
在模式2中定时器只有八位参与计数,当定时器低八位(如TL1)计数溢出时,单片机自动把存在TH1中的值装进TL1,继续进行定时计数,这就完成了八位自动重装。与模式1相比,不需要在中断程序中对TL1再赋值,只需在初始化时,对TL1和TH1赋相同的值就行了。一般在单片机串行通信编程时才用到模式2.
⑷ 单片机指令周期的计算
计算方法:PIC单片机的每四个时钟周期为一个内部指令周期,例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS
实例一:35us, 8MHz的晶振, 8位定时器, 分频比1/2 , 初值 E4
实例二:156.25us , 32768Hz的晶振, 8位定时器, 分频比1/32 , 初值 FC
计算方法一: 35 = =(256-初值)*分频*4/晶振 + 14/分频 =(256-初值)+14/2
计算方法二:0.015625 =(256-初值)*分频*4/晶振 = (256-初值)*32*4/32768
特别注意:分频比1-8 需要加上一个14/分频
指令周期是指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。
(4)8位单片机定时器举例扩展阅读
在MCS-51系统中,有单周期指令,双周期指令。四周期指令只有乘,除两条指令。指令的运算速度和它的机器周期直接相关,机器周期数较小则执行速度快。
在编程时要注意选用具有同样功能而机器周期数小的指令。每一条指令的执行都可以包括取指和执行两个阶段。在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这条指令。
在8051指令系统中,根据各种操作的繁简程度,其指令可由单字节,双字节和三字节组成。从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,
而三字节指令都是双周期,只有乘,除指令占四个周期,一条指令的字节数表征这条指令在存储器中所占空间大小,而周期数表征运行这条指令所花时间长短,即运行速度。