mdsk.net
当前位置:首页 >> tmoD的值怎么确定 >>

tmoD的值怎么确定

TOMD的8位含义如下:BIT 7 6 5 4 3 2 1 0 GATE C/T M1 M0 GATE C/T M1 M0 ---------定时/计数器1------- ---------定时/计数器0------ GATE:定时/计数器选通控制,=1时用于与INT0或INT1配合采集INT0或1的正脉冲宽度.大多数的应用此位都为0.

以51系列单片机的TMOD为例(如下图所未),TMOD的高4位, 用于控制定时/计数器T1TMOD的低4位, 用于控制定时/计数器T0

TMOD=0x01,表示T1是方式0,,T0是方式1;TMOD=0x10表示T1是方式1,T0是方式0.即高半字节是T1的模式,低半字节是T0的模式,这与编程语言无关,只和芯片硬件有关.按你的要求,TMOD应该是0x10.

根据给出的2个16为进制数确定定时计数器的工作模式和设定的初值

至于那些书上都有的理论知识我就不说了,就简单的说一下吧,楼主可以想简单点 定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD

估计你是没怎么看书吧?TMOD=0x10是0001 0000说明0001就是T1高四位,高四位的第一位是门控位,第二位是,定时或计数 的选择位 ,0就是定时,1就是计数,第三,第四位,也就SM1和SM0,而0000是低四位,也就是方式0,跟高四位的每一位定义是一样的,还有TMOD=0000 0110=0x06是工作在 计数器0,方式二

这个寄存器它有八位,每一位都是默认是0的.就是除非你向这个寄存器中写入1,否则它一直都会是0的.对于51来讲,这个寄存器的高八位是控制C/T1的,第八位是用来控制C/T0的,假如你要用定时器0来计数,让它工作在模式1,那么就这样赋值:"TMOD=0x05",希望能够帮到你.

th1=d8h,tl1=f0h,tmod=10h

我从郭天祥的《新概念51单片机C语言教程》书中摘抄一段使用定时工作方式0的程序给你:void inition(){ TMOD=0x00; TH0=(8192-4607)/32; TL0=(8192-4607)%32; EA=1; ET0=1; TR0=1;}晶振11.0592MHz,定时5ms.因为工作方式0的TL0只有低5位被使用,所以在装TL0初值的时候对2^5=32取余,这时不管初值如何变化,TL0低5为总是在范围内,而TH0是取32的整数,在8192的范围内也不会溢出,这就能很好解决你的问题了.不懂的地方随时回复我.希望我的回答能帮助到你.

时间太短 再给我5分钟 就给你org 4000hmov tmod,#10hmov th1,#cbhmov tl1,#0ebhsetb tr1jnb tf1,$clr tf1cpl p1.0orl tl1,#0ebhmov th1,#cbhsjmp $

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com