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

📄 clock1.asm

📁 智能LED电子钟源代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
			;***************
			;clock1 _program  2000-5-20
			;***************

			key_power  equ 08h
			timers     equ key_power+1
	;**************************************************		
			min        equ timers+2h
			hour       equ timers+3h
			week       equ timers+4h
			day        equ timers+5h
			mou        equ timers+6h
			
			al1_m        equ  timers+7h
			al1_h        equ  al1_m+1h
			al2_m        equ  al1_m+2h
			al2_h        equ  al1_m+3h  ;ram addres at 14h
			sec          equ  al2_h+1h
		        timer_no     equ  sec+1h
			year         equ  timer_no+1h
	;*************************************************	
			
			
			time_led1  equ 24h
			time_led2  equ time_led1+1
			time_led3  equ time_led2+1
	      		 
			led1        equ  time_led3+1h
			led2        equ led1+1
		        led3        equ led2+1
			led4        equ led3+1
		        led5        equ led4+1
		
			seach_led    equ   led5+1h
			seach_key    equ   seach_led+1h
			seach_set    equ   seach_key+1h
			moue_2       equ   seach_set+1h 			
			beep_timer   equ   moue_2+1h
			flash        equ   beep_timer+1h
			set_timer    equ   flash+1h			
			
			
		        led_1     bit p3.7
		        led_2     bit p3.5
		        led_3     bit p3.4
		        led_4     bit p3.3
		        led_5     bit p3.2
		    	
		    	
		       HA         BIT P3.0
		       key_f      bit p3.1
		       
	
			
			timer_50ms  bit  00h
			timer_1s    bit  01h
			timer_3s    bit  03h
		;	timer_20s   bit  04h
			timer_1min  bit  05h
			timer_10min bit  06h
			
			timer_am    bit  07h
			key_set_f   bit  08h
			sec_flash_f bit  key_set_f+1h
			c_f         bit  sec_flash_f+1h			
			date_f      bit  c_f+1h			
			stop_f	    bit date_f+1h
			adj_f       bit stop_f+1h
			all1_am     bit adj_f+1h			
			al_f        bit all1_am+1h
			al_out_f    bit al_f+1h
			c_temp      bit al_f+2h			
						       
			tih       equ   3ch   ;9e58h  6MHz
			til       equ   0b0h  ;3cb0h 12MHz		       
		        tis       equ   10d   ;19d  12MHz, 9d 6MHz
		        ti_no     equ   3h
		        
			led_blk equ   0ah			
			led_c   equ   0bh			
			led_e	equ   0ch		
			
			
			oRG  0000H;            ;
			     sJMP start            
			ORG  0003H;            ;
			     reti;
			ORG  000BH             ;
			     reti           ;
			ORG  0013H    
			     reti              ;
			ORG  001BH             ;
			     aJMP T1        ;
			ORG  0023H             ;
			    RETI; AJMP RS_485             ;
			
			
;**************************************
;**************************************                      
start:   

	       MOV R7,#78h       ;
		MOV R0,#07H       ;
		CLR A             ;
CR:             INC R0            ;
		MOV @R0,A         ;
                djnz r7,cr        ;CLR RAM
                MOV SP,#3aH       ;
		 clr ea

;************** INT_CTRL

        
		; SETB ie0          ;  
		; SETB EX0          ;
		; SETb ex1          ;
		 setB ET0          ;
		 SETB ET1          ;
		; SETB IT0          ;
		; setb IT1          ;
		 MOV TMOD,#00010001b     ;
		 MOV TH1,#tih
		 mov tl1,#til
		 mov th0,#00h
		 mov tl0,#00h
		
;***********RS_CTRL

    ; MOV SCON,#00H     ;

;*****************
;   MINI_Pragram
;*****************
mov timers,#tis		               
mov sec,#00d
mov hour ,#12d
mov min ,#00d
mov day ,#1d
mov mou ,#01d
mov week ,#01d
mov timer_no,#ti_no
mov year,#00h
mov beep_timer,#8d


mov al1_m,#00d
mov al1_h,#7d
mov al2_m,#10d
mov al2_h,#13d
setb al_out_f
setb tr1
setb ea

STAR_BI:
	  acall led_jmp_1;led_times
          aCALL KEY_1
	  acall al_out_beep  	  		  	

sjmp star_bi	
;;;;;;;;;;;;;;;;;
	   
;****************************
; key_pragm
;****************************

KEY_1:          
		clr led_1
		clr led_2
		clr led_3
		clr led_4
		clr led_5
		mov p1,#0ffh
		clr key_f
		mov a,p1
		setb key_f
		anl a ,#11000000b
		cjne a,#11000000b,you_key_1
key_e:
	        
	        setb led_1
	        setb led_2
	        setb led_3
	        setb led_4
	        setb led_5
	 	mov p1,#0ffh       
	        mov key_power,#00h
	
key_1_end:	

		ret

			
you_key_1:		
		setb key_f
		
		lcall led
		
		clr led_1
		clr led_2
		clr led_3
		clr led_4
		clr led_5
		mov p1,#0ffh
		clr key_f
		mov a,p1
		setb key_f
		anl a ,#11000000b
		cjne a,#11000000b,you_key_2
	        
		sjmp key_e

you_key_2:     jb acc.7 ,key_set
		mov key_power,#01h
key_set:       jb acc.6 ,you_key_3							
		mov key_power,#02h
		
you_key_3:	
		
		setb key_f
		acall led
		clr led_1
		clr led_2
		clr led_3
		clr led_4
		clr led_5
		mov p1,#0ffh

		clr key_f
		mov a,p1
		setb key_f
		anl a ,#11000000b
		cjne a,#11000000b,you_key_3

		setb key_f	
	        
	        setb led_1
	        setb led_2
	        setb led_3
	        setb led_4
	        setb led_5
	 	mov p1,#0ffh       
		

		mov b,#08h
	bb_1:	clr ha
		push b
		setb key_f
		acall led
		pop b
		djnz b ,bb_1
		setb ha
;******************************************
		mov dptr,#key_ord_1
		mov a,key_power
		mov b,#03h;!!!!!!!!!!!!!!!
		mul ab
		jmp @a+dptr
		
key_ord_1:      ljmp key_k0_0
		ljmp key_k1_0
		ljmp key_k2_0
	
key_k0_0:    ;no key 
		ajmp key_1_end

key_k1_0:   ;seach and up key
		mov a,seach_set
		jz k_seach
;*****************************************

		mov r0,time_led2
		mov a,@r0
		clr acc.7

		
		inc a
		mov r3,a
						
		mov dptr,#led_order_2
		mov a,seach_set
		movc a,@a+dptr
		mov b,a
		mov a,r3
		cjne a ,b ,pp_1				

		mov dptr,#led_order_3
		mov a,seach_set
		movc a,@a+dptr

pp_1:		
		setb acc.7		
		mov @r0 ,a
	       
pp_2:   
	        ajmp key_1_end


k_seach:
		inc seach_led
		mov a,seach_led
		cjne a ,#08h ,ks_1
		clr timer_3s
		mov seach_led,#00h
ks_1:
		ajmp key_1_end

;*************************************
key_k2_0:       ;set key    
		mov r0,time_led2
		mov a,@r0
		clr acc.7
		mov @r0,a
		
				
		inc seach_set
		mov a,seach_set
		cjne a,#0dh ,se_1		
		mov seach_set,#00h
			
se_1:
		mov b,#min
		mov a,seach_set
		add a,b
		dec a
		mov r0,a
		mov a,@r0
		setb acc.7
		mov @r0,a
		mov a,r0
		mov time_led2,a
		
		mov dptr,#led_order_1
		mov a,seach_set
		movc a,@a+dptr
		mov seach_led,a
		
		ajmp key_1_end


;******************************************** led
led_jmp_1:

		mov dptr,#led_ord_3
		mov a,seach_led;data
		mov b,#02h
		mul ab
		jmp @a+dptr
		
led_ord_3:      ajmp led_k0_2
		ajmp led_k1_2
		ajmp led_k2_2
		ajmp led_k3_2
		ajmp led_k4_2
		ajmp led_k5_2
		ajmp led_k6_2
		ajmp led_k7_2
		
led_k0_2:    ;   timer and date to led
		acall timer_led1
		jnb timer_3s, led_k0_21
		acall date_led1
led_k0_21:   
		ajmp led_jmp_5_end

led_k1_2:    ;  timer to led
		acall timer_led1
		ajmp led_jmp_5_end

led_k2_2:       ;date to led 
		acall date_led1
	;	clr sec_flash_f

		ajmp led_jmp_5_end

led_k3_2:       ;al1 to led
		acall al1_led1
		
		ajmp led_jmp_5_end

led_k4_2:       ;al2 to led
		acall al2_led1
		ajmp led_jmp_5_end

led_k5_2:       ; turn off led
		acall sec_led
		ajmp led_jmp_5_end

led_k6_2:       ;
		acall wei_ti 
		ajmp led_jmp_5_end

led_k7_2:       ; turn off led
		acall year_led

led_jmp_5_end:  
		acall led
	        ret

timer_led1:
		mov a,min

		mov c,acc.7
		mov a,flash
		mov acc.1,c
		mov acc.2,c
		mov flash,a
		mov a,min
		clr acc.7

		acall bcd_8
		mov led1,a
		mov a,b
		mov led2,a
		
		;;;;;;;;;;;;;;;
		mov a,hour
		mov c,acc.7
		mov a,flash
		mov acc.3,c
		mov acc.4,c
		mov flash,a
		mov a,hour
		clr acc.7
		acall bcd_8
		mov led3,a
		mov a,b

		jnz tt_2
		
tt_1:		mov a,#led_blk
tt_2:
		mov led4,a

		mov a,week		
		mov c,acc.7
		mov a,flash
		mov acc.5,c
		mov flash,a
		mov a,week
		clr acc.7

		mov led5,a
		;;;;;;;;;;;;;;;;;;;
		mov c,timer_1s
		mov a,flash
		mov acc.0,c
		mov flash ,a
		ret
date_led1:
		mov a,day

		mov c,acc.7
		mov a,flash
		mov acc.1,c
		mov acc.2,c
		mov flash,a
		mov a,day
		clr acc.7
		acall bcd_8
		mov led1,a
		mov a,b
		jz kk_1
		mov led2,a
		sjmp kk_2
kk_1:
		mov led2,#led_blk
kk_2:
		mov a,mou
		mov c,acc.7
		mov a,flash
		mov acc.3,c
		mov acc.4,c
		mov flash,a
		mov a,mou
		clr acc.7

		lcall bcd_8

		mov led3,a
		mov a,b
		jnz ke_1 
		mov led4,#led_blk
		sjmp ke_2
ke_1:		
		mov led4,a
ke_2:		
		mov a,week
		mov c,acc.7
		mov a,flash
		mov acc.5,c
	;	mov acc.4,c
		mov flash,a
		mov a,week
		clr acc.7
		mov led5,a
		
		
	;	setb date_f
		
		
		mov a,flash
		setb acc.0
		mov flash,a
		
		
		ret

al1_led1:
		mov a,al1_m
		mov c,acc.7
		mov a,flash
		mov acc.1,c
		mov acc.2,c
		mov flash,a
		mov a,al1_m
		clr acc.7

		lcall bcd_8

		mov led1,a
		mov a,b
		mov led2,a
		;;;;;;;;;;;;
		mov a,al1_h
		mov c,acc.7
		mov a,flash
		mov acc.3,c
		mov acc.4,c
		mov flash,a
		mov a,al1_h
		clr acc.7
		acall bcd_8
		mov led3,a
		mov a,b
		jnz tt_6
tt_5:		mov a,#led_blk

tt_6:	        
		mov led4,a

		mov led5,#01h
		
		mov a,flash
		clr acc.0
		mov flash,a
	
		ret
al2_led1:

		mov a,al2_m
		mov c,acc.7
		mov a,flash
		mov acc.1,c
		mov acc.2,c
		mov flash,a
		mov a,al2_m
		clr acc.7

⌨️ 快捷键说明

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