1 KEY_COMMON bit P3.2 ;按键公共端
2 KEY_1 bit p0.5
3 BEEP bit p2.0 ;有缘蜂鸣器,其有两个引脚1VCC,2电容:振荡电路,电容大小即声音的高低
4 LED_1 bit p1.7
5 LED_2 bit p1.6
6
7 org 0000H
8 jmp MAIN
9
10 ;*******************************************
11 org 0030H ;Start program from 0030H
12 MAIN:
13 mov P0,#0FFH ;Initialize the port
14 mov P1,#0FFH
15 mov P2,#0FFH
16 mov P3,#0FFH
17
18 clr KEY_COMMON ;Clear the common line,接公共端清零
19 MAIN_LOOP:
20 jb KEY_1,$ ;Wait for key down,引脚为高的时候跳转,否则始终执行该句话(不按即等)
21 call DELAY ;调用一个delay,前建消抖,通断好几次都看为一次
22 ;jnb KEY_1,$
23 ;call DELAY
24 cpl LED_1 ;Change the state of LED1,LED_1,LED_2,BEEF三个端口取反
25 cpl LED_2 ;Change the state of LED2
26 cpl BEEP
27 ;jnb KEY_1,$ ;等着放开
28 ;call DELAY ;后建消抖
29 jmp MAIN_LOOP ;回到jb
30。
31 ret
32 ;****************************************************
33 DELAY:
34 mov r7,#200
35 DELAY_LOOP:
36 mov r6,#200。 ;赋初值
37 djnz r6,$ ;循环200次
38 mov r6,#200
39 djnz r6,$
40
41 djnz r7,DELAY_LOOP
42 ret
43 ;****************************************************
44 END