51单片机一小时计时器

作者&投稿:种子 (若有异议请与网页底部的电邮联系)

51单片机,求用汇编语言编写延时1小时的子程序,要精确到秒级别
这个可以做到,如果晶振是12M的话,一下方法可以实现延时1小时,精确度在秒级别。DELAY1H:MOV R7,#180 ;1\/1000000 DLY1H:LCALL DELAY_20S ;180*19.960603s +2*180 DJNZ R7,DLY1H ;2*180\/1000000 RET 2\/1000000 共延时时间:3592.9s误差为7.1秒,如果再精确的话,再加一点延时...

你好,关于这个问题“怎么用51单片机定时1个小时 好像是循环,具体汇编程 ...
开启定时器作为时间基准,然后再设置几个软件计数器,比如,你设定定时器每隔10毫秒中断一次,软件计数器A加1,当A数值=100时,就已经定时1秒了,软件计数器B这时+1,当B数值=60时,就已经定时1分了,软件计数器C这时+1,当C数值=60时,就已经定时1小时了。就是这样累积的定时,明白?

单片机,当定时器\/计数器工作方式于1下,晶振频率为6M,请计算最短定时时间...
定时器是通过计数溢出来计时的,工作方式1是16位计数方式。晶振频率为6M,那么计数器加1需要一个机器周期2us。机器周期=12\/fosc,fosc为晶振频率。计数初值为1时,定时最短为2us,最长是计2的16次方(即65536),最长时间=2*65536us=131.072ms 。在工作方式1下,定时时间:t=(65536-T0初始值)*...

第一次弄单片机,想实现一个数字时钟
这些电路做完了,才开始写程序的。没有电路是不好写程序的。至于时钟就好写了,用定时器定时20ms,或50ms,采用中断方式,然后对中断计数,中断50次,或20次就是1秒。有了1秒,就好办了,计60秒,为1分,计计60分,为1小时,计24小时,为1天。计时后再显示出来,就成了。

用89c52单片机做一个延时1个小时的延时子程序
EA=1;ET0=1;TF0=0;TR0=1;while(delay_1hour()); \/\/循环3600次1S即为1小时 } int delay0() interrupt 1 using 1 \/\/中断产生1ms,再用计数b产生1s计时 { TR0=0 ;intrins_init();TR0=1;b++;if(b>1000){ P1_0=~P1_0;b=0;delay_1hour();} } int delay_1hour() \/...

基于单片机控制的专用定时器 定时时间1、1s~99s可调,2、1min ~99min...
属于基本问题,定时器初始化,设定count变量,选择定时器工作于方式1,装初值可以装到65ms左右,设置50ms引起中断,当中断20次,大概为1s。写一个显示子程序,在中断中,当计满1s,秒变量加1,秒计满60.分钟变量++。以此类推。再写按键编码程序,main函数中始终检测键盘扫描程序 ...

51单片机控制继电器每隔一小时闭合5分钟程序怎么写
一、选用12M的晶振,则单指令周期为 1us 二、TMOD 设置为 0x21,即定时器0为 16 位计数器 三、TH0=0x3c,TL0=0xb0,即定时器 0 初始值为 15536,50ms 定时器溢出 四、设一个 5 分钟的计时器 timer_50ms,以 50ms 为计时单位,300*20=6000,计时器到 6000 即复位,即 if (timer_50...

急急急!!!单片机控制步进电机1小时转1圈的C语言程序
你不说你单片机的型号不好做的,因为电路都不一样,接口也不一样,我给你一个我的,你照着看看吧 include"Reg52.H" \/* 调用MCS51寄存器头文件 *\/ typedefunsigned char UINT8; \/* 类型定义 *\/ typedef unsigned int UINT16;\/* 参数:PM35永磁电机,步进角为7.5度。单双八拍工作方式:A-...

AT89C51单片机 用定时器1,方式0定时1s的C语言程序怎么写
(这是我同学编的,拿来给你)include <reg51.h> include <intrins.h> unsigned char i;void main(){ TMOD=0x00;TH1=0x3c;TL1=0xb0;EA=1;ET1=1;TR1=1;while(1){ if(i==20){ i=0;\/\/下面写你要处理的的其他程序,你只要了定时1s。} } } void a(void) interrupt 3 { unsigned ...

单片机显示时钟,按第一个键,第一次显示关中断光标到小时,第二次到分钟...
你在主程序中不断keyscan和不断写时分秒,而keyscan中设置光标位置,也就是说,肯能光标刚显示时,单片机又执行写时分秒,所以错过了。建议:1、把write_com(0x80+0x40+5); \/\/选择小时位 write_com(0x0f); \/\/显示光标,光标闪烁 改为 write_com(0x0f); \/\/显示光标,光标闪烁 writ...

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

原竿18012104387问: 怎样使用51单片机的定时器? -
兴宾区菲讯回答: 1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有

原竿18012104387问: 51单片机定时器设置: -
兴宾区菲讯回答: TMOD = (TMOD & 0XF0) | 0X01; //定时器0工作在模式1,16Bit定时器模式 上述表达式中0XF0的作用是什么? 1 (TMOD & 0XF0) 其中&为逻辑与指令,按位与操作,定时器的模式寄存器TMOD与上0XF0的作用是高4位不变,低4位被清零.(1与上...

原竿18012104387问: 用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

原竿18012104387问: 利用51单片机定时器实现时实时钟功能(汇编) -
兴宾区菲讯回答: 51单片机有两个16位的定时器,若果采用方式1的话,计时16位,最大计时时间65536*1us=65.36ms,一个定时器 计时,一个定时器计数,完成一次的时间65.36ms*65536大于一个小时的时间,去适当的值,定时一周期一个小时,然后循环,在定时的过程中,把定时的秒数分别转化成小时,分钟和秒用LED显示,就行了.编程也很简单,书上第五,六章有定时器的用法.

原竿18012104387问: 51单片机的定时器计时怎样计?51单片机的定时器计时怎样计算
兴宾区菲讯回答: 51但单片机的定时,要先计算,然后根据要求编写程序,计算会用到公式:t=Tc*(2L-TC)=12/f*(2L-TC) t是定时时间 Tc是机器周期 fs是晶振频率 L是计数器的长度 对于T0,T1有下面三种方式:

原竿18012104387问: 请问如何实现51单片机的长时间计时并且程序其他部分照常运行? -
兴宾区菲讯回答: 程序其他部分照常运行,就要用中断了;计数器的时长,定义一个全局变量,在定时器中断服务程序中计数例如C语言 unsigned char i void Timer(void) interrupt 1 { i++; if(i=T) { // } }

原竿18012104387问: c51单片机的定时器计数器怎么用?最好用例子 -
兴宾区菲讯回答: 方法有很多的,给你一个,你可以调试一下,你可以通过不同的晶振去计算定时器初值,如果你懂定时器这部分很好调通的 #include sbit p1_0=P1^0; int i; //全局变量void timing(void) //晶振为3.6864M {TMOD|=0x01; //定时器T0,...

原竿18012104387问: 51单片机定时器计数器 -
兴宾区菲讯回答: 外部脉冲接T0或T1,看你用哪个计数器.你用的是查询方式,用中断的话,要打开中断(总中断和定时中断还有启动定时器),溢出 时,中断产生,程序会自动转到中断入口地址, 进入中断子程序 .初始化和你C一样的,只是程序 开头要有个入口地址,指向中断子程序 ORG 00H AJMP MAIN ORG 0BH ;定时器T0中断 AJMP T0INT MAIN: ...

原竿18012104387问: 怎么用51单片机做一个时钟 -
兴宾区菲讯回答: 一片单片机+一个LED数码模块或LCD液晶模块+一段简单的程序=一个简单的时钟. 一片单片机+一片DS1302或其他的时基芯片+一个LED数码模块或LCD液晶模块+一段简单的程序=一个实用的时钟. 系统构成确定了以后,程序就有现成的了,可以移步到百度网页“百度一下”里搜索,资源多如牛毛.


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