1、单片机按键显示程序及原理图1KEYLED-按键一位显示ORG 0000H LJMP MAIN ORG 0030H MAIN:mov a,#010h mov 50h,a main1: LCALL LED LCALL KEY SJMP MAIN1 KEY: LCALL KS JNZ K1 LCALL DELAY LJMP K5 K1: LCALL DELAY LCALL DELAY LCALL KS JNZ K2 LJMP K5 K2: MOV R2,#0FEH MOV R4,#00H K3: MOV A,R2 MOV P2,A MOV A,P2 ANL A,#0F0H SWAP A JB ACC
2、.0,L1 MOV A,#00H LJMP LK L1: JB ACC.1,L2 MOV A,#04H LJMP LK L2: JB ACC.2,L3 MOV A,#08H LJMP LK L3: JB ACC.3,NEXT MOV A,#0CH LK: ADD A,R4 PUSH ACC K4: LCALL DELAY LCALL KS JNZ K4 POP ACC mov 50h,a K5: RET NEXT:INC R4 MOV A,R2 JNB ACC.3,K5 RL A MOV R2,A LJMP K3 KS: MOV A,#0F0H MOV P2,A MOV A,P2 CPL A
3、ANL A,#0F0H SWAP A RET LED: mov a,50h mov r1,A mov p3,#0efhLED1: MOV A,r1 mov dptr,#table MOVc A,a+dptr mov p0,a LCALL DELAY RET DELAY:mov r5,#10H D0: MOV R6,#0FAH D1: DJNZ R6,D1 djnz r5,D0 RET table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0C6h,0A1h,86h,8Eh,0ch END 2. KEYLEDINT1-按键4位
4、显示,中断ORG 0000H LJMP MAIN org 0013h ljmp subint1 org 001bh ljmp subt1 ORG 0030H MAIN:mov a,#010h mov 50h,a mov 51h,#0h mov 52h,#0h mov 53h,#0ch mov 54h,#0h mov 55h,#4 clr p1.2 setb p1.5 CLR RS0 CLR RS1 /SETB RS0 mov r7,#20 CLR RS0 mov tl0,#00h mov th0,#00h mov tl1,#0B0h mov th1,#3ch mov tmod,#11h mov
5、 ie,#8ch mov tcon,#04h /setb tr0 setb tr1 clr p1.0 main1:mov R0,#4fh mov R2,#0F7h main2:mov R3,#04H main3:mov A,R2 RL A mov R2,A INC R0 LCALL LED DJNZ R3,main3 SJMP MAIN1 LED: mov a,R0 mov r1,A mov p3,r2LED1: MOV A,r1 mov dptr,#table MOVc A,a+dptr mov p0,a LCALL DELAY RET DELAY:mov r5,#4H D0: MOV R6
6、,#0faH D1: DJNZ R6,D1 djnz r5,D0 RET table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0C6h,0A1h,86h,8Eh,0ch subint1:push acc inc 54h dec 55h mov a,55h cjne a,#00h,subint10 mov 55h,#4 cpl p1.5 cpl p1.2 subint10:pop acc reti subt1: mov tl1,#0B0h mov th1,#3Ch push acc /SETB RS0 dec r7 cjne
7、 r7,#00h,subt10 mov a,54h mov b,#4 div ab /mul mov 54h,#00h mov r7,#20 mov b,#0ah div ab mov 50h,b mov b,#0ah div ab mov 51h,b mov b,#0ah div ab mov 52h,b mov b,#0ah div ab mov 53h,b cpl p1.4 subt10: /CLR RS0 pop acc reti3. 中断脉宽调制PWMOrg 0000h ljmp main org 000bh ljmp subt0 org 0030h main: mov 50h,#0
8、h mov 51h,#10h mov 52h,#80h mov 53h,#00h mov tl0,#00h mov th0,#00h mov tmod,#01h mov ie,#82h setb tr0 lp1: sjmp lp1 subt0: mov tl0,#00h mov th0,#00h inc 50h mov a,53h cjne A,#0,lp2 mov a,50h cjne a,51H,lp4 mov 50h,#00h mov 53h,#01h SETB p1.3 SJMP LP4 LP2: mov a,50h cjne a,52H,lp4 mov 50h,#00h mov 53
9、h,#00h CLR p1.3 lp4: reti end 4. 中断脉宽调制PWM扩展 Org 0000h ljmp main org 000bh ljmp subt0 org 0030h main: mov 50h,#1h mov 56h,#0h mov 57h,#2h mov 58h,#30h mov 59h,#00h mov tl0,#00h mov th0,#00h mov tmod,#01h mov ie,#82h setb tr0 lp1: LCALL LED LCALL KEY mov a,50h JZ lp1 mov B,A mov A,57h MUL AB mov 58H,
10、A sjmp lp1 subt0: PUSH ACC mov tl0,#00h mov th0,#00h inc 56h mov a,59h cjne A,#0,lp2 mov a,56h cjne a,57H,lp4 mov 56h,#00h mov 59h,#01h SETB p1.3 SJMP LP4 LP2: mov a,56h cjne a,58H,lp4 mov 56h,#00h mov 59h,#00h CLR p1.3 lp4: POP ACC reti KEY: LCALL KS JNZ K1 LCALL DELAY LJMP K5 K1: LCALL DELAY LCALL
11、 DELAY LCALL KS JNZ K2 LJMP K5 K2: MOV R2,#0FEH MOV R4,#00H K3: MOV A,R2 MOV P2,A MOV A,P2 ANL A,#0F0H SWAP A JB ACC.0,L1 MOV A,#00H LJMP LK L1: JB ACC.1,L2 MOV A,#04H LJMP LK L2: JB ACC.2,L3 MOV A,#08H LJMP LK L3: JB ACC.3,NEXT MOV A,#0CH LK: ADD A,R4 PUSH ACC K4: LCALL DELAY LCALL KS JNZ K4 POP AC
12、C mov 50h,a K5: RET NEXT:INC R4 MOV A,R2 JNB ACC.3,K5 RL A MOV R2,A LJMP K3 KS: MOV A,#0F0H MOV P2,A MOV A,P2 CPL A ANL A,#0F0H SWAP A RET LED: mov a,50h mov r1,A mov p3,#0efhLED1: MOV A,r1 mov dptr,#table MOVc A,a+dptr mov p0,a LCALL DELAY RET DELAY:mov r5,#10H D0: MOV R6,#0FAH D1: DJNZ R6,D1 djnz r5,D0 RET table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0C6h,0A1h,86h,8Eh,0ch end 1 ADC0809参考电路2 DAC0832参考电路34位LED显示参考电路
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1