TA的每日心情 | 奋斗 2014-10-15 15:20 |
|---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
白丁
- 积分
- 9
|
本帖最后由 又一个暑假 于 2014-10-15 15:41 编辑
- K1 bit P2.3
-
- key_state EQU 20H
- key_step EQU 21H
-
- ORG 0000H
- SJMP STAR
- ORG 1BH
- LJMP Timer0_intrrupt ;装T1中断服务程序
- star:
- mov key_state,#00H
- mov key_step,#00H
- mov P1,#0ffH
-
- mov IE,#88H ;
- mov TMOD,#10H
- mov TH1,#0D8H
- mov TL1,#0EFH
- setb TR1 ;启动T18
- setb EA
-
- loop:
- key_switch:
- jb key_step.0, key_low_step1
- jb key_step.1, key_low_step2
- jb key_step.2, key_low_step3
- jb key_step.3, key_low_step4
- jb key_step.4, key_low_step5
- jb key_step.5, key_low_step6
- jb key_step.6, key_low_step7
- jb key_step.7, key_low_step8
-
- key_low_step0:
- mov P1,#00H ; 上电就执行的任务不一定是点LED灯
- jmp loop
-
- key_low_step1:
- mov P1,#01H ;任务一 不一定是点LED灯
- jmp loop
-
- key_low_step2:
- mov P1,#02H ;任务二 不一定是点LED灯
- jmp loop
-
- key_low_step3:
- mov P1,#04H ;;任务三 不一定是点LED灯
- jmp loop
-
- key_low_step4:
- mov P1,#08H ;任务四 不一定是点LED灯
- jmp loop
-
- key_low_step5:
- mov P1,#10H ;任务五 不一定是点LED灯
- jmp loop
- key_low_step6:
- mov P1,#20H ;任务六 不一定是点LED灯
- jmp loop
-
- key_low_step7:
- mov P1,#40H ;任务七 不一定是点LED灯
- jmp loop
-
- key_low_step8:
- mov P1,#80H ;任务八 不一定是点LED灯
- jmp loop
- key_check:
- jb K1,key_high
-
- key_low:
- jb key_state.0,key_unchange
- setb key_state.0
- ret
-
- key_high:
- mov key_state,#00H
- mov a,key_step
- cjne a,#00H,exit
- mov P1,#00H
- exit: ret
-
- key_unchange:
- jb key_state.1,exit
- setb key_state.1
- mov a,key_step
- jz key_unchange11
- key_unchange1:
- rl a
- mov key_step,a
- ret
- key_unchange11 :
- mov key_step,#01H
- ret
-
- Timer0_intrrupt:
- clr EA
- mov TH1,#0D8H
- mov TL1,#0EFH
- acall key_check
- setb EA
- exit_interrupt:
- reti
- END
复制代码
/***********************************************************************************
* 程序功能: 通过按键实现切换任务,这里用点亮不同的LED灯来模拟
************************************************************************************/
|
|