1,单片机中1秒延时多少毫秒

就是1000毫秒 查看更多答案>>
就是1000毫秒

单片机中1秒延时多少毫秒

2,51单片机的定时器计时怎样计算

51但单片机的定时,要先计算,然后根据要求编写程序,计算会用到公式: t=Tc×(2L-TC)=12/f×(2L-TC) t是定时时间 Tc是机器周期 fs是晶振频率 L是计数器的长度 对于T0,T1有下面三种方式: 方式0:L=13 方式1:L=16 方式2:L=8 对于T2:L=16 然后剩下的就是按照算出的常数编写程序了,就靠你自己了。。。。
TMOD=0x01; TH0=(65536-50000)/256;//定时50毫秒 TL0=(65536-50000)%256;//定时50毫秒 TR0=1;
给你个软件,

51单片机的定时器计时怎样计算

3,单片机 汇编 请问定时器定时多长

MOV 51H,#14H ;(51H)=20MOV TMOD,#01H ;定时器0工作于方式1,16位定时器MOV TL0,#0B0H ;MOV TH0,#3CH ;定时时间50毫秒(12MHz晶体)SETB TR0 ;L2:JBC TF0,L1 ;SJMP L2 ;L1:MOV TL0,#0B0H ;给定时器0重新赋值MOV TH0,#3CH ;DJNZ 51H,L2 ;进行20次定时,累计定时1秒定时器要进行计数溢出,一是定时器的计数器只有16位,计数到0FFFFH再计数一次必然溢出。二是在溢出时置位TF0,以便查询或申请中断。
th2 = ###; tl2 = ###; rcap2h = th2; rcap2l = tl2; tr2 = 1; ea=1; 这样就行了啊 跟其他定时器一样的啊

单片机 汇编 请问定时器定时多长

4,单片机用计时器给LCD计时间每一秒可能都会多个几毫秒要怎么能

千分之几的误差,用定时器计时的这种方法误差很难消,实在想消的话,可以用下面几种法子试试:1. 挑选晶振,晶振频率有差,挑选个频率高一点的。2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片
单片机,用定时器中断 计时间 应该可以 做的很准确的,比如 12 MHz 的晶振,可以做到 10 微秒 / 秒, 每天误差在小于 1 秒。一秒 就有 几毫秒 的误差 肯定是 程序上有问题了如一般 用于 精确计时 的中断,应该用最高 优先级的定时器。
你好!千分之几的误差,用定时器计时的这种方法误差很难消,实在想消的话,可以用下面几种法子试试:1. 挑选晶振,晶振频率有差,挑选个频率高一点的。2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片如有疑问,请追问。

5,单片机如何用一个定时器为时基作出几十个定时精度为1毫秒的

定义一个1mS的定时器,设定定时时间分别为 a,b,c(mS)unsigned char t=0;在定时器中断里面进行判断t++; if(t%a==0) //此处定时时间为amS;}if(t%b==0) //此处定时时间为bmS;}if(t%c==0) //此处定时时间为cmS;}}
是不是要这样的效果typedef struct int time_count; char flag;}timer_t;timer_t timer1=timer_interrupt()//将其初始化成1ms,或者其它最小时间粒度 if(timer1.time_count == 0) timer1.flag = true; timer1.time_count= 10; } else if(timer2.time_count == 0) timer2.flag = true; timer2.time_count= 100; }else}void main(void) while(1) if(timer1.flag == true) timer1.flag == false; do something; } if(timer2.flag == true) timer2.flag == false; do something others; } }}
你的题目什么意思再看看别人怎么说的。
51系列的单机基为实现不了1毫秒的定时输出,我看你的题目,应该是做某种信号的编码吧。如果单片机有PWM,那就用PWM输出口输出电平的翻转,用这个普通的IO口连接PWM输出口去一个与门芯片,这样就可以用IO口控制输出了,减少了CPU 的负单的同时,也减少的开发工作。如果没有PWM输那,那就做555芯片,或者用有源晶振做一个方波输出端吧

6,单片机计时器

//1:用AT89C51单片机的定时/计数器T0产生一秒的 //定时时间,作为秒计数时间,当一秒产生时,秒 //计数加1,秒计数到60时,自动从0开始。单片机 //晶振频率为12MHZ //由于是刚刚注册,积分没有多少,请大家帮个忙,谢谢! #include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar code table[]= 0x6f}; void display(uchar fen,uchar miao); uchar a,fen,miao,shu; void delay(uint z); void init(); void main() init(); while(1) display(fen,miao); } } void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; if(a==20) a=0; shu++; fen=shu/10; miao=shu%10; if(shu==60) shu=0; } } void init() TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void display(uchar fen,uchar miao) P1=0xFe; P2=table[fen]; delay(5);//延时5毫秒 P1=0xFf; P2=table[miao]; delay(5);//延时5毫秒 } void delay(uint z) uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } //P2口接数码管,然后数码管位选通过74HC138来控制 //我可是刚学,弄了好久才弄出来的哦 //要图的话加980100952 //这个软件是调通过了的,也加载到我的实验扳上试过的

7,单片机计时器

if(shu==60) shu=0; delay(5);/我可是刚学,弄了好久才弄出来的哦 /// th0=(65536-50000)/256; tl0=(65536-50000)%256; et0=1; tr0=1,0x4f,0x66,0x6d,0x7d;计数加1,秒计数到60时,自动从0开始,当一秒产生时,秒 //,然后数码管位选通过74hc138来控制 /p2口接数码管; if(a==20) { a=0;/1:用at89c51单片机的定时/10; miao=shu%10; ea=1,请大家帮个忙,谢谢;y--); } //,0x07,0x7f;0; p2=table[miao]; void main() { init(),作为秒计数时间; } void display(uchar fen;延时5毫秒 p1=0xff;x>0;x--) for(y=110;y>! #include< uchar a; tl0=(65536-50000)%256; a++, 0x6f}; void display(uchar fen; shu++; fen=shu//由于是刚刚注册,积分没有多少;延时5毫秒 } void delay(uint z) { uint x,y; for(x=z;计数器t0产生一秒的 /,0x06,0x5b; delay(5);///定时时间,fen,uchar miao) { p1=0xfe; p2=table[fen];/要图的话加980100952 /256,uchar miao)。单片机 / while(1) { display(fen,miao); } } void timer0() interrupt 1 { th0=(65536-50000)//晶振频率为12mhz / void init(),miao,shu; void delay(uint z);reg52.h> #define uchar unsigned char #define uint unsigned int uchar code table[]={0x3f//这个软件是调通过了的; } } void init() { tmod=0x01
(65536-10000)/256 意思是:括号内的相减结果,即单片机定时器的预装时间常数X,X/256 意思是整除取商,目的是取X的二进制数高8位,装入TH1;X%256 意思是整除取余,目的是取X的二进制数低8位,装入TL1。
//1:用AT89C51单片机的定时/计数器T0产生一秒的 //定时时间,作为秒计数时间,当一秒产生时,秒//计数加1,秒计数到60时,自动从0开始。单片机//晶振频率为12MHZ//由于是刚刚注册,积分没有多少,请大家帮个忙,谢谢!#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]= 0x6f};void display(uchar fen,uchar miao);uchar a,fen,miao,shu;void delay(uint z);void init();void main() init(); while(1) display(fen,miao); }}void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; if(a==20) a=0; shu++; fen=shu/10; miao=shu%10; if(shu==60) shu=0; }}void init() TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;}void display(uchar fen,uchar miao) P1=0xFe; P2=table[fen]; delay(5);//延时5毫秒 P1=0xFf; P2=table[miao]; delay(5);//延时5毫秒}void delay(uint z) uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}//P2口接数码管,然后数码管位选通过74HC138来控制//我可是刚学,弄了好久才弄出来的哦//要图的话加980100952//这个软件是调通过了的,也加载到我的实验扳上试过的

文章TAG:单片机单片机的定时器1秒等于多少毫秒  单片机中1秒延时多少毫秒  
下一篇