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

📄 jdq.asm

📁 单片机开发板源程序适合初学者 第六部分 继电器输出控制
💻 ASM
字号:
;液晶板显示当前模拟电压
;  功能:数码显示0.20---2.00
;  作者:http://www.mcuprog.com
;        05-02-01
;***********************************************************
;***********************************************************
E		BIT	P2.2		;LCD口线的定义
RW		BIT	P2.1
RS		BIT	P2.0
LCDPORT		EQU	P0
JDQ		BIT	P3.6


CMD_BYTE	EQU	2EH
DAT_BYTE	EQU	2FH

KEYBIT		BIT	00H		;有按键按下标志
OUTEDBIT	BIT	01H		;输出开关位

KEYTIME		EQU	35H		;20MS扫一次按键
		ORG	0000H
		AJMP	MAIN
		ORG	000BH	
		AJMP	TIME0_1
;以下为主程序的开始
		ORG	0030H
MAIN:		
		MOV	20H,#00H
		LCALL	INITLCD
		MOV	KEYTIME,#04H
		MOV	CMD_BYTE,#80H		//设置DDRAM的地址
		LCALL	WRITE_CMD
		LCALL	DELAY0
		MOV	DAT_BYTE,#"S"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"T"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"A"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"T"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"E"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#":"
		LCALL	WRITE_DAT
		MOV	TH0,#0EEH	;16位的定时器,定时5MS
		MOV	TL0,#00H
		MOV	TMOD,#01H
		SETB	TR0
		MOV	IE,#82H		;定时器0中断
		SJMP	$
		


		ORG	0100H
TIME0_1:	MOV	TH0,#0EEH
		MOV	TL0,#00H
		DJNZ	KEYTIME,TIME0_RE
		MOV	KEYTIME,#04H	;每20MS进行一次按键扫描
		JB	P1.0,CLRKEYBIT
		JB 	KEYBIT,DPUSE
		SETB	KEYBIT
		CPL	OUTEDBIT
		CPL	JDQ
		AJMP	DPUSE
CLRKEYBIT:	CLR	KEYBIT	
DPUSE:		ACALL DISPSTATE
TIME0_RE:	RETI




;LCD1602要用到的一些子程序
;写命令(入口参数CMD_BYTE)
WRITE_CMD:	CLR	RS
		CLR	RW
		MOV	A,CMD_BYTE
		MOV	LCDPORT,A
		SETB	E
		NOP
		NOP
		CLR	E
		LCALL	DELAY0
		RET

;写显示数据(入口参数DAT_BYTE)
WRITE_DAT:	SETB	RS
		CLR	RW
		MOV	A,DAT_BYTE
		MOV	LCDPORT,A
		SETB	E
		NOP
		NOP
		CLR	E
		LCALL	DELAY0
		RET

;LCD显示初始化
INITLCD:	MOV	CMD_BYTE,#30H
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#30H
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#30H
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#38H		;设定工作方式
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#0CH		;显示状态设置
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#01H		;清屏
		LCALL	WRITE_CMD
		MOV	CMD_BYTE,#06H		;输入方式设置
		LCALL	WRITE_CMD		
		RET
;延时子程序
DELAY0:		MOV	R5,#0A0H
DELAY1:		NOP
		DJNZ	R5,DELAY1
		RET

;显示状态
DISPSTATE:	MOV	CMD_BYTE,#87H		//设置DDRAM的地址
		LCALL	WRITE_CMD
		JB	OUTEDBIT,OPEN
		MOV	DAT_BYTE,#"C"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"L"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"O"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"S"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"E"
		LCALL	WRITE_DAT
		RET
OPEN:		MOV	DAT_BYTE,#"O"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"P"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"E"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#"N"
		LCALL	WRITE_DAT
		MOV	DAT_BYTE,#" "
		LCALL	WRITE_DAT
		RET


		END	








⌨️ 快捷键说明

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