mov del1,#00d
mov del2,#00d
mov del3,#00d
mov del4,#00d
mov key_power,#01d
setb al_out_f
setb tr1
setb ea
setb timer_50ms
STAR_BI:
; setb flash_f
acall led_jmp_1;led_times
aCALL KEY_1
acall al_out_way
acall delay
sjmp star_bi
;;;;;;;;;;;;;;;;;
delay:
inc del3
mov a,del3
cjne a,#0ffh,del_1
mov del3,#00h
inc del4
mov a,del4
cjne a,#040h,del_1
mov del4,#00h
clr flash_f
clr set_f
del_1:
ret
;****************************
; key_pragm
;****************************
KEY_1:
mov p1,#00h
mov p3,#0ffh
clr key_f
mov a,p3
setb key_f
anl a ,#10000011b
cjne a,#10000011b,you_key_1
key_e:
mov p3,#0ffh
setb key_f
mov key_data,#00h
key_1_end:
ret
you_key_1:
mov del3,#0feh
mov del4,#0feh
setb key_f
mov b,#20h
lll_1:
push b
lcall led
pop b
djnz b ,lll_1
mov p1,#00h
mov p3,#0ffh
clr key_f
mov a,p3
setb key_f
anl a ,#10000011b
cjne a,#10000011b,you_key_2
sjmp key_e
you_key_2: jb acc.0 ,key_set
mov key_data,#01h
sjmp you_key_33
key_set: jb acc.1 ,you_key_3
mov key_data,#02h
sjmp you_key_33
you_key_3:
jb acc.7 ,you_key_33
mov key_data,#03h
sjmp you_key_33
you_key_33:
setb key_f
acall led
inc del1
mov a,del1
cjne a,#0ffh ,jhg_1
mov del1,#00h
inc del2
mov a,del2
cjne a,#08h ,jhg_1
mov del2,#00h
setb flash_f
setb set_f
; mov key_power,#01h
; mov key_data,#00h
jhg_1:
mov p1,#00h
mov p3,#0ffh
clr key_f
mov a,p3
anl a ,#10000011b
cjne a,#10000011b,you_key_33
setb key_f
mov p3,#0ffh
mov del1,#00h
mov del2,#00h
; acall beep
mov r6,#040h
bb_1:
;!!!!!!!!!!!!!!!!!!!!!!!!!!
clr ha
setb key_f
acall led
acall led
djnz r6 ,bb_1
setb ha
;******************************************
mov dptr,#key_ord_1
mov a,key_data
mov b,#03h;!!!!!!!!!!!!!!!
mul ab
jmp @a+dptr
key_ord_1: ljmp key_k0_0
ljmp key_k1_0
ljmp key_k2_0
ljmp key_k3_0
key_k0_0: ;no key
ajmp key_1_end
key_k1_0: ; key_3
acall key_3
ajmp key_1_end
key_k2_0: ; key_2
acall key_2
ajmp key_1_end
key_k3_0: ; key_1
inc key_power
mov a,key_power
cjne a,#08h ,io_1
mov key_power,#01h
io_1:
ajmp key_1_end
;**************************************
proc key_3
key_3:
mov dptr,#led_ord_3
mov a,key_power ;data
mov b,#02h
mul ab
jmp @a+dptr
led_ord_3: ajmp led_k0_2
ajmp led_k2_2
ajmp led_k1_2
ajmp led_k4_2
ajmp led_k3_2
ajmp led_k6_2
ajmp led_k5_2
ajmp led_k7_2
led_k0_2: ; nop
ajmp led_jmp_5_end
led_k1_2: ; al1 way off/on
cpl al1_f
jb flash_f ,tw_11
sjmp tw_21
tw_11:
mov c,al1_f
mov a,flash
mov acc.1 ,c
mov flash,a
tw_21:
ajmp led_jmp_5_end
led_k2_2: ;al1 timer
jb flash_f ,set_11
inc al1_min_t
mov a,al1_min_t
cjne a,#60 ,set_12
mov al1_min_t,#00h
set_12:
sjmp set_14
set_11:
inc al1_min
mov a,al1_min
cjne a,#60 ,set_14
mov al1_min,#00h
set_14:
ajmp led_jmp_5_end
led_k3_2: ;al2 way off/on
cpl al2_f
jb flash_f ,tw_12
sjmp tw_22
tw_12:
mov c,al2_f
mov a,flash
mov acc.2 ,c
mov flash,a
tw_22:
ajmp led_jmp_5_end
led_k4_2: ;al2 timer
jb flash_f ,set_21
inc al2_min_t
mov a,al2_min_t
cjne a,#60 ,set_22
mov al2_min_t,#00h
set_22:
sjmp set_24
set_21:
inc al2_min
mov a,al2_min
cjne a,#60 ,set_24
mov al2_min,#00h
set_24:
ajmp led_jmp_5_end
led_k5_2: ; al3 way off/on
cpl al3_f
jb flash_f ,tw_13
sjmp tw_23
tw_13:
mov c,al3_f
mov a,flash
mov acc.3 ,c
mov flash,a
tw_23:
ajmp led_jmp_5_end
led_k6_2: ;al3 timer
jb flash_f ,set_31
inc al3_min_t
mov a,al3_min_t
cjne a,#60 ,set_32
mov al3_min_t,#00h
set_32:
sjmp set_34
set_31:
inc al3_min
mov a,al3_min
cjne a,#60 ,set_34
mov al3_min,#00h
set_34:
ajmp led_jmp_5_end
led_k7_2: ; turn off/on
setb turn_f
led_jmp_5_end:
ret
end
;****************************************
proc key_2
key_2:
mov dptr,#led_ord_3
mov a,key_power ;data
mov b,#02h
mul ab
jmp @a+dptr
led_ord_3: ajmp led_k0_2
ajmp led_k2_2
ajmp led_k1_2
ajmp led_k4_2
ajmp led_k3_2
ajmp led_k6_2
ajmp led_k5_2
ajmp led_k7_2
led_k0_2: ; nop
ajmp led_jmp_5_end
led_k1_2: ; al1 way off/on
ajmp led_jmp_5_end
led_k2_2: ;al1 timer
jb flash_f ,set_311
inc al1_hour_t
mov a,al1_hour_t
cjne a,#20d ,set_321
mov al1_hour_t,#00h
set_321:
sjmp set_341
set_311:
inc al1_hour
mov a,al1_hour
cjne a,#20d ,set_341
mov al1_hour,#00h
set_341:
ajmp led_jmp_5_end
led_k3_2: ;al2 way off/on
ajmp led_jmp_5_end
led_k4_2: ;al2 timer
jb flash_f ,set_312
inc al2_hour_t
mov a,al2_hour_t
cjne a,#20d ,set_322
mov al2_hour_t,#00h
set_322:
sjmp set_342
set_312:
inc al2_hour
mov a,al2_hour
cjne a,#20d ,set_342
mov al2_hour,#00h
set_342:
ajmp led_jmp_5_end
led_k5_2: ; al3 way off/on
ajmp led_jmp_5_end
led_k6_2: ;al3 timer
jb flash_f ,set_313
inc al3_hour_t
mov a,al3_hour_t
cjne a,#20d ,set_323
mov al3_hour_t,#00h
set_323:
sjmp set_343
set_313:
inc al3_hour
mov a,al3_hour
cjne a,#20d ,set_343
mov al3_hour,#00h
set_343:
ajmp led_jmp_5_end
led_k7_2: ; turn off/on
led_jmp_5_end:
ret
end
;******************************************** led
proc led_jmp_1
led_jmp_1:
mov dptr,#led_ord_3
mov a,key_power ;data
mov b,#02h
mul ab
jmp @a+dptr
led_ord_3: ajmp led_k0_2
ajmp led_k2_2
ajmp led_k1_2
ajmp led_k4_2
ajmp led_k3_2
ajmp led_k6_2
ajmp led_k5_2
ajmp led_k7_2
led_k0_2: ; nop
setb flash_f
mov a,#89d
mov r7,#18d
acall timer_led1
clr flash_f
ajmp led_jmp_5_end
led_k1_2: ; al1 way off/on
mov led1 ,#0bh
jnb al1_f,aal_1
mov a,#0ch
mov led1,a
aal_1:
mov led3,#1d
mov led2,#led_blk
ajmp led_jmp_5_end
led_k2_2: ;al1 timer
jb flash_f ,led_M11
mov a,al1_min_t
mov r7,al1_hour_t
sjmp led_m21
led_m11:
mov a,al1_min
mov r7,al1_hour
led_m21:
acall timer_led1
ajmp led_jmp_5_end
led_k3_2: ;al2 way off/on
mov led1 ,#0bh
jnb al2_f,aal_2
mov a,#0ch
mov led1 ,a
aal_2:
mov led3,#2d
mov led2,#led_blk
ajmp led_jmp_5_end
led_k4_2: ;al2 timer
jb flash_f ,led_m12
mov a,al2_min_t
mov r7,al2_hour_t
sjmp led_m22
led_m12:
mov a,al2_min
mov r7,al2_hour
led_m22:
acall timer_led1
ajmp led_jmp_5_end
led_k5_2: ; al3 way off/on
mov led1 ,#0bh
jnb al3_f,aal_3
mov a,#0ch
mov led1 ,a
aal_3:
mov led3,#3d
mov led2,#led_blk
ajmp led_jmp_5_end
led_k6_2: ;al3 timer
jb flash_f ,led_m13
mov a,al3_min_t
mov r7,al3_hour_t
sjmp led_m23
led_m13:
mov a,al3_min
mov r7,al3_hour
led_m23:
acall timer_led1
ajmp led_jmp_5_end
led_k7_2: ; turn off/on
mov led3,#00h
mov led2,#0bh;led_b
mov led1,#0bh;led_b
led_jmp_5_end:
acall led
ret
end
timer_led1:
;*******************************min to led
MOV B,#10D
DIV AB
mov led2,a
mov a,b
mov led1,a
;*******************************hour to led
mov a,r7
MOV B,#10D
本文关键字:暂无联系方式51单片机,单片机-工控设备 - 51单片机
上一篇:单片机数字频率计