毕业设计(论文)IC卡供水系统的设计

上传人:1777****777 文档编号:39593970 上传时间:2021-11-11 格式:DOC 页数:71 大小:6.90MB
收藏 版权申诉 举报 下载
毕业设计(论文)IC卡供水系统的设计_第1页
第1页 / 共71页
毕业设计(论文)IC卡供水系统的设计_第2页
第2页 / 共71页
毕业设计(论文)IC卡供水系统的设计_第3页
第3页 / 共71页
资源描述:

《毕业设计(论文)IC卡供水系统的设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)IC卡供水系统的设计(71页珍藏版)》请在装配图网上搜索。

1、长春工业大学学士学位论文 i 目录目录第一章第一章 IC 卡技术发展及卡技术发展及应应用用 .11.1 IC 卡发展概述卡发展概述 .11.2 IC 卡通信协议卡通信协议 .21.3 IC 卡的命令方式卡的命令方式 .31.4 IC 卡的种类及功能特点卡的种类及功能特点 .61.5 IC 卡的选用卡的选用 .81.6 PHLIPS 公司的公司的 Mifare 智能非接触智能非接触 IC 卡卡.8第二章第二章 单片机系统的应用单片机系统的应用.142.1 单片机选择的原则单片机选择的原则.142.2 单片机单片机 MC68HC705J2.172.2.1 MC68HC05J2 存储器结构存储器结构

2、.182.2.2 MC68HC705J2 单片机单片机 EPROMD 的编程的编程 .192.3 单片机单片机 SPI 接口技术及应用技术接口技术及应用技术.202.3.1 SPI 的接口的接口.202.3.2 单片机与单片机与 EEPROM 接口及接口及 SPI 实现实现.212.3.3 单片机与单片机与 IC 卡接口及卡接口及 SPI 实现实现.23第三章第三章 USB 总线接口芯片(总线接口芯片(CH371) .243.1 概述概述.243.2 特点特点.243.3 引脚引脚.243.4 功能说明功能说明.253.4.1 一般说明一般说明.253.4.2 USB 设备配置和数据传输过程描

3、述设备配置和数据传输过程描述.263.4.3 本地端的软硬件接口本地端的软硬件接口.273.4.4 计算机端的软件接口计算机端的软件接口.293.5 应用应用.30第四章第四章 HD7279A 键盘显示控制芯片键盘显示控制芯片 .334.1 HD7279A 的概述的概述.334.1.1 HD7279A 的管脚及功能的管脚及功能.334.2 电特性电特性.344.3 控制指令控制指令.344.4 操作时序操作时序.374.5 说明说明.38第五章第五章 应用实例应用实例基于基于 USB 接口的车载接口的车载 IC 卡控制系统卡控制系统.39长春工业大学学士学位论文 ii5.1 设计目的设计目的.

4、395.2 设计原理设计原理.395.3 设计步骤设计步骤.395.3.1 功能设想功能设想.395.3.2 硬件系统考虑硬件系统考虑.405.3.3 电路分析电路分析.415.4 控制软件控制软件.415.4.1 主监控程序主监控程序.415.4.2 功能程序功能程序.425.4.3 带看门狗和电源监控功能得复位芯片带看门狗和电源监控功能得复位芯片 MAX813l.43结结 论论.46致致 谢谢.47参考文献参考文献.48附录附录 A 单片机单片机 MC68HC705J2 读数据到读数据到 AT93C46.49附录附录 B 单片机单片机 MC68HC705J2 写数据到写数据到 AT93C4

5、6.50附录附录 C 单片机单片机 MC68HC705J2 读写读写 AT93C46 的子程序的子程序.51附录附录 D 单片机单片机 MC68HC705J2 读数据到读数据到 IC 卡卡.54附录附录 E 单片机单片机 MC68HC705J2 写数据到写数据到 IC 卡卡 .55附录附录 F 单片机单片机 MC68HC705J2 读写读写 IC 卡的子程序卡的子程序 .56附录附录 G 主监控程序主监控程序.58附录附录 H 检票子程序检票子程序.61附录附录 I 系统设置子程序系统设置子程序 .65附录附录 J WATCHDOG 功能子程序功能子程序.66附录附录 K 系统原理图系统原理图

6、.3长春工业大学学士学位论文 1第一章第一章 ICIC 卡技术发展及应用卡技术发展及应用1.1.1 1 ICIC 卡发展概述卡发展概述IC 卡全称集成电路卡(Integrated Circuit Card)英文名有“IC Card” , “Smart Card”等,它是将一个集成电路芯片镶嵌于说了塑料基片中封装成卡的形式。 国际标准化组织(ISO)在 ISO7861 标准中规定的 IC 卡是指在聚氯乙烯(PVC)或聚氯乙烯酸酯(PVCA)材料制成塑料卡内嵌入微处理器和存储器等 IC芯片的数据卡。IC 卡是集成电路卡。在卡上,封装有符合 ISO 标准的芯片,有 6 或8 个触点和外部设备进行通信

7、。在 IC 卡上可以有彩色图案和说明性文字。触点的位置如图 1-1 所示;IC 卡基本内部结构如图 1-2 所示。当 IC 卡插入 IC 卡读卡器后,各接点对应接通,IC 卡上的超大规模集成电路就开始工作,IC 卡以其较小的体积,先进的集成电路芯片技术、独特的功能和保密措施手到了广泛的欢迎;IC 卡系统的最大特点是实现真正的脱机运行。所谓脱机运行是指 IC 卡系统不以来 PC 机就可以正常工作,可以自动识别、判断、读写、记录、存储持卡人的信息;也可以将持卡人的信息传输给 PC 机。IC 卡存储量大,存储量可以从几十字节到几兆字节;IC 卡使用方便,便于携带;IC 卡有一系列加密措施,能有效地防

8、止密码被盗窃或破坏;IC 卡对网络实时性、敏感性要求较底;IC 卡的防磁、防静电、抗干扰等性能较好;IC 卡使用寿命长。IC卡特征及结构(以 SLE4432 和 SLE4442 为例): (1)256*8 的 EEPROM 用户存储卡; (2)32*1 位保护存储器; (3)按字节寻址; (4)用户存储器中 32 字节的不可逆字节写保护; (5)2 线制通信协议 ; (6)复位响应符合 ISO 标准 7816-3; (7)擦写和写的编程时间各为 2.5ms;长春工业大学学士学位论文 2 (8)至少 1 万次写/擦除周期; (9)数据保持可达 10 年; (10)触点配置和串行接口符合 ISO

9、标准 7816(同步传送) ; (11)SLE4442 特征 还具有在准确的 24 位可编程密码递交后,内部数据才能改变。 IC 卡引脚配置。1.2 IC 卡通信协议卡通信协议IC 卡通信协议是一种在接口期间 IFD 和 IC 卡芯片间的二线制通信协议,所有I/O 上的数据改变在时钟 CLK 下降沿进行。通信协议由四种方式组成;复位和复位响应;命令方式;输出数据方式;处理方式。1.复位和复位响应复位响应根据 ISO 标准 7816-3 执行,复位可在操作期间任何时候进行。起始时,RST 的高状态 H 设置至低状态 L,地址计数器随时钟脉冲一起置 0,第一数据位(LSB)输出至 I/O,连续输入

10、 31 个时钟脉冲,可读出第一个 4 个 EEPROM 地址中内容,地 33 个始终脉冲恢复 I/O 至状态 H,波形如图所示。在复位响应期间,任何开始和停止条件均被禁止。2.命令方式复位响应后,芯片等待命令。每个命令由起始条件、一个 3 字节长命令和停止条件构成,波形如图所示。图 1-3起始条件:CLK 处于高状态 H 期间,I/O 上的下降沿。停止条件:CLK 处于高状态 H 期间,I/O 上的上升沿。接收到命令后,有两种方式:读数据的输出方式和写(或擦除)的处理方式。长春工业大学学士学位论文 33.输出数据方式图 1-4在这种方式下,IC 发送数据至 IFD,波形如图所示,它表示输出数据

11、时序图,在 CLK 上第一个下降沿后,I/O 上第一位有效,最后一个数据位之后,需要一个额外的时钟脉冲,以设置 I/O 处于高状态,同时准备 IC 接收新的命令。在这种方式,任何起始和停止条件均被禁止。 4.处理方式IC 卡必须连续接收时钟,直至到 CLK 下降沿之后切换至低状态 L 的 I/O 被设置成高状态 H,任何开始和停止条件在此方式期间均被禁止。1.3 IC 卡的命令方式卡的命令方式(1)命令格式每个命令由 3 个字节组成:字节 1 为控制字(位 B7 一 B0);字节 2 为地址(位A7A0);字节 3 为数据(位 D7D0)。命令开始时首先传送控制字节LSB。SLE4432 和

12、SLE4442 提供 4 个命令,见表 11 SLE4432 还提供表 11 SLE4442 命令。(2)命令描述 (1)该主存储器命令此命令在任何情况下都可以读出主存储器的内容,从给定字节地址(N)至存储器结束。命令发出后,IFD 必须提供足够的时钟脉冲,时钟个数为 M(256N)*8+1 (2)读保护存储器命令 此命令可在任何时候读保护存储器。在连续输入 32 个时钟脉冲后,将保护位传递到一个时钟脉冲,再输入一个时钟脉冲,I/O 切换至高状态 H 个去。长春工业大学学士学位论文 4表 S5E4432 和 SLE4442 命令表 字节 1控制字节字节 2地址字节字节 3数据字节操 作B7 B

13、6 B5 B4 B3 B2 B1 B0A7A0 D7D00 0 1 1 0 0 0 0地 址无 效读输出的地址用户存储器结束0 0 1 1 1 0 0 0地 址输出数据编程输入对应的用户存储器0 0 1 1 0 1 0 0无 效无 效读保护存储器0 0 1 1 1 1 0 0地 址无 效写保护存储器的保护位字节 1控制字节字节 2地址字节字节 3数据字节操 作B7 B6 B5 B4 B3 B2 B1 B0A7A0 D7D00 0 1 1 0 0 0 1地 址无 效读保密存储器0 0 1 1 1 0 0 1地 址输入数据写编程输入地址对应的保密存储器0 0 1 1 0 0 1 1地址输入数据比较

14、可编程密码 PSC 字节(3)读保密存储器命令将保护位传递到输出。与该保护存储器命令一样,此该保密存储器命令该山 4 个字节保密存储器内容,在输出数据方式期间时钟脉冲个数为32 个,I/O 经另外一个时钟脉冲切换至高状态 H 中去。如果可编程密码 PSC 校验不成功,参考字书节的输出就被禁止,I/O 仍保持低状态。 (4)更新主存储器命令 此命令利用传送的数据字节,编程寻址的 EEPROM 字;这取决于新旧数据,在处理方式期间将产生下列序列: 擦除和写(5ms),对应 M255 个时钟脉冲: 写,不用擦除(25ms),对应 m124 个时钟脉冲;长春工业大学学士学位论文 5 擦除,不写(25m

15、s),对应 M124 个时钟脉冲。更新主存储器时序图如图13 所(5)更新保密存储器命令只有在成功地进行 PSC 验证之后,此命令才执行,反之,只有错识计数器(地址0)的各位可以从 1 至 0。执行时间和要求的时钟脉冲与更新主存储器描述的一样。(6)写保护存储器命令写保护存储器命令将己编程在 EEPROM 内的数据与刚送入的数据进行比较,检验正确后,写保护位,使此数据信息不能再改变。假如数据比较不符合,写保护位将被禁,此命令的执行时间利要求的时间脉冲可参照更新主存储器命令。(7)可编程密码 PSC 用法(只 SLE4442 使用)没有可编程密码四 PSC 比较,SLE4442 所有存储器,除了

16、保密存储器外,只能读出。对保密存储器的读存取只能操作错误计数器 EC 的 3 位,这 3 位可写,其他数据的输出将被禁止,即 I/O 保持“O”状态。保密字节可在比较步骤结束和校验通过后读出,此比较过程由 4 个步骤组成:写错误计数器 EC(至少一位),地址 0;比较PSC 字节 1;比较 PSC 字书 2,地址 2:比较 PSC 字节 3,地址 3。每个码比较之后,I/O 在跟随条件(处理方式)之后的第 2 个时钟脉冲,切换至高状态,错误计数器接着能被刷新,密码字节内的码允许改变。下面对写错误计数器及密码比较作一介绍。 写错误计数器 错误计数器由 bit0bit2 的 3 位构成。在密码比较

17、前、错误计数器必须至少写一位。密码比较结果将在错误计数器中反映。三次密码递交出错,IC 卡将被阻塞,即卡中的 EEPROM 只能读出,再也不能修改。 密码比较 写完一次错误计数器之后,根据上面提到的次序,以不同的命令格式送入 3 个密码字节,此 3 字节比较操作的成功结果将通过刷新错误计数器来识别,只要施加上长春工业大学学士学位论文 6操作电压,此时可对所有存储器进行写存取。在错误发生情况下,只要错误计数器仍有效,整个过程可重复。IC 卡一经使用,其密码也可像 EEPROM 中的任何其他信息一样允许进行改变。可编程密码 PSC 校验步骤如图 14 所示。图 1-61.41.4 ICIC 卡的种

18、类及功能特点卡的种类及功能特点 IC 卡根据卡中所镶嵌的集成电路的不同可以分成三类:(1)储存器卡 卡中的集成电路为可编程只读存储器 EEPROM。它不能处理信息,只能像磁卡一样存储信息,只是存储容量比磁卡更大而已。因此它存在着与磁卡一样的安全缺陷,只适用于没有任何安全保障的应用。(2)逻辑加密卡卡中的集成电路具有加密逻辑和 EEPROM,它保持了存储卡的价格优胜。一般应用作电话卡、城市交通领域等储值消费。(3) CPU卡中的集成电路包括中央处理器 CPU、EEPROM、随机存储器 RAM 以及固化长春工业大学学士学位论文 7在只读存储器 ROM 中的片内操作系统 COS(Chip Opeat

19、ing System) ,因此不仅能够存储信息还能对数据进行复杂的运算,从而可以实现数据的加密,有效地防止卡片伪造、数据截取,安全性有了显著提高。目前广泛应用于各种金融交易和其他安全性要求较高的场合如水电气收费。IC 卡根据与外界数据传送的形式来分为三种:(1)接触式的 IC 卡接触式的 IC 卡通过机械触点从读写器获取能量和交换数据;目前在社会上常见的是接触式 IC 卡。它具有存储量大(以兆为单位),保密功能强(有多重密码设置和认证功能),可实现一卡多用。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换,这样,在公交、考勤等需要频繁读写

20、卡的场合就很不方便,而且读写器的触点和卡片上 IC卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。(2) 非接触式 IC 卡非接触式 IC 卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。非接触式 IC 卡是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,在公交、门禁、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频 IC 卡主要有 PHILIPS 公司的 Mifare 和ATMEL 公司的 Temic 卡。(3)光卡光卡(Optical Card)技术是

21、计算机光盘存储技术的孪生兄弟,出现于 20 世纪 80 年代中期。光卡的记录介质是由半导体激光材料组成,基板材料采用聚碳酸酩(用与高速喷气式飞机窗口的有机材料)组成。该材料在耐用性方面是目前普通 IC卡所采用的聚氯乙烯(PVC)的 100 倍。光卡的大小与 IC 卡一样(长 85.6mm、宽54mm、厚 0.76mm)。光卡是能够储存并再生信息的大容量卡式煤体,是利用半导体激光照射来记录和提取信息。光卡的特点是:(1)容量大,能存储 4.2MB 的信息;能保存文字、数据资料、照片、图片、图象资料;(2)安全性好,不怕强电、强磁干扰;(3)可靠性好,拥有独特的信息保密手段,可以做到一卡一码,该码

22、无法用常规方法读取;(4)读写信息快,数据读取速度 26KB/s,数据写入速度 10KB/s;(5)具有很强的兼容性,光卡系统可以现行的计算机各种各样的程序兼容;(6)用专利技术制造,可以防备伪造,且运用了多种加密技术;(7)使用简便;长春工业大学学士学位论文 81.5 IC 卡的选用卡的选用 美国国会于 1996 年认定光卡记录的信息具有法律效应,选定光卡作为绿卡工程选用卡,而在我国,仅在医疗保健上有所应用,并不普及,所以舍弃光卡而不用。IC 技术发展到现在已经成为一项相当成熟的技术 ,相当多的技术细节已经别国际标准化组织(ISO)和国际电子技术委员会(IEC)标准化。非接触式 IC 卡与接

23、触式 IC 卡相比,有以下特点:(1)可靠性高。由于读写之间无机械接触,避免了由于接触读写而产生的各种故障;且非接触式 IC 卡表面无裸露的芯片,无芯片脱落、静电击穿、弯曲损害等后顾之忧。(2)操作方便。无接触通信 使读写器在 10cm 范围内就可以对卡片操作;且非接触式 IC 卡使用时无方向性,卡片可以任意方向掠过读写器表面完成操作,既方便又提高了使用速度。(3)防冲突。非接触式 IC 卡中有快速防冲突机制,能防止卡片之间出现数据干扰,读写器可以“同时”处理多张非接触式 IC 卡。(4)可以适应多种应用。非接触式 IC 卡的存储器结构上的特点适用于一卡多用,可以根据不同引用,设定不同的密码和

24、访问条件。(5)加密性能好。非接触式 IC 卡的序号是唯一的,在出厂前已经固化;非接触式 IC 卡与读写器之间采用双向验证机制,非接触式 IC 卡在处理前要与读写器进行3 次相互认证。所以,根据 IC 卡的特点及功能,选用非接触式卡(PHLIPS 公司的 Mifare 卡)来完成设计。1.61.6 PHLIPSPHLIPS 公司的公司的 MifareMifare 智能非接触智能非接触 ICIC 卡卡概述一一Mifare 1 非接触式 IC 智能(射频)卡特点 :Mifare 1 IC 智能(射频)卡的核心是 Philips 公司的 Mifare 1 IC S50(-01,-02,-03,-04

25、)系列微模块(微晶片) 。它确定了卡片的特性以及卡片读写器的诸多性能。 (1)Mifare 1 IC 智能(射频)卡采用先进的芯片制造工艺制作。内建有高速的CMOS EEPROM,MCU 等。卡片上除了 IC 微晶片及一副高效率天线外,无任何其他元件。(2)卡片上无源(无任何电池) ,工作时的电源能量由卡片读写器天线发送无线电载波信号耦合到卡片上天线而产生电能,一般可达 2V 以上,供卡片上 IC 工作。工作频率 13.56MHZ。长春工业大学学士学位论文 9(3)Mifare 1 射频卡所具有的独特的 MIFARE RF(射频)非接触式接口标准已被制定为国际标准:ISO/IEC 14443

26、TYPE A 标准。 (4)射频卡标准操作距离为 100mm(由 MCM500 作为读写器核心模块)和 25 mm (由 MCM200 作为读写器核心模块) 。与卡片读写器的通信速率高达 106Kbit/s。 (5)Mifare 1 IC 智能(射频)卡上具有先进的数据通信加密并双向验证密码系统;且具有防重叠功能:能在同一时间处理重叠在卡片读写器天线的有效工作距离内的多张重叠的卡片。 (6)Mifare 1 IC 智能(射频)卡与读写器通信使用握手式半双工通信协议;卡片上有高速的 CRC 协处理器,符合 CCITT 标准。 (7)卡片制造时具有唯一的卡片系列号,没有重复的相同的两张 MIFAR

27、E 卡片。 (8)卡片上内建 8K(bit) EEPROM 存储容量并划分为 16 个扇区,每个扇区划分为 4 个数据存储块,每个扇区可由多种方式的密码管理。 (9)卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交/地铁等行业的检票/收费系统。典型的检票交易时间最长不超过 100ms(0.1 秒)(包括卡片的认证,6 个扇区的读(768bit,2 个扇区的认证) ,2 个扇区的写操作(256bit) ) 。卡片上的数据读写可超过 10 万次以上;数据保存期可达 10 年以上,且卡片抗静电保护能力达 2KV 以上。 二主要技术参数(1)工作频率:13.56MHz(2)通信速率:106K

28、BIT/s(3)读写距离:010cm(4)通信编码:符合 ISO/IEC14443 TYPE A(5)在无线通信过程中通过以下机制来保证数据完整-防冲突机制-每块有 16 位 CRC 纠错-每字节有奇偶检验位-检查位数-用编码方式来区分 1、0 或无信息-信道检测(通过协议顺序和位流分析)(6)支持多卡操作-防冲突机制-动态读写(7)安全性-三次相互认证(ISO/IEC9798-2)-通信过程中所有数据均加密以防止信号截取长春工业大学学士学位论文 10-每一扇区有相互独立的密码-每张卡的序列号唯一-传输密码保护(8)支持一卡多用的存储结构-8K 位的 EEPROM-分为 16 个扇区支持多种应

29、用-用户可灵活地定义每一扇区的访问条件(9)数据保持 10 年(10)读写次数 10 万次(11)典型交易时间 $94$98;$A4$A8+$AE=$A4$A8;写 IC卡,写 AT93C46,切输出报警和检票信息。程序框图如图 5-3 所示。图 5-3 检票子程序框图检票子程序如附录 H 所示。 (2)积算子程序 积算子程序的功能是当插入积算卡后,将当次营业额转存到积算卡中,同时对本系统内存清 0,并显示积算卡中的总额。定义$A4$A8 存放检票机营业额,$97$98 存放积算卡内原有的营业额,子程序执行$94$98+$A4$A8=$94$98,同时写 IC 卡和清$A4$A8 为 0,写

30、C46(3)系统设置子程序 系统设置子程序的功能是对新安装的检票机进行初始化设置,当票价调整时可以通过插入系统卡来修改机内票价,即读取 IC 卡中的$90$9F,内容到检票机的$A0$AF,切写 AT93C46,保存数据,程序清单如附录 I 所示。5.4.3 带看门狗和电源监控功能得复位芯片带看门狗和电源监控功能得复位芯片 MAX813l几乎所有的单片机都需要复位电路,对复位电路的基本要求是:在单片机上电时能可靠复位,在下电时能防止程序乱飞导致 EPROM 中的数据被修改;另外,单片机系统在工作时,由于干扰等各种因素的影响,有可能出现死机现象导致单片机系统无法正常工作,为了克服这一现象,除了充

31、分利用单片机本身的看门狗定时器(有长春工业大学学士学位论文 45IMP813LWDIPFORESETGNDVccPFIMRWDO些单片机无看门狗定时器)外,还需外加看门狗电路;除此以外,有些单片机系统还要求在掉电瞬间单片机能将重要数据保存下来,因掉电的发生往往是根随机的,因而此类单片机系统需要电源监控电路,在掉电刚发生时能告知单片机。MAXIM 公司推出的 MAX813L 刚好能满足这些要求,下面具体介绍该芯片的性能特点及使用方法。 图 5-4 MAX813L 的封装及引脚功能MAX813L 有双列直插和贴片两种封装形式,其双列直插如图 413 所示,引脚功能如下: 第脚为手动复位输入,低电平

32、有效;第、脚分别为电源和地;第脚为电源故障输入;第脚为电源故障输出;第脚为看门狗输入,第脚为复位输出,第脚为看门狗输出。 MAX813L 的性能特点:MAX813L 的内部结构框图如图 5-4 所示,具有以下主要性能特点:由图可知该芯片具有以下主要性能特点:(1)复位输出。系统上电、掉电以及供电电压降低时,第脚产生复位输出,复位脉冲宽度的典型值为 200ms,高电平有效,复位门限的典型值为 4.65V。(2)看门狗电路输出。如果在 1.6s 内没有触发该电路(即第脚无脉冲输入),则第脚输出一个低电平信号。 (3)手动复位输入,低电平有效,即第脚输入一个低电平,则第脚产生复位输出。 长春工业大学

33、学士学位论文 46IMP813LWDIPFORESETGND被被检检测测的的电电源源R1R2+V5VccPFIMRWDO手手动动V1AT89C51P1.4INT19(4)1.25V 门限值检测器,第脚为输入,第脚为输出。当第脚电压低于1.25V 时,第脚输出一个低电平信号。 MAX813L 的典型应用电路:MAX813L 的典型应用电路如图 5-5 所示。图中单片机以 AT89C51 为例,MAX813L的第脚与第脚相连。第脚接单片机的复位脚(AT89C51 的第脚);第脚与单片机的 P1.4 相连。在软件设计中,P1.4 不断输出脉冲信号,如果因某种原因单片机进入死循环,则 P 1.4 无脉

34、冲输出。于是 1.6s 后在 MAX813L 的第脚输出低电平,该低电平加到第脚,使 MAX813L 产生复位输出,使单片机有效复位,摆脱死循环的困境。另外,当电源电压低于门限值 4.65V 时,MAX813L 也产生复位输出,使单片机处于复位状态,不执行任何指令,直至电源电压恢复正常,可有效防止因电源电压较低时单片机产生错误的动作。 电源故障输入 PFI 通过一个电阻分压器监测未稳压的直流电源。当 PFI 低于 1.25V时,电源故障输出脚第脚 PF0 变低,可引起 AT89C51 中断,进行电源故障处理,或将重要数据保存下来。把分压器接到未稳压的直流电源是为了更早地对电源故障告警。 图 5

35、-5MAX813L 是一体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片;它使用简单、方便,它所提供的复位信号为高电平,因而是应用于复位信号为高电平场合的单片机系统的理想芯片。长春工业大学学士学位论文 47结结 论论从 5 月开始到现在的毕业设计,经历了 2 个月左右的时间,在老师的帮助下,通过自己的努力,查询了很多的有关资料,并根据所查找到的资料以及所学的知识完成了毕业设计。通过毕业设计,提高了自己的学习能力,并对本专业知识的实际应用有了进一步的了解,也锻炼了相应的动手能力。毕业设计对于我们学生来说,尤其是在校应届本科毕业生来说,是一个不错的锻炼机会,大部分在校生的动手能力差,知识

36、理解能力薄弱有目共睹。通过这次难得的、也是最后一次的在校设计,强化了我们的实际应用能力,为我们以后工作的奠定了一个不错的地基。长春工业大学学士学位论文 48致致 谢谢 通过了 2 个多月的努力,我们学生顺利的完成了大学阶段最重要的毕业设计,在设计的过中,我们的导师给予了我们很大的帮助和鼓励,在这里,特别感谢我的导师张袅娜老师,谢谢她的帮助,也谢谢她无论在什么时候,只要我们提出问题,即使在假期,也抽出宝贵的时间来解答我们。长春工业大学学士学位论文 49参考文献参考文献(1)李也白,王福成.智能卡应用系统.清华大学出版社.2000 年(2) 张辉,陈粤初,李丕垠.MOTOROLA 单片机应用技术.

37、1999 年(3) 王恒奎,边耐欣,潘峰,陈子辰.非接触式智能卡系统及若干关键技术(4) 何广军摘自电子应用技术 ,USB 接口在串行通信中的应用(5) 刘刚,邵敏权,刘俊萍,林晓梅.单片机原理、实验及应用.1995 年(6) 于微波,林晓梅,刘俊萍.微型计算机控制系统.吉林人民出版社.2002 年(7) 佚名.公交非接触 IC 卡读写器的应用设计(8) 童诗白,华成英.模拟电子技术基础.高等教育出版社.2001 年长春工业大学学士学位论文 50附录附录 A A 单片机单片机 MC68HC705J2MC68HC705J2 读数据到读数据到 AT93C46AT93C461 READ: LDA #

38、$0F 置 PORTAPA4,PA5 为输入 2 STA DDRB 3 LDA #$10 定义$F1 存放读 AT93C46 的内存个数,16 字节 4 STA $F1 5 CLR $F2 定义$F2 存放读 AT93C46 内存的起始地址 6 RDLA: BSET 3.PORTA 输出 PA3 为 1,选中 AT93C46 7 LDX #%11000000 命令码送 X 8 JSR SPOUTAL 调用 SPOUTAL 发出读命令码 9 LDX $F2 $F2=A 10 JSR SPOUTAL 调用 SPOUTAL,发出地址 11 JSR SPIN 调用 SPIN,读数据,数据保存在寄存器

39、X 中 12 TXA X=A 13 LDX $F2 $F2=A 14 STA $A0,X 将读到的数据送$A0+(X)保存 15 BCLR 3,PORTA 置 PA3=0 16 INC $F2 地址指针加 1 17 DEC $F1 计数个数减 1 18 BNE RDLA 没有读完,循环19RTS长春工业大学学士学位论文 51附录附录 B B 单片机单片机 MC68HC705J2MC68HC705J2 写数据到写数据到 AT93C46AT93C46 1 WRITEL:LDA #$0F 置 PORTAS 输入输出 2 STA DDRB A=DDRB 3 LDA #$10 定义#$F1 存放要写的字

40、节个数,16 个字节 4 STA $F1 A=$F1 5 CLR $F2 定义$F2 存放要写内存的地址偏移量 6 JSR EWENL 调用写使能子程序 7 WL1: BSET 3,PORTA 输出 PA3 为 1,选中 AT93C46 8 LDX #%10100000 写命令码送寄存器 X 9 JSR SPOUTL 调用发命令码子程序 10 LDX $F2 地址码送寄存器 X 11 JSR SPOUTAL 调用发地址码子程序 12 LDX $F2 地址偏移量$F2 送寄存器 X 13 LDX $A0,X 数据 X+$A0=X 14 JSR SPOUTDL 调用发数据码子程序 15 BCLR

41、3,PORTA 在 PA3 和 PA4 发出一个时钟脉冲,置 PA3=0 16 BLCR 4,PORTA 置 PA4=0 17 NOP 延迟一个时钟脉冲 18 BEST 4,PORTA 置 PA4=1 19 NOP 延迟一个时钟脉冲 20 BCLR 4,PORTA 置 PA4=0 21 NOP 延迟一个时钟脉冲 22 BSET 4,PORTA 置 PA4=1 23 NOP 延迟一个时钟脉冲 24 BCLR 4,PORTA 置 PA4=0 25 BSET 3,PORTA 置 PA3=1 26 BSET 4,PORTA 置 PA4=1 27 JSR DELAY10MS 调用 10MS 延迟,等待编

42、程结束 28 BCLR 3,PORTA 置 PA3=0 29 INC $F2 地址偏移量$F2 加 1 30 DEC $F1 计数个数$F1 减 1长春工业大学学士学位论文 52 31 BNE WL1 没有写完,循环 32 JSR EWDSL 调用写阻塞子程序,保护 AT93C46 33 RTS 子程序返回附录附录 C C 单片机单片机 MC68HC705J2MC68HC705J2 读写读写 AT93C46AT93C46 的子程序的子程序 1 EWENL: BSET 3,PORTA 写使能子程序;置 PA3=1,选中 C46 芯片 2 LDX #%10000000 写使能命令码送寄存器 X 3

43、 JSR SPOUTL 调用发写命令子程序 4 LDX #%01100000 写使能命令码送寄存器 X 5 JSR EWEDL 调用子程序 EWEDL 6 RTS 7 EWEDL: JSR SPOUTAL 调用 SPOUTAL 子程序 8 BCLR 3,PORTA 置 PA3=0 9 BCLR 4,PORTA 置 PA4=0 10 NOP 延迟一个时钟脉冲 11 BEST 3,PORTA 置 PA3=1 12 NOP 延迟一个时钟脉冲 13 BCLR 4,PORTA 置 PA4=0 14 NOP 延迟一个时钟脉冲 15 BSET 3,PORTA 置 PA3=0 16 BSET 4,PORTA

44、置 PA4=0 17 NOP 延迟一个时钟脉冲 18 RTS 延迟一个时钟脉冲 19 EWDSL: BEST 3,PORTA 写阻塞子程序;置 PA3=1,选中 C46 芯片 20 LDX #%10000000 写使能命令码送寄存器 X 21 JSR SPOUTL 调用发命令子程序 SPOUTL 22 LDX #%01100000 写使能命令码送寄存器 X 23 JSR EWEDL 调用子程序 EWEDL 24 RTS 25 SPIN: LDA #8 采集 8 位数据,定义,$F0 存放位数;8=A 26 STA $F0 A=$F0 27 SPIN2:BCLR 4,PORTA PA4 口输出时

45、钟,置 P4=0 28 NOP 延迟一个时钟脉冲 29 BCLR 4,PORTA 置 PA4=1长春工业大学学士学位论文 53 30 NOP 延迟一个时钟脉冲 31 LDA PORTA 从 PA 口读数据,结果移位到寄存器 X中保存 32 ROLA A 左移一位 33 ROLA A 左移一位 34 ROLA A 左移一位 35 ROLA A 左移一位 36 ROLA A 左移一位 37 DEC $F0 位数计数器$F0 减 1 38 BSET SPIN2 没有结束,返回 SPIN2 39 RTS 40 SPOUTL:BSET 1,PORTB 发 3 位的命令码子程序,置 PB1=1,选中C46

46、芯片 41 LDA #3 $F0 皴法功能命令码个数,X 存放命令码 42 LDA $F0 A=$F0 43 STL1: TXA X=A 44 JSR SPL 调用 SPL 子程序 45 BNE STL1 没有返回 STL1 子程序 46 RTS 47 SPL: ROLA A 循环左移一位 48 ROLA A 左移一位 49 AND #$01 A 与#$01 相与 50 ORA #$02 A 与#$02 相或 51 STA PORTA 结果 A 送 PORTA 52 ROLX X 循环左移一位 53 BSET 4,PORTA 置 PA4=1 54 DEC $F0 命令码计数器$F0 减 1 5

47、5 RTS 56 SPOUTAL:BSET 1,PORTB 发出 7 位地址子程序,置 PA3=1,选中 C46 57 LDA #7 $F0 存放地址码个数 7,X 存放地址码 58 STA $F0 A=$F0 59 SAL: TXA X=A 60 ROLA A 左移一位 61 JSR SPL 调用子程序 SPL长春工业大学学士学位论文 54 62 BNE SAL 没有结束返回 SAL 63 RTS 64 SPOUTDL:BSET 3,PORTA 发出 8 位数据码子程序,置 PA3=1,选中 C46 65 LDA #8 $F0 存放位数,X 存放数据;8=A 66 STA $F0 A=$F0

48、 67 SDL: TXA X=A 68 JSR SPL 调用子程序 SPL 69 BNE SDL 没有结束返回 SDL 70 RTS长春工业大学学士学位论文 55附录附录 D D 单片机单片机 MC68HC705J2MC68HC705J2 读数据到读数据到 ICIC 卡卡1 READC: LAD #$00011111 设置 PORTA 方向寄存器2 STA DDRB A=DDRB3 BCLR 3,PORTA 置 PA3=0,禁止选中 AT93C464 JSR RESET 调用 RESET,复位 IC 卡5 LDX #%10 定义$F2 存放读 IC 卡的数据个数,16 个字节6 STX $F2

49、 X=$F27 CLR $F1 清$F18 JSR START 调用 START,输出起始条件9 LDX #%00110000 读命令码送寄存器 X10 JSR SPOUTC 调用 SPOUTC,发出命令码 X11 LDX #$20 起始地址#$20 送 X12 JSR SPOUTC 调用 SPOUTC,发出地址13 LDX #0 数据 0 送 X14 JSR SPOUTC 调用 SPOUTC,发出数据码15 JSR STOP 调用 STOP,输出停止条件16 BCLR 0,DDRA PA3 置输入方式17 READC1:JSR SPINC 调用 SPINC 数据采集子程序18 TXA X=A

50、19 LDX $F1 $F1=A20 STA $90,X 将采集到读书局送$90+(X)21 INC $F1 地址偏移量加 122 DEC $F2 数据个数减 123 BNE READC1 没有读完,循环24 JSR PLUSE 发出结束读脉冲25 BSET 0,DDRA PA3 置输出方式26 RTS长春工业大学学士学位论文 56附录附录 E E 单片机单片机 MC68HC705J2MC68HC705J2 写数据到写数据到 ICIC 卡卡1 WRITEC: LDA #%00011111 设置 PA 口的输入输出方式2 STA DDRA A=DDRA3 BCLR 3,PORTA 置 PA3=0

51、4 JSR RESET 调用 RESET,复位 IC 卡5 LDX #$20 定义$F1 存放写 IC 卡的起始地址,$206 STX $F1 X=F17 LDX #$10 定义$2 存放写 IC 卡的个数,16 个字节8 STA $F2 X=F29 LDX #$90 定义$F3 存放要写到 IC 卡的 RAM 地址10 STA $F3 X=F211 WRITEC1:JSR START 调用 START,发出起始条件12 LDX #$00111000 写命令码送 X13 SR SPOUTC 调用 SPOUTC,发出写命令14 LDX $F2 $F3=X15 JSR SPOUTC 调用 SPOU

52、TC,发出要写的地址16 LDX $F3 $F3=X17 LDX X (X)=X18 JSR SPOUTC 调用 SPOUTC,发出要写的数据19 JSR STOP 调用 STOP,发出结束条件20 JSR PROCESS 调用 PROCESS,发出一个编程过程21 INC $F3 RAM 地址指针$F3 加 122 INC $F1 IC 卡地址指针$F1 加 123 DEC $F2 计数个数$F2 减 124 BNE WRITEC1 没有写完,转 WRITEC1 循环25 RTS长春工业大学学士学位论文 57附录附录 F F 单片机单片机 MC68HC705J2MC68HC705J2 读写读

53、写 ICIC 卡的子程序卡的子程序1 PORCESS:LDA #$FF PA4 口发出 256 个时钟脉冲,等待编程结束2 STA $F0 $F0 存放时钟脉冲个数3 PROC1: BSET 4,PORTA 置 PA4=14 NOP 调用一个时钟脉冲5 BCLR 4,PORTA 置 PA4=06 DEC $F0 $F0 减 17 BNE PROC1 没有结束,转 PROC1 循环8 RTS9 SPINC: LDA #8 定义$F0 为须发出的时钟个数,8 个10 STA $F0 定义寄存器 X 存放最后读到的数据11 SPIN1: BCLR 4,PORTA 置 PA4=012 LDA PORT

54、A 从 PORTA 口读数据到 A13 AND #$01 A 与#$01 相与14 LSRA A 右移一位15 RORX 将从 PA3 口读到的数据移位到寄存器 X16 BSET 4,PORTA 置 PA4=117 DEC $F0 $F0 减 118 BNE SPIN1 没有结束,转 SPIN1 循环19 RTS20 SPOUTC: LDA #8 定义$F0 存放要发湖的时钟个数21 STA $F0 定义寄存器 X 存放要发出的数据22 SPTC1: BCLK 4,PORTA PA4 口作为时钟源23 TXA X=A24 AND #$01 A 与#$01 相与25 STA PORTA 寄存器

55、X 的数据经位移从 PA3 口发出26 NOP 调用一个时钟脉冲27 BSET 4,PORTA 置 PA4=1长春工业大学学士学位论文 5828 RORX X 循环右移一位29 DEC $F0 $F0 减 130 BNE SPTC1 没有结束,转 SPTC1 循环31 RTS32 START: BSET 4,PORTA PA4 置 1 和 PA3 置 0,由此发出一个起始条件33 NOP 调用一个时钟脉冲34 BCLR 3,PORTA 置 PA3=035 NOP 调用一个时钟脉冲36 RTS37 STOP: BCLR 4,PORTA PA4 和 P3 发出一个”0”至”1”的脉冲38 NOP

56、由此发出一个结束条件39 BCLR 3,PORTA 置 PA3=040 NOP 调用一个时钟脉冲41 BSET 4,PORTA 置 PA4=142 CLRX X 清 043 CLC 清进位44 CLRA 清累加器45 BSET 4,PORTA 置 PA4=146 RTS47 PLUSE: BCLK 4,PORTA PA4 口发出一个时钟脉冲48 NOP 调用一个时钟脉冲49 BSET 4,PORTA 置 PA4=150 NOP 调用一个时钟脉冲51 BCLR 4,PORTA 置 PA4=052 RTS53 RESET: BSET 6,PORTA PA6 发出一个由”1”至”0”的脉冲,复位 I

57、C卡54 RTS55 BCLR 4,PORTA 置 PA4=056 NOP 调用一个时钟脉冲57 RTS长春工业大学学士学位论文 59附录附录 G G 主监控程序主监控程序 * * IC BUS main program * * 1 PORTA: EQU $00 2 PORTB: EQU $01 3 DDRA: EQU $04 4 DDRB: EQU $05 5 COP: EQU $0FF0 6 TCSR: EQU $08 7 WTIMES: EQU $E0 8 ORG $700 9 MIAN: RSP 10 SEI 关中断 11 CLRA 清累加器 A 12 CLC 清进位 C 13 LDA

58、 #10 定义每隔 10 个定时中断清除 COP 14 STA WTIMES A=WTIMES 15 LDA #$10 置 TCSR 的 RT1,RT0 为 00,RTIE 为 1, 16 STA TCSR 以定义定时中断请求,中断率为 8.2ms 17 CLI 开中断 18 LDA #$FE #$FE=A 19 AND COP A 与 COP 相与 20 STA COP 清楚 COP 复位 21 CLR $BF 定义$BF 为标志寄存器,清标志寄存器 22 JSR READL 调用 TEADL,读 AT98C46 23 LDA #$FF #$FF=A 24 STA DDRA 置 PORTA

59、为全输出长春工业大学学士学位论文 60 25 LDA #$0F 置 PORTB 为 PB4,PB5 为输入PB3,PB2,PB1,PB0 为输出 26 STA DDRA A=DDRA 27 BCLR 3,PORTB 置 PB3=0,关报警 28 LOOP: BLCR 3,DDRA 置 PA3 为输入方式 29 BRSET 3,PORTA,TRC 测试 IC 卡插入,有卡插入转 TRC 30 JSR DELAY50MS 延时 50ms 31 BRCLR 3,PORTA,TRC PA30,转 TRC 32 DIS1: BSET 3,DDRA 置 PA3 为输出方式(无卡插入) 33 BCLR 4,

60、PORTA 置 PA4=0,关显示 34 BCLR 5,PORTA 置 PA5=0,关显示 35 BCLR 6,PORTA 置 PA6=0,关显示 36 BCLR 3,PORTB 置 PB3=0,关报警 37 BCLR 5,PORTB 置 PB5=0,关指示灯 38 BCLR 4,$BF 置$BF 的第 4 位为佳,清卡插入标志 39 JMP DIS 转 DIS 40 TRC: BRCLR 4,$BF,TORC 测试 IC 卡第一次插入,是转TORC 41 JMP DIS 转 DIS 42 TORC: BSET 4,$BF 置卡插入标志$BF,4=1 43 JSR READC 调用 READC

61、,读 IC 卡 44 LDA $9F 判断卡特征,$9F=A 45 CMP #$00 A 与#$00 比较 46 BEQ USE 特征码为 0,转 USE 47 CMP #$01 A 与#$001 比较 48 BEQ USE 特征码为 1,转 SYS 49 CMP #$02 A 与#$02 比较 50 BEQ SUM 特征码为 2,转 SUM 51 JMP DIS 转 DIS 52 SYS: JSR SYSC 调用 SYSC 系统卡处理程序 53 DIS: LDA $A6 显示值$A6 送显示缓冲区$B0 54 STA $B0 A=$B0 55 LDA $A7 显示值$A7 送显示缓冲区$B1

62、 56 STA $B1 A=$B1长春工业大学学士学位论文 61 57 LDA $A8 显示值$A8 送显示缓冲区$B2 58 STA $B2 A=$B2 59 JSR DISPLAY 调用 DISPLAY 显示子程序 60 CLRA 清累加器 A 61 STA PORTA 关显示器 62 JMP LOOP 转 LOOP 63 USE: JSR USERC 调用 USERC 用户卡处理程序 64 JMP DIS 转 DIS 65 SUM: JSR SUMC 调用 SUMC 积算卡处理程序 66 JMP DIS 转 DIS 长春工业大学学士学位论文 62附录附录 H H 检票子程序检票子程序1

63、USERC: LDA $98 个位数$98票价$AE,转 DEC12 CMP $AE $98 与$AE 比较3 BHS DEC1 大于 0,转 DEC14 LDA $97 十位数$970,转 DEC25 CMP #0 与 0 比较6 BHI DEC2 大于 0,转 DEC37 LDA #96 百位数$960,转 DEC38 CMP #0 与 0 比较9 BHI DEC3 大于 0,转 DEC310 LDA $95 千位数$950,转 DEC411 CMP #0 与 0 比较12 BHI DEC4 大于 0,转 DEC413 LDA $94 万位数$940,转 DEC514 CMP #0 与 0

64、 比较15 BHI DEC5 大于 0,转 DEC516 BEST 7,DDRA 置 PA7 为输出方式17 BEST 8,DDRB 置 PB3 为输出方式18 BEST 7,PORTA 置 PA7=1,输出蜂鸣声19 BEST 3,PORTB 置 PB3=1,点亮红色报警灯20 JSR DELAY1s 调用 1s 延迟21 JSR DELAY1s 调用 1s 延迟22 JSR DELAY1s 调用 1s 延迟23 JSR DELAY1s 调用 1s 延迟24 BCLR 7,PORTA 置 PA7=0,关蜂鸣器长春工业大学学士学位论文 6325 JSR DISPY 调用 DISPY,显示卡中剩

65、余可乘车次数26 BCLR 5,PORTB 置 PB5=0,关检票通过指示灯27 RTS 28 DEC1: LDA $98 执行$98-$AE=$9829 SUB $AE $98-$AE30 STA $98 结果送 A31 JMP USERC1 转 USERC132 DEC2: DEC $97 $97 减 133 DEC21: LDA $98 $98+10-$AE=$9834 ADD #$0A $98+1035 SUB $AE -$AE36 STA $98 A=$9837 JMP USERC1 转 USERC138 DEC3: DEC $96 $96-139 LDA #9 9=$9740 ST

66、A $97 A=$9741 JMP DEC21 转 DEC2142 DEC4: DEC $95 $95 减 143 LDA #9 9=$96,9=$9744 STA $96 A=$9645 STA $97 A=$9746 JMP DEC21 转 DEC2147 DEC5: DEC $94 $94 减 148 LDA #9 9=$95,9=$96,9=$9749 STA $97 A=$9750 STA $96 A=$9651 STA $95 A=$9552 JMP DEC21 转 DEC2153 USERC1: JSR C46INC 调用乘车人数加一子程序54 JSR WRITEL 保存检票机当前数据到 AT93C4655 JSR WRITEC 写 IC 卡56 BEST 7,DDRA 置 PA7 为输出方式57 BEST 5,DDRB 置 PB5 为输出方式58 BEST 7,PORTA 置 PA7=1,输出检票信号,一声蜂鸣59 BEST 5,PORTB 置 PB5=1,点亮绿色检票通过指示灯长春工业大学学士学位论文 6460 JSR DISPY1s 调用 DISPY,1s,1s 延

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!