1、2单片机设计案例项目二 智能收费系统设计一、设计内容与要求智能收费系统要求以 89S52单片机为最小系统,外围要有蜂鸣器电路、显示电路、按键键盘控制电路、读卡器等硬件电路,以非接触的射频卡为介质实现消费管理,透支报警,也可以发挥增加其它功能,完成智能收费系统的设计。二、硬件电路框图1. 硬件电路框图 图2-1 IC卡硬件电路框图2. I/O口的分配:P1.0串联显示CPP1.1P1.2音响P1.3P1.4串联显示数据P1.5键CPP1.6键复位P1.7键盘状态P3.0RXD(读卡器)三、软件设计1. 流程图:如下图所示2. 程序的内存地址分配: 40H显示窗口号41H卡号的低8位42H卡号的高
2、8位43H现卡内余额的低8位44H现卡内余额的高8位45H显示本次用款的低8位46H显示本次用款的高8位47H本次结余的低8位48H本次结余的高8位10H-17H代码3. 部分参考程序 ORG 0000H LJMP MAIN ORG 0023H LJMP ZD ORG 0300H MAIN: MOV SP, #60H ACALL ZHISHU ;卡原存 M0: MOV SP, #60H LCALL SIC;串口中断始化 M1: MOV 0FH, #00H ACALL LBB ;清10-1F MOV A, #02H ;窗口号 MOV 40H, A ;40H存窗口号 MOV 10H, 40H ;
3、MOV 11H, #00H ;窗口号送10H和11H ACALL LAAA ;显示窗口号 L003: MOV A, 0FH ;判卡标志 CJNE A, #33H, L003 ACALL DUKA ;卡处理 MOV A, 41H ;取卡低位乘以2 CLR C RLC A MOV 82H, A ;A内容送DPTR JC B1 ;C=1转 MOV 83H, #0E0H ;A内容送DPH AJMP B2 B1: MOV 83H, #0E1H; B2: MOV 4AH, 82H MOV 4BH, 83H MOV 18H, #0AH MOVX A, DPTR;送原存即取余款 MOV 43H, A; 43和
4、44单元放余款MOV 20H, A; 20和21单元为显示 INC DPTR; MOVX A, DPTR; MOV 44H, A; MOV 21H, A; ACALL YASO;压缩16进制数变成压缩10进制数 ACALL L11;压缩-非压缩 ACALL LAAA;10H代码变换后送显示 K1: ACALL JIAN JNC K1 LDD8: MOV 30H, A ACALL LBB MOV A, 30H SJMP LDD9 LDD4: ACALL JIAN;扫键 JNC LDD4 LDD9: ACALL J3;键译 JC LEE4;功能键 ACALL LCA MOV 10H, A ACAL
5、L LAAA AJMP LDD4 LEE4: CJNE A, #0EH, LEEE5;E为取消 LJMP M0 LEEE5: CJNE A, #0FH, LDD4;F为确认减钱 LJMP FF HUAN: MOV 09H, A;清显示缓冲区子程序 ACALL LBB MOV A, 09H CLR F0 RET LCA: MOV 14H, 13H MOV 13H, 12H MOV 12H, 11H MOV 11H, 10H RET JIAN: MOV 18H, #0BH SETB P1.6 ;扫键子程序 ACALL LAAA5 CLR P1.6 ACALL LAAA5 CLR A J1: JNB
6、 P1.7, J2 INC A CLR P1.5 ACALL LAAA5 SETB P1.5 ACALL LAAA5 CJNE A, #10H, J1 CLR C RET J2: ACALL LAAA5 JNB P1.7, J4 SJMP J1 J4: JNB P1.7, J4 SETB C RET J3: MOV DPTR, #03C3H;键译 MOVC A, A+DPTR CJNE A, #09H, J5 CLR C RET J5: JNC J6 CLR C RET J6: SETB C RET DB 00H,01H,02H,03H,04H,07H,0BH,0CH DB 0AH,0DH,0
7、EH,05H,06H,08H,09H,0FHLAAA5: MOV R0, #20H J8: DJNZ R0, J8 RET FF: MOV A, 11H;处理功能键,非压10进制变压送20H ANL A, #0FH SWAP A MOV 20H, A MOV A, 10H ANL A, #0FH ADD A, 20H MOV 20H, A;低2位在20H MOV A, 13H ANL A, #0FH SWAP A MOV 21H, A MOV A, 12H ANL A, #0FH ADD A, 21H MOV 21H, A;高2位在21H MOV R0, #21H;调BCD码变16进制子程序入
8、口地址;先放高 MOV R1, #45H MOV R7, #02H ACALL LD4;调BCD码变16进制子程序 CLR C MOV A, 43H; (43H)-(45H)=(47H) SUBB A, 45H MOV 47H, A MOV A, 44H;(44H)-(46H)=(48H) SUBB A, 46H MOV 48H, A JC ER0; 为负转移 MOV 82H, 4AH;把结果暂存 MOV 83H, 4BH MOV A, 47H MOVX DPTR, A INC DPTR MOV A, 48H MOVX DPTR, A MOV 20H, 47H; 显余额 MOV 21H, 48
9、H ACALL YASO ACALL L11 MOV 18H, #0CH ACALL LAAA CLR P1.2;音响 ACALL DEL2 SETB P1.2 ACALL DEL AJMP M0 ER0: MOV A, #11H;-的代码 MOV 14H, A MOV 13H, A MOV 12H, A MOV 11H, A MOV 10H, A ACALL LAAA CLR P1.2 ;音响 ACALL DEL SETB P1.2 ACALL DEL AJMP M0 RET DUKA: ACALL LEE ;ASC码变16进制数 ACALL LB;非压16进制变压缩16进制数 MOV 20
10、H, 34H MOV 21H, 33H MOV 41H, 34H MOV 42H, 33H ACALL YASO;压缩16进制数变成压缩10进制数 ACALL L11; 压缩-非压缩 ACALL DAIM; 代码-段码 ACALL XIAN; 显示 RET LBB: MOV A, #10H;清显示 MOV R0, #10H MOV R2, #09H LB1: MOV R0, A INC R0 DJNZ R2, LB1 RET XIAOSH: MOV A, 22H;小数点程序 ORL A, #80H MOV 22H, A MOV A, 27H ORL A, #00H MOV 27H, A MOV
11、 R0, #24H ACALL LBB5 MOV R0, #28H ACALL LBB5 RET LBB5: MOV R2, #02H LB5: MOV A, R0 CJNE A, #3FH, LB6 CLR A MOV R0, A DEC R0 LB6: DJNZ R2, LB5 RET LAAA: MOV 15H, #10H ACALL DAIM ACALL XIAOSH ACALL XIAN RET SIC: ANL TMOD, #0FH;中断始化 ORL TMOD, #20H MOV TH1, #0FDH MOV TL1, #0FDH SETB TR1 MOV IE, #90H MOV
12、 SCON, #50H RET ZD: PUSH ACC;中断程序 PUSH 00H PUSH 02H MOV R0, #30H MOV R2, #0BH LL1: ACALL LL2 JB F0, LL3 NOP NOP MOV R0, A INC R0 DJNZ R2, LL1 POP 02H POP 00H POP ACC NOP MOV 0FH, #33H RETI LL2:MOV 04H, #28H LL4:JNB RI, LL6 CLR RI MOV A, SBUF CLR F0 RET LL6:MOV 05H, #0AH LL5:DJNZ R5, LL5 DJNZ R4, LL4
13、 SETB F0 RET LL3: POP 02H POP 00H POP ACC RETI LEE: MOV R0, #30H ;ACS码变16进制数 MOV R2, #0AH LEE5: MOV A, R0 ACALL LE7 MOV R0, A INC R0 DJNZ R2, LEE5 RET LE7: CJNE A, #40H, L13 SJMP LEE7 L13: JC LEE6 ADD A, #09H LEE6: ANL A, #0FH CLR C RET LEE7: SETB C RET LB: MOV A, 30H;非压16进制变压缩16进制数 SWAP A ADD A, 31
14、H MOV 30H, A MOV A, 32H SWAP A ADD A, 33H MOV 31H, A NOP NOP MOV A, 34H SWAP A ADD A, 35H MOV 32H, A MOV A, 36H SWAP A ADD A, 37H MOV 33H, A NOP NOP MOV A, 38H SWAP A ADD A, 39H MOV 34H, A RET YASO: MOV R0, #20H;压缩16进制数变成压缩10进制数 MOV R7, #02H MOV R1, #28H LCALL LY1 RET LY1:MOV A, R0 MOV R5, A MOV A,
15、R1 MOV R6, A MOV A, R7 INC A MOV R3, A CLR A LY2: MOV R1, A INC R1 DJNZ R3, LY2 MOV A, R7 MOV B, #08H MUL AB MOV R3, A LY3:MOV A, R5 MOV R0, A MOV A, R7 MOV R2, A CLR C LY5:MOV A, R0 RLC A MOV R0, A INC R0 DJNZ R2, LY5 MOV A, R6 MOV R1, A MOV A, R7 MOV R2, A INC R2 LY4:MOV A, R1 ADDC A, R1 DA A MOV
16、R1, A INC R1 DJNZ R2, LY4 DJNZ R3, LY3 RET L11: MOV R1, #10H;压缩10进制数变成非压缩十进制数 MOV R2, #03H MOV R0, #28H L12: MOV A, R0 ANL A, #0FH MOV R1, A INC R1 MOV A, R0 SWAP A ANL A, #0FH MOV R1, A INC R0 INC R1 DJNZ R2, L12 RET DAIM: MOV R2, #09H;代码变短码 MOV R0, #10H MOV R1, #20H L12F: MOV A, R0 ADD A, #06H MOV
17、C A, A+PC MOV R1, A INC R0 INC R1 DJNZ R2, L12F RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DB 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H XIAN: MOV R0, #20H;显示 MOV R2,#09H LP1: MOV R1,#08H MOV A,R0 LP2: RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1, LP2 INC R0 DJNZ R
18、2, LP1 RET DEL:MOV R5, #14H Y3: MOV R6, #0FFH Y2: MOV R7, #0FFH Y1: DJNZ R7, Y1 DJNZ R6, Y2 DJNZ R5,Y3 RET DEL2: MOV R5, #02H Y33: MOV R6, #0FFH Y22: MOV R7, #0FFH Y11: DJNZ R7, Y11 DJNZ R6, Y22 DJNZ R5,Y33 RETLD4: MOV A, R1;压十变压16进制 MOV R6, A MOV A, R7 MOV R3, A CLR ALD9H: MOV R1, A INC R1 DJNZ R3,
19、 LD9H MOV A, R7 MOV R3, ALDFH: ACALL LD6H MOV A, R0 ANL A, #0F0H SWAP A ACALL LD7H ACALL LD6H MOV A, R0 ANL A, #0FH ACALL LD7H DEC R0 DJNZ R3, LDFH RET LD6H: MOV A, R7 MOV R4, A MOV A, R6 MOV R1, A CLR C MOV R2, #00HLDAH: MOV A, R1 MOV B, #0AH PUSH PSW MUL AB POP PSW ADDC A, R2 MOV R1, A MOV R2, B I
20、NC R1 DJNZ R4, LDAH RET LD7H: MOV R5, A MOV A, R6 MOV R1, A MOV A, R7 MOV R4, A MOV A, R5 ADD A, R1 MOV R1, A INC R1 DEC R4 MOV A, R4 JNZ LDBH AJMP LDCHLDBH: MOV A, R1 ADDC A, #00H MOV R1, A INC R1 DJNZ R4, LDBHLDCH: RETZHISHU: MOV DPTR, #0E004H;制卡数卡号6264地址 MOV R2, #0FFHLOOP: MOV A, #10H ;金额低位 MOVX DPTR, A INC DPTR MOV A, #27H;金额高位 MOVX DPTR, A INC DPTR DJNZ R2, LOOP RET END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1