导航:首页 > 电器电路 > DPL电路

DPL电路

发布时间:2021-02-20 08:16:19

① 大家给个红外的简易电路

下面是我曾经做过的一个电路设计,看你用得上不? 用红外线遥控电机转速 哦,对了,还给把发射电路给忘掉了,这次补上,再把单片机程序也送上!



单片机程序: 接收程序: ;****************************** ;接收控制系统软件程序 ;****************************** ; ;****************************** ;主程序和中断程序入口 ;****************************** ORG 0000H ;复位地址 LJMP START ORG 0003H ;外中断0中断入口地址 LJMP INT0SERVE ORG 000BH ;定时器T0中断入口地址 RETI ORG 0013H ;外中断1中断入口地址 RETI ORG 001BH ;定时器T1中断入口地址 LJMP T1SERVE ORG 0023H ;串行口中断入口地址 RETI ORG 002BH ;定时器T2中断入口地址 RETI ; ` ;****************************** ;主程序 ;****************************** START: MOV SP,#60H ;设堆栈 LCALL CLEAR ;调初始化程序 NOP MAIN: JB P2.0,MAIN ;50Hz交流电过零检测等待 LCALL DELAYXUS ;调用延时子程序即控制导通角 CLR P2.7 ;发开导通角脉冲 LCALL DELAY256US ;延时256μs SETB P2.7 ;关脉冲 LJMP MAIN NOP NOP LJMP START ;设置软件陷阱 ; ;****************************** ;初始化程序 ;****************************** CLEAR: MOV A,#0FFH MOV P0,A ;P1~P3口置位 MOV P1,A MOV P2,A MOV P3,A MOV B,#26H ;设置导通角为零的延时值 MOV P1,#0FEH SETB 50H ;默认设置电机为停标志位 SETB P2.7 MOV IE,#00H ;关总中断 CLR RS0 ;设当前工作区为0区 CLR RS1 MOV IP,#01H ;设优先级 SETB EX0 ;开外中断0 SETB IT0 MOV TMOD,#10H MOV TH1,#3CH ;开定时器1 MOV TL1,#0B0H SETB ET1 SETB TR1 MOV R7,#0AH SETB EA ;开总中断 RET ; ;****************************** ;外部中断0服务程序 ;****************************** INT0SERVE: CLR EX0 ;关外中断0 JNB P3.1,INT0SERVE1 ;确认中断 INT0RET: SETB EX0 ;开外中断0,返回 RETI INT0SERVE1: CLR A MOV DPH,A ;清DPTR MOV DPL,A INT0SERVE2: JB P3.1,INT0SERVE3 ;用DPTR对第一个低电平计时 INC DPTR NOP NOP AJMP INT0SERVE2 ;循环周期是8μs INT0SERVE3: MOV A,DPH ;DPTR的高8位放入A中 JZ INT0RET ;不为0,说明DPL有进位则8μs×255=2ms, ;即是第一个脉冲。为0,说明内小于2ms是一干扰 CLR A INT0SERVE4: INC A ;脉冲个数加1 INT0SERVE5: JNB P3.1,INT0SERVE5 ;等待低电平 MOV R1,#06H ;帧间高电平宽度判断定时值,即一帧结束的判断 INT0SERVE6: JNB P3.1,INT0SERVE4 ;低电平时转脉冲个数加1 LCALL DELAY513US ;延时513μs DJNZ R1,INT0SERVE6 DEC A ;超过3ms判定为一帧结束 DEC A JZ FUNCTION0 ;为0则转功能0 DEC A JZ FUNCTION1 ;为0则转功能1 DEC A JZ FUNCTION2 ;为0则转功能2 DEC A JZ FUNCTION3 ;为0则转功能3 DEC A JZ FUNCTION4 ;为0则转功能4 DEC A JZ FUNCTION5 ;为0则转功能5 NOP NOP LJMP INT0RET ;返回 FUNCTION0: JB 50H,FUNCTION01 MOV B,#16H ;功能0操作3档转速 MOV P1,#0EDH FUNCTION01: NOP NOP LJMP INT0RET ;返回 FUNCTION1: JB 50H,FUNCTION11 MOV B,#1CH ;功能操作1档转速 MOV P1,#0F9H FUNCTION11: NOP NOP LJMP INT0RET ;返回 FUNCTION2: JB 50H,FUNCTION21 MOV B,#12H ;功能2操作4档转速 MOV P1,#0DDH FUNCTION21: NOP NOP LJMP INT0RET ;返回 FUNCTION3: JB 50H,FUNCTION31 MOV B,#19H ;功能3操作3档转速 MOV P1,#0F5H FUNCTION31: NOP NOP LJMP INT0RET ;返回 FUNCTION4: JB 50H,FUNCTION41 MOV B,#0EH ;功能4操作5档转速 MOV P1,#0BDH FUNCTION41: NOP LJMP INT0RET ;返回 FUNCTION5: JB 50H,FUNCTION51 ;功能5操作电机启/停操作 SETB 50H MOV B,#26H MOV P1,#0FEH AJMP FUNCTION52 FUNCTION51: CLR 50H MOV B,#1CH MOV P1,#0F9H FUNCTION52: NOP NOP LJMP INT0RET ; ;**************************************** ;控制导通角延时程序 ;**************************************** DELAYXUS: MOV R2,B DELAYXUS1: LCALL DELAY256US DJNZ R2,DELAYXUS1 RET ; ;**************************************** ;闪烁调节,定计1中断服务程序 ;**************************************** T1SERVE: CLR TR1 CLR ET1 DJNZ R7,T1SERVERET MOV R7,#0AH JB 50H,T1SERVE1 CPL P1.1 AJMP T1SERVERET T1SERVE1: CPL P1.0 T1SERVERET: MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 SETB TR1 RETI ; ;**************************************** ;延时256μs程序 ;**************************************** DELAY256US: MOV R4,#126 DELAY256US1: DJNZ R4,DELAY256US1 RET ; ;**************************************** ;延时513μs程序 ;**************************************** DELAY513US: MOV R5,#254 DELAY513US1: DJNZ R4,DELAY513US1 RET END 发射程序: ;遥控系统软件程序 ; ;***************************** ;主程序和中断程序入口 ;***************************** ; org 0000H ;复位地址 ljmp start org 0003h ;外中断0中断入口地址 reti org 000BH ;定时器T0中断入口地址 reti org 0013h ;外中断1中断入口地址 ljmp int1serve org 001Bh ;定时器T1中断入口地址 ljmp T1SERVE org 0023h ;串行中断入口地址 reti org 002Bh ;定时器T2中断入口地址 reti ; ;***************************** ;初始化程序 ;***************************** clear: MOV P1,#0FFH ;P1,P3口置位 MOV P3,#0FFH CLR P3.5 ;关遥控输出 MOV SP,#70H ;设堆栈 MOV IE,#00H ;关总中断 MOV IP,#04H ;设优先级 MOV TMOD,#20H ;设定时器2自动重装模式 MOV TH1,#0F3H ;定时13μs MOV TL1,#0F3H SETB EX1 ;开外中断1 SETB IT1 SETB EA ;开总中断 RET ; ;***************************** ;主程序 ;***************************** START: LCALL CLEAR ;调试初始化程序 MAIN: LCALL KEYWORDK ;调键盘程序 ORL PCON,#01H ;进入低功耗待机状态 LJMP MAIN NOP NOP ;设置软件陷阱 NOP LJMP START ; ;***************************** ;外部中断1服务程序 ;***************************** INT1SERVE: CLR IE1 ANL PCON,#00H ;触发待机状态苏醒 RETI ; ;***************************** ;定时/计数1溢出中断服务程序 ;***************************** T1SERVE: CPL P3.5 ;高频调制 RETI NOP ;设置软件陷阱 NOP NOP LJMP START ; ;***************************** ;键盘程序 ;***************************** KEYWORDK: MOV P1,#0FFH ;置列线 CLR P3.7 ;清行线 MOV A,P1 MOV B,A CJNE A,#0FFH,KEY1 ;有键按下则不转移 KEYWORDKOUT: NOP NOP RET ;键盘程序返回 KEY1: LCALL DELAY5MS ;延时消抖 MOV A,P1 CJNE A,B,KEYWORDKOUT ;确认键按下 MOV DPTR,#KEYWORDKTAB1 MOV B,A ;查列号 CLR A MOV R0,A KEY2: MOV A,R0 SUBB A,#80H JNC KEYWORDKOUT MOV A,R0 MOVC A,@A+DPTR INC R0 CJNE A,B,KEY2 DEC R0 MOV A,R0 ;键号放入A MOV B,A ;键号乘3处理LJMP散转指令 ADD A,B ADD A,B MOV DPTR,#KEYWORDKTAB2 JMP @A+DPTR KEYWORDKTAB2: LJMP FUNCATION0 LJMP FUNCATION1 LJMP FUNCATION2 LJMP FUNCATION3 LJMP FUNCATION4 LJMP FUNCATION5 RET KEYWORDKTAB1: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7EH RET ; ;************************* ;发脉冲程序 ;************************* FUNCATION0: MOV A,#02H ;脉冲个数装载 LJMP SEND ;转发射程序 RET FUNCATION1: MOV A,#03H LJMP SEND RET FUNCATION2: MOV A,#04H LJMP SEND RET FUNCATION3: MOV A,#05H LJMP SEND RET FUNCATION4: MOV A,#06H LJMP SEND RET FUNCATION5: MOV A,#07H LJMP SEND RET NOP NOP NOP LJMP START ; ;************************ ;编码发射程序 ;************************ SEND: MOV R1,A ;装入发射脉冲个数 SEND0: MOV R0,#0FAH ;第一个码250×0.012ms=3ms AJMP SEND2 SEND1: MOV R0,#53H ;中间码83×0.012ms=1ms SEND2: SETB ET1 ;开高频定时中断调制 SETB TR1 NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0,SEND2 MOV R0,#64H ;码距100×0.002ms=1ms SENDOUT: CLR TR1 ;关高频定时调制 CLR ET1 CLR P3.5 NOP NOP NOP NOP NOP DJNZ R0,SENDOUT DJNZ R1,SEND1 ;脉冲数还有则再循环再发 CLR P3.0 ;开工作指示灯 LCALL DELAY500MS ;帧距 SETB P3.0 ;关工作指示灯 RET NOP ;设置软件陷阱 NOP NOP LJMP START ; ;************************ ;延时5ms程序 ;************************ DELAY5MS: MOV R7,#45 DELAY5MS1: MOV R6,#554 DELAY5MS2: DJNZ R6,DELAY5MS2 DJNZ R7,DELAY5MS1 RET NOP ;设置软件陷阱 NOP NOP LJMP START ; ;************************ ;延时10ms程序 ;************************ DELAY10MS: MOV R4,#90 DELAY10MS1: MOV R3,#54 DELAY10MS2: DJNZ R3,DELAY10MS2 DJNZ R4,DELAY10MS1 NOP NOP NOP NOP NOP RET NOP ;设置软件陷阱 NOP NOP LJMP START ; ;************************ ;延时500ms程序 ;************************ DELAY500MS: MOV R5,#50 DELAY500MS1: LCALL DELAY10MS DJNZ R5,DELAY500MS1 RET NOP ;设置软件陷阱 NOP NOP LJMP START END

② 军用对讲机频率是多少多少米能听到

军用对讲机频率是350MHZ,也就是公安使用的。手持机在平坦开阔无障碍环境内下的通话距离容可达6公里,当有网络支持时,对讲机的通话距离可达几十公里,这个范围内都能听到。

为保证绝大多数用户通话不受干扰以及合理地利用频率资源,国家无线台管理委员会对频率的使用进行了划分,规定不同的行业使用相应的频率范围。

(2)DPL电路扩展阅读:

对讲机的通话距离和效果主要受以下几个因素影响:

1、发射机输出功率越强,发射信号的覆盖范围越大,通信距离也越远。但发射功率过大,不仅耗电,影响功放元件寿命,而且干扰性强,影响他人的通话效果,还会产生辐射污染。

2、通信机的接收灵敏度越高,通信距离越远。

3、天线的增益,在天线与机器匹配时,天线高度越高,接收或发射能力越强。

4、环境因素,主要有路径、树木的密度、环境的电磁干扰、建筑物、天气情况和地形差别等。

③ 电视节目源dpl格式用什么转换器

1调频:声音,相信号转换为电信号传送的原先的电磁波,可分为频率调制(回FM)和调幅答(AM)
2发射:使用LC振荡器电路(鸡爪形状,通俗点说就是天线),电气信号发射到空间中。由卫星,散布在全国各地的反映。
3解调:使用LC旁路电路,从所需的电磁波的复合信号中分离。
#4,成像:在电信号的变化纳入变化的磁场,改变扫描电子运动。以不同的方式扫描电子轰击在电视屏幕上,从而形成各种画面,这是在电视屏幕的与静电原因啊

④ 说明51单片机中程序指针PC和数据指针DPTR各自的用途,电路复位后,二者的值各是多 少

程序计数器PC(program Counter)
程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一个16位的计数器,

用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。

复位后为0000H(16位)

数据指针(DPTR)
数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。
DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:

MOVX A, @DPTR
MOVX @DPTR, A

在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。

MOVC A, @A+@DPTR

复位后为0000H(16位)

⑤ 设计一个具有8个LED灯,要求从右向左依次点亮一秒后熄灭,循环往复的单片机程序。跪求

#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;//对数据类型进行声明定义

typedef unsigned char u8;

//LED灯命名

sbit leda=P0;

sbit led1=P0^0;

sbit led2=P0^1;

sbit led3=P0^2;

sbit led4=P0^3;

sbit led5=P0^4;

sbit led6=P0^5;

sbit led7=P0^6;

sbit led8=P0^7;

void delay(u16 i)

{

while(i--);

}

void main()

{

while(1)

{

leda=1;//全部灯亮

//从左到右依次熄灭

led1=0;

delay(50000);//大约延时450ms

led2=0;

delay(50000);//大约延时450ms

led3=0;

delay(50000);//大约延时450ms

led4=0;

delay(50000);//大约延时450ms

led5=0;

delay(50000);//大约延时450ms

led6=0;

delay(50000);//大约延时450ms

led7=0;

delay(50000);//大约延时450ms

led8=0;

delay(100000);//大约延时900ms

//从右到左依次点亮

led8=1;

delay(50000);//大约延时450ms

led7=1;

delay(50000);//大约延时450ms

led6=1;

delay(50000);//大约延时450ms

led5=1;

delay(50000);//大约延时450ms

led4=1;

delay(50000);//大约延时450ms

led3=1;

delay(50000);//大约延时450ms

led2=1;

delay(50000);//大约延时450ms

led1=1;

delay(50000);//大约延时450ms

leda=1;//全部灯亮

}

}

(5)DPL电路扩展阅读:

main()应用:

1、C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,

但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。

虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

2、Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

3、C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){

//TODO:在此处写入主函数的内容

}

}

⑥ 关于电脑的一点常识!~

*.exe是可执行文件,*.rar是压缩文件.要是陌生人给你发来*.exe文件最好不要执行,有可能是病毒.

⑦ 什么叫PMW控制

pmw脉冲调速芯片

方波产生程序,产生的方波 312.5HZ的方波16级调速度
;占空比控制在8/16以下
;占用寄存的R2,R3 RAM中的40h,41h,42h
;其中40h值的设定决定跳速级数
LINEB EQU 0AH
LINEC EQU 0BH
LINED EQU 0CH
LINEE EQU 0DH
LINEF EQU 0EH
LINEG EQU 0FH
ORG 0000H
LJMP MIAN
ORG 000BH
LJMP IT00
ORG 0013H
LJMP INT100

ORG 0030H

MIAN:
MOV R0,#7FH
LOOP:MOV @R0,#00H
DJNZ R0,LOOP

MOV 40H,#1 ;调速级数设置
SETB P1.6
SETB P1.2
CLR P1.4
CLR 03H
MOV SP,#6DH
SETB IT1
SETB EX1
SETB PX1;探测黑线的传感器为INT1边沿触发,优先级应该最高

MOV TMOD,#01H
MOV TH0,#0FFH
MOV TL0,#9CH ;100UM

SETB ET0
SETB EA
HEAR:
JNB LINEG,EXTI11
ACALL DEL5S
CPL P1.2
CPL P1.4
CLR 0AH
CLR 0BH
CLR 0CH
CLR 0DH
CLR 0EH
CLR 0FH

EXTI11: ACALL DIS
AJMP HEAR
;****;*****************INT100反映********************************
INT100:INC R4
MOV 30H,R4
CLR EA
PUSH ACC
PUSH B
PUSH PSW
PUSH DPH
PUSH DPL
SETB EA
JNB LINEC,FUNC
JNB LINED,FUND
JNB LINEE,FUNE
JNB LINEF,FUNF
JNB LINEG,FUNG
AJMP RETURN
FUNC:SETB TR0
MOV 40H,#1
SETB LINEC
AJMP RETURN
FUND:MOV 40H,#10
SETB LINED
AJMP RETURN
FUNE: MOV 40H,#1
SETB LINEE
AJMP RETURN
FUNF:MOV 40H,#14
SETB LINEF
AJMP RETURN
FUNG:MOV 40H,#16
SETB LINEG

RETURN: CLR EA
POP DPL
POP DPH
POP PSW
POP B
POP ACC
SETB EA
RETI
;************************定时中断产生PMW波***********************
IT00: CLR EA
PUSH ACC
PUSH B
PUSH PSW
PUSH DPH
PUSH DPL
SETB RS0
CLR RS1
MOV A,40H
CJNE A,#16,PASS
CLR P1.6
LJMP EXIT

PASS:JB 03H,ADD2
INC R2
MOV A,#16
CLR C
SUBB A,40H
MOV 41H,A
CLR C
MOV A,#16
CLR C
ADD A,40H
MOV 42H,A
MOV A,R2
CJNE A,41H,EXIT
SETB 03H
MOV R2,#00H
CPL P1.6

ADD2:
INC R3
MOV A,R3
CJNE A,42H,EXIT
CLR 03H
MOV R3,#00H
CPL P1.6
LJMP EXIT

EXIT:
MOV TH0,#0FFH
MOV TL0,#9CH
POP DPL
POP DPH
POP PSW
POP B
POP ACC
SETB EA
RETI
;***********************DIS********************

DIS: MOV R0,#30H
MOV R3,#20H
LD0: MOV A,R3

MOV A,@R0
mov dptr, #tab
MOVC A,@A+DPTR
MOV dptr,#09FFFH
MOVX @DPTR,A
MOV A,R3
MOV DPTR,#07FFFH
MOVX @DPTR,A
CALL DL1
INC R0
MOV A,R3
JB ACC.0,ld1
RR A
MOV R3,A
AJMP LD0
LD1:
RET

DL1: MOV R7,#02
DL: MOV R6,#0FFH
DL6: DJNZ R6,DL6
DJNZ R7,DL
RET
TAB: DB 0c0H, 0f9H, 0a4H, 0b0H, 99H, 92H
; 0 7 2 3 4 5
; 00H 01H 02H 03H 04H 05H
;
DB 82H, 0f8H, 80H, 90H, 88H, 83H
; 6 7 8 9 A b
; 7DH 07H 08H 09H 0AH 0BH
;
DB 0c6H, 0a1H, 86H, 8eH, 8cH, 0c1H
; C D E F P U
; 0CH 0DH 0EH 0FH 10H 11H
;
DB 89H, 0c7H,0bfH, 91H,00H,0ffH
; H L - y ON OFF
; 12H 13H 14H 15H 16H 17H
;
DB 92H, 77H, 8bH, 0afH, 0a3H, 0a1H
; S t h r o d
; 18H 19H 1AH 1BH 1CH 1DH
;
DB 0f0H, 0FH, 8bH, 0afH, 0a3H, 0a1H
; S t h r o d
; 1EH 1FH 20H 21H 22H 23H

;**************************DEL5S**************
DEL5S: MOV R5,#100
DEL1:MOV R7,#200
DEL2:MOV R6,#125
DEL3: DJNZ R6,DEL3
DJNZ R7,DEL2
DJNZ R5,DEL1
RET
END

⑧ 电路中用了替代原理后能否再用叠加定理比如说,我把一个只有电阻的支路替代为一个电流源后,该电流源可

可以。
http://wenku..com/link?url=jJh20mpw-_NWzRpjIgwQ_cGvxeJqOzIaZDpl_IgC8QXLiZ9U1-zPrsETSl1W
第7页有例子。

⑨ 51单片机中程序指针PC和数据指针DPTR各自有什么用途电路复位后,二者的值各是多 少

程序计数器(program Counter)
程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一个16位的计数器,

用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。

复位后为0000H(16位)

数据指针(DPTR)
数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。
DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:

MOVX A, @DPTR
MOVX @DPTR, A

在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。

MOVC A, @A+@DPTR

复位后为0000H(16位)

⑩ 单片机滴水检测设计电路

如果要从高优先级中断程序返回主程序的话,必须执行两条RETI指令,才可以清除高/低优专先级有效触发器属。具体的程序可以是:

MOV DPTR, #LABLE1

POP ACC ;将高优先级子程序返回地址出栈

POP ACC

PUSH DPL ;将LABLE1地址入栈

PUSH DPH

RETI

LABLE1:

POP ACC ;将低优先级子程序返回地址出栈

POP ACC

MOV DPTR, #LABEL2

PUSH DPL ;将LABLE2,即需要返回的主程序地址入栈

PUSH DPH

RETI

阅读全文

与DPL电路相关的资料

热点内容
京东维修小米电视要多久 浏览:863
荣威350变速箱保修期是多少年 浏览:83
负跨导电路 浏览:564
巴夏家具价位怎么样 浏览:692
海尔燃气热水器维修电话 浏览:998
涂膜防水一天能做多少 浏览:579
福建福州电话维修电话 浏览:493
华为维修点登封 浏览:256
上海正规家具包括什么 浏览:929
汉阳区三星手机维修点 浏览:673
怡丰城小米之家电话是多少 浏览:136
国家电网学籍验证报告没上传怎么办 浏览:72
帝标家具好吗 浏览:614
电路板单面板 浏览:834
未检查电路 浏览:545
灯具和家具有什么区别 浏览:110
东莞连锁酒店家具怎么选 浏览:122
北碚买家具 浏览:382
东莞导航仪维修点 浏览:500
重庆大金维修售后 浏览:148