>> 点击图片进入产品描述
一、硬件接线(按键开关参考提供的接线图):
①. 6路输入信号: X0~X5接6个按键开关(当然也可以接接近开关等感应器)
②. 6路输出控制: Y10~Y15
继电器输出(可以不接负载,观察6个输出指示灯)
二、功能测试实验:
①. 用X0~X5的6个按键开关分别对应控制Y10~Y15的6个
继电器吸合与释放:
②. 比如: 按一下X0,
继电器Y10吸合,再按一下Y10释放;
其他按键控制对应
继电器通/断,各个按键可单独操作,互不影响。
三、其他事项:
请您看透随套件提供的电路图(提供的是完整的),当中也有描述对应的单片机各端口。
;===============================================================================================
;程序名称: 控制6路
继电器测试 ( 汇编A51 )
;产品型号: XY-30MR_T单片机工控板,采用STC89C54RD+、晶体22.1184M(为的是串口通信时适合的波特率)
;程序说明: 测试6路输入对应控制6路
继电器输出状态.
;程序设计: 月夜听风(QQ:479780666) 程序出处: http://www.mcusy.cn
;===============================================================================================
;--------XY-30MR_T输入接口定义-根据电路板接口符号---------
X0 EQU P1.0
X1 EQU P1.1
X2 EQU P1.2
X3 EQU P1.3
X4 EQU P1.4
X5 EQU P1.5
;--------XY-30MR_T输出接口定义-根据电路板接口符号---------
Y10 EQU P0.0
Y11 EQU P0.1
Y12 EQU P0.2
Y13 EQU P0.3
Y14 EQU P0.4
Y15 EQU P0.5
ORG 00H
AJMP MAIN
ORG 0030H
;------------------------主程序----------------------------
MAIN:
JNB X0,NEXT_0 ;若X0键被按下,转到NEXT_0
JNB X1,NEXT_1 ;若X1键被按下,转到NEXT_1
JNB X2,NEXT_2 ;若X2键被按下,转到NEXT_2
JNB X3,NEXT_3 ;若X3键被按下,转到NEXT_3
JNB X4,NEXT_4 ;若X4键被按下,转到NEXT_4
JNB X5,NEXT_5 ;若X5键被按下,转到NEXT_5
AJMP MAIN ;返回MIAN重测
;----------------处理X0~X5按键及输出判断-------------------
NEXT_0: ;--执行X0键被按下的处理
ACALL DELAY ;稍延时/X0防抖
JNB X0,$ ;是否放开X0按键?
JNB Y10,L0 ;若
继电器Y10已吸合,转到L0,否则向下执行
AJMP MAIN
NEXT_1: ;--执行X1键被按下的处理
ACALL DELAY
JNB X1,$ ;稍延时/X1防抖
JNB Y11,L1 ;若
继电器Y11已吸合,转到L1,否则向下执行
CLR Y11 ;
继电器Y11吸合 >>以下解释相同<<
AJMP MAIN
NEXT_2:
ACALL DELAY
JNB X2,$
JNB Y12,L2
CLR Y12
AJMP MAIN
NEXT_3:
ACALL DELAY
JNB X3,$
JNB Y13,L3
CLR Y13
AJMP MAIN
NEXT_4:
ACALL DELAY
JNB X4,$
JNB Y14,L4
CLR Y14
AJMP MAIN
NEXT_5:
ACALL DELAY
JNB X5,$
JNB Y15,L5
CLR Y15
;----------处理Y10~Y15的输出,对端口恢复高电平1------------
L0:
ACALL DELAY ;稍延时/防抖
JNB X0,$ ;是否放开X0按键?
AJMP MAIN ;返回MIAN重来
L1:
ACALL DELAY ;稍延时/防抖
JNB X1,$ ;是否放开X1按键?
AJMP MAIN ;返回MIAN重来 >>以下解释相同<<
L2:
ACALL DELAY
JNB X2,$
SETB Y12
AJMP MAIN
L3:
ACALL DELAY
JNB X3,$
SETB Y13
AJMP MAIN
L4:
ACALL DELAY
JNB X4,$
SETB Y14
AJMP MAIN
L5:
ACALL DELAY
JNB X5,$
SETB Y15
AJMP MAIN
;-----------------------延时子程序------------------------
DELAY:
MOV R5,#25
D3: MOV R6,#248
DJNZ R6,$
DJNZ R5,D3
RET
END