单片机原理与接口技术课程设计论文写作格式内容摘要:

图 18 读卡器外型图 ⑤ 、 读卡原理 : 22 图 19 读卡器引脚连接示意图 非接触式射频 卡的基本原理 : 每个卡片内部有一个小芯片和感应线圈,价格低廉,国内最普及的 EM ID卡,大多为瑞士 nEM 或台湾 GK 公司的 4100、 4102 系列芯片 +线圈 +卡基封装而成。 每张卡有且只有一个唯一的,不可更改和复制的 ID 内码( 64 位 2 进制机密的永不重复的卡号),因其安全可靠,价格低廉而大量应用于身份识别、产品防伪等领域。 读卡器卡号输出格式的说明: 由于历史的原因,或者不同领域习惯的原因,最常见到的有五种读卡方式,我们采用的读卡格式如下 格式:将 10位十六进制的 ASCⅡ字符串,即 10Hex 格式的倒数第 第 6位, 转换为 3位十进制卡号,在将后 4 位,转换为 5 位十进制卡号,中间用“,”分开,即“ 2H+4H”,即将 2H“ 6F”转换为“ 111”, 4H“ 6c3a”转换为“ 27706”,最终将 2段连在一起输出为“ 111, 27706”。 6. 显示模块 显示部分有二种方案可供选择;一种是采用 LCD 液晶显示,该方案具有低压微功耗、平板型结构、显示的信息量大、无电磁辐射、使用寿命长等优点, 23 但本设计要求显示的数据量小,不能发挥其显示内容丰富的优点,同时占用I/O 口线较多。 第二种方案采用 LED 数码管显示,该方案具有实现容易、发光亮度大、驱 动电路简单等优点,且其可靠性也优于 LCD 的显示,所以,我们通过比较,选用第二种方案数码管显示。 由 8个数码管和 8个 74LS164 组成,采用串行静态显示的方法。 将数码管的 8 个输入端与 74LS164 的输出端 Q0~Q7 相连。 和 74LS164 的 CLK 连接, 接 74LS164 的 A 端, 74LS164 的引脚图如图 示: 74LS164 原理: 74LS164 是一块 14 个引脚双面直插式芯片,它的工作电源比较宽,可以是 3V 至 12V 的电压;它工作的频率范围也比较宽,从 05MHZ都能正常工作。 它是一个串行输入,并行输 出的移位寄存器,并带有清除端的IC 芯片, 它 为 8位串入并出移位寄存器, 2为串行输入端, Q0~ Q7 为并行输出端, CLK 为移位时钟脉冲,上升沿移入一位; MR 为清零端,低电平时并行输出为零。 VCC 与 GND 为工作电源脚:它一般正常工作电压为正 5V。 CLR( /MR)端:为清除端,当此脚为低电平时,使得 74LS164 输出全部为 0; CLK 端:时钟脉冲输入端,在 CP 脉冲的上升沿的作用下实现移位,在 CLK 为 0,芯片不工作; CLR 为 1 时, 74LS164 保持原始状态不发生变化。 三 、 软件设计 1. 软件分析 软件设计上,根据功能分了几个模块编程。 模块主要有:读卡模块、数制转换模块、显示模块、合法卡比较模块、开锁模块、中断子程序模块、延时子 24 程序模块等。 根据单片机最小系统的设计, 内存分配的规则 ,外围电路的控制口只能占用 P1 口和 P3口,口地址可用的就少了,所以,显示上选择了静态显示,显示只用了 和 两个口线,这样,编程简单,不占用 CPU。 程序中还增加了射频卡权限判断,当遇到合法卡时显示卡号,门锁打开,延时 10s 自动关闭,非法卡不显示卡号门锁不开。 读卡程序是利用串口中断完成了读卡的工作。 把读卡器的 13 脚,和 CPU的 既 RXD 连接,只要一刷卡,就把卡中的 11 个 ASCⅡ码读进来,放到以30H 为首地址的存储器中,读卡中断子程序如下: ZD: PUSH ACC ;中断子程序 PUSH 00H PUSH 02H MOV R0, 30H MOV R2, 0BH LL1:ACALL LL2 JB F0,$ NOP NOP MOV @R0, A INC R0 DJNZ R2, LL1 POP 02H POP 00H POP ACC NOP MOV 0FH, 33H RETI 2. 流程 图: 25 流程图 ( 1)显示程序: 26 XSH: MOV R0, 20H MOV R2, 08H LP1: MOV R1, 08H MOV A, @R0 LP2: RLC A 27 MOV , C CLR SETB DJNZ R1, LP2 INC R0 DJNZ R2, LP1 RET ( 2)延时程序: DEL: MOV R6, 0FFH Y2: MOV R7, 0FFH Y1: DJNZ R7, Y1 DJNZ R6, Y2 RET 28 4. 程序清单 ORG 0000H LJMP MAIN ORG 0023H LJMP ZD ORG 0300H MAIN:MOV SP,60H CLR ;关指示灯 M1:LCALL BEING。 调 显“ H” 子程序 LCALL SIC ;调串口始化子程序 DUKA:MOV A, 0FH ;判卡 CJNE A,33H,L003 SJMP L03 L003:JNB , OPLOCK。 出门 开关 是否按下 SJMP DUKA L03: MOV 0FH,00H MOV 17H,10H ACALL LE ; ASCⅡ 转 16 进制数子程序 ACALL LB ;调装配压缩 16 进制数子程序 ACALL LD ;调压缩 16 转非压缩 10 进制子程序 ACALL L11。 压缩 非压缩 ACALL BJ。 调比较子程序 JNC KS1 ;合法转 KS1 SJMP DUKA KS1: ACALL LF。 代码 段码 子程序 ACALL XSH。 调显示子程序 ACALL OPLOCK。 开锁 SJMP DUKA BJ: MOV A,32H ;判卡合法否子程序 CJNE A,2DH,NEQ MOV A,33H CJNE A,0DBH,NEQ MOV A,34H CJNE A,12H,LB1 AJMP KS LB1: CJNE A,13H,NEQ KS: CLR C RET 29 NEQ: SETB C RET OPLOCK: SETB ;开锁子程序 CLR LCALL DEL。 延时 10S SETB CLR MOV R5,0AH L8: LCALL DEL DJNZ R5,L8 SETB CLR JNB ,AL LJMP M1 AL: CLR LCALL DEL SETB RET SIC: ANL TMOD,0FH ;串口始化子程序 ORL TMOD,20H MOV TH1,0FDH MOV TL1, 0FDH SETB TR1 MOV IE,90H MOV 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 30 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 SETB F0 RET LL3:POP 02H POP 00H POP ACC RETI LE: MOV R0, 30H ; ASCⅡ 转 16 进制数子程序 MOV R2, 0AH LE4: MOV A, @R0 ACALL LE1 MOV @R0, A INC R0 DJNZ R2, LE4 RET LE1: CJNE A, 40H, L13 SJMP LE3 L13: JC LE2 ADD A, 09H LE2: ANL A, 0FH CLR C RET LE3: SETB C RET LB: MOV A, 30H。 装配压缩 16进制数子程序 SWAP A 31 ADD A, 31H 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 LD: MOV 35H,33H。 压缩 16 转非压缩 10 进制子程序 MOV R0, 34H MOV R7, 02H MOV R1, 28H LCALL LD1 RET LD1: MOV A, R0 MOV R5, A MOV A, R1 MOV R6, A MOV A, R7。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。