《IC卡自动加油机设计 毕业论文.doc》由会员分享,可在线阅读,更多相关《IC卡自动加油机设计 毕业论文.doc(64页珍藏版)》请在三一文库上搜索。
1、I 摘摘 要要 随着人们生活水平的不断提高,消费水平也日渐增高,而在日常生活中,现 金交易的不易携带、容易丢失、流通不方便情况给人们生活带来了很多不利,现 代化城市开始朝着一卡通方向发展。IC 卡(Integrated Circuit Card,集成电路 卡)是将一个微电子芯片嵌入符合 ISO7816 标准的卡基中的新型卡片,主要嵌有 IC(E2PROM,有的还有 CPU) 。由于它保存的信息比较可靠安全、可以高达几万次 的读写,所以大量应用于公交车票 、饭票 、保健卡、收费系统等。 本设计是一种 IC 卡自动加油机。它是基于 IC 卡技术、单片机技术和电子技 术,辅以各种功能的接口电路设计的
2、具有自动计量、自动收费和统计功能的 IC 卡 加油机。 文章中介绍了元器件和芯片的选择,给出了硬件和软件的实现,并对主要电 路进行了分析。 本设计的 IC 卡加油机的硬件系统由 AT89C51、74LS373、ADC0809、SSR600、SLE4442 等组成。由 ADC0809 完成对输入 电压的测取与转换,由继电器完成对油泵的起、停的控制,由流量传感器检测加 油量。文章还对系统采用的抗干扰措施作了简单的介绍。 本设计的 IC 卡加油机的系统软件包括主程序、中断服务程序和两个子程序。 此设计的 IC 卡自动加油机具有精度高、功能强、实用简单等特点,使用表明 操作方便、读写可靠效果良好。 关
3、键词关键词: : IC 卡 加油机 单片机 II AbstractAbstract As people living standard rise ceaselessly, consumption level is also increased, and in daily life, cash transactions not carry, easy to lose, circulation is not convenient for people to life with many adverse, modern city start toward card direction. IC Car
4、d (Integrated Circuit Card, Integrated circuits, luca) is a microelectronics chip embedded with ISO 7816 standard Card of the new Card, main studded with IC (E2PROM chips was, and some still have CPU). Because it holds information more reliable safety, can be as high as tens of time, speaking, readi
5、ng and writing, so a large application in bus fare, meal ticket, health card, charge system, etc. This design is a type of IC card tanker. The IC card tanker system developed by means of IC card, single-chip and electronic technology. It has auto-measuring, auto-charging and statistics-gathering fun
6、ctions. In the text, introduces the chose of components and chips. The realization of hardware and software is detail given. And the main circuit is minutely dissected. The hardware system is made of AT89C51, 74LS373, ADC0809, SSR6OO, and SLE4442 and so on. The ADC0809 is use to check and given volt
7、age current and input voltage, relay control the oil Pump stop or run. The flow sensor examination adds the oil mass. And the system describes and adjusts the approach to anti interference. This design software system including master procedures, interrupt service procedures and several stature proc
8、edures. This system has so mach character, such as, high precise, better ability, advance and convenient use and to on .The tanker is easy to use and reliable to read or write, and it makes good effect. III Keywords:Keywords: IC card tanker single-chip IV 目目 录录 第第 1 1 章章 绪绪 论论- 1 - 1.1 IC 卡自动加油机概述 -
9、 1 - 1.2 加油机发展及现状.- 2 - 1.3 IC 卡应用现状 - 3 - 第第 2 2 章章 ICIC 卡自动加油机方案的确定卡自动加油机方案的确定 - 5 - 2.1 IC 卡自动加油机的工作原理 - 5 - 2.2 IC 卡自动加油机的总体方案 - 6 - 2.3 IC 卡的选择 - 7 - 2.3.1 IC 卡应用的安全性和可靠性- 7 - 2.3.2 SLE4442 简介.- 8 - 2.4 单片机的选择- 12 - 2.4.1 单片机应用概况 .- 12 - 2.4.2 AT89C51 功能简介- 13 - 2.5 流量计的选择- 15 - 2.5.1 影响加油机加油量准
10、确度的因素 .- 15 - 2.5.2 涡街流量计 .- 16 - 2.5.3 涡街流量计型号的选用 .- 17 - 第第 3 3 章章 ICIC 卡自动加油机的硬件设计卡自动加油机的硬件设计 .- 18 - 3.1 硬件系统的设计原则- 18 - 3.2 数据采集通道的设计- 19 - 3.2.1 模数转换 .- 19 - 3.2.2 数据采集电路 .- 20 - V 3.3 AT89C51 的复位电路 - 21 - 3.4 AT89C51 单片机的系统扩展 .- 22 - 3.4.1 AT89C51 扩展的三总线- 22 - 3.4.2 片外 EPROM 的扩展 .- 23 - 3.4.3
11、 片外 RAM 的扩展 .- 25 - 3.4.4 I/O 口扩展- 27 - 3.5 后向通道配置- 29 - 3.5.1 固态继电器工作原理 .- 30 - 3.5.2 后向通道电路图 .- 30 - 3.6 键盘接口及显示接口电路- 31 - 3.6.1 键盘接口电路- 31 - 3.6.2 报警及 LED 显示 .- 33 - 3.7 IC 卡接口电路 .- 34 - 3.8 提高系统运行的可靠性- 35 - 3.8.1 硬件的干扰要素 .- 35 - 3.8.2 “看门狗” 电路 - 35 - 第第 4 4 章章 ICIC 卡自动加油机软件设计卡自动加油机软件设计 .- 37 - 4
12、.1 软件设计思想- 37 - 4.2 主程序流程图- 38 - 4.3 中断服务程序和 IC 卡安全码校验程序流程图.- 39 - 4.4 键盘扫描程序流程图- 40 - 4.5 显示程序流程图- 41 - 总总 结结.- 42 - 致致 谢谢.- 43 - 参考文献参考文献.- 44 - 附录附录 1 1:ICIC 卡自动加油机原理图卡自动加油机原理图.- 45 - 附录附录 2 2:主程序:主程序 .- 46 - VI 附录附录 3 3:中断服务程序清单:中断服务程序清单 .- 51 - 附录附录 4 4:键盘扫描程序清单:键盘扫描程序清单 .- 54 - 附录附录 5 5:显示程序清单
13、:显示程序清单 .- 56 - - 1 - 第第 1 1 章章 绪绪 论论 1.11.1 ICIC 卡自动加油机概述卡自动加油机概述 随着经济的发展,交通运输业日益繁荣,汽车购买量也在迅速激增,使得加 油行业的工作变得十分繁重。从以下两方面都使传统的加油服务业,表现出无从 掩饰的劣势: 1.陈旧的机械计数式加油机,功能单一,整个加油过程需要人工直接干预, 这样不仅劳动强度大,而且工作效率也相当低。严重影响了加油站的运行效率, 更不能适应高效率、快节奏的现代化生活。 2.传统的成品油交易采用现金或者油票进行交易,对买卖双方及其不便,同 时存在经济漏洞,给加油站造成很大损失,油票、现金交易的弊端也
14、会给用户带 来不必要的损失。随着我国“金卡”工程的不断深入实施,IC 卡取代现金和油票 进行交易,也成了大势所趋。 IC 卡自动加油机在这种情况下应势而生,它不仅取代了人工计量,实现了加 油机的加油过程自动化,增加应用的 IC 卡技术也取代了人工结算,实现了加油和 管理的自动化,是符合时代要求的新一代智能加油机。 当用户插入一张有效的 IC 卡,系统会提示输入密码,用户在键入正确的密码 之后,即可输入购油量,在确认卡上剩余金额充足的情况下,开启自动加油机中 油泵电机和出油电磁阀,开始加油过程。系统不断累计加油量,一旦达到用户所 购油量,便会随即发出指令去关闭油阀,终止加油过程,并将核算过消费金
15、额之 后的余额计入用户卡中,最后退卡。IC 卡自动加油机将实现以下功能: 1.根据购油量,自动执行供油。 2.显示功能。IC 卡自动加油机设有 LED 液晶显示器,可以显示卡中剩余金额、 所加油量以及相应金额等。 3.自动报警功能。当读卡器遇到非法卡或者卡中余额不足时,加油机通过指 示 灯和蜂鸣器发出声光警报。 - 2 - 4.安全可靠性。对 IC 卡用软件方法进行数据加密,避免不合法的卡在加油机 上使用。 1.21.2 加油机发展及现状加油机发展及现状 加油机产业是伴随汽车工业和交通运输业而产生发展的。世界上最早的加油 机始于二十世纪初,近百年来加油机产业有了很大发展,由最初的手摇加油机发
16、展到了现代高性能、多功能的加油机。随着相关学科基础理论和制造技术的进步, 加油机液压部件有了很大发展和提高,计量更加准确、噪声下降、可靠性提高、 环保功能得到加强;随着电子科学技术的飞速发展,现代加油机采用了电脑控制、 电子显示记数、IC 卡结算、中央管理机等先进技术;贮油罐监测技术和油气回收 技术也得到广泛应用;相应的报警和服务设备也发展起来了。 我国加油机产业起步较晚,直至二十世纪六、七十年代,北京、上海、天津 和青岛等地才相继开始研制、生产加油机,开始了我国加油机产业发展的历史。 改革开放以来,特别是进入二十世纪九十年代后,我国的加油机产业发展很快。 国产加油机的科技含量不断提高。二十世
17、纪八十年代中期,国内开始研制电脑加 油机。二十世纪九十年代中期,国内电脑加油机逐步取代了机械轮记数的加油机。 随着电脑加油机的出现,加油机的功能有了很大扩展,实现了自动记价和预置加 油。 人类的生存和发展越来越离不开石油,加油机是石油产业的末端产品,其地 位在人类社会生活中显得更加重要。世界科学技术的进步一定会带来加油机技术 的更大进步,未来的加油机会朝着计量更加准确、低能耗、高可靠性、控制功能 完善、低噪声和环保功能突出等方向发展。 1.加油机功能操作自动化 为了尽可能简化加油手续,方便顾客操作,保证加油量和结算准确性,采用 微电脑技术和自动控制技术将加油机制造成智能化机型,即在原加油机上增
18、加控 制与管理功能,以实现加油开关控制、加油参数运行的显示、加油单价和总价的 显示、数据积累和单据打印、防静电和防溢油连锁、事故报警和判断指示等自动 化。 2.加油机安全措施多层次,加油机的安全性是加油站和被加油车以及加油人 - 3 - 员 安全的重要保障,必须做到多层次、全方位。 3.加油机显示信息多条款。加油机可以显示用户关心的一切信息,如可预置 加油量、显示实际加油量、瞬时加油量、油品单价和应付金额等等。 4.加油机操作方式多媒体。加油机操作方式适应加油管理的一系列改革,更 多地采用高科技,增加新的控制方式,逐步代替人工开票、人工监视流量表、人 工控制加油枪、人工控制加油量的传统模式。
19、1.31.3 ICIC 卡应用现状卡应用现状 IC 卡,又称集成电路卡(Integrated Card) ,也通常翻译为智能卡、聪明卡。 IC 卡是信息技术飞速发展的产物,是继条码卡、磁卡之后推出的新一代识别卡, 为现代信息处理和传输提东了一种全新的手段。被公认为是世界上最小的个人计 算机。 IC 卡的最初设想是由日本人提出来的。 1969 年 12 月,日本的有村国孝提出一种制造安全可靠的信用卡方法,并于 1970 年获得专利,那时叫 ID 卡(1dentification Card)。 1974 年,法国的罗兰莫雷诺(Roland Moreno)发明了带集成电路芯片的塑料卡 片,并取得了专
20、利权,这就是早期的 IC 卡。 1976 年法国布尔(Bull)公司研制出世界第一枚 IC 卡。 1984 年,法国的 PTT(Posts,Telegraphs and Telephones)将 IC 卡用于电话 卡,由于 IC 卡具有良好的安全性和可靠性,获得了意想不到的成功。 随后,国际标准化组织(1SO,International Standardization Organization) 与国际电工委员会(1EC,International Electronic Commission)的联合技术委员会为之制订了一系列的国际标准、规范,极大地推动 了 IC 卡的研究和发展。 国际上不少国
21、家由于受到当时历史条件和技术发展的限制,都是先发展磁卡, 其中大多数国家磁卡己发展得相当普遍,拥有数量庞大的磁卡应用设备,若要将 其完全改造成 IC 卡读写设备将是相当困难的。此外,伴随着使用磁卡犯罪现象的 - 4 - 日趋严重.采用 IC 卡己成为势在必行的潮流。IC 卡可以最有效地杜绝恶性透支, 便于正常用款、存款,其内部有各种安全措施,可免除伪造,它无须计算机网络 的实 时支持,可脱机作业,还可以实现一卡多用。因此普遍受到人们的赞誉和青睐, 根 据我国国情,我们没有必要也不应该重复走国外的老路,而应尽快开发适用于我 国 的 IC 卡。 我国致力的经济信息化建设,其中以“金桥” 、 “金卡
22、” 、 “金关”三金工程为 代表。 “金卡”工程就是电子货币工程,是推进我国国民经济信息化的重要工程 之一,它以磁卡和 IC 卡为媒介,利用邮电部、人民银行现有的网络资源为银行、 商贸和旅游等部门服务。由于 IC 卡相对磁卡而言,不但具有防水、防潮、防磁和 极高的安全、保密防伪能力,而且使用寿命长,因而是“金卡”工程的首选产品, 广泛因用于金融、电讯、交通、服务等多个部门。 - 5 - 第第 2 2 章章 ICIC 卡自动加油机方案的确定卡自动加油机方案的确定 2.12.1 ICIC 卡自动加油机的工作原理卡自动加油机的工作原理 本设计的 IC 卡自动加油机,是用户凭发放的“油量储值 IC 卡
23、”加油,管理 人员通过“油量统计 IC 卡”对油量的使用情况进行管理,取代了传统的人工登记、 结算的管理方式,实现了加油与管理的自动化。 加油时,涡街流量计输出的电脉冲信号通过光电隔离、A/D 转换后送至微处理 器,微处理器发出控制信号,经晶体管功放带动继电器来控制油泵电机的启停, 实现自动加油。微处理器连接并受控制于 IC 卡、RAM 存储器、键盘、显示器、键 盘显示控制器。 当用户插入一张有效的 IC 卡,系统会提示输入密码,用户在键入正确的密码 之后,即可输入购油量,在确认卡上剩余金额充足的情况下,开启自动加油机中 油泵电机和出油电磁阀,开始加油过程。系统不断累计加油量,一旦达到用户所
24、购油量,便会随即发出指令去关闭油阀,终止加油过程,并将核算消费金额之后 的余额计入用户卡中,最后退卡。 根据用户需要,加油通常有两种方式:非定量加油和定量加油。 1.非定量加油是指不预先设定加油量的加油方式。采取这种方式加油时,只 需将 IC 卡插入 IC 卡加油控制器中,摘下油枪后即可开始加油。当油箱加满或加 至需要量时,可停止加油,挂枪后系统自动进行结算,然后退卡。 2.定量加油是指预先给定加油量,然后进行加油。当用户使用现金或油票加 油时,一般采用这种方式采用这种方式加油,加油员将自己的加油卡插入 IC 卡加 油控制器,从键盘输入需加油的数量后,用户即可自行摘枪加油。当油量加到预 - 6
25、 - IC卡接 口 键盘 显示 看门狗 及低电 平检测 光电隔离 信号处 理 涡街流 量计 功能驱 动 INT1 P1.0-7 RXD TXD RESET P2.7 P2.6 INT0 P2.5 油泵与电磁 阀 锁存器 NVSRA M T0-1 P2.0-3 P0.0-7 设油量时,加机自动停泵。 2.22.2 ICIC 卡自动加油机的总体方案卡自动加油机的总体方案 本加油机控制系统由单片机及存储器、测量及控制、IC 卡接口、键盘及显示、 看门狗等部分所组成,其硬件原理框图如图 2-1 所示。 整机控制系统的核心是一片性价比较高的 AT89C51 单片机。内含 4K 字节的 EEPROM 作为
26、系统的程序存储器,从而简化了系统结构。另外扩展一片 NVSRAM DCM0064(8K 字节)作为系统的数据存储器用以存储用户的加油信息。因非易失性 SRAMNVSRAM(Nonvolatile SRAM)既有 EPROM 的不易失性,即断电后数据不变, 又像普通 SRAM 一样可快速读写数据,读写次数无限制。在系统中它的功耗很小, 而且连接方法也很简单。 加油量检测使用精度较高的涡街流量传感器。它输出的电脉冲频率和流量成 线性关系,同时测量范围宽、重复性好。而且便于实现远距离无损测量。其电脉 冲信号经放大处理后通过光电隔离(TLP521)作为单片机外部中断 0 的输入信号 INTO,这样结合
27、定时器 T0 就可测频。单片机的 P2.5,通过晶体管功放后带动 12V 低压继电器(SSR),由继电器的触点控制油泵电机的启停接触器的线圈及油路通断 电磁阀的线圈,以实现自动加油。 - 7 - 图 2-1 IC 卡自动加油机硬件原理图 2.32.3 ICIC 卡的选择卡的选择 2.3.12.3.1 ICIC 卡应用的安全性和可靠性卡应用的安全性和可靠性 1.IC 卡的标准 接触型 IC 卡的国际标准是最广为人知的 ISO7816,我国一经采用其第 1、2、3 部分作为国家标准。此标准主要定义了塑料基片的物理和尺寸特性、触 点的尺寸和位置、信息交换的底层协议描述。 按照国际标准 ISO7816
28、 对接触式 IC 卡的规定,在 IC 芯片上覆盖有 6 或者 8 个触点和外部设备进行通信。 按 ISO 标准,IC 卡芯片的触点及其定义如下。 (1) C1(VCC):IC 卡工作电源。 (2) C2(RST):复位信号(可选) 。 (3) C3(CLK):有关信号的定时与同步。 (4) C5(GND):接地。 (5) C6(VPP):存储器编程电源(可选) 。 (6) C7(I/O):IC 卡中串行数据的输入/输出。 剩下的两个触点(C4、C8)视不同情况可在有关应用标准中予以定义。 2.IC 卡类型的选择 根据应用领域不用,IC 卡可以分为金融卡和非金融卡两大类;从 IC 卡的读/ 写方
29、法上来分类,有接触型和非接触型两种;另外,根据 IC 卡内部结构还可以分 为存储卡、逻辑加密卡和 CPU 卡。 根据实际使用的安全性和可靠性,以及方便性和实用性,应选接触型 IC 卡, 内部结构应该是逻辑加密型。 3.IC 卡瞬间掉电测试 IC 卡瞬间掉电是两个原因造成的,一个是因为 IC 卡卡座质量不好,经过长 期插卡、拔卡,使 IC 卡和卡座触点之间接触不良;第二个原因是人为的插卡不当 或带电非法拔卡。 - 8 - 若瞬间掉电发生在卡的个人化过程中,将导致有关信息写入错误,使该卡成 为废卡。 若瞬间掉电发生在对卡内资金的修改过程中,将导致卡内金额错误。 不管挑选何种 IC 卡座,在长期使用
30、过程中,不可能绝对地避免 IC 卡的瞬间 掉电。IC 卡读写机座加强对 IC 卡瞬间掉电的测试和处理,来减少错误。可以是 定时检测,也可以是在对 IC 卡瞬间掉电应禁止对 IC 卡操作,并在检测到卡上电 后以报 警引起人工干预如重新插卡等。检测 IC 卡瞬间掉电的手段有读 IC 卡信息或 者读 IC 卡插入开关状态两种。前一种判断 IC 卡掉电的正确率高,后一种只能判 断是否被取出,但不影响正在进行的对卡操作过程,适用于定时中断程序对 IC 卡 的检测。 2.3.22.3.2 SLE4442SLE4442 简介简介 IC 卡自动加油机控制系统是采用 IC 卡来完成油费的支付,即在 IC 卡中预
31、先 存入一定的金额,每次加油后将应收金额从卡中减去,当 IC 卡中无钱时,司机持 卡前往指定的交费地点充值并将预购金额写入卡中。然而,伴随着现代电子高科 技犯罪的出现,需要一种强有力的安全措施来保护机密数据不被他人窃取或篡改。 因此,本设计采用了安全性较好的 SLE4442 IC 卡。 1.SLE4442 IC 卡芯片简介 SLE4442 IC 卡是由德国 SIEMENS 公司设计的逻辑加密芯片。它采用 I2C 总线, 支持 ISO 7816 同步传送协议,芯片采用 NMOS 工艺技术。含有 256 字节的多存储 器结构的用户区,能满足大部分应用领域的要求,每个字节的擦/写编程时间至少 2.5
32、ms,存储器具有至少 10000 次的擦写周期,数据保持时间至少 10 年,SLE4442 IC 卡芯片包括三个存储器,即主存储器、保护存储器及加密存储器。 2.SLE4442IC 卡安全性分析 虽然 SLE4442 IC 卡自身具有很强的硬件加密措施,但并不是无懈可击的。 SLE4442IC 卡存在的被攻击途径主要有:穷举法、中途拦截法及终端设备分析法 等。 (1)穷举法 SLE4442 IC 卡在终端设备上最多只有 3 次卡密码校验机会,这样 3 个字节的 - 9 - 卡密码总共有 1600 多万个组合通常可采用在通用读卡器上改写卡密码,在终端上 试用,尝试多个组合直至找出卡密码,这就是穷
33、举法。 (2)中途拦截法 中途拦截法是将通用读写器并接在应用设备的卡头上,或在 IC 卡上引线并接 通用读写器,在卡校验密码后未下电时,通过读卡器读出卡密码。 (3)终端设备信息分析法 从终端设备的存储芯片内读取数据,经过分析,从而破解卡密码。防止终端 设备信息分析法一般要对存储芯片上的数据进行软件加密,动态修改数据值。 从以上分析发现:SLE4442 IC 卡存在 IC 的潜在性攻击是终端设备在硬件上无 法解决的,需要进一步在软件方面进行加密和数据处理。 3.对 SLE4442 采取的加密算法 SLE4442 IC 卡自动加油控制系统由于涉及到金额、密码等机密数据,因此需 要做好完善的加密工
34、作,即要保证系统的安全性和可靠性。所谓安全性的实质就 是如何确保当事人以外的客体不得介入;而可靠性的实质是如何鉴定当事人的真 伪,以及所传递的信息的真伪和完整性。密码体系安全系统,设计指导思想如下: (1) 一卡一密; (2) IC 卡的密码与卡号有关; (3) 加密算法的密钥需要安全保存; (4) IC 卡的密码能系统性动态变更; (5) IC 卡密码生成采用 DES 加密算法。 SLE4442IC 卡自动加油机控制系统的安全性主要体现在对 SLE4442IC 卡密码 的操作和管理上,因此,密码安全体系即为整个应用系统安全设计的核心。本系 统加密算法采用国际上普遍流行的公开加密算法一 DES
35、(Data Encryption Standard)加密算法。DES 把传统的代替法和换位法进行多次组合,利用分散和错 乱的相互作用得出了密码强度很高的密文。 DES 算法的入口参数有三个:Key,Data,Mode。其中 Key 为 8 个字节共 64 位, 是 DES 算法的工作密钥;Data 也为 8 个字节 64 位,是要被加密或被解密的 SLE4442IC 卡数据;Mode 为 DES 的工作方式,有两种:加密或解密。 如 Mode 为加密,则用 Key 去把数据 Data 进行加密,生成 Data 的密码形式 - 10 - (64 位)作为 DES 的输出结果;如 Mode 为解密
36、,则用 Key 去把密码形式的数据 Data 解密,还原为 Data 的明码形式(64 位)作为 DES 的输出结果。在通信网络的 两端,双方约定一致的 Key,在通信的源点用 Key 对核心数据进行 DES 加密,然 后以密码形 式通过密钥卡传输到通信网络的终点,数据到达目的地后,用同样的 Key 对密码 数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据在自动 加油机控制系统的安全性和可靠性。通过定期在通信网络源端和目的端同时改用 新的 Key,便能更进一步提高数据的保密性。 DES 算法把 64 位的明文输入块变为 64 位的密文输出块,它所使用的密钥也 是 64 位,整个
37、算法的主流程如下: 第一步:输入 64 个二进制位明码数据区组, T=tlt2t64 按初始换位 IP(见表 1)进行换位,得到区组 B(0)=b1(0)b2(0)b64(0)=t58t50t7 表表 1 1 初始换位表初始换位表 IPIP 58 50 12 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 1
38、5 7 第二步:设 B(ii)=b1(i)b2(i)b64(i)是第 i+1 次迭代的 64 个二进制位 输入区组,将 B(i)分为左右两个大小相等的部分,每部分为一个 32 位二进制的 数据块 L(i)=l1(i)l2(i)132(i)=bl(i)b2(i)b32(i) R(i)=r1(i)r2(i)r32(i)=b33(i)b34(i)b64(i) 把 R(i)视为由 8 个 4 位二进制的块组成 r1(i)r2(i)r3(i)r4(i) r5(i)r6(i)r7(i)r8(i) r29(i)r30(i)r31(i)r32(i) - 11 - 通过循环抄录相邻块的相邻块,把它们再扩充为 8
39、 个 6 位二进制的块 r32(i)rl(i)r2(i)r3(i)r4(i)r5(i) r4(i)r5(i)r6(i)r7(i)r8(i)r9(i) r28(i)r29(i)r30(i)r31(i)r32(i)rl(i) 用 E(R(i)表示这个变换,称为扩充函数。 第三步:在第 i+1 次迭代中,用 48 位二进制 K(i+l)=kl(i+l)k2(i+l) 其中 k48(i+l)与 E(R(i)按位相加(逻辑异或),得 r32(i)+kl(i+l)rl(i)+k2(i+l)r5(i)+k6(i+l) r4(i)+k7(L+l)r5(L)+k8(i+l)9(i)+kl2(i+l) r28(i
40、)+k48(i+l)r29(i)+k44(i+l).rl(i)+k48(i+l) 第四步:将以上第 j 个(1J6)位二进制的块(记为 Z=zj1 zj2 zjJzj4 zj5 zj6)输入第 j 个替代函数习。各替代函数习的功能是把 6 位数变换成 4 位数, 做法是以 zjl,zj6 为行号,zj2,zj3,zj4,zj5 为列号,查找副,行列交叉处即是 要输出的 4 位数。 第五步:八个替代函数 SJ(1J8)的输出拼接为 32 位二进制数据区组 yl(i)y2(i)y32(i) 把它作为换位函数 P 的输人,得到输出 X(i)=xl(i)x2(i)x32(i) =yl6(i)y17(i
41、)y25(i) 第六步:把 L(i)与 X(i)按位相加,形成 R(i+1),且令 R(i)为 l,(i1), 即得到经第 i+1 次迭代加密后的输出 L(i+1)R(i+1),其中 L(i+l)=R(i) R(i+l)=L(i)+f(R(i),K(i+l) (i=0, 1,2,. . , 15) 第七步:对 R(16)L(16)作逆初始换位 IP,得到密码文。 IC 卡明文由 8 字节 16 进制数据组成。IC 卡明文二 2 字节客户卡号+2 字节客 户卡号反码+1 字节卡使用序号十 3 字节的本次设置密码。表 2 为 IC 卡密码生成 规则例表。 其中,IC 卡明文为 0001FFFE01
42、645645U,由客户卡号、客户卡号反码、卡使 - 12 - 用序号及本次设置密码组成:密钥为 4616168484648151H,由 8 字节 16 进制数组 成,IC 卡额度密钥需要妥善保存,是整个加密系统安全机制的核心。卡密码由明 文经 DES 算法加密后生成 8 字节密文:60F7B2E65D93B512H,取密文前 3 个字节作为卡 密码。 取密文第 8 字节 12H 写人 IC 卡中,用于校验密码前判断密码是否正确。 表表 2 2 ICIC 卡密码生成规则例表卡密码生成规则例表 2.42.4 单片机的选择单片机的选择 2.4.12.4.1 单片机应用概况单片机应用概况 目前微处理器
43、有很多种,在我国,MCS-51 系列的单片机用的比较广泛,这种 单片机性能可靠,价格便宜,广泛应用在工业上的各个领域。以最开始的 8031 为 代表,但是 8031 单片机没有内部 RAM 和 ROM,程序和数据的存储很不方便,所以 本设计采用了 803l 的改进型 89C51,89C51 内部自带了 4KB 的 EPROM,和 128B 的 内部 RAM。可以方便写入/ /擦除程序。 单片机应用的主要领域有智能产品、智能仪表、测试系统、数控控制机、智 能接口。 目前用户在构成应用系统时有三种方式可供选择: 1.专用系统:这种系统的扩展与配置完全是按照应用系统的功能要求设计的。 2.模块化系统
44、:这种系统,将典型配置做成用户系统,以供用户选择使用。 3.单片单板机系统:受通用 CPU 单板机的影响硬件按照典型应用系统配置并 客户卡号客户卡号反码 卡使用 序号 本次设置密码 明文 00H01HFFHFEH01H64H56H45H 密匙64H16H16H84H84H64H81H51H 密文60HF7HB2HE6H5DH93HB5H12H 卡密码60HF7HB2H - 13 - 配有监控程序具有自开发能力。 2.4.22.4.2 AT89C51AT89C51 功能简介功能简介 AT89C51 是美国 ATMEL 公司生产的低电压,高性能的 CMOS 8 位单片机,片内 含有 4K 字节的可
45、反复擦写的只读程序存储器(EPROM)和 128 字节的随机存取数据 存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强 大 AT89C51 单片机可提供许多高性价的应用场合。可灵活应用于各种领域。 1.其主要特性: (1) 与 MCS-5l 兼容 (2) 4K 字节可编程 FLASH 存储器 (3) 寿命:1000 写/擦循环 (4) 数据保留时间:10 年 (5) 全静态工作:0Hz24MHz (6) 三级程序存储器锁定 (7) 128*8 位内部 RAM (8) 32 可
46、编程 I/O 线 (9) 两个 16 位定时器/计数器 (10) 5 个中断源 (11) 可编程串行通道 (12) 低功耗的闲置和掉电模式 (13) 片内振荡器和时钟电路 2.AT89C51 管脚排列及说明:如图 2-2。 - 14 - 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date:12-May-2012Sheet of File:C:UserslenovoDesktop临临临临临临临.ddbDrawn By: P1.0/T2 1 P1.1/T2EX 2 P1.2/RXD1 3 P1.3/TXD1 4 P1.4/IN
47、T2 5 P1.5/INT3 6 P1.6/INT4 7 EA 31 P3.0/RXD0 10 P3.1/TXD0 11 P3.2INT0 12 P3.3INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 GND 20 RST 9 ALE 30 PSEN 29 VCC 40 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.6/AD7 32 P2.0/A8 21 P2.2/A10 23 P2.1/A9 22 P2.3/A11 24 P2.4/
48、A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 X1 19 X2 18 P1.7/INT5 8 P3.7/RD 17 AT89C51 图 2-2 AT89C5l 双列直插封装管脚排列 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,每管脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻抗输入。P0 能够用于外部程序数据 存储器,它可以被定义为数据/ /地址的第八位。在 FLASH 编程时,P0 口作为原码 输入口,当 FLASH 进行校验时,P0 输出原码,此时 P0 外部必须接上拉
49、电阻。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 l 后,被内部上拉为高,可用作输入,P1 口 被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程 和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 - 15 - 部上拉的缘故。 P2 口当用于外部程 序存储器或 16 位地址外部数据存储 器进 行存取 时,P2 口输出地址的高八位。在给出地址 “1”时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带有内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL
链接地址:https://www.31doc.com/p-4508220.html