⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_key.asm

📁 周立功开发板源代码,里面包含了各种关于周立功dp51开发板的源代码
💻 ASM
字号:
;*******************************Copyright (c)********************************
;**                 广州周立功单片机发展有限公司研究所
;**                        http://www.zlgmcu.com
;********************************文件信息*************************************
;文件名:IO_Key.asm
;功能:使用DP-51S实验仪学习I/O作基本输入口及其仿真调试程序的基本方法
;说明:
;1.键盘K1、K2作为输入口使用,不断读取键盘输入的状态
;2.若K1键被按下,点亮发光管L9~L11,若K2被按下熄灭L9~L11,同时蜂鸣器发出提示声响
;3.正确设置跳线JP1使P1.0~P1.2分别与L9~L11相连,即把跳线置于上端
;4.正确设置跳线JP3使P3.3~P3.5分别与KEY1~KEY3相连,即把跳线置于上端
;5.注意领会软件实现的键盘去抖动的方法
;最后修改时间:2003年3月21
;*************************************************************************
		ORG	8000H			;伪指令,指定程序从8000H开始存放
		AJMP	MAIN			;跳转指令,程序跳转到MAIN处

		ORG	8100H			;伪指令,指定以下程序从8100H开始存放
MAIN:
		MOV	SP,#60			;给堆栈指针赋初值
TEST_KEY:	JB	P3.3,NEXT_KEY		;检测键盘K1是否按下
		ACALL	DELAY5MS		;调延时子程序出抖动
		JNB	P3.3,$			;检测按键K1是否放开
		ACALL	MUSIC
		CLR	P1.0			;本此按键有效,作出相应处理
		CLR	P1.1			;点亮发光管L9~L11
		CLR	P1.2
NEXT_KEY:	JB	P3.4,TEST_KEY		;检测键盘K2是否按下		
		ACALL	DELAY5MS		;调延时子程序出抖动
		JNB	P3.4,$			;检测按键K2是否放开
		ACALL	MUSIC
		SETB	P1.0			;本此按键有效,作出相应处理
		SETB	P1.1			;熄灭发光管L9~L11
		SETB	P1.2
		AJMP	TEST_KEY


;***********************
;蜂鸣器输出声响子程序
;**********************
MUSIC:
		MOV	R5,#40H			;控制音长
MIC:
		CPL	P1.3
		ACALL	DELAY100US		;控制音调
		DJNZ	R5,MIC
		RET

DELAY100US:
		MOV	R7,#0FFH
		DJNZ	R7,$
		RET


;********************
;延时去抖动子程序
;********************
DELAY5MS:
		MOV	R7,#90H
DELAY0:		MOV	R6,#80H
DELAY1:		DJNZ	R6,DELAY1
		DJNZ	R7,DELAY0
		RET
		;
		END


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -