• 帅帅的帅哥
    了解作者
  • Asm
    开发工具
  • 14KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 76
    下载次数
  • 2005-09-24 11:04
    上传日期
本压缩包包含1602液晶显示,键盘显示,AD转换,非常好的电子种程序,都是我发了好多时间收集的!
987654321.rar
  • 新建文件夹
  • A.LST
    2.5KB
  • A.BIN
    52B
  • DD.ASM
    749B
  • UNTITLED.DSK
    3.8KB
  • DD.HEX
    227B
  • ADD.ASM
    1.4KB
  • A.OBJ
    546B
  • WAVE.LIN
    86B
  • ADD.HEX
    381B
  • DD.BIN
    87B
  • ZHONG.ASM
    13.3KB
  • ADSHIYAN.ASM
    1.5KB
  • 93C46
    0B
  • 键盘程序1.ASM
    1.5KB
  • A.HEX
    144B
  • 1602YEJING(2).ASM
    2.4KB
  • 键盘程序.asm
    7.5KB
  • A
    673B
  • TEMP.LST
    138B
  • 键盘程序.ASM.txt
    7.9KB
  • ADD.BIN
    151B
  • A.M51
    2.7KB
  • AD.ASM
    587B
  • ADSHIYAN.BIN
    160B
  • ADSHIYAN.HEX
    399B
  • www.pudn.com.txt
    218B
内容介绍
ORG 00H JMP START ORG 23H JMP UARTI START: MOV TMOD,#20H ANL PCON,#7FH MOV TH1,#0F3H SETB TR1 MOV SCON,#0D0H MOV IE,#90H JMP Y0 ;初始化程序 UARTI: PUSH ACC PUSH PSW JBC RI,LOOP CLR TI JMP RETURN LOOP: MOV R1,#3 MOV A,SBUF MOV R2,35H MOV @R2,A INC R2 DJNZ R1,RETURN JMP XS0 RETURN:POP PSW POP ACC RETI ;中断服务程序 Y0: SETB P3.3 SETB P3.4 SETB P3.5 JNB P3.7,NEXT0 JMP Y0 NEXT0: JB P3.7,PROCESS0 JMP NEXT0 ;判断ON/OFF键是否被按下? PROCESS0: MOV R3,#3 ;ON/OFF键打至ON档 X0: CALL XS1 CALL DELAY1 DJNZ R3,X0 CALL XS2 JMP Y01 Y01: SETB P3.3 SETB P3.4 SETB P3.5 JNB P3.7,NEXT1 JMP Y02 NEXT1: JB P3.7 Y0 CALL XS3 JMP NEXT1 ;ON/OFF键打至OFF档 Y02: JNB P3.2,NEXT2 JMP Y1 NEXT2: JB P3.2,PROCESS1 ;清零键是否被按下? CALL XS3 JMP Y01 PROCESS1: MOV R3,#3 ;清零键被按下 MOV R4,#31H X1 MOV @R4,#0CFH INC R4 DJNZ R3,X1 CALL XS3 JMP Y1 XS1: MOV 40H,#6DH ;开机显示“PASS PASS”的友好界面 MOV 41H,#6DH MOV 42H,#0EEH MOV 43H,#0ECH MOV 44H,#6DH MOV 45H,#6DH MOV 46H,#0EEH MOV 47H,#0ECH CALL DISP0 SETB P3.3 SETB P3.4 SETB P3.5 RET XS2: MOV R3,#3 ;显示清零后全“0”的界面 MOV R4,#31H MOV R5,#35H X2: MOV @R4,#0CFH MOV @R5,#0CFH INC R4 INC R5 DJNZ R3,X2 CALL DISP1 SETB P3.3 SETB P3.4 SETB P3.5 RET XS3: CALL DISP1 ;显示运行中的界面 SETB P3.3 SETB P3.4 SETB P3.5 RET DISP0: MOV R5,#40H ;友好界面的数据送到数码管显示 MOV R6,#8 D0: MOV A,@R5 MOV P0,A CALL DELAY INC R5 DJNZ R6,D0 RET DISP1: MOV 30H,#0C9H ;其他的数据送到数码管显示 MOV 34H,#0C9H MOV A,30H MOV P0,A CALL DELAY MOV A,31H MOV P0,A CALL DELAY MOV A,32H MOV P0,A CALL DELAY MOV A,33H MOV P0,A CALL DELAY MOV A,34H MOV P0,A CALL DELAY MOV A,35H MOV P0,A CALL DELAY MOV A,36H MOV P0,A CALL DELAY MOV A,37H MOV P0,A CALL DELAY RET DELAY: MOV R0,#06 ;延时1.5ms扫描时间 D1: MOV R1,#248 DJNZ R1,$ DJNZ R0,D1 RET DELAY1:MOV R0,#400 ;延时0.1s闪烁时间 D2: MOV R1,#248 DJNZ R1,$ DJNZ R0,D2 RET Y1: SETB P3.3 ;判断键“7”或“4”是否被按下 SETB P3.4 CLR P3.5 JNB P3.7,NEXT3 JNB P3.2,NEXT4 JMP Y2 NEXT3: JB P3.7,PROCESS2 CALL XS4 JMP NEXT3 PROCESS2: MOV R1,#2 ;键“7”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS4 JMP Y2 NEXT4: JB P3.2,PROCESS3 CALL XS4 JMP NEXT4 PROCESS3: MOV R1,#5 ;键“4”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS4 JMP Y2 YD: XCH A,31H ;移位显示 XCH A,32H XCH A,33H RET XS4: CALL DISP1 ;调用显示程序,显示数值 SETB P3.3 SETB P3.4 CLR P3.5 RET Y2: SETB P3.3 ;判断键“8”或“5”是否被按下 CLR P3.4 SETB P3.5 JNB P3.7,NEXT5 JNB P3.2,NEXT6 JMP Y3 NEXT5: JB P3.7,PROCESS4 CALL XS5 JMP NEXT5 PROCESS4: MOV R1,#1 ;键“8”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS5 JMP Y3 NEXT6: JB P3.2,PROCESS5 CALL XS5 JMP NEXT6 PROCESS5: MOV R1,#4 ;键“5”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS5 JMP Y3 YD: XCH A,31H ;移位显示 XCH A,32H XCH A,33H RET XS5: CALL DISP1 ;调用显示程序,显示数值 SETB P3.3 CLR P3.4 SETB P3.5 RET Y3: SETB P3.3 ;判断键“9”或“6”是否被按下 CLR P3.4 CLR P3.5 JNB P3.7,NEXT7 JNB P3.2,NEXT8 JMP Y4 NEXT7: JB P3.7,PROCESS6 CALL XS6 JMP NEXT7 PROCESS6: MOV R1,#0 ;键“9”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS6 JMP Y4 NEXT8: JB P3.2,PROCESS7 CALL XS6 JMP NEXT8 PROCESS7: MOV R1,#3 ;键“6”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS6 JMP Y4 YD: XCH A,31H ;移位显示 XCH A,32H XCH A,33H RET XS6: CALL DISP1 ;调用显示程序,显示数值 SETB P3.3 CLR P3.4 CLR P3.5 RET Y4: CLR P3.3 ;判断键“1”或“0”是否被按下 SETB P3.4 CLR P3.5 JNB P3.7,NEXT9 JNB P3.2,NEXT10 JMP Y5 NEXT9: JB P3.7,PROCESS8 CALL XS7 JMP NEXT9 PROCESS8: MOV R1,#8 ;键“1”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS7 JMP Y5 NEXT10: JB P3.2,PROCESS9 CALL XS7 JMP NEXT10 PROCESS9: MOV R1,#9 ;键“0”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS7 JMP Y5 YD: XCH A,31H ;移位显示 XCH A,32H XCH A,33H RET XS7: CALL DISP1 ;调用显示程序,显示数值 CLR P3.3 SETB P3.4 CLR P3.5 RET Y5: CLR P3.3 ;判断键“2”或“.”是否被按下 CLR P3.4 SETB P3.5 JNB P3.7,NEXT11 JNB P3.2,NEXT12 JMP Y6 NEXT11:JB P3.7,PROCESS10 CALL XS8 JMP NEXT11 PROCESS10: MOV R1,#7 ;键“2”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS8 JMP Y6 NEXT12: JB P3.2,PROCESS11 CALL XS8 JMP NEXT12 PROCESS11: MOV R1,#10H ;键“.”被按下 MOV A,31H ;在最后一个数值上接着小数点 ADD A,R1 MOV 31H,A CALL XS8 JMP Y6 XS8: CALL DISP1 ;调用显示程序,显示数值 CLR P3.3 CLR P3.4 SETB P3.5 RET Y6: CLR P3.3 ;判断键“3”或“确定”是否被按下 CLR P3.4 CLR P3.5 JNB P3.7,NEXT13 JNB P3.2,NEXT14 JMP Y01 NEXT13:JB P3.7,PROCESS12 CALL XS9 JMP NEXT13 PROCESS12: MOV R1,#6 ;键“3”被按下 MOV A,R1 MOV DPTR,#TABLE MOVC A,@A+DPTR CALL YD CALL XS9 JMP Y01 NEXT14: JB P3.2,PROCESS13 CALL XS9 JMP NEXT14 PROCESS13: MOV R1,#3 MOV R2,#31H PROCESS14: MOV A,@R2 MOV SBUF,A WAIT: JBC TI,LOOP1 CALL XS9 JMP WAIT LOOP1: INC R2 DJNZ R1,PROCESS14 JMP Y01 XS9: CALL DISP1 ;调用显示程序,显示数值 CLR P3.3 CLR P3.4 CLR P3.5
评论
    相关推荐