怎样用51单片机实现定时计数功能?

作者&投稿:徵钓 (若有异议请与网页底部的电邮联系)
~ 如果你选的单片机的晶振一定,比如12MHZ来说吧,机器周期是1us,就是说每1us产生一次计数,就拿50ms来说,这是你想要的计时,意思是,对机器周期进行50000计数就可以得到我想要的,可T0是一个可以对机器周期能进行65536次计数,也就是说我想要的50MS不能让T0溢出,怎么办,那么先给这个定时器里面放些数,放多少,就是我们想要的50MS在加上一个多少就能等于65536,也就是65536和50000的差值,这个值就是我们说的初值。

为什么除以256,因为我们的计时器是两个8位组成的,那么要把那些差值装进这两个8位,那么低8位最多能装256个机器周期,那么256计满了就用高8位的,就是说低8位满一次高8位加1,那么高8位装多少,低8位就满了几次,算法就是用差值除一下256取其整数,剩下的,就是还剩了小于256次数的就放在低8位,就是差值的余数。如果我要放一个超过256的数,肯定是超过先放高八位,把剩下的部分放在低八位中了,TH0=(65536-50000)/256就是把TL0中放不下的部分放在THO中,再把剩下的部分放在THO中。

void timer(0) interrupt 1

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

flag++;

if(flag==20)//当定时到1秒时执行花括号里面的语句

{}

}


51单片机,利用0和1两个数字组成16种模式,并用四个开关控制数码显示一...
以下是使用51单片机(如STC89C52)和4个开关来控制数码管显示一位密码的简单示例代码。假设使用的是共阴数码管,并且数码管的引脚连接到了单片机的P0口。include <reg52.h> \/\/ 引入单片机寄存器定义头文件\/\/ 数码管显示的密码模式,共16种,每种模式使用4位二进制表示unsigned char password[16] = { ...

如何用51单片机控制电磁阀
1、用单片机实现电磁阀的控制对于专业技术人员来说比较容易实现,但是需要经过软硬件设计、制作电路板、软硬件联合调试的开发过程,需要时间长、牵扯精力大等问题。2、建议采用TPC4-4定时程序控制器来实现,接线简单、表格设置无需编程,接好线后,设置需要的功能,简单的动作几分钟即可设置完成,快速实现你...

用51单片机写一个程序,求大神
1、使用定时器0方式二,结合软件计数器来实现秒信号的产生;2、定时器必须使用中断的方式来实现;3、使用单片机开发板上的左边四位来扫描显示时间,显示格式为“MM.SS”;4、开机时显示00.00,最大值显示到59.59(59分59秒);5、第一次按电路板上K1(P3.2)键启动走时,K1必须使用中断方式实现...

利用51单片机和3位数码管实现10分钟内的简易计时器
修改如下:#include<reg51.h>#define uint unsigned int#define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};sbit key1=P2^7;sbit key2=P2^6;sbit weiH=P3^0;sbit weiM=P3^1;sbit weiL=P3^...

前辈,教我写一个51单片机题吧。使用定时器实现0-255的加1显示。_百度...
t++);}\/\/主程序void main(){ P0=0xff; Count=0; Number=0; TMOD=0x01; \/\/12MHZ晶振 C51单片机对其12分频 \/\/实际定时器“加1”频率为1MHZ 也就是1us \/\/用定时器中断时间间隔 是从“开启定时器加1”到“溢出”的时间 \/\/对于工作在模式1的定时器0来说 也就是从“开启定时器加1”到...

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单片机如何使用?
使用51单片机需要达到以下基本条件:1、至少要搭建一个最小系统;2、你需要编制一个51的控制程序;3、你需要将程序编译连接成HEX或BIN格式的代码并下载或烧录到51单片机。这样你就可以使用这款51单片机了。1单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来...

51单片机用汇编实现LED1亮1秒,灭3秒循环执行?
单片机晶震选12M,定时比较准 LED1 equ p0.0 org 0000H ajmp start start:mov P0,#0FFh ;灌电流驱动灭灯 ,如果灯没有关,用 mov p0,#00h work:CLR LED1 ;灭如果反了把CLR改成 setb acall delay_1s SETB LED1 ;灭如果反了把setb改成 clr acall delay_3s ajmp work delay...

用51单片机实现每隔一秒数码管显示刷新一次,用定时器0实现定时功能。但...
你这是实物电路板,还是仿真哪?你用了定时器T0,而且写中断子程序,可是,T0却没有开中断哪。加一行 ET0=1; \/\/要加这一行 你的程序还有其它的问题,修改后的程序发在下面,并有仿真图。include <reg51.h> include <intrins.h> unsigned char code LED7Code[] = {0xc0,0xf9,0xa4,0xb0,...

如何编写51单片机音乐程序
设计的相关音乐说明 要产生音频脉冲,只要算出某一音频的周期(1\/频率),然后将此周期除以2,即为半周期时间。利用半周期时间定时这个半周期时间,每当计时到后就将输出的I\/O反向,然后重复计时此半周期再对I\/O反向,就可以在I\/O脚上得到此频率的脉冲。记数脉冲值与频率的关系公式如:N=Fi\/2\/Fr...

枝江市15023005391: 怎样使用51单片机的定时器? -
畅石百伦: 1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有

枝江市15023005391: 51单片机计数器怎么用 -
畅石百伦: 可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断.进入计数服务中断程序.

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

枝江市15023005391: 51单片机怎么实现计时? -
畅石百伦: 嘿嘿 还是让俺来帮你解决吧 1 关于定时器定时时间的计算问题:如果使用的是12M晶振计算,指令周期1uS,定时器是加1计数器,即是对内部时钟即指令周期脉冲计数 每当1uS到时,计数器加1.假设 定时器的初始值=X,则每到1uS 计数器...

枝江市15023005391: 简单描述AT89C51单片机的定时计数器的设置 -
畅石百伦: 在单片机中有两个特殊功能寄存器与定时/计数器有关,这就是TMOD和TCON. 1、通过TMOD来设置定时/计数器的工作方式, 2、通过TCON来控制启停、溢出标志等等. 3、根据定时时间来确认定时初值(TH0、TL0或TH1、TL1). 具体算法是:初值X=最大计数值-计数值,方式1的最大计数值为:2^16=65536,方式0为:2^13=8192,方式2和方式3为:2^8=256

枝江市15023005391: 51单片机的定时器计时怎样计算
畅石百伦: 设置计数器初值就行了,计数器初值=四种方式的最大值-定时时间(计数次数)/机器周期

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

枝江市15023005391: 用51单片机测频率,T0定时,T1计数,具体程序应该怎么写呀,跪求完整点的 -
畅石百伦: 数码管 还是液晶屏显示? 晶振频率多少? 用定时器时,先设置工作方式 再装入初值 开启中断 再开启定时器/计数器 void init()//初始化设置 { TMOD=0x51;//定时器1作为计数器,定时器0作为定时器用 TH1=0;//计数器清0 TL1=0; EA=1;//开...

枝江市15023005391: 51单片机的计数器怎么用 -
畅石百伦: 首先将定时器设置为计数器模式. 其次,将外部脉冲接入到相应定时器的输入端. 这样就可以使用计数器了.

枝江市15023005391: 如何用51单片机实现定时 -
畅石百伦: 用单片机的定时器中断,50MS一中断,计20次1 S .以这1S为基础,你要多长时间都可以了

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