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

供稿:hz-xin.com     日期:2025-01-14
简单啊。
大致说来就是
你先开启个定时器,根据你选用的晶振,计算出你要用定时器定时的基准时间,
就假设是10毫秒吧。
然后给定时器的THx,TLx写入初值,开启中断,进行定时。
然后就等待中断。
在你响应中断的程序中,再次给单片机送入初值,
由于是10毫秒中断一次,因此我们设置几个“软件计数器”
比如每此中断,软甲计数器+1,
例如“软件计数器1”在中断程序中计数100次,则是10ms*100=1s
而“软件计数器2”在1的基础上继续计数100次,则是1S*100=100S
而“软件计数器3”在2的基础上继续计数36次,则是100S*36=3600S=1小时。

怎么用51单片机定时1个小时 好像是循环,具体汇编程序是怎样的
你先开启个定时器,根据你选用的 晶振 ,计算出你要用定时器定时的基准时间,就假设是10毫秒吧。然后给定时器的THx,TLx写入初值,开启中断,进行定时。然后就等待中断。在你响应中断的程序中,再次给单片机送入初值,由于是10毫秒中断一次,因此我们设置几个“软件计数器”比如每此中断,软甲计数器+1,...

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

怎么用51单片机定时1个小时 好像是循环,具体汇编程序是怎样的??_百度...
你先开启个定时器,根据你选用的晶振,计算出你要用定时器定时的基准时间,就假设是10毫秒吧。然后给定时器的THx,TLx写入初值,开启中断,进行定时。然后就等待中断。在你响应中断的程序中,再次给单片机送入初值,由于是10毫秒中断一次,因此我们设置几个“软件计数器”比如每此中断,软甲计数器+1,例...

如何使用51单片机定时器实现定时功能
51单片机的定时器还有多种工作模式,比如,定时器0\/1的工作模式有 0 - 模式、1 - 模式、2 - 模式、3 - 模式;而定时器2的工作模式有 T0\/T1 方式、T2 方式、外部计数输入方式。在掌握这些工作模式的使用方法后,定时器就可以更加灵活地应用到实际工程中。4. 定时器在单片机系统中的应用 在实际...

单片机怎么设置延时一个小时
用定时器做最精确,用延时程序的话,误差较大。以下用定时器来做一个。include<reg51.h> define uchar unsigned char uchar sec,min,cnt;sbit key=P1^0;sbit led=P1^4;void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;cnt++;if(cnt>20){ cnt=0;sec++;if(...

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分钟、1小时的子程序
include <reg51.h> unsigned char time_1m=120;unsigned char time_1h=60;\/\/timer init void initTimer(void) \/\/1Mhz晶振 { TMOD=0x1;TH0=0x5d;TL0=0x3e;} \/\/timer0\/counter0 interrupt void timer0(void) interrupt 1 \/\/ 500MS 中断一次 { TH0=0x5d;TL0=0x3e;time_1m--;if(...

怎样使用51单片机的定时器?
51单片机定时器的使用 51单片机定时器\/计时器的使用 步骤:1、 打开中断允许位:对IE寄存器进行控制,IE寄存器各位的信息如下图所示:EA: 为0时关所有中断;为1时开所有中断 ET2:为0时关T2中断;为1时开T2中断,只有8032、8052、8752才有此中断 ES: 为0时关串口中断;为1时开串口中断 ET1:...

怎样用51单片机实现小时级延时
51单片机的机器周期是晶振的12分频的倒数。所以你24Mhz的机器周期是T=12\/12M=0.5us。假设你要定时的数是M,则初值等于M\/机器周期(表示执行多少个机器周期)。若初值小于65536 TH0=(65536-初值)%256 TL0=(65536-初值)\/256 51在24MHZ的最大定时是65536*T=0.032768s,远小于一小时。所以为了...

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