DZ196IC卡检票机MCY
DZ196IC卡检票机MCY,dz196ic,检票,mcy
I摘 要在日常生活中,现金交易的不易携带、容易丢失、流通不方便情况给人们生活带来了很多不利,现代化城市开始朝着一卡通方向发展。IC 卡则为近几年才出现的新型卡片,在卡片上嵌有 IC(E2PROM,有的还有 CPU) 。由于它保存的信息比较可靠安全、可以高达几万次的读写,所以大量应用于公交车票 、饭票 、保健卡、收费系统等。 众所周知,城市公交系统是一个城市的窗口,其工作的质量与效率会直接影响到人民群众的日常生活和工作。利用现代计算机和通讯技术,实现公交 IC 卡收费系统能显著提高企业的现代化管理水平,为公交运营管理提供科学准确的数字信息,获得明显的社会和经济效益,同时也为城市一卡通打下基础。本文设计的基于 USB 接口的车载 IC 读写器由 MCU 系列的 MC68HC705J2 单片机、MMM 微模块、键盘、显示、存储器 AT93C46、天线和监控电路以及与 PC 机通信的 CH371 固化 USB 串行通信接口电路组成。具有读写时间快、可以 1 万次写/擦除、数据保留十年、热插拔功能等显著特点。关键词:IC 卡、MCU 单片机 MC68HC705J2、存储器 AT93C46、CH371。 IITitle: Bus carry IC cards control system with USB interfaceAbstractIn daily life, the cash transactions inconvenient to take along with people, easy to lose and inconvenient for circulation make a big disadvantage to human life. The IC card is a new kind of card that appears these years. On the card there is a IC (E2PROM, some has CPU). Because the dependable safety in information that it keep, can be up to reading and writing for ten thousand times, large quantity of IC card applies in the bus ticket, meal ticket, care card and charges system etc. Know to all, the city bus system is the window of a city, its work efficiency and quality will affect directly with the daily life of people。Based on the modern computer and communication technology we can achieve the IC card charging to the bus system. This will raise the modernization level of the business management a, achieve social and economy beneficial and make a good base to the one -card citys system.This text design the USB interface car carries IC reads and write system that use the MCU single chip computer MC68CH705J2CH371, MMM micro module, keyboard, moniter,AT93C46, antenna, control electric circuit and with a USB electric circuit constitutes for communication with PC. It is fast writing and reading speed and may write and clear for 10 thousand times. The data will stay for 10 years. Keywords:IC card、MCU single-chip computer MC68HC705J2、ROM AT93C46、CH371 i目 录摘 要 .IABSTRACT.II第一章 IC 卡应用 .111 IC 卡概述 .1112 IC 卡功能描述 .1113 IC 卡通信协议 .112 IC 卡的种类及功能特点 .113 PHLIPS 公司的 Mifare 智能非接触 IC 卡 .1第二章 单片机 A/D、D/A 转换 .121 Motorola 单片机发展概况 .122 Motorola 单片机应用技术概论 .1221 单片机应用系统的构成及基本要求 .1222 Motorola 单片机应用技术介绍 .123 单片机 MC68HC705J2 .1231 MC68HC05J2 存储器结构 .1232 MC68HC70532 单片机 .1第三章 USB 总线 接口芯片( CH371) .131 概述 .132 特点 .133 引脚 .134 功能说明 .1341 一般说明 .1342 USB 设备配置和数据传输过程描述 .1343 本地端的软硬件接口 .1344 计算机端的软件接口 .135 应用 .1第四章 单片机 SPI 接口技术及应用技术 .141 SPI 硬件接口 .1411 硬件接口 .1412 软件模拟实现 .142 单片机与 EEPROM 接口及 SPI 实现 .143 单片机与 IC 卡接口及 SPI 实现 .1第五章 应用实例基于 USB 接口的车载 IC 卡控制系统 .151 设计目的 .152 设计原理 .153 设计步骤 .1531 功能设想 .1532 硬件系统考虑 .1533 电路分析 .154 控制软件 .1541 主监控程序 .1 ii542 功能程序 .1543 WATCHIDOG 功能 .1结 论 .1致 谢 .1参考文 献 .1附录 A 单片机 MC68HC705J2 读数据到 AT93C46 .1附录 B 单片机 MC68HC705J2 写数据到 AT93C46 .1附录 C 单片机 MC68HC705J2 读写 AT93C46 的子程序 .1附录 D 单片机 MC68HC705J2 读数据到 IC 卡 .1附录 E 单片机 MC68HC705J2 写数据到 IC 卡 .1附录 F 单片机 MC68HC705J2 读写 IC 卡的子程序 .1附录 G 主监控程序 .1附录 H 检票子程序 .1附录 I 系统设置子程序 .1附录 J WATCHDOG 功能子程序 .1附录 K 系统原理图 .1 1第一章 IC 卡应用11 IC 卡概述IC(Integrated Circuit)卡的英文名有“IC Card”, “Smart Card”等,在我国称“IC 卡” ,带 CPU(中央处理器)的 IC 卡称智能卡。国际标准化组织(ISO)在ISO7861 标准中规定的 IC 卡是指在聚氯乙烯(PVC)或聚氯乙烯酸酯(PVCA)材料制成塑料卡内嵌入微处理器和存储器等 IC 芯片的数据卡。CPU 和存储器可以集成在一个芯片上。 IC 卡是集成电路卡。在卡上,封装有符合 ISO 标准的芯片,有 6 或 8 个触点和外部设备进行通信。在 IC 卡上可以有彩色图案和说明性文字。触点的位置如图 1-1所示;IC 卡基本内部结构如图 1-2 所示。 1 李也白,王福成.智能卡应用系统.清华大学出版社.2000 年当 IC 卡插入 IC 卡读卡器后,各接点对应接通,IC 卡上的超大规模集成电路就开始工作,IC 卡以其超小的体积、先进的集成电路芯片技术、独特的功能和保密措施受到了广泛的欢迎;IC 卡系统的最大特点是实现真正的脱机运行。所谓脱机运行是指 IC 卡系统不依赖 PC 机就可以正常工作,可以自动识别、判断、读写、记录、存储持卡人的信息;也可以将持卡人的信息传输给 PC 机。IC 卡存储量大,存储量可以从几十字节到几兆字节;IC 卡使用方便,便于携带;IC 卡有一系列加密措施,能有效地防止密码被盗窃或破坏;IC 卡对网络实时性、敏感性要求较底;IC 卡的防磁、防静电、抗干扰等性能较好;IC 卡使用寿命长。111 IC 卡特征及结构(以 SLE4432 和 SLE4442 为例):(1)256*8 的 EEPROM 用户存储卡;(2)32*1 位保护存储器;(3)按字节寻址;(4)用户存储器中 32 字节的不可逆字节写保护;(5)2 线制通信协议 ;(6)复位响应符合 ISO 标准 7816-3; 2(7)擦写和写的编程时间各为 2.5ms;(8)至少 1 万次写/擦除周期;(9)数据保持可达 10 年;(10)触点配置和串行接口符合 ISO 标准 7816(同步传送) ;(11)SLE4442 特征 还具有在准确的 24 位可编程密码递交后,内部数据才能改变。IC 卡引脚配置。 2 张辉,陈粤初,李丕垠.MOTOROLA 单片机应用技术.1999 年112 IC 卡功能描述一般的 IC 卡,例如 SLE4432,存储器可分为两部分:(1)用户存储器;(2)保护存储器。SLE4442 还有一个保密存储器,如图 1.1.2-1 所示。图中 PSC1,PSC2,PSC3 为3 字节密码。用户存储器 EEPROM 具有 256*8 位的内部结构,EEPROM 中 031 字节可设置成ROM,它有保护存储器相应保护位来确定,此地址范围的数据位只有在其保护位还未设置成 0 之前才能改变,一旦写了保护位,则次数据字节再也不能被擦除或改变。通常一些 IC 卡存放了保护存储器,在使用中无须再次修改其内容,例如用户识别码、卡发行单位码等。正常情况下,一个数据的改变由擦除和写步骤完成,数据改变与否取决与主存内数据字节内容以及新的数据字节是否要求 EEPROM 真正擦除或改变。假如寻址的字节中的 8 位不需要从 0 至 1 的变化,则擦除将取消;相反假如不需要 1 至 0 的变化,则写存取将取消。每个编程操作即擦出或写存取至少花 2.5ms。对于带保密功能的 SLE4442 卡,只有递交了准确的 24 位长密码(PSC)后,用 3户存储器内的数据才能改变,为了保护此类 IC 卡数据以及防止卡密码被破译,限制递交密码的出错次数最多为 3 次,由一个错误计数器 EC 来计数。一旦密码递交出错次数超过 3 次,则此卡将作废。出厂时的此类密码为 FFFFFF,对于不带密码的SLE4432 卡,则可方便地改变用户存储器的数据。113 IC 卡通信协议IC 卡通信协议是一种在接口期间 IFD 和 IC 卡芯片间的二线制通信协议,所有I/O 上的数据改变在时钟 CLK 下降沿进行。通信协议由四种方式组成;复位和复位响应;命令方式;输出数据方式;处理方式。1.复位和复位响应复位响应根据 ISO 标准 7816-3 执行,复位可在操作期间任何时候进行。起始时,RST 的高状态 H 设置至低状态 L,地址计数器随时钟脉冲一起置 0,第一数据位(LSB)输出至 I/O,连续输入 31 个时钟脉冲,可读出第一个 4 个 EEPROM 地址中内容,地 33 个始终脉冲恢复 I/O 至状态 H。在复位响应期间,任何开始和停止条件均被禁止。2.命令方式复位响应后,芯片等待命令。每个命令由起始条件、一个 3 字节长命令和停止条件构成。起始条件:CLK 处于高状态 H 期间。停止条件:CLK 处于高状态 H 期间。接收到命令后,有两种方式:读数据的输出方式和写(或擦除)的处理方式。3.输出数据方式在这种方式下,IC 发送数据至 IFD 示,它表示输出数据时序图,在 CLK 上第一个下降沿后,I/O 上第一位有效,最后一个数据位之后,需要一个额外的时钟脉冲,以设置 I/O 处于高状态,同时准备 IC 接收新的命令。在这种方式,任何起始和停止条件均被禁止。 4.处理方式图为处理方式时序图。IC 卡必须连续接收时钟,直至到 CLK 下降沿之后切换至低状态 L 的 I/O 被设置成高状态 H,任何开始和停止条件在此方式期间均被禁止。12 IC 卡的种类及功能特点目前市场上常用的 IC 卡有接触式 IC 卡、非接触式 IC 卡 、光卡等。121 接触式 IC 卡:接触式的 IC 卡通过机械触点从读写器获取能量和交换数据;目前在社会上常见 4的是接触式 IC 卡。它具有存储量大(以兆为单位),保密功能强(有多重密码设置和认证功能),可实现一卡多用。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换,这样,在公交、考勤等需要频繁读写卡的场合就很不方便,而且读写器的触点和卡片上 IC 卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。122 非接触式 IC 卡:非接触式 IC 卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。非接触式 IC 卡是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,在公交、门禁、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频 IC 卡主要有 PHILIPS 公司的 Mifare 和ATMEL 公司的 Temic 卡。123 光卡:光卡(Optical Card)技术是计算机光盘存储技术的孪生兄弟,出现于 20 世纪80 年代中期。光卡的记录介质是由半导体激光材料组成,基板材料采用聚碳酸酩(用与高速喷气式飞机窗口的有机材料)组成。该材料在耐用性方面是目前普通 IC卡所采用的聚氯乙烯(PVC)的 100 倍。光卡的大小与 IC 卡一样(长 85.6mm、宽54mm、厚 0.76mm)。光卡是能够储存并再生信息的大容量卡式煤体,是利用半导体激光照射来记录和提取信息。光卡的特点是:(1)容量大,能存储 4.2MB 的信息;能保存文字、数据资料、照片、图片、图象资料;(2)安全性好,不怕强电、强磁干扰;(3)可靠性好,拥有独特的信息保密手段,可以做到一卡一码,该码无法用常规方法读取;(4)读写信息快,数据读取速度 26KB/s,数据写入速度 10KB/s;(5)具有很强的兼容性,光卡系统可以现行的计算机各种各样的程序兼容;(6)用专利技术制造,可以防备伪造,且运用了多种加密技术;(7)使用简便;124 IC 卡的选用 美国国会于 1996 年认定光卡记录的信息具有法律效应,选定光卡作为绿卡工程选用卡,而在我国,仅在医疗保健上有所应用,并不普及,所以舍弃光卡而不用。非接触式 IC 卡与接触式 IC 卡相比,有以下特点:(1)可靠性高。由于读写之间无机械接触,避免了由于接触读写而产生的各种故障;且非接触式 IC 卡表面无裸露的芯片,无芯片脱落、静电击穿、弯曲损害等后顾 5之忧。(2)操作方便。无接触通信 使读写器在 10cm 范围内就可以对卡片操作;且非接触式 IC 卡使用时无方向性,卡片可以任意方向掠过读写器表面完成操作,既方便又提高了使用速度。(3)防冲突。非接触式 IC 卡中有快速防冲突机制,能防止卡片之间出现数据干扰,读写器可以“同时”处理多张非接触式 IC 卡。(4)可以适应多种应用。非接触式 IC 卡的存储器结构上的特点适用于一卡多用,可以根据不同引用,设定不同的密码和访问条件。(5)加密性能好。非接触式 IC 卡的序号是唯一的,在出厂前已经固化;非接触式 IC 卡与读写器之间采用双向验证机制,非接触式 IC 卡在处理前要与读写器进行3 次相互认证。所以,根据 IC 卡的特点及功能,选用非接触式卡(PHLIPS 公司的 Mifare 卡)来完成设计。13 PHLIPS 公司的 Mifare 智能非接触 IC 卡概述一Mifare 1 非接触式 IC 智能(射频)卡特点 :Mifare 1 IC 智能(射频) 卡的核心是 Philips 公司的 Mifare 1 IC S50(-01,-02,-03,-04)系列微模块(微晶片) 。它确定了卡片的特性以及卡片读写器的诸多性能。 (1)Mifare 1 IC 智能(射频)卡采用先进的芯片制造工艺制作。内建有高速的CMOS EEPROM,MCU 等。卡片上除了 IC 微晶片及一副高效率天线外,无任何其他元件。(2)卡片上无源(无任何电池) ,工作时的电源能量由卡片读写器天线发送无线电载波信号耦合到卡片上天线而产生电能,一般可达 2V 以上,供卡片上 IC 工作。工作频率 13.56MHZ。 3 王恒奎,边耐欣,潘峰,陈子辰.非接触式智能卡系统及若干关键技术(3)Mifare 1 射频卡所具有的独特的 MIFARE RF(射频)非接触式接口标准已被制定为国际标准:ISO/IEC 14443 TYPE A 标准。 (4)射频卡标准操作距离为 100mm(由 MCM500 作为读写器核心模块)和 25mm (由 MCM200 作为读写器核心模块) 。与卡片读写器的通信速率高达 106Kbit/s。 (5)Mifare 1 IC 智能(射频)卡上具有先进的数据通信加密并双向验证密码系统;且具有防重叠功能:能在同一时间处理重叠在卡片读写器天线的有效工作距离内的多张重叠的卡片。 (6)Mifare 1 IC 智能(射频)卡与读写器通信使用握手式半双工通信协议;卡片上 6有高速的 CRC 协处理器,符合 CCITT 标准。 (7)卡片制造时具有唯一的卡片系列号,没有重复的相同的两张 MIFARE 卡片。 (8)卡片上内建 8K(bit) EEPROM 存储容量并划分为 16 个扇区,每个扇区划分为 4 个数据存储块,每个扇区可由多种方式的密码管理。 (9)卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交/地铁等行业的检票/收费系统。典型的检票交易时间最长不超过 100ms(0.1 秒)(包括卡片的认证,6 个扇区的读(768bit,2 个扇区的认证) ,2 个扇区的写操作(256bit) ) 。卡片上的数据读写可超过 10 万次以上;数据保存期可达 10 年以上,且卡片抗静电保护能力达 2V 以上。 二主要技术参数(1)工作频率:13.56MHz(2)通信速率:106KBIT/s(3)读写距离:010cm(4)通信编码:符合 ISO/IEC14443 TYPE A(5)在无线通信过程中通过以下机制来保证数据完整-防冲突机制-每块有 16 位 CRC 纠错-每字节有奇偶检验位-检查位数-用编码方式来区分 1、0 或无信息-信道检测(通过协议顺序和位流分析)(6)支持多卡操作-防冲突机制-动态读写(7)安全性-三次相互认证(ISO/IEC9798-2)-通信过程中所有数据均加密以防止信号截取-每一扇区有相互独立的密码-每张卡的序列号唯一-传输密码保护(8)支持一卡多用的存储结构-8K 位的 EEPROM-分为 16 个扇区支持多种应用-用户可灵活地定义每一扇区的访问条件(9)数据保持 10 年 7(10)读写次数 10 万次(11)典型交易时间 $94 $98;$A4 $A8+$AE=$A4 $A8;写 IC卡,写 AT93C46,切输出报警和检票信息。程序框图如图 5-3 所示。 31图 5-3 检票子程序框图检票子程序如附录 H 所示。(2)积算子程序积算子程序的功能是当插入积算卡后,将当次营业额转存到积算卡中,同时对本系统内存清 0,并显示积算卡中的总额。定义$A4 $A8 存放检票机营业额,$97$98 存放积算卡内原有的营业额,子程序执行$94$98+$A4$A8=$94 $98,同时写 IC 卡和清$A4$A8 为 0,写 C46(3)系统设置子程序 系统设置子程序的功能是对新安装的检票机进行初始化设置,当票价调整时可以通过插入系统卡来修改机内票价,即读取 IC 卡中的$90$9F,内容到检票机的$A0$AF,切写 AT93C46,保存数据,程序清单如附录 I 所示。543 WATCHIDOG 功能在定时中断率为 8.2MS 时,最小 COP 复位时间为 57.2MS,每隔 10 个定时中断周期写入位 0 从 0 到$7F0 位 ,清除 COP 定时器,防止 COP 溢出复位,程序清单如附录 J所示。 32结 论从 5 月开始到现在的毕业设计,经历了 2 个月左右的时间,在老师的帮助下,通过自己的努力,查询了很多的有关资料,并根据所查找到的资料以及所学的知识完成了毕业设计。通过毕业设计,提高了自己的学习能力,并对本专业知识的实际应用有了进一步的了解,也锻炼了相应的动手能力。毕业设计对于我们学生来说,尤其是在校应届本科毕业生来说,是一个不错的锻炼机会,大部分在校生的动手能力差,知识理解能力薄弱有目共睹。通过这次难得的、也是最后一次的在校设计,强化了我们的实际应用能力,为我们以后工作的奠定了一个不错的地基。 33致 谢通过了 2 个多月的努力,我们学生顺利的完成了大学阶段最重要的毕业设计,在设计的过中,我们的导师给予了我们很大的帮助和鼓励,在这里,特别感谢我的导师张袅娜老师,谢谢她的帮助,也谢谢她无论在什么时候,只要我们提出问题,即使在假期,也抽出宝贵的时间来解答我们。参考文献(1)李也白,王福成.智能卡应用系统.清华大学出版社.2000 年(2) 张辉,陈粤初,李丕垠.MOTOROLA 单片机应用技术.1999 年(3) 王恒奎,边耐欣,潘峰,陈子辰.非接触式智能卡系统及若干关键技术(4) 何广军摘自 电子应用技术 ,USB 接口在串行通信中的应用(5) 刘刚,邵敏权,刘俊萍,林晓梅.单片机原理、实验及应用.1995 年(6) 于微波,林晓梅,刘俊萍.微型计算机控制系统.吉林人民出版社.2002 年(7) 佚名.公交非接触 IC 卡读写器的应用设计(8) 童诗白,华成英 .模拟电子技术基础.高等教育出版社.2001 年 34附录 A 单片机 MC68HC705J2 读数据到 AT93C461 READ: LDA #$0F ; 置 PORTAPA4,PA5 为输入2 STA DDRB3 LDA #$10 ; 定义$F1 存放读 AT93C46 的内存个数,16 字节4 STA $F1 5 CLR $F2 ; 定义$F2 存放读 AT93C46 内存的起始地址6 RDLA: BSET 3.PORTA ;输出 PA3 为 1,选中 AT93C467 LDX #%11000000;命令码送 X8 JSR SPOUTAL ;调用 SPOUTAL 发出读命令码9 LDX $F2 ; $F2=A10 JSR SPOUTAL ; 调用 SPOUTAL,发出地址11 JSR SPIN ; 调用 SPIN,读数据 ,数据保存在寄存器 X 中12 TXA ; X=A13 LDX $F2 ; $F2=A14 STA $A0,X ; 将读到的数据送$A0+(X) 保存15 BCLR 3,PORTA ; 置 PA3=016 INC $F2 ; 地址指针加 117 DEC $F1 ; 计数个数减 118 BNE RDLA ; 没有读完,循环19 RTS 35附录 B 单片机 MC68HC705J2 写数据到 AT93C461 WRITEL:LDA #$0F ; 置 PORTAS 输入输出2 STA DDRB ; A=DDRB3 LDA #$10 ; 定义#$F1 存放要写的字节个数,16 个字节4 STA $F1 ; A=$F15 CLR $F2 ; 定义$F2 存放要写内存的地址偏移量6 JSR EWENL ; 调用写使能子程序7 WL1: BSET 3,PORTA ; 输出 PA3 为 1,选中 AT93C468 LDX #%10100000; 写命令码送寄存器 X9 JSR SPOUTL ; 调用发命令码子程序10 LDX $F2 ; 地址码送寄存器 X11 JSR SPOUTAL ; 调用发地址码子程序12 LDX $F2 ; 地址偏移量$F2 送寄存器 X13 LDX $A0,X ; 数据 X+$A0=X14 JSR SPOUTDL ; 调用发数据码子程序15 BCLR 3,PORTA ; 在 PA3 和 PA4 发出一个时钟脉冲,置PA3=016 BLCR 4,PORTA ; 置 PA4=017 NOP ; 延迟一个时钟脉冲18 BEST 4,PORTA ; 置 PA4=119 NOP ; 延迟一个时钟脉冲20 BCLR 4,PORTA ; 置 PA4=021 NOP ; 延迟一个时钟脉冲22 BSET 4,PORTA ; 置 PA4=123 NOP ; 延迟一个时钟脉冲24 BCLR 4,PORTA ; 置 PA4=025 BSET 3,PORTA ; 置 PA3=126 BSET 4,PORTA ; 置 PA4=127 JSR DELAY10MS ; 调用 10MS 延迟,等待编程结束28 BCLR 3,PORTA ; 置 PA3=029 INC $F2 ; 地址偏移量$F2 加 130 DEC $F1 ; 计数个数$F1 减 131 BNE WL1 ; 没有写完,循环32 JSR EWDSL ; 调用写阻塞子程序,保护 AT93C46 3633 RTS ; 子程序返回附录 C 单片机 MC68HC705J2 读写 AT93C46 的子程序1 EWENL: BSET 3,PORTA ; 写使能子程序 ;置 PA3=1,选中 C46 芯片2 LDX #%10000000 ; 写使能命令码送寄存器 X3 JSR SPOUTL ; 调用发写命令子程序4 LDX #%01100000 ; 写使能命令码送寄存器 X5 JSR EWEDL ;调用子程序 EWEDL6 RTS7 EWEDL: JSR SPOUTAL ; 调用 SPOUTAL 子程序8 BCLR 3,PORTA ; 置 PA3=09 BCLR 4,PORTA ; 置 PA4=010 NOP ; 延迟一个时钟脉冲11 BEST 3,PORTA ; 置 PA3=112 NOP ; 延迟一个时钟脉冲13 BCLR 4,PORTA ; 置 PA4=0 14 NOP ; 延迟一个时钟脉冲15 BSET 3,PORTA ; 置 PA3=016 BSET 4,PORTA ; 置 PA4=017 NOP ; 延迟一个时钟脉冲18 RTS ; 延迟一个时钟脉冲19 EWDSL: BEST 3,PORTA ; 写阻塞子程序; 置 PA3=1,选中 C46 芯片20 LDX #%10000000 ; 写使能命令码送寄存器 X21 JSR SPOUTL ; 调用发命令子程序 SPOUTL22 LDX #%01100000 ; 写使能命令码送寄存器 X23 JSR EWEDL ; 调用子程序 EWEDL24 RTS25 SPIN: LDA #8 ; 采集 8 位数据,定义,$F0 存放位数;8=A26 STA $F0 ; A=$F027 SPIN2:BCLR 4,PORTA ; PA4 口输出时钟,置 P4=028 NOP ; 延迟一个时钟脉冲29 BCLR 4,PORTA ; 置 PA4=130 NOP ; 延迟一个时钟脉冲31 LDA PORTA ; 从 PA 口读数据,结果移位到寄存器 X 37中保存32 ROLA ; A 左移一位33 ROLA ; A 左移一位34 ROLA ; A 左移一位35 ROLA ; A 左移一位36 ROLA ; A 左移一位37 DEC $F0 ; 位数计数器$F0 减 138 BSET SPIN2 ; 没有结束 ,返回 SPIN239 RTS40 SPOUTL:BSET 1,PORTB ;3 位的命令码子程序,置 PB1=1,选中 C46 芯片41 LDA #3 ; $F0 皴法功能命令码个数,X 存放命令码42 LDA $F0 I摘 要在日常生活中,现金交易的不易携带、容易丢失、流通不方便情况给人们生活带来了很多不利,现代化城市开始朝着一卡通方向发展。IC 卡则为近几年才出现的新型卡片,在卡片上嵌有 IC(E2PROM,有的还有 CPU) 。由于它保存的信息比较可靠安全、可以高达几万次的读写,所以大量应用于公交车票 、饭票 、保健卡、收费系统等。 众所周知,城市公交系统是一个城市的窗口,其工作的质量与效率会直接影响到人民群众的日常生活和工作。利用现代计算机和通讯技术,实现公交 IC 卡收费系统能显著提高企业的现代化管理水平,为公交运营管理提供科学准确的数字信息,获得明显的社会和经济效益,同时也为城市一卡通打下基础。本文设计的基于 USB 接口的车载 IC 读写器由 MCU 系列的 MC68HC705J2 单片机、MMM 微模块、键盘、显示、存储器 AT93C46、天线和监控电路以及与 PC 机通信的 CH371 固化 USB 串行通信接口电路组成。具有读写时间快、可以 1 万次写/擦除、数据保留十年、热插拔功能等显著特点。关键词:IC 卡、MCU 单片机 MC68HC705J2、存储器 AT93C46、CH371。 IITitle: Bus carry IC cards control system with USB interfaceAbstractIn daily life, the cash transactions inconvenient to take along with people, easy to lose and inconvenient for circulation make a big disadvantage to human life. The IC card is a new kind of card that appears these years. On the card there is a IC (E2PROM, some has CPU). Because the dependable safety in information that it keep, can be up to reading and writing for ten thousand times, large quantity of IC card applies in the bus ticket, meal ticket, care card and charges system etc. Know to all, the city bus system is the window of a city, its work efficiency and quality will affect directly with the daily life of people。Based on the modern computer and communication technology we can achieve the IC card charging to the bus system. This will raise the modernization level of the business management a, achieve social and economy beneficial and make a good base to the one -card citys system.This text design the USB interface car carries IC reads and write system that use the MCU single chip computer MC68CH705J2CH371, MMM micro module, keyboard, moniter,AT93C46, antenna, control electric circuit and with a USB electric circuit constitutes for communication with PC. It is fast writing and reading speed and may write and clear for 10 thousand times. The data will stay for 10 years. Keywords:IC card、MCU single-chip computer MC68HC705J2、ROM AT93C46、CH371 i目 录摘 要 .IABSTRACT.II第一章 IC 卡应用 .111 IC 卡概述 .1112 IC 卡功能描述 .1113 IC 卡通信协议 .112 IC 卡的种类及功能特点 .113 PHLIPS 公司的 Mifare 智能非接触 IC 卡 .1第二章 单片机 A/D、D/A 转换 .121 Motorola 单片机发展概况 .122 Motorola 单片机应用技术概论 .1221 单片机应用系统的构成及基本要求 .1222 Motorola 单片机应用技术介绍 .123 单片机 MC68HC705J2 .1231 MC68HC05J2 存储器结构 .1232 MC68HC70532 单片机 .1第三章 USB 总线 接口芯片( CH371) .131 概述 .132 特点 .133 引脚 .134 功能说明 .1341 一般说明 .1342 USB 设备配置和数据传输过程描述 .1343 本地端的软硬件接口 .1344 计算机端的软件接口 .135 应用 .1第四章 单片机 SPI 接口技术及应用技术 .141 SPI 硬件接口 .1411 硬件接口 .1412 软件模拟实现 .142 单片机与 EEPROM 接口及 SPI 实现 .143 单片机与 IC 卡接口及 SPI 实现 .1第五章 应用实例基于 USB 接口的车载 IC 卡控制系统 .151 设计目的 .152 设计原理 .153 设计步骤 .1531 功能设想 .1532 硬件系统考虑 .1533 电路分析 .154 控制软件 .1541 主监控程序 .1 ii542 功能程序 .1543 WATCHIDOG 功能 .1结 论 .1致 谢 .1参考文 献 .1附录 A 单片机 MC68HC705J2 读数据到 AT93C46 .1附录 B 单片机 MC68HC705J2 写数据到 AT93C46 .1附录 C 单片机 MC68HC705J2 读写 AT93C46 的子程序 .1附录 D 单片机 MC68HC705J2 读数据到 IC 卡 .1附录 E 单片机 MC68HC705J2 写数据到 IC 卡 .1附录 F 单片机 MC68HC705J2 读写 IC 卡的子程序 .1附录 G 主监控程序 .1附录 H 检票子程序 .1附录 I 系统设置子程序 .1附录 J WATCHDOG 功能子程序 .1附录 K 系统原理图 .1 1第一章 IC 卡应用11 IC 卡概述IC(Integrated Circuit)卡的英文名有“IC Card”, “Smart Card”等,在我国称“IC 卡” ,带 CPU(中央处理器)的 IC 卡称智能卡。国际标准化组织(ISO)在ISO7861 标准中规定的 IC 卡是指在聚氯乙烯(PVC)或聚氯乙烯酸酯(PVCA)材料制成塑料卡内嵌入微处理器和存储器等 IC 芯片的数据卡。CPU 和存储器可以集成在一个芯片上。 IC 卡是集成电路卡。在卡上,封装有符合 ISO 标准的芯片,有 6 或 8 个触点和外部设备进行通信。在 IC 卡上可以有彩色图案和说明性文字。触点的位置如图 1-1所示;IC 卡基本内部结构如图 1-2 所示。 1 李也白,王福成.智能卡应用系统.清华大学出版社.2000 年当 IC 卡插入 IC 卡读卡器后,各接点对应接通,IC 卡上的超大规模集成电路就开始工作,IC 卡以其超小的体积、先进的集成电路芯片技术、独特的功能和保密措施受到了广泛的欢迎;IC 卡系统的最大特点是实现真正的脱机运行。所谓脱机运行是指 IC 卡系统不依赖 PC 机就可以正常工作,可以自动识别、判断、读写、记录、存储持卡人的信息;也可以将持卡人的信息传输给 PC 机。IC 卡存储量大,存储量可以从几十字节到几兆字节;IC 卡使用方便,便于携带;IC 卡有一系列加密措施,能有效地防止密码被盗窃或破坏;IC 卡对网络实时性、敏感性要求较底;IC 卡的防磁、防静电、抗干扰等性能较好;IC 卡使用寿命长。111 IC 卡特征及结构(以 SLE4432 和 SLE4442 为例):(1)256*8 的 EEPROM 用户存储卡;(2)32*1 位保护存储器;(3)按字节寻址;(4)用户存储器中 32 字节的不可逆字节写保护;(5)2 线制通信协议 ;(6)复位响应符合 ISO 标准 7816-3; 2(7)擦写和写的编程时间各为 2.5ms;(8)至少 1 万次写/擦除周期;(9)数据保持可达 10 年;(10)触点配置和串行接口符合 ISO 标准 7816(同步传送) ;(11)SLE4442 特征 还具有在准确的 24 位可编程密码递交后,内部数据才能改变。IC 卡引脚配置。 2 张辉,陈粤初,李丕垠.MOTOROLA 单片机应用技术.1999 年112 IC 卡功能描述一般的 IC 卡,例如 SLE4432,存储器可分为两部分:(1)用户存储器;(2)保护存储器。SLE4442 还有一个保密存储器,如图 1.1.2-1 所示。图中 PSC1,PSC2,PSC3 为3 字节密码。用户存储器 EEPROM 具有 256*8 位的内部结构,EEPROM 中 031 字节可设置成ROM,它有保护存储器相应保护位来确定,此地址范围的数据位只有在其保护位还未设置成 0 之前才能改变,一旦写了保护位,则次数据字节再也不能被擦除或改变。通常一些 IC 卡存放了保护存储器,在使用中无须再次修改其内容,例如用户识别码、卡发行单位码等。正常情况下,一个数据的改变由擦除和写步骤完成,数据改变与否取决与主存内数据字节内容以及新的数据字节是否要求 EEPROM 真正擦除或改变。假如寻址的字节中的 8 位不需要从 0 至 1 的变化,则擦除将取消;相反假如不需要 1 至 0 的变化,则写存取将取消。每个编程操作即擦出或写存取至少花 2.5ms。对于带保密功能的 SLE4442 卡,只有递交了准确的 24 位长密码(PSC)后,用 3户存储器内的数据才能改变,为了保护此类 IC 卡数据以及防止卡密码被破译,限制递交密码的出错次数最多为 3 次,由一个错误计数器 EC 来计数。一旦密码递交出错次数超过 3 次,则此卡将作废。出厂时的此类密码为 FFFFFF,对于不带密码的SLE4432 卡,则可方便地改变用户存储器的数据。113 IC 卡通信协议IC 卡通信协议是一种在接口期间 IFD 和 IC 卡芯片间的二线制通信协议,所有I/O 上的数据改变在时钟 CLK 下降沿进行。通信协议由四种方式组成;复位和复位响应;命令方式;输出数据方式;处理方式。1.复位和复位响应复位响应根据 ISO 标准 7816-3 执行,复位可在操作期间任何时候进行。起始时,RST 的高状态 H 设置至低状态 L,地址计数器随时钟脉冲一起置 0,第一数据位(LSB)输出至 I/O,连续输入 31 个时钟脉冲,可读出第一个 4 个 EEPROM 地址中内容,地 33 个始终脉冲恢复 I/O 至状态 H。在复位响应期间,任何开始和停止条件均被禁止。2.命令方式复位响应后,芯片等待命令。每个命令由起始条件、一个 3 字节长命令和停止条件构成。起始条件:CLK 处于高状态 H 期间。停止条件:CLK 处于高状态 H 期间。接收到命令后,有两种方式:读数据的输出方式和写(或擦除)的处理方式。3.输出数据方式在这种方式下,IC 发送数据至 IFD 示,它表示输出数据时序图,在 CLK 上第一个下降沿后,I/O 上第一位有效,最后一个数据位之后,需要一个额外的时钟脉冲,以设置 I/O 处于高状态,同时准备 IC 接收新的命令。在这种方式,任何起始和停止条件均被禁止。 4.处理方式图为处理方式时序图。IC 卡必须连续接收时钟,直至到 CLK 下降沿之后切换至低状态 L 的 I/O 被设置成高状态 H,任何开始和停止条件在此方式期间均被禁止。12 IC 卡的种类及功能特点目前市场上常用的 IC 卡有接触式 IC 卡、非接触式 IC 卡 、光卡等。121 接触式 IC 卡:接触式的 IC 卡通过机械触点从读写器获取能量和交换数据;目前在社会上常见 4的是接触式 IC 卡。它具有存储量大(以兆为单位),保密功能强(有多重密码设置和认证功能),可实现一卡多用。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换,这样,在公交、考勤等需要频繁读写卡的场合就很不方便,而且读写器的触点和卡片上 IC 卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。122 非接触式 IC 卡:非接触式 IC 卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。非接触式 IC 卡是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,在公交、门禁、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频 IC 卡主要有 PHILIPS 公司的 Mifare 和ATMEL 公司的 Temic 卡。123 光卡:光卡(Optical Card)技术是计算机光盘存储技术的孪生兄弟,出现于 20 世纪80 年代中期。光卡的记录介质是由半导体激光材料组成,基板材料采用聚碳酸酩(用与高速喷气式飞机窗口的有机材料)组成。该材料在耐用性方面是目前普通 IC卡所采用的聚氯乙烯(PVC)的 100 倍。光卡的大小与 IC 卡一样(长 85.6mm、宽54mm、厚 0.76mm)。光卡是能够储存并再生信息的大容量卡式煤体,是利用半导体激光照射来记录和提取信息。光卡的特点是:(1)容量大,能存储 4.2MB 的信息;能保存文字、数据资料、照片、图片、图象资料;(2)安全性好,不怕强电、强磁干扰;(3)可靠性好,拥有独特的信息保密手段,可以做到一卡一码,该码无法用常规方法读取;(4)读写信息快,数据读取速度 26KB/s,数据写入速度 10KB/s;(5)具有很强的兼容性,光卡系统可以现行的计算机各种各样的程序兼容;(6)用专利技术制造,可以防备伪造,且运用了多种加密技术;(7)使用简便;124 IC 卡的选用 美国国会于 1996 年认定光卡记录的信息具有法律效应,选定光卡作为绿卡工程选用卡,而在我国,仅在医疗保健上有所应用,并不普及,所以舍弃光卡而不用。非接触式 IC 卡与接触式 IC 卡相比,有以下特点:(1)可靠性高。由于读写之间无机械接触,避免了由于接触读写而产生的各种故障;且非接触式 IC 卡表面无裸露的芯片,无芯片脱落、静电击穿、弯曲损害等后顾 5之忧。(2)操作方便。无接触通信 使读写器在 10cm 范围内就可以对卡片操作;且非接触式 IC 卡使用时无方向性,卡片可以任意方向掠过读写器表面完成操作,既方便又提高了使用速度。(3)防冲突。非接触式 IC 卡中有快速防冲突机制,能防止卡片之间出现数据干扰,读写器可以“同时”处理多张非接触式 IC 卡。(4)可以适应多种应用。非接触式 IC 卡的存储器结构上的特点适用于一卡多用,可以根据不同引用,设定不同的密码和访问条件。(5)加密性能好。非接触式 IC 卡的序号是唯一的,在出厂前已经固化;非接触式 IC 卡与读写器之间采用双向验证机制,非接触式 IC 卡在处理前要与读写器进行3 次相互认证。所以,根据 IC 卡的特点及功能,选用非接触式卡(PHLIPS 公司的 Mifare 卡)来完成设计。13 PHLIPS 公司的 Mifare 智能非接触 IC 卡概述一Mifare 1 非接触式 IC 智能(射频)卡特点 :Mifare 1 IC 智能(射频) 卡的核心是 Philips 公司的 Mifare 1 IC S50(-01,-02,-03,-04)系列微模块(微晶片) 。它确定了卡片的特性以及卡片读写器的诸多性能。 (1)Mifare 1 IC 智能(射频)卡采用先进的芯片制造工艺制作。内建有高速的CMOS EEPROM,MCU 等。卡片上除了 IC 微晶片及一副高效率天线外,无任何其他元件。(2)卡片上无源(无任何电池) ,工作时的电源能量由卡片读写器天线发送无线电载波信号耦合到卡片上天线而产生电能,一般可达 2V 以上,供卡片上 IC 工作。工作频率 13.56MHZ。 3 王恒奎,边耐欣,潘峰,陈子辰.非接触式智能卡系统及若干关键技术(3)Mifare 1 射频卡所具有的独特的 MIFARE RF(射频)非接触式接口标准已被制定为国际标准:ISO/IEC 14443 TYPE A 标准。 (4)射频卡标准操作距离为 100mm(由 MCM500 作为读写器核心模块)和 25mm (由 MCM200 作为读写器核心模块) 。与卡片读写器的通信速率高达 106Kbit/s。 (5)Mifare 1 IC 智能(射频)卡上具有先进的数据通信加密并双向验证密码系统;且具有防重叠功能:能在同一时间处理重叠在卡片读写器天线的有效工作距离内的多张重叠的卡片。 (6)Mifare 1 IC 智能(射频)卡与读写器通信使用握手式半双工通信协议;卡片上 6有高速的 CRC 协处理器,符合 CCITT 标准。 (7)卡片制造时具有唯一的卡片系列号,没有重复的相同的两张 MIFARE 卡片。 (8)卡片上内建 8K(bit) EEPROM 存储容量并划分为 16 个扇区,每个扇区划分为 4 个数据存储块,每个扇区可由多种方式的密码管理。 (9)卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交/地铁等行业的检票/收费系统。典型的检票交易时间最长不超过 100ms(0.1 秒)(包括卡片的认证,6 个扇区的读(768bit,2 个扇区的认证) ,2 个扇区的写操作(256bit) ) 。卡片上的数据读写可超过 10 万次以上;数据保存期可达 10 年以上,且卡片抗静电保护能力达 2V 以上。 二主要技术参数(1)工作频率:13.56MHz(2)通信速率:106KBIT/s(3)读写距离:010cm(4)通信编码:符合 ISO/IEC14443 TYPE A(5)在无线通信过程中通过以下机制来保证数据完整-防冲突机制-每块有 16 位 CRC 纠错-每字节有奇偶检验位-检查位数-用编码方式来区分 1、0 或无信息-信道检测(通过协议顺序和位流分析)(6)支持多卡操作-防冲突机制-动态读写(7)安全性-三次相互认证(ISO/IEC9798-2)-通信过程中所有数据均加密以防止信号截取-每一扇区有相互独立的密码-每张卡的序列号唯一-传输密码保护(8)支持一卡多用的存储结构-8K 位的 EEPROM-分为 16 个扇区支持多种应用-用户可灵活地定义每一扇区的访问条件(9)数据保持 10 年 7(10)读写次数 10 万次(11)典型交易时间 $94 $98;$A4 $A8+$AE=$A4 $A8;写 IC卡,写 AT93C46,切输出报警和检票信息。程序框图如图 5-3 所示。 31图 5-3 检票子程序框图检票子程序如附录 H 所示。(2)积算子程序积算子程序的功能是当插入积算卡后,将当次营业额转存到积算卡中,同时对本系统内存清 0,并显示积算卡中的总额。定义$A4 $A8 存放检票机营业额,$97$98 存放积算卡内原有的营业额,子程序执行$94$98+$A4$A8=$94 $98,同时写 IC 卡和清$A4$A8 为 0,写 C46(3)系统设置子程序 系统设置子程序的功能是对新安装的检票机进行初始化设置,当票价调整时可以通过插入系统卡来修改机内票价,即读取 IC 卡中的$90$9F,内容到检票机的$A0$AF,切写 AT93C46,保存数据,程序清单如附录 I 所示。543 WATCHIDOG 功能在定时中断率为 8.2MS 时,最小 COP 复位时间为 57.2MS,每隔 10 个定时中断周期写入位 0 从 0 到$7F0 位 ,清除 COP 定时器,防止 COP 溢出复位,程序清单如附录 J所示。 32结 论从 5 月开始到现在的毕业设计,经历了 2 个月左右的时间,在老师的帮助下,通过自己的努力,查询了很多的有关资料,并根据所查找到的资料以及所学的知识完成了毕业设计。通过毕业设计,提高了自己的学习能力,并对本专业知识的实际应用有了进一步的了解,也锻炼了相应的动手能力。毕业设计对于我们学生来说,尤其是在校应届本科毕业生来说,是一个不错的锻炼机会,大部分在校生的动手能力差,知识理解能力薄弱有目共睹。通过这次难得的、也是最后一次的在校设计,强化了我们的实际应用能力,为我们以后工作的奠定了一个不错的地基。 33致 谢通过了 2 个多月的努力,我们学生顺利的完成了大学阶段最重要的毕业设计,在设计的过中,我们的导师给予了我们很大的帮助和鼓励,在这里,特别感谢我的导师张袅娜老师,谢谢她的帮助,也谢谢她无论在什么时候,只要我们提出问题,即使在假期,也抽出宝贵的时间来解答我们。参考文献(1)李也白,王福成.智能卡应用系统.清华大学出版社.2000 年(2) 张辉,陈粤初,李丕垠.MOTOROLA 单片机应用技术.1999 年(3) 王恒奎,边耐欣,潘峰,陈子辰.非接触式智能卡系统及若干关键技术(4) 何广军摘自 电子应用技术 ,USB 接口在串行通信中的应用(5) 刘刚,邵敏权,刘俊萍,林晓梅.单片机原理、实验及应用.1995 年(6) 于微波,林晓梅,刘俊萍.微型计算机控制系统.吉林人民出版社.2002 年(7) 佚名.公交非接触 IC 卡读写器的应用设计(8) 童诗白,华成英 .模拟电子技术基础.高等教育出版社.2001 年 34附录 A 单片机 MC68HC705J2 读数据到 AT93C461 READ: LDA #$0F ; 置 PORTAPA4,PA5 为输入2 STA DDRB3 LDA #$10 ; 定义$F1 存放读 AT93C46 的内存个数,16 字节4 STA $F1 5 CLR $F2 ; 定义$F2 存放读 AT93C46 内存的起始地址6 RDLA: BSET 3.PORTA ;输出 PA3 为 1,选中 AT93C467 LDX #%11000000;命令码送 X8 JSR SPOUTAL ;调用 SPOUTAL 发出读命令码9 LDX $F2 ; $F2=A10 JSR SPOUTAL ; 调用 SPOUTAL,发出地址11 JSR SPIN ; 调用 SPIN,读数据 ,数据保存在寄存器 X 中12 TXA ; X=A13 LDX $F2 ; $F2=A14 STA $A0,X ; 将读到的数据送$A0+(X) 保存15 BCLR 3,PORTA ; 置 PA3=016 INC $F2 ; 地址指针加 117 DEC $F1 ; 计数个数减 118 BNE RDLA ; 没有读完,循环19 RTS 35附录 B 单片机 MC68HC705J2 写数据到 AT93C461 WRITEL:LDA #$0F ; 置 PORTAS 输入输出2 STA DDRB ; A=DDRB3 LDA #$10 ; 定义#$F1 存放要写的字节个数,16 个字节4 STA $F1 ; A=$F15 CLR $F2 ; 定义$F2 存放要写内存的地址偏移量6 JSR EWENL ; 调用写使能子程序7 WL1: BSET 3,PORTA ; 输出 PA3 为 1,选中 AT93C468 LDX #%10100000; 写命令码送寄存器 X9 JSR SPOUTL ; 调用发命令码子程序10 LDX $F2 ; 地址码送寄存器 X11 JSR SPOUTAL ; 调用发地址码子程序12 LDX $F2 ; 地址偏移量$F2 送寄存器 X13 LDX $A0,X ; 数据 X+$A0=X14 JSR SPOUTDL ; 调用发数据码子程序15 BCLR 3,PORTA ; 在 PA3 和 PA4 发出一个时钟脉冲,置PA3=016 BLCR 4,PORTA ; 置 PA4=017 NOP ; 延迟一个时钟脉冲18 BEST 4,PORTA ; 置 PA4=119 NOP ; 延迟一个时钟脉冲20 BCLR 4,PORTA ; 置 PA4=021 NOP ; 延迟一个时钟脉冲22 BSET 4,PORTA ; 置 PA4=123 NOP ; 延迟一个时钟脉冲24 BCLR 4,PORTA ; 置 PA4=025 BSET 3,PORTA ; 置 PA3=126 BSET 4,PORTA ; 置 PA4=127 JSR DELAY10MS ; 调用 10MS 延迟,等待编程结束28 BCLR 3,PORTA ; 置 PA3=029 INC $F2 ; 地址偏移量$F2 加 130 DEC $F1 ; 计数个数$F1 减 131 BNE WL1 ; 没有写完,循环32 JSR EWDSL ; 调用写阻塞子程序,保护 AT93C46 3633 RTS ; 子程序返回附录 C 单片机 MC68HC705J2 读写 AT93C46 的子程序1 EWENL: BSET 3,PORTA ; 写使能子程序 ;置 PA3=1,选中 C46 芯片2 LDX #%10000000 ; 写使能命令码送寄存器 X3 JSR SPOUTL ; 调用发写命令子程序4 LDX #%01100000 ; 写使能命令码送寄存器 X5 JSR EWEDL ;调用子程序 EWEDL6 RTS7 EWEDL: JSR SPOUTAL ; 调用 SPOUTAL 子程序8 BCLR 3,PORTA ; 置 PA3=09 BCLR 4,PORTA ; 置 PA4=010 NOP ; 延迟一个时钟脉冲11 BEST 3,PORTA ; 置 PA3=112 NOP ; 延迟一个时钟脉冲13 BCLR 4,PORTA ; 置 PA4=0 14 NOP ; 延迟一个时钟脉冲15 BSET 3,PORTA ; 置 PA3=016 BSET 4,PORTA ; 置 PA4=017 NOP ; 延迟一个时钟脉冲18 RTS ; 延迟一个时钟脉冲19 EWDSL: BEST 3,PORTA ; 写阻塞子程序; 置 PA3=1,选中 C46 芯片20 LDX #%10000000 ; 写使能命令码送寄存器 X21 JSR SPOUTL ; 调用发命令子程序 SPOUTL22 LDX #%01100000 ; 写使能命令码送寄存器 X23 JSR EWEDL ; 调用子程序 EWEDL24 RTS25 SPIN: LDA #8 ; 采集 8 位数据,定义,$F0 存放位数;8=A26 STA $F0 ; A=$F027 SPIN2:BCLR 4,PORTA ; PA4 口输出时钟,置 P4=028 NOP ; 延迟一个时钟脉冲29 BCLR 4,PORTA ; 置 PA4=130 NOP ; 延迟一个时钟脉冲31 LDA PORTA ; 从 PA 口读数据,结果移位到寄存器 X 37中保存32 ROLA ; A 左移一位33 ROLA ; A 左移一位34 ROLA ; A 左移一位35 ROLA ; A 左移一位36 ROLA ; A 左移一位37 DEC $F0 ; 位数计数器$F0 减 138 BSET SPIN2 ; 没有结束 ,返回 SPIN239 RTS40 SPOUTL:BSET 1,PORTB ;3 位的命令码子程序,置 PB1=1,选中 C46 芯片41 LDA #3 ; $F0 皴法功能命令码个数,X 存放命令码42 LDA $F0
收藏