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

📄 test.asm

📁 使用164和165驱动16个键盘拨码开关和8段数码管显示
💻 ASM
字号:
;=================================================
;用IO口驱动2片164来驱动5位LED作为显示(完成)
;用IO口驱动2片165来级联键盘(完成)
;与电脑串行通讯(完成)
;串行通讯(未测试)
;标度变换(未测试)
;=================================================
CLK1    EQU     P2.3
Q7      EQU     P2.4
PL		EQU		P2.2					;74HC165
CLKIN	EQU		P2.5
;=================================================
CLK 	EQU 	P2.0
DAT 	EQU		P2.1					;74HC164
;=================================================
DE		BIT	P1.1						;75176

		ORG	0000H
		AJMP MAIN
		ORG	0100H

;===================
;主函数
;===================
MAIN:	
	MOV	SP,#60H

;===================
;初始化
;===================
INIT:
	LCALL KEY_SCAN
	LCALL AJZH
	MOV A,R4
	LCALL DISP 
	LJMP INIT

		
;====================
;数码管显示
;====================
DISP:					 
	MOV R3,#8
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
LOOP01:
	CLR CLK
	RRC A
	MOV DAT,C
	SETB CLK
	DJNZ R3,LOOP01
	RET
;=====================
;键盘扫描
;=====================
KEY_SCAN:
	MOV	R0,#20H
	MOV	R1,#2
	MOV	R2,#8
	MOV R3,#08H
	MOV A,#00H
	SETB	CLKIN
	CLR	PL
	NOP
	NOP
	SETB	PL
	CLR	CLKIN     
KEY_SCAN1:
	MOV	C,Q7
 	RRC	A
    CLR	CLK1
	NOP
	NOP
	SETB CLK1
	DJNZ R2,KEY_SCAN1
	MOV	R2,#8
    MOV	@R0,A
	INC	R0
	DJNZ R1,KEY_SCAN1
	RET
;===========================
;判断键值
;===========================
AJZH:  
	MOV	A,20H
	CJNE A,#00H,AJZH1
	MOV	A,21H
	CJNE A,#00H,AJZH1
	LCALL KEY_SCAN
	AJMP AJZH
AJZH1:    
	MOV	R4,#0
	MOV	R1,#2
	MOV	R2,#8
	MOV	A,20H
AJZH2:
	RLC	A
	INC	R4
	JC	AJZH3
    DJNZ R2,AJZH2
	MOV	R2,#8
	MOV	A,21H
	DJNZ R1,AJZH2
AJZH3:
	LCALL KEY_WAIT	
	RET
;====================
;等待按键释放
;====================
KEY_WAIT:
	MOV	A,20H
	CJNE A,#00H,KEY_WAIT_LOOP
	LJMP KEY_WAIT1
KEY_WAIT_LOOP:
	LCALL KEY_SCAN
	LJMP KEY_WAIT
KEY_WAIT1:
	MOV	A,21H
	CJNE A,#00H,KEY_WAIT_LOOP

	RET

	            
;==============================
;延时函数(200mS)
;==============================
DELAY:
	MOV	R7,#2
DELAY1:
	MOV R6,#200
DELAY2:
	MOV R5,#255
	DJNZ R5,$
    DJNZ R6,DELAY2
	DJNZ R7,DELAY1
    RET
;===============================
;数据表
;===============================

TAB: 
DB 0FFH,003H,09FH,025H,00DH,099H,049H,041H,01FH,001H,009H,011H,0C1H,063H,085H,061H,071H,0D5H

DATA11:
DB '大和制衡产业有限公司  研发部  竭诚为您服务  0417-4892158    '

END


⌨️ 快捷键说明

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