已知8051单片机使用的晶振是12mhz,要求设计一段软件延时程序,延时时间

已知8051单片机使用的晶振是12mhz,要求设计一段软件延时程序,延时时间为1s。

51单片机晶振12MHz软件延时1秒程序:
DELAY:
MOV R7,#500  
D1:
MOV R6,#250  
D2:
NOP          
NOP
NOP
NOP
NOP
NOP
DJNZ R6,D2    
DJNZ R7,D1    
.
以上程序为何能定时1秒? 请阅附件。

温馨提示:内容为网友见解,仅供参考
无其他回答

速回8051单片机的晶振为12MHz,下面是一段延时子程序,计算出该延时子程序...
总共延时周期数=①+②+③+④+⑤=1062T 12M晶振时1T=1us,所以总延时时间=1062微妙=1.062毫秒

单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多...
首先要明白,晶振12MHz时,机器周期1μs。MOV R7,#,指令周期1μs NOP,指令周期1μs DJNZ R,指令周期2μs RET,指令周期2μs 为计算程序执行时间,以注释形式给每条指令加上标号 DELAY: MOV R7,#250 ;1 LOOP2: MOV R6,#200 ;2 LOOP1:NOP ;3 NOP ;4 NOP...

设单片机晶振频率为12MHZ,试编写一延时1s的子程序
12mhz\/12t的传统51单片机下.#include <reg51.h> sbit test = p1^0;void delay_50ms(unsigned char times){ while(times -- ){ th0 = 0x3c;\/\/---装入初值,定时器0定时50ms tl0 = 0xb0;tr0 = 1;\/\/---启动定时器 while(!tf0);\/\/---等等定时时间到达 tf0 = 0;\/\/---清零定时...

设单片机8051的时钟频率为MHZ,试编写Ms的软件延时程序。
例如:设计一个延时1ms的延时子程序ys1ms,设单片机8051的时钟频率为12MHZ。则单片机8051一个机器周期=12T=12\/f=12\/12MHZ=1微秒 程序和延时时间计算如下:ys1ms: MOV R7,#4 ; 单周期1uS ( 晶振为12MHz)DEL1: MOV R6,#123 ; 单周期1uS DEL2: DJNZ R6,DEL2 ; 双...

假设单片机晶振为12mhz,编写一段延时20秒的程序?
如果不需要精确延时的话, 有一个小软件叫“单片机小精灵”可以帮你编写,你输入晶振,延时时间,就可以帮你编好了,自己编,不好编,因为涉及到时钟周期,指令占几个周期等等问题,用那个小软件很容易就实现了。 lucz8 | 发布于2013-02-28 举报| 评论 0 0 12MHz 是什么嘛?晶振?频率?时间和频率是怎么换算的...

51单片机 12M晶振 while语句延时 怎么计算延时多长时间
点击编译器的d红色调试按钮,此刻会出现调试界面,在要测试的代码起始处设置断点(点F9也行)然后让程序全速运行此刻会再断点处停下,几下此刻编译器左侧栏目中的sec的值(这就是程序运行到当前语句的时间记为sec1)在你想测试程序的末尾在下一个断点,然后让程序全速运行,到断点处停下,几下左边的sec的...

已知8051单片机
你好,根据题中信息可得,12MHz晶振的机器周期就是12\/12M=1us,要能在P1.1输出4ms的方波就很简单了,你要求求初值,那么:---使用定时器0的工作方式1,TMOD=0x01; ,然后工作方式1是16位的定时器,最大定时值为65.536ms,要定时4ms就很容易,TH0=(65536-2000)\/256;TL0=(65536-2000)...

1、 已知单片机的晶振为12M,请以子函数形式写出10毫秒延时程序。该怎...
软件延时:(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,LOOP4 定时器延时:晶振12MHZ,延时1s,...

设51单片机晶振频率为12MHZ,延时1m的子程序
下面为你写出1ms的程序:用的是11.0592M的,你如果真的需要是12M的,那自己直接修改成12M就可以了。调用的时候直接把uinsigned int ms改成1就是1ms.void ConfigTimer0(unsigned int ms){ unsigned long tmp;tmp = 11059200\/12;tmp = (tmp * ms)\/1000;tmp = 65536 - tmp;tmp = tmp + 18;...

51单片机延时函数的问题。晶振是12MHz..需要延时1秒
所以说,假如你要做1s的延迟, 最好使用内部时钟中断来做,直接在程序内部delay延时的话,占用系统资源还算不准...具体解释下上图, 为了拿这5分还真不容易...首先, 进入函数就需要5个汇编指令, 这些指令主要是入栈,备份指针的操作, 不同的编译器指令不同,但都差不多... 当然 这5个指令是进入函...

相似回答