怎么把51单片机计时器60秒一进改为99秒一进,并把最小值从1秒改为0.01秒·····

作者&投稿:董削 (若有异议请与网页底部的电邮联系)
51单片机计时器,求大神帮忙把60秒一进改成99秒一进,最小值从一秒改成0.01秒,急用~

//假设晶振12MHZ
#include "reg51.h"
unsigned int YSJS=0;
void main(void)
{
AUXR &= 0xBF; //定时器时钟12T模式
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式
TL1 = 0xF0; //设置定时初值
TH1 = 0xD8; //定时器定时时间=10毫秒@12.000MHz
ET1 = 1; //使能定时器中断
TR1 = 1; //启动定时器
EA =1; //开总中断

while(1)
{
}
}

void TIMER1(void) interrupt 3 //定时器中断函数使用默认寄存器组
{
TL1 = 0xF0; //设置定时初值
TH1 = 0xD8; //定时器定时时间=0.01s,最小值
//如果需要利用最小定时间隔,这里写代码
YSJS++;
if(YSJS==9900) //9900*0.01=99s
{
YSJS = 0;
//这里填你的代码,99秒一进
}
}

NBA篮球24秒倒计时 本设计是以555构成震荡电路,由74LS192来充当计数器,构成NBA24秒倒计时电路。该电路简单,无需用到晶振,芯片都是市场上容易购得的。设计功能完善,能实现直接清零、启动和暂停/连续计时,还具有报警功能。

从LZ 的要求分析,无非就是想要个 秒表功能(百分之一秒单位)。
单位时间是 0.01s=10ms,定时器最大定时时间应为 10ms。每次中断,10ms 计数器+1
最大是 99.99秒的话,最好是拆分成 整数 99,跟 小数 99,分别用 2个变量存储(uchar足够),每当 10ms 变量 加满 100,秒 变量就加 1。
显示时,记得 带上 中间的小数点。


51单片机怎样计时
首先,51单片机是加一计数,到65536溢出,所以定时时间(经过的脉冲个数,如果一个脉冲是1us,刚好延时50ms是50000个脉冲)是65536减初值 ,初值又分高8位和低8 位,高8位的1代表256,因此高8位的数值所代表的数是256的整数倍,低位最大不超过255,所以一定是除以256之后的余数,用公式是这样:初值...

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

51单片机怎么实现计时?
可以推出 定时时间=计数的1的个数×1uS=(65536—X )1 uS 结论: 定时时间跟初始值即时间常数X有关。如果要定时0.5毫秒=500uS 根据定时时间公式 500=(65536—X )即X=(65536-500) 一般把高8位送TH0 即 (65536-500)\/256 把 (65536-500)%256即除上256后的余数 即低...

51单片机怎么用三个按键控制分别为时钟,秒表,倒计时
假如三个按键分别为k1,k2,k3。用k1选择3个功能,按一下切换一个功能。在时钟状态下,用k2选择调节位,用于调时,分别选小时的十位,个位,分的十位,个位,开始计时这5个状态。k3调节位加一,只能按加一调节了。在秒表状态下,k2为计时和停止切换。k3为清0。在倒计时状态下,k2和k3作用与秒...

如何使用51单片机定时器实现定时功能
1. 硬件定时器和软件定时器 51单片机的定时器可以分为两类,即硬件定时器和软件定时器。硬件定时器是通过硬件电路实现时间计数,常见的硬件定时器有定时器0和定时器1。软件定时器则是通过软件计时的方式实现定时器功能。不同的定时器在使用时需要掌握它的工作方式,以便在使用中能更加得心应手。2. ...

怎样用51单片机实现累加计时和倒计时,并用六个共阴极数码管显示出来。用...
本题给出基于单片机的数字中的设计,设计由单片机作为核心控制器,通过频率计数实现计时功能,将实时时间经由单片机输出到显示设备——数码管上显示出来,并通过键盘来实现启动、停止、复位和调整时间的功能。关键词: 单片机、数字钟、AT89S52、LED 1 引言在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让...

请问如何实现51单片机的长时间计时并且程序其他部分照常运行?
这简单,定时部分交给定时器,把定时器的优先级设置为高优先级,就可以了 怕程序麻烦的话,显示部分可以用几个芯片实现静态显示 ,即使定时器不工作,它也能显示当前的时间,直到有更新信号将时间更新。

51单片机at89s52怎么做0-9秒倒计时,求大佬解答
用一个共阴数码管接在P0口,由P0口输出段码。再用定时器定时50ms,采用中断方式,对中断计数20次就是一秒。用一个变量计秒,初值为9,每一秒减一,并送P0显示。仿真图如下。

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

请问如何在51单片机上实现8路独立计时器?
,那么你就选1s和1分钟做时间基数。用tmer0和tmer1分别来实现。比如在tmer0中断中用一个变量x计数,每中断一次,x就自加一(x++),比如:当在tmer0中断里当x为3的时候,就响应3s那路的定时。51系列有的有3个定时器,工作模式根据情况自选,其实时间基数可以选3个,用tmer加上中断即可处理。

木里藏族自治县18259612522: 51单片机计时器,求大神帮忙把60秒一进改成99秒一进,最小值从一秒改成0.01秒,急用 -
穰胀胃康: //假设晶振12MHZ#include "reg51.h" unsigned int YSJS=0; void main(void) { AUXR &= 0xBF; //定时器时钟12T模式 TMOD &= 0x0F; //设置定时器模式 TMOD |= 0x10; //设置定时器模式 TL1 = 0xF0; //设置定时初值 TH1 = 0xD8; //定时器定...

木里藏族自治县18259612522: 用单片机的定时器及中断设计一个60秒的定时器 -
穰胀胃康: ;数码管段选接P1口,位选接P2.0和P2.1,;采用定时器T1定时10ms,60H为1s计数单元,计数100次为1s ORG 0000H ;程序从0地址开始 LJMP MAIN ;跳到MAIN处执行 ORG 001BH ;定时器T1 LJMP TIME1 ORG 0030H MAIN:MOV TMOD,#01H ;设置T1工作在模式1 MOV TH1,#068H ;赋初值,定时10ms MOV TL1,#0F0H

木里藏族自治县18259612522: 51单片机如何使外部中断显示60秒倒计时求程序,谢谢. -
穰胀胃康: ORG 00H ; SJMP STAR ; ORG 1BH; SJMP TIS; 转T1中断服务程序 ORG 30H; STAR: MOV R2,#60H; 倒计时初值 MOV R4,#20H; 定时中断溢出计数器 MOV IE,#88H; 开中断 MOV TMOD,#10H; MOV TH1,#3CH; 定时初值 MOV TL1,#0B0H...

木里藏族自治县18259612522: 任务要求 用数码管显示60秒的秒表设计(单片机AT89C51) -
穰胀胃康: 1.要求从0-60秒计时,到60后LED发光,当从新计时是LED熄灭.--60,保持不变?--何时重新计时?2.用定时计数器定时,用按键控制启停.--刚开机时,是启动,还是停止?3.若启动后计时没到60秒,按键停止后,则重新计时.--按键停止后,立即就重新计时?--是不是保持显示,等待再次按键,再重新计时?--否则,按键的作用,就不是停止了,而是重新计时了.4.要求用汇编语言 --这个可以办到.

木里藏族自治县18259612522: 单片机开发板定时器60秒怎么编程 -
穰胀胃康: #include <reg51.h>void InitTimer0(void) {TMOD = 0x01;TH0 = 0x0F6;TL0 = 0x3C;EA = 1;ET0 = 1;TR0 = 1; }void main(void) {InitTimer0(); }void Timer0Interrupt(void) interrupt 1 {unsigned char num1,num2;TH0 = 0x0F6;TL0 = 0x3C;...

木里藏族自治县18259612522: 用51单片机做秒表,按键按下停止计时,再按一次接着计时 -
穰胀胃康: 让定时器停止计时,只要TRx = 0这句就行,要让它继续,再TRx = 1; 例如,我的按键是P0.0,按一下停止,按一下继续,用定时器0,可以这样写:if(P0_0 == 0) {TR0 = ~TR0;while(P0_0 == 0); } 我只是提供个例子,实际运用中按键要记得加滤波

木里藏族自治县18259612522: 51单片机定时器1秒1加到99程序 -
穰胀胃康: 可设定时器于一定的时间响应(例如50ms) , 再用一个变量来计算几次(20) , 当计数到一定的值代表到一秒,之后再另一个寄存器上加一,如此反复到99就好了

木里藏族自治县18259612522: 用51单片机做定时器,时间显示在数码管上,要求有秒钟十秒钟分钟十分钟,四个数码管,程序一开始就直接 -
穰胀胃康: ............这不是最简单的吗?用单片机的定时器设置成50ms中断一次,然后20次就是1秒,秒到了60,然后把秒变成0,分钟加1,数码管你看看是用什么控制138加595,还是数码管芯片直接驱动

木里藏族自治县18259612522: 51单片机定时寄存器定时也不到一秒钟,如果想定时1分钟该如何定时, -
穰胀胃康: 51单片机定时工作在方式1,是16位计数方式,如果晶振频率是12M,机器周期 是1us,那么最大的定时时间也只有65.536ms,要直接定时1秒是不可能的.但是,可以定时50ms,采用中断方式,每50ms定时到,要中断一次的,在中断程序就对中断计数,中断20次的时间就是50msX20=1000ms=1秒.有了1秒计时,那1分钟就容易了,对1秒再计数啊,60秒就是1分啦.可能你没有写过时钟程序吧,电子钟程序就是这种方法,再计60分为1小时,24小时为一日,依此,可以计年月日呢.这有什么难的.关键是对中断计数,就可以解决长时间定时了.

木里藏族自治县18259612522: 求一个简单的单片机用数码管显示计时60秒的C语言程序,程序一定要带有解释和Proteus 仿真电路图. -
穰胀胃康: /***程序仿真用89c52 数码管用共阳极数码管 P0口段选,P3.0和P3.1位选 定时器2用法见百度“T2CON”***/ #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar code num[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf...

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