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

📄 dx61030j.asm

📁 电动广告灯箱控制器程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;使用前定义常量
	diao	equ	p1.2
	zang	equ	p1.1
	deng	equ	p1.0
	;低电平开继电器!!
;************* 电机控制**********************
	zong	equ	p0.0
        ;低电平有效!!
        ;p0为LED显示位
;*************led****************************
	shan	equ	p3.2
	xia	equ	p3.3
	tin	equ	p3.5
;************传感器位************************
	dat	equ	p1.3
	clk2	equ	p1.4
	set2	equ	p1.5
;************数码显示************************
	rs485	equ	p3.6
	wdt	equ	p3.7	                            ;whach dog
;**************看门狗*************************
	ACK	BIT	10H	                            ;应答标志位变量
	SLA	DATA	44H	                            ;器件从地址变量
	SUBA	DATA	45H	                            ;器件子地址变量 
	NUMBYTE	DATA	46H	                            ;读/写的字节数变量
;****************IIC软件包********************
;使用前定义常量
	SDA	EQU	P1.7	                            ; real time I2C总线定义
	SCL	EQU	P1.6
;MTD		EQU     30H		;发送数据缓冲区首址 (缓冲区30H-3FH) 
;MRD		EQU     40H		;接收数据缓冲区首址 (缓冲区40H-4FH),
;***************real time**************************
;定义器件地址(real time)
;CSI24WCXXr  	EQU  	0A0H
;**************************************************
;使用前定义常量
;SDA     EQU    P2.6  		;24c02 I2C总线定义
;SCL     EQU  	P2.7
	MTD	EQU	58H	                            ;发送数据缓冲区首址                     ;发送数据缓冲区1首址 (缓冲区50H) 8
	MRD	EQU	50H	                            ;接收数据缓冲区首址                     ;接收数据缓冲区1首址 (缓冲区57H) 8
;******************24c02******************************

;定义器件地址
;CSI24WCXX  	EQU  	0A0H
;******************24c02器件地址***** *****************
	ORG	0000H
	lJMP	MAIN
        	
MAIN:	nop
	nop
	nop
	cpl	wdt	                                    ;为喂狗
	MOV	R4, #0F0H	                            ;/////延时,等待其它芯片复位好 
	DJNZ	R4, $
	mov	20h, #00h	                            ;00h-功能标志/01h-加键标志
            ;/02h-减键标志/03h-确认标志/04h-设置运行标志
            ;/05h-调头光标/06h-暂停光标/07h-软超光标
	mov	21h, #00h	                            ;08h-时钟修改/09h-硬超光标/0ah-电机正反
            ;/0bh-电机启动延迟标记/0ch-照明1比较/0dh-电机1比较
            ;/0eh-照明2比较/0fh-电机2比较
	mov	22h, #00h	                            ;10h-应答标志位变量/11h-电机启动延迟标志
            ;/12h-读数据出错标志/13h-读运行出错标志/14h运行出错执行标志
            ;/15h-首次启动AD标志/16h电机启动计时,30秒停电机___
            ;并设置标志16h_不执行小时间比较
            ;                       /17h
	mov	23h, #00h	                            ;状态显示
            ;/
	mov	24h, #00h	                            ;秒寄存器
	mov	25h, #20h	                            ;分
	mov	26h, #14h	                            ;时
            ;shijian
	mov	27h, #00h	                            ;照明1开分
	mov	28h, #18h	                            ;照明1开时
	mov	29h, #00h	                            ;照明1关分
	mov	2ah, #22h	                            ;照明1关时
            ;deng1
	mov	2bh, #00h	                            ;电机1开分
	mov	2ch, #08h	                            ;电机1开时
	mov	2dh, #00h	                            ;电机1关分
	mov	2eh, #18h	                            ;电机1关时
            ;ji1
	mov	2fh, #00h	                            ;秒换存储器
            ;biaozhi ***
	mov	30h, #00h	                            ;照明2开分
	mov	31h, #00h	                            ;照明2开时
	mov	32h, #00h	                            ;照明2关分
	mov	33h, #00h	                            ;照明2关时
            ;deng2
	mov	34h, #00h	                            ;电机2开分
	mov	35h, #00h	                            ;电机2开时
	mov	36h, #00h	                            ;电机2关分
	mov	37h, #00h	                            ;电机2关时
            ;ji2
	mov	38h, #10h	                            ;展示分======
	mov	39h, #00h	                            ;展示时
            ;zhangshi
	mov	3ah, #00h	                            ;展示计数分
	mov	3bh, #00h	                            ;展示计数时
            ;3ch:硬超AD/  3dh:软超AD/  3eh:暂停AD/  3fh:调头AD/
        
	mov	40h, #00h	                            ;功能记数
	mov	41h, #00h                                   ;健值保存
	mov	42h, #0ffh	                            ;
	mov	43h, #00h	                            ;主程序延迟读时钟
            ;44h:从地址  /45h:子地址  /46h:字节数  /
	mov	47h, #00h	                            ;
	mov	48h, #0fh	                            ;上下标志寄存器
                                   ;0ah电机上下标志
	mov	49h, #00h	                            ;红外识别允许延迟寄存器
                                   ;0bh红外识别允许标志
	mov	4ah, #00h	                            ;大时间比较暂存分
	mov	4bh, #00h	                            ;大时间比较暂存时
            ;4ch:显示缓冲1/4dh:显示缓冲2/4eh:XX显示缓冲3/4fh:XX
            ;58H		;发送数据缓冲区1首址 (缓冲区50H) 8
            ;50H		;接收数据缓冲区1首址 (缓冲区57H) 8
	mov	60h, #00h	                            ;4dh;单画面超时计时 
	mov	61h, #00h	                            ;4eh;严重超时 计时  
	mov	sp, #62h	                            ;设置堆栈
	;*****功能测试区,最后将删除****************************
	;setb	diao
	;clr	diao
	;setb	zang
	;clr	zang
	;setb	deng
	;clr	deng
	;lcall	Wds1307   ;测试时钟芯片用初始化程序,
        ;*******************************************************
	;lcall	baocunsj                                    ;保存数据,正式运行时不需要 
	LCALL	shujuhuifu	                            ;数据从时钟芯片恢复
	;**********确定上下方向*******
	mov	a, 48h	                                    ;上下标志寄存器
	cjne	a, #0fh, djshan
	setb	diao
	sjmp	extsx
djshan:	clr	diao
extsx:	nop
	lcall	DELALL	                                    ;调用长延迟程序
	lcall	DELALL	                                    ;调用长延迟程序
	lcall	DELALL	                                    ;调用长延迟程序
	clr	zang	                                    ;启动电机
	;clr	deng
	;*****************************
	nop	                                            ;

;**************************************
main1:	nop	                                            ;主程序        
	inc	43h	                                    ;低速读取时钟
	mov	a, 43h
	cjne	a, #50h, kuaipr
	mov	43h, #00h

	lcall	rds1307	                                    ;读时钟芯片
	lcall	sjtq	                                    ;提取时间
	lcall	miaojs	                                    ;秒记数,展示时间计时/调大时间比较
	lcall	zonden	                                    ;总开,灯开控制
	lcall	bijiaox	                                    ;小时间比较
kuaipr:	nop
	lcall	hmydpd	                                    ;画布移动判断
	lcall	gbzhix	                                    ;光标_执行,电机驱动
        ;**********
        lcall	jianpan	                                    ;键盘程序
	lcall	jianzhi	                                    ;键值处理程序
	lcall   shujujk                                     ;数据监控
	LCALL	sjzb	                                    ;显示数据准备
	LCALL	show	                                    ;显示程序
	;**********
	cpl	wdt	                                    ;为喂狗
	;nop
	;lcall   DELALL
	;lcall   DELALL
	;lcall   DELALL
	;lcall   DELALL
	SJMP	main1
;****************************************
;p2口键盘程序-存放41H
jianpan:	nop
	
exjp:	nop
	RET
;****************************************         
;键值处理程序
jianzhi:	nop

jz8:	nop	                                            ;退出键值处理
	ret
;**************************************************
;时加键处理
shijia:	nop
	MOV	A, 40H
	CJNE	A, #00H, sjia_10
	;手动上处理程序
   ;******
sjia_10:
	;JNB	01H, sjia_22	                    ;是否为设置状态
	mov	a, 40h
	cjne	a, #01h, sjia_11
	MOV	A, 25H	                                    ;时间
	ADD	A, #01H
	DA	A
	MOV	25H, A
;sjia_22:	
        ajmp	sjia_21

sjia_11:	MOV	A, 40h
	CJNE	A, #02H, sjia_12
	MOV	A, 27H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	27H, A
	ajmp	sjia_21

sjia_12:	MOV	A, 40h
	CJNE	A, #03H, sjia_13
	MOV	A, 2bH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2bH, A
	ajmp	sjia_21

sjia_13:	MOV	A, 40h
	CJNE	A, #04H, sjia_14
	MOV	A, 2dH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2dH, A
	ajmp	sjia_21

sjia_14:	MOV	A, 40h
	CJNE	A, #05H, sjia_15
	MOV	A, 2fH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2fH, A
	ajmp	sjia_21

sjia_15:	MOV	A, 40h
	CJNE	A, #06H, sjia_16
	MOV	A, 31H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	31H, A
	ajmp	sjia_21

sjia_16:	MOV	A, 40h
	CJNE	A, #07H, sjia_17
	MOV	A, 33H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	33H, A
	ajmp	sjia_21

sjia_17:	MOV	A, 40h
	CJNE	A, #08H, sjia_18
	MOV	A, 35H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	35H, A
	ajmp	sjia_21

sjia_18:	MOV	A, 40h
	CJNE	A, #09H, sjia_19
	MOV	A, 37H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	37H, A
	ajmp	sjia_21

sjia_19:	MOV	A, 40h
	CJNE	A, #0aH, sjia_20
	MOV	A, 39H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	39H, A
	ajmp	sjia_21

sjia_20:	MOV	A, 40h
	CJNE	A, #0bH, sjia_20_1
	MOV	A, 3bH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	3bH, A
	ajmp	sjia_21

sjia_20_1:MOV	A, 40h
	CJNE	A, #0cH, sjia_21
	MOV	A, 3dH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	3dH, A
	;ajmp	sjia_21

sjia_21:
	nop
	ret
;**************************************************
;时减键处理
shijian:	nop
	MOV	A, 40H
	CJNE	A, #00H, JIANX0
	;手动下处理
   ;******
JIANX0:	
        ;JNB	01H, JIANX12	                            ;是否为设置状态
	MOV	A, 40H
	CJNE	A, #01H, JIANX1
	MOV	R7, 25H
	LCALL	JIANY
	MOV	25H, R7
;JIANX12:	
        AJMP	JIANX11     ;推出
JIANX1:	MOV	A, 40H
	CJNE	A, #02H, JIANX2
	MOV	R7, 27H
	LCALL	JIANY
	MOV	27H, R7
	AJMP	JIANX11
JIANX2:	MOV	A, 40H
	CJNE	A, #03H, JIANX3
	MOV	R7, 2bH
	LCALL	JIANY
	MOV	2bH, R7
	AJMP	JIANX11
JIANX3:	MOV	A, 40H
	CJNE	A, #04H, JIANX4
	MOV	R7, 2dH
	LCALL	JIANY
	MOV	2dH, R7
	AJMP	JIANX11
JIANX4:	MOV	A, 40H
	CJNE	A, #05H, JIANX5
	MOV	R7, 2fH
	LCALL	JIANY
	MOV	2fH, R7
	AJMP	JIANX11
JIANX5:	MOV	A, 40H
	CJNE	A, #06H, JIANX6
	MOV	R7, 31H
	LCALL	JIANY
	MOV	31H, R7
	AJMP	JIANX11
JIANX6:	MOV	A, 40H
	CJNE	A, #07H, JIANX7
	MOV	R7, 33H
	LCALL	JIANY
	MOV	33H, R7
	AJMP	JIANX11
JIANX7:	MOV	A, 40H
	CJNE	A, #08H, JIANX8
	MOV	R7, 35H
	LCALL	JIANY
	MOV	35H, R7
	AJMP	JIANX11
JIANX8:	MOV	A, 40H
	CJNE	A, #09H, JIANX9
	MOV	R7, 37H
	LCALL	JIANY
	MOV	37H, R7
	AJMP	JIANX11
JIANX9:	MOV	A, 40H
	CJNE	A, #0aH, JIANX10
	MOV	R7, 39H
	LCALL	JIANY
	MOV	39H, R7
	AJMP	JIANX11
JIANX10:	MOV	A, 40H
	CJNE	A, #0bH, JIANX10_1
	MOV	R7, 3bH
	LCALL	JIANY
	MOV	3bH, R7
	AJMP	JIANX11
JIANX10_1:	MOV	A, 40H
	CJNE	A, #0cH, JIANX11
	MOV	R7, 3dH
	LCALL	JIANY
	MOV	3dH, R7
	;AJMP	JIANX11
JIANX11:	nop
	ret
;**********减一子程序
JIANY:	MOV	A, R7
	jz	js1_1	                                    ;为○跳转
	DEC	A
 		 ;********
	ANL	A, #0FH
	CJNE	A, #0FH, TT1_1	                            ;&&
	MOV	A, R7
	DEC	A	                                    ;2002.10.10
	ANL	A, #0F0H
	ADD	A, #09H
	SJMP	T1_1
TT1_1:	MOV	A, R7
	DEC	A
 		 ;********
T1_1:	NOP
	ADD	A, #00H
	DA	A
js1_1:	MOV	R7, A
	RET
;**************************************************
;分加键处理
fenjia:	nop
	MOV	A, 40H
	CJNE	A, #00H, fjia_10
	;手动下处理程序
   ;******
fjia_10:	;jnb	01h, fjia_22
	mov	a, 40h
	cjne	a, #01h, fjia_11
	MOV	A, 24H	                                    ;时间
	ADD	A, #01H
	DA	A
	MOV	24H, A
;fjia_22:	
        AJMP	fjia_21	                            ;
fjia_11:	MOV	A, 40h
	CJNE	A, #02H, fjia_12
	MOV	A, 26H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	26H, A
	AJMP	fjia_21
fjia_12:	MOV	A, 40h
	CJNE	A, #03H, fjia_13
	MOV	A, 2aH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2aH, A
	AJMP	fjia_21
fjia_13:	MOV	A, 40h
	CJNE	A, #04H, fjia_14
	MOV	A, 2cH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2cH, A
	AJMP	fjia_21
fjia_14:	MOV	A, 40h
	CJNE	A, #05H, fjia_15
	MOV	A, 2eH	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	2eH, A
	AJMP	fjia_21
fjia_15:	MOV	A, 40h
	CJNE	A, #06H, fjia_16
	MOV	A, 30H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	30H, A
	AJMP	fjia_21
fjia_16:	MOV	A, 40h
	CJNE	A, #07H, fjia_17
	MOV	A, 32H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	32H, A
	AJMP	fjia_21
fjia_17:	MOV	A, 40h
	CJNE	A, #08H, fjia_18
	MOV	A, 34H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	34H, A
	AJMP	fjia_21
fjia_18:	MOV	A, 40h
	CJNE	A, #09H, fjia_19
	MOV	A, 36H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	36H, A
	AJMP	fjia_21
fjia_19:	MOV	A, 40h
	CJNE	A, #0aH, fjia_20
	MOV	A, 38H	                                    ;时间
	NOP
	ADD	A, #01H
	DA	A
	MOV	38H, A

⌨️ 快捷键说明

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