• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 1-wire系统中TM卡的单片机等效替换

1-wire系统中TM卡的单片机等效替换

录入:edatop.com     点击:

在完整地实现一次ROM功能的过程中,从机首先等待主机发送的复位脉冲,待检测到后发图9实现ROM功能的流程送存在脉冲应答。随后,从机开始接收主机发送的ROM命令,并将其保存,以判断随后的操作。最后,从机发送TM卡的64位标识码,完成一次ROM命令的执行。实现ROM功能的流程如图9所示。

单片机的汇编程序如下:

ORG0000H

AJMPInit//跳到Init段

ORG0003H

AJMPJudge//跳到中断服务程序

Init: //初始化

MOVDPTR,#ID//ID表地址

MOVR5,#001H

MOVR7,#000H

CLR00H

SETB01H

SETBP3.2

LCALLDelay10s

CLRP3.2//拉低总线叫醒主机

LCALLDelay100us

SETBP3.2

SETBEA

SETBIT0

SETBEX0

MAIN: AJMPMAIN//主循环

Judge:CLREX0//判断执行动作,关中断

JNB00H,SecondJ//跳到二次判断

ID_IN:JB01H,SEND1//从机发送TM卡64位标识码

CLRP3.2//发送位0

SEND1:SETBP3.2 //发送位1

LCALLDelay30us

MOVA,R5//R5循环左移

RLA

MOVR5,A

MOVA,#00H

MOVCA,@A+DPTR

ANLA,R5

CLR01H//设置01H状态

JZRelease1

SETB01H

Release1:SETBP3.2

MOVA,R5

ANLA,#080H//判断字节发送完否

JZINTEND

INCDPTR

AJMPINTEND//跳到中断结束

SecondJ:MOVA,R7//二次判断

JZWaitReply//跳到执行应答判断是否命令接收结束

ANLA,#008H

JZWaitOrder//跳到执行接收命令

SETB00H

WaitOrder: LCALLDelay15us//接收命令

NOP

NOP

MOVA,P3//采样P3.2

ANLA,#004H

JZSAVE_R6

MOVA,#001H

SAVE_R6:

ORLA,R6 //保存命令到R6

RRA

MOVR6,A

RLOOP1:

MOVA,P3//判断主机的发送状态,是否返回

ANLA,#004H

JZRLOOP1

AJMPINTEND//跳到中断结束

WaitReply://执行应答

RLOOP:MOVA,P3//判断主机的复位信号

ANLA,#004H

JZRLOOP

LCALLDelay30us

CLRP3.2//从机拉低电平应答

LCALLDelay150us

SETBP3.2//释放总线

NOP

NOP

NOP

NOP

INTEND:

INCR7

CLRIE0

SETBEX0//开中断

RETI//中断返回

ID:DB001H//ID表

DB0C3H

DB04DH

DB057H

DB033H

DB022H

DB000H

DB0D2H

本文代码在实际运用中得到了很好的验证,能够稳定地替代SMC1990A1实现TM卡的ROM功能,极大地方便了权限管理人员用于丢失或损坏的TM卡的权限管理。

作者:常州轻工职业技术学院 高罗卿 来源:维库开发网

上一篇:IPv6网络广播安全性分析
下一篇:浅谈IP网络监控的优势及发展

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图