99问答网
所有问题
89c51单片机编写一段2分钟的延时程序
明天要用的 拜托知道的高手快点写出来 先谢了哈
举报该问题
推荐答案 2009-04-21
假设石英晶振频率为12MHZ,单片机为51
汇编:
delay:
mov r4, #10
dly0: mov r5, #120
dly1: mov r6, #200
dly2: mov r7, #250
dly3: djnz r7, dly3
djnz r6, dly2
djnz r5, dly1
djnz r4, dly0
ret
C51:
void delay()
{
TMOD=0x01;
unsigned int i=24000;
while(i--)
{
TH0=-(50000/256);
TL0=-(50000%256);
while(TF0==0);
TF0=0;
}
TR0=0;
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/jeeejezt.html
其他回答
第1个回答 2009-04-21
对于12M的晶振来说,因为采用软件延时,时间约等于2S,如果想要精确的,就用定时器
DELAY: MOV R1,#40
D1: MOV R2,#100
D2: MOV R3,#250 ;2us*250约等于500us
DJNZ R3,$
DJNZ R2,D2 ;500us*100约等于50000us,约等于50ms
DJNZ R1,D1 ;50ms*40约等于2000ms,约等于2s
RET
相似回答
89c51单片机编写一段2分钟的延时程序
答:
假设石英晶振频率为12MHZ,
单片机
为51 汇编:delay:mov r4, #10 dly0: mov r5, #120 dly1: mov r6, #200 dly2: mov r7, #250 dly3: djnz r7, dly3 djnz r6, dly2 djnz r5, dly1 djnz r4, dly0 ret C51:void delay(){ TMOD=0x01;unsigned int i=24000;while(i--){ TH0=-(...
在
89c51单片机
中实现2:00:00~0:00:00的
两分钟
倒计时,并在五个数码管...
答:
if(++a>4)a=0;P0=0xff;P2=w[a];P0=d[ds[a]];}void init()//初始化函数{ TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=
1
; ET0=1;}u16 js_s=60*100*2;u16 js_ms=0;void main()//主函数{init();TR0=1;while(...
89C51单片机
,假定单片机晶振频率6MHz,试
编写延时
2ms
的程序
答:
RET END
89C51延时程序
DELY : PUSH 02H DEL1:PUSH 02H DEL2 : PUSH 02H DEL3...
答:
POP 02H ;
1
*R2*R2*R2 DJNZ R2,DEL2 ;2*R2*R2*R2 POP 02H ;1*R2*R2 DJNZ R2,DEL1 ;
2
*R2*R2 POP 02H ;1*R2 DJNZ R2,DELY ;2*R2 RET ;2 以上注释的结果之和再乘以2就是
延时
时间,单位是微妙,R2是最开始调用的赋值。
c51单片机程序
,
89c51的延时程序
算法求解释,。。。谢谢啦
答:
当z=50相当于 50*125 = 62500次自减
单片机
晶振决定一次自减的时间也就是机器周期 12M的话一个机器周期是1us,那你这个
程序
就是
延时
62.5ms 6M的话一个机器周期是
2
us,那你这个程序就是延时125ms
单片机89c51程序
答:
这是一个数码管显示
程序
,本人
写
的,已通过测试,你试试吧 include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar a[]={0xc0,0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80,0x90};void delay(){ uint m;for(m=0;m<580;m++);} u...
求用C语言
编写一
个
单片机89C51
电子时钟
程序
,有时,分,秒,还有电路图_百 ...
答:
//***DS1302读
写程序
***///*** 函 数 名:RTInputByte()功 能:实时时钟写入一字节说 明:往DS1302写入1Byte数据 (内部函数)入口参数:d 写入的数据 返 回 值:无 ***/void RTInputByte(uchar d) { uchar h;
求大佬教教怎么用
89c51单片机
实现模拟路灯
答:
delay(1000); //
延时
1秒 } } ```4. 烧录程序:将
编写
好
的程序
通过编程器烧录到
89c51单片机
中。5. 运行程序:将单片机连接到电源,程序将开始运行。LED灯将会每隔1秒亮灭一次,模拟路灯的工作状态。以上是一个简单的模拟路灯的实现过程,你可以根据实际需求进行更复杂的功能扩展,比如添加光敏电阻来...
89C51单片机
1S
的延时程序
?
答:
void delayms()//
延时
子
程序
对应12M晶振 { unsigned int ms=1000;while(ms--) //每一次循环1ms { for(i = 0; i < 120; i++);} }
大家正在搜
用keil编写51单片机程序步骤
51单片机程序编写
51单片机中断程序编写
用keil编写单片机程序
最简单的单片机编程
单片机写程序的步骤
c51与c52单片机的区别
c52单片机编程
单片机的编程
相关问题
用C语言怎么在单片机AT89C51上编写一个延时10秒的程序...
AT89C51单片机延时1秒的程序怎么写?
89C51单片机,假定单片机晶振频率6MHz,试编写延时2m...
at89c51单片机怎么用汇编语言写“多个延时程序”
89C51单片机1S的延时程序?
求一个AT89C51单片机的延时一分钟断电程序
AT89C51单片机,如何实现延迟一秒
关于AT89c51单片机定时器实现延时子程序的问题