1. 首页
  2. 编程语言
  3. C++ 
  4. FLASH”实-C++语言设计

FLASH”实-C++语言设计

上传者: 2024-07-18 11:21:04上传 PDF文件 16.54MB 热度 13次

按钮开关S1的检测由“DELAY:”程序段中的一条指令“JNB P1.0,FLASH”实现。当P1.0=1时,该指令不进行任何操作;当P1.0=0时,该指令会跳向“FLASH:”程序段执行急促交替发光的操作。如果S1一直被按下,“FLASH:”程序段将被不断执行,急促交替发光持续进行。直到S1释放后,程序又回到“MAIN:”中进行500ms间隔的交替发光。

相关的延时子程序在汇编语言中是非常重要的部分。以下是几个与延时子程序相关的资源:

  1. 51汇编语言延时子程序集合 提供了多种延时子程序的实现,适用于不同的应用场景。

  2. 汇编语言程序设计子程序设计 详细介绍了子程序设计的方法和技巧,对初学者非常有帮助。

  3. 单片机延时子程序 讨论了如何在单片机中实现精确的延时操作。

程序程序3-2:与发光二极管的交互


ORG 00H ;设置起始地址

MAIN: ;标号

MOV P1,#0FFH ; P1口作为输入口使用

MOV P0,#00H ;向P0口输出低电平,使发光二极管D1点亮

MOV P2,#0FFH ;向P2口输出高电平,使发光二极管D2熄灭

CALL DELAY ;调用延时子程序

MOV P0,#0FFH ;向P0口输出高电平,使发光二极管D1熄灭

MOV P2,#00H ;向P2口输出低电平,使发光二极管D2点亮

CALL DELAY ;调用延时子程序

JMP MAIN ;跳回MAIN,循环执行

在主程序中,我们可以看到使用了延时子程序DELAY和DELAY1来控制发光二极管的亮灭。详细的延时子程序代码如下:


DELAY: 

MOV R3,#50 ;延时子程序(500ms)

D1: 

MOV R4,#20 

D2: 

MOV R5,#124 

D3: 

JNB P1.0,FLASH ;当开关S1按下时,P1.0=0,跳转到FLASH程序段

DJNZ R5,D3 

DJNZ R4,D2 

DJNZ R3,D1 

RET ;返回主程序

DELAY1: 

MOV R3,#20 ;延时子程序(200ms)

D11: 

MOV R4,#20 

D21: 

MOV R5,#248 

D31: 

DJNZ R5,D31 

DJNZ R4,D21 

DJNZ R3,D11 

RET ;返回主程序

END ;汇编程序结束

用户评论