单片机延时子程序晶振为6MHz,编写延时100ms,1s的子程序

单片机编写延时函数的简单方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机编写延时函数的简单方法
上传于||文档简介
&&在1​h​e​i​-板​子​上​做1兆​无​线​解​码​和​红​外​解​码​试​验​的​时​候​,​延​时​函​数​的​精​度​很​重​要​,​要​做​到​相​当​精​确​才​可​以​成​功​,​所​以​大​家​一​定​要​掌​握​.
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢> 问题详情
使用循环转移指令编写延时20ms的延时子程序。设单片机的晶振频率为12MHz。
悬赏:0&答案豆
提问人:匿名网友
发布时间:
使用循环转移指令编写延时20ms的延时子程序。设单片机的晶振频率为12MHz。
论文写作技巧
我有更好的答案
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……当前位置: >
& 12m晶振延时1s 我想用单片机的定时器0编写50ms延时子程序。C语言,12M。
12m晶振延时1s 我想用单片机的定时器0编写50ms延时子程序。C语言,12M。
收集整理:/ 时间:
我想用单片机的定时器0编写50ms延时子程序。C语言,12M。你的工作方式寄存器设定没呀。 TMOD=0X01; 没有的话默认的是0x00;13位定时器。 用查询法应该是可以的 void delay_ms(uchar ntimes) { for (t = 0; t&t++) { TMOD=0X01; TH0 = 0x3C; TL0 = 0xB0; TR0 = 1; while (!TF0); TF0 = 0; } TR0 = 0; }
有没有把for循环耗掉的时间计算在内?包括t赋值;自加1;比较;跳转4步。
/ 单片机程序。12MHz的晶振。准确延时1s,c语言怎么写???
while(i--) { for(j=0;j&。若晶振为12M,试写出延时1S的子程序 DELAY: MOV R7,#20 D1: MOV R6,#200 D2: MOV R5,#123 NOP DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET。1, 设单片机晶振频率为12MHZ,试编写一延时1s的子程序._。//----假设,系统工作于 12MHz/12T的传统51单片机下.#include &reg51.h&sb Test = P1^0;void Delay_50ms(unsigned char Times){ while(Times -- ) { TH0 = 0x3C; //----装入初值,定时器0定时50ms TL0 = 0xB0; TR0 = 1; //-----启动定时器 while(!TF0); //-----等等定时时间到达 TF0 = 0; //-----清零定时到达标志 }}void Delay_1s(unsigned char Times){ while(Times -- ) { Delay_50ms(20); }}void main(void){ TMOD = 0x01; //----定时器0工作于方式1 while(1) { Delay_1s(2); Test = ~T }}
先看看单片机的型号,另外需要了解定时器的方式和分频系数,然后才能计算
是什么单片机呢?怎样对单片机编程实现精确1s的延时。晶振12M。感谢。。。 。 #include void delay () { unsigned char i,j,k; for(k=7;k&=1;k--) for(j=255;j&=1;j--) for(i=255;i&=1;i--); for(j=164;j&=1;j--) for(i=255;i&=1;i--); for(i=66;i&=1;i--); } void main() { delay(); while(1); }
这个问题你可以直接咨询我我比较了解这方面 我的微信号:lovehhqd 我可以回答哦泄傅狼。。已知单片机的晶振为12M,请以子函数形式写出10毫秒延时。下面有你要的 选一个吧 下面几个是单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0000MHz的晶振,而在AVR单片机上常用的有8.000MHz和4.000MH的晶振所以在网上查找程序时如果涉及到精确延时则应该注意晶振的频率是多大。 软件延时:(asm) 晶振12MHZ,延时1秒 程序如下: DELAY:MOV 72H,#100 LOOP3:MOV 71H,#100 LOOP1:MOV 70H,#47 LOOP0:DJNZ 70H,LOOP0 NOP DJNZ 71H,LOOP1 MOV 70H,#46 LOOP2:DJNZ 70H,LOOP2 NOP DJNZ 72H,LOOP3 MOV 70H,#48 LOOP4:DJNZ 70H,。求单片机一秒延时程序(12M晶振),要用C语言且用定时和。我以前写的控制跑马灯的程序,有1s定时,也有中断, 根据需要修改修改就可以了。 #include #define uchar unsigned char #define uint unsigned int void delay(uchar uu); main() { EA=1; EX0=1;//开总中断和外部中断0; EX1=1;//开中断1? ET0=1; PX0=1; PX1=1; IT0=1; IT1=1; while(1) { P2=0; delay(20); P2=0 delay(20); } } void int1() interrupt 0 using 2 { uchar aa,i,j,k; i=0 for(aa=0;aa&7; k=i&1; ii= delay(20); } } void delay(uchar uu) //uu*5ms定时; { for(aaa=0;aaa。mega16定时器 如何精确延时1STCNT1H = 0x48;
TCNT1L = 0xE5; 将初始值设为以上,应该可以产生1S中断。单片机外接12M的晶振,1ms的基准延时函数用C语言怎么写。/*-----------------------------------------------名称:delay1ms()功能:延时1ms晶振:12MHz 机器周期1us时间计算:t=2+1+995+2=1000us =1.000ms -----------------------------------------------*/void delay1ms(void) //延时1ms子程序{unsigned char i,j;for(i=5;i&0;i--)for(j=98;j&0;j--);}对应汇编/*-----------------------------------------------名称:delay1ms功能:延时1ms晶振:12MHz 机器周期1us时间计算:t=2+1+995+2=1000us =1.000ms -----------------------------------------------*/LCALL DELAY1MS ;2usDELAY1MS: MOV R6,#5 ;1us DEL1: MOV R7,#98 ;1us DJNZ R7,$ ;2*98=196us DJNZ R6,DEL1 ;2us DLE1执行完所用时间(1+196+2)*5=995us。 RET ;2us
C语言延时程序:10ms延时子程序(12MHZ)void delay10ms(void){ unsigned char i,j,k; for(i=5;i&0;i--) for(j=4;j&0;j--) for(k=248;k&0;k--);。
对于51单片机利用定时器,很好也比较精确。。(12MHz),试编一个延时1s(2s)的程序。1000000US=250*40*100DELAY:MOV R5,#50DL0:MOV R6,#20DL1:MOV R7,#250DJNZ R7,$DJNZ R6,DL1DJNZ R5,DL0RET 不是十分准确,能用就行了本程序所用晶振为12MHz,12周期模式;定时时间为0.5秒的延时器nopLCALL DELAY ;4uS ;执行上句的时间:4+(ret时间)。
12m晶振延时1s相关站点推荐:
赞助商链接
12m晶振延时1s相关
免责声明: 机电供求信息网部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您想举报或者对本文章有异议,请联系我们的工作人员。

我要回帖

更多关于 延时子程序时间计算 的文章

 

随机推荐