怎么用51单片机定时1个小时 好像是循环,具体汇编程序是怎样的

作者&投稿:校冯 (若有异议请与网页底部的电邮联系)
~ 简单啊。
大致说来就是
你先开启个定时器,根据你选用的
晶振
,计算出你要用定时器定时的基准时间,
就假设是10毫秒吧。
然后给定时器的THx,TLx写入初值,开启中断,进行定时。
然后就等待中断。
在你响应中断的程序中,再次给单片机送入初值,
由于是10毫秒中断一次,因此我们设置几个“软件计数器”
比如每此中断,软甲计数器+1,
例如“软件计数器1”在中断程序中计数100次,则是10ms*100=1s
而“软件计数器2”在1的基础上继续计数100次,则是1S*100=100S
而“软件计数器3”在2的基础上继续计数36次,则是100S*36=3600S=1小时。


怎么用51单片机做定时器
假定使用51系列单片机 机器周期T =12 \/ Fosc =12\/(24x10^6Hz) = 0.5μs 计数值C =10ms \/ 0.5μs =20000d 定时器T1工作于方式1,是16位计数器,模M=2^16=65536d 计数初装值a =M -C =65536d -20000d =45536d =B1E0h 初始化程序如下:MOV TMOD, #01h ;;方式1,作定时器...

51单片机如何定时?
51单片机的定时器T0要工作在方式1,才能定时10ms。而TMOD=0x02,是方式2,定时最长只有256us,是不行的,应该是TMOD=0x01,才对。采用中断方式,对10ms定时中断计数50次为500ms,交替从P1.1输出高电平和低电平,即输出周期 为1S的方波信号了。如下的仿真图,示波器测试为1S的方法信号。

怎样用51单片机实现定时计数功能?
如果你选的单片机的晶振一定,比如12MHZ来说吧,机器周期是1us,就是说每1us产生一次计数,就拿50ms来说,这是你想要的计时,意思是,对机器周期进行50000计数就可以得到我想要的,可T0是一个可以对机器周期能进行65536次计数,也就是说我想要的50MS不能让T0溢出,怎么办,那么先给这个定时器里面放...

51单片机如何配置定时器2?
要配置51单片机的定时器2,首先需要了解其定时器的基本结构和功能。51单片机通常具有两个定时器\/计数器,即定时器0和定时器1,而没有明确标记为“定时器2”的组件。然而,有些51单片机的变种或扩展版本可能包含额外的定时器或计数器,这些可能被称为定时器2。因此,下面的说明将基于一个假设...

怎么利用51单片机计时器计时500m in?
12MHZ的51单片机,定时器最大只能定时65.535ms,所以要定时500ms的时间,需要产生10次50ms的定时。步骤如下:1、每隔50ms定时器中断溢出,计数+1。2、当计数达到10次时,便产生了500ms的定时啦,然后,你自己根据你的设计,需要让单片机做什么就自己写些什么(比如让某个io口取反)3、计数达到10次...

51单片机的定时器用作定时方式是
根据查询相关公开信息显示,51单片机的定时器用作定时方式是由内部时钟频率定时,一个时钟周期加1。51单片机是对兼容英特尔8051指令系统的单片机的统称,51单片机广泛应用于家用电器、汽车、工业测控、通信设备中,因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。

51单片机的定时器的时间怎么算??
51单片机1个机器周期=12个时钟周期,频率为12MHZ,则一个机器周期为1US,具体到定时器程序就是,假如你想定1MS,那么单片机每次加一个一,就要过1US,那么1MS就要加1000次,所以用65535-1000=64535;再把64535换成16进制为FC17,把FC付给TH0,17给TLO,即可定时1MS,因为65535他就溢出进入中断。

51系列单片机定时\/计数器初始化的四个步骤?
1、设置寄存器TMOD 2、计算初始值 3、开放中断 4、启动定时器

51单片机中用定时器定时1毫秒,怎么编写
假设晶振为12MHz,不用中断时程序语句如下:TMOD=0x01;\/\/定时器0工作方式1 TH0=(65536-1000)\/256;\/\/装入初值 TL0=(65536-1000)%256;TF0=0;\/\/清溢出标志;TR0=1;\/\/启动定时器0 while(TF0==0);\/\/等待定时时间到 TR0=0;TF0=0;...

51单片机怎样实现50ms的定时?
51单片机定时器T1的工作方式1是16位定时器模式,其计数初值为TH1和TL1两个寄存器组成。在该模式下,每个计数周期为12个时钟周期,因此需要设置计数初值为65536-12000\/OSC,其中OSC为晶振频率。如果要实现一次50ms的定时,可以按照以下步骤进行计算:1. 计算每个计数周期的时间:12\/OSC 秒2. 计算需要多少...

平山区15379989067: 怎么用51单片机定时1个小时 好像是循环,具体汇编程序是怎样的?? -
羿曹依康: 简单啊.大致说来就是 你先开启个定时器,根据你选用的晶振,计算出你要用定时器定时的基准时间,就假设是10毫秒吧.然后给定时器的THx,TLx写入初值,开启中断,进行定时.然后就等待中断.在你响应中断的程序中,再次给单片机送入初值,由于是10毫秒中断一次,因此我们设置几个“软件计数器” 比如每此中断,软甲计数器+1,例如“软件计数器1”在中断程序中计数100次,则是10ms*100=1s 而“软件计数器2”在1的基础上继续计数100次,则是1S*100=100S 而“软件计数器3”在2的基础上继续计数36次,则是100S*36=3600S=1小时.

平山区15379989067: 51单片机怎样用按键设定定时时间 -
羿曹依康: 这个根据键类型不同设置方式也不同.1、独立按键,只能通过按键后加或减来实现2、矩阵键盘,比如4*4,那么可以通过键值,来输入设定定时时间.

平山区15379989067: 怎样使用51单片机的定时器? -
羿曹依康: 1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有

平山区15379989067: 51单片机定时器设置: -
羿曹依康: TMOD = (TMOD & 0XF0) | 0X01; //定时器0工作在模式1,16Bit定时器模式 上述表达式中0XF0的作用是什么? 1 (TMOD & 0XF0) 其中&为逻辑与指令,按位与操作,定时器的模式寄存器TMOD与上0XF0的作用是高4位不变,低4位被清零.(1与上...

平山区15379989067: 怎么用51单片定时超过一个小时的时间呢 -
羿曹依康: 定时器的长定时如何实现,可以通过短定时的次数累加完成的,如定时1s,程序完不成,可以设置定时50ms,累加20次就可以实现1s的精确定时,如下:Unsigned char j=0;Void Timer0...

平山区15379989067: 如何实现51单片机触发定时功能 -
羿曹依康: 方法有很多种: 1.用外部中断,当外部中断检测到脉冲信号时打开定时器中断并配置初值,计时,定时器中断触发后,关闭计时.这种方法占用了两个中断源,浪费. 2.仅用计时器中断,首先配置一个脉冲信号扫描时间间隔,开启中断、计时,每当计时器中断触发时,抽样脉冲信号,抽样值非倒计时信号则重新配置扫描时间间隔,若抽样值是倒计时信号,配置倒计时时间间隔,当倒计时完毕后,触发中断,重新配置为扫描时间间隔.

平山区15379989067: 单片机怎么定时一小时,谢谢 -
羿曹依康: 很容易做到啊,如用单片机自身的定时器定时50毫秒,记20次得1秒,再记3600次,就得一个小时了.不过用单片机自身的定时器的话,可能会有所偏差,而且偏差累积会越来越大.所以可以用专门的实时时钟来做,如DS1302,读里面的时分秒数据就可以了,一般偏差不会很大.在开始计时的时候,保存当前的时间,时间相差为1个小时的时候,报警就可以了.

平山区15379989067: 如何利用51单片机实现一个计时器? -
羿曹依康: 方法一:用定时器中断计时模式循环计时.方法二:用CPU消耗时钟周期指令计时(浪费资源).思路:用定时器中断计时,溢出时形成中断信号,标识为一个基本周期t,所定时间T/t=n为周期循环数,到时形成定时触发信号.

平山区15379989067: 用51单片机设置定时器 -
羿曹依康: ;定时10S,就一个单片机最小系统了,线路图不用画了吧.ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 MAIN1:AJMP $ T0INT: ;50ms定时中断一次 MOV TH0,#3CH MOV TL0,#0B0H INC R0 CJNE R0,#200,RTI CPL P1.0 ;假设P1.0装一LED,那么每10s亮或灭一次 MOV R0,#0 RTI:RETIEND

平山区15379989067: 怎样用51单片机实现小时级延时 -
羿曹依康: 51单片机的机器周期是晶振的12分频的倒数.所以你24Mhz的机器周期是T=12/12M=0.5us.假设你要定时的数是M,则初值等于M/机器周期(表示执行多少个机器周期).若初值小于65536TH0=(65536-初值)%256TL0=(65536-初值)/256...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网