START: SETB P1.0LCALL DELAYCLR P1.0LCALL DELAYSJMP STARTDELAY函数的核心代码如下:DELAY: MOV R5, #20D1: MOV R6, #20D2: MOV R7, #249DJNZ R7, $DJNZ R6, D2DJNZ R5, D1RET总计t = 20 × [1 + (1 + 249 × 2 + 2) × 20 + 2] = 200460 微秒,接近0.2秒的闪烁周...
DELAY:MOV R5,#100 L1: MOV R6,#100 L2: DJNZ R6,L2 DJNZ R5,L1 RET 具体延时多久看你预置的计数初值了
Delay: mov R5,#05HDelay0: mov R6,#0c8HDelay1: mov R7,#0f8H NOPDelay2: Djnz R7, Delay2
DJNZ R7,$;2个机器周期 DJNZ R6,D2;2个机器周期t=1+20×(1+249×2+2)=10021μs≈10ms 2、闪烁灯在P1.0端口上接一个发光二极管L1,使L1不停一亮一灭,亮0.2S,灭0.2S。(声波 生器——形成频率可调的方波 ORG 1000H START: SETB P1.0 LCALL DELAY CLR P1.0 LCALL DELAY SJMP START DELAY: MOV R5...
2、闪烁灯 在P1.0端口上接一个发光二极管L1,使L1不停一亮一灭,亮0.2S,灭0.2S。(声波发生器——形成频率可调的方波) ORG1000H START: SETB P1.0 LCALL DELAY CLR P1.0 LCALL DELAY SJMP START DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#249 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET EN...
DJNZ R7,DELAYLOOP 2us执行255次 RET 1us 延时时间:255*255*2+255*2+3=130563us DJNZ指令为先减后与0比较,当减后为0则向下执行,非0跳转到指定位置 例: DJNZ R6,DELAYLOOP 当R6=1时执行本条指令,则程序向下执行,否则跳转至DELAYLOOP执行 当R6=0时执行本条指令,则R6减...
比如当晶振频率是12MHz的时候,1个机器时间是t=12/12MHz=1us 然后看循环R7*R6=62500次,对于MOV R6,#250共执行250次,DJNZ R6,D2执行62500次,DJNZ R7,D1执行250次,则每句消耗2个机器时间有:T=(250+62500+250)*2=126000us=126ms=0.126s 故延时越0.126秒 ...
设单片机的fosc=6MHz,下面程序是100ms延时的子程序。 DELAY: MOV R7,#64H A0: MOV R6,#0FAH DJNZ R6,$ DJNZ R7,DELAY RET 错误:___ 改正:___分值: 2相关知识点: 试题来源: 解析 答案:错误:DJNZ R7,DELAY 改正:DJNZ R7,A0 [解析] DELAY是子程序的入口地址,AO是循环入口地址反馈 收藏 ...
设单片机8031系统的振荡频率为6MHz,试编程实现10mS的延时程序。DELAY: MOV R6,#0AHDELAY1:MOV R7,#0FAHDELAY0:DJNZ
DELAY: MOV R7,#250 ;(6)D1: MOV R6,#250 ;(7)D2: DJNZ R6,D2 ;(8)... 分享回复赞 51单片机吧 lin_coola 【跟豆子一起学单片机】6课:单片机并行口结构从硬件电路的连线能看出,有四个按钮被接入到P3口的P32,P33,P34,P35。第一条指令的用途我们能猜到:使P3口全部为高电平。第二条指令是MOV ...