公交智能收费系统的设计_毕业设计.doc_第1页
公交智能收费系统的设计_毕业设计.doc_第2页
公交智能收费系统的设计_毕业设计.doc_第3页
公交智能收费系统的设计_毕业设计.doc_第4页
公交智能收费系统的设计_毕业设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

石家庄铁道学院毕业设计公交智能收费系统的设计(b)design of intelligent charging system in public transportation(b) 2008 届 电气与电子工程 分院专 业 电子科学与技术 完成日期: 2008年5 月 25 日毕业设计评语及成绩学生姓名学号班级电0403专业电子科学与技术毕业设计题目公交智能收费系统的设计(b)指导教师姓名指导教师职称副教授评 定 成 绩指导教师得分评阅人得分答辩小组组长得分成绩:院长(主任) 签字:年 月 日毕业设计任务书题目公交智能收费系统的设计(b) 专 业电子科学与技术班 级电0403学生姓名郝明雷承担指导任务单位电气与电子工程分院导师姓名石彦丛导师职称副教授一、设计内容 利用汇编语言完成公交收费系统的软件设计,实现非接触式收费,并具有存储、报警、监控及显示等功能。二、基本要求1非接触式读写操作,读卡时间0.3秒,读卡距离50mm; 2单机储存1023条交易明细记录,数据采集;3无卡操作时显示时间,有卡操作时数据和当时时间存入存储器。三、主要技术指标1通信接口:usb rs232;2存储容量:1023记录; 2工作频率:13.56mhz; 3卡读写时间:小于0.3秒。四、应收集的资料及参考文献1查看关于计量ic卡方面的文献资料;2有关单片机的编程和外围设备的书籍;3有关时钟芯片的资料。五、进度计划1第1周至第2周 查找有关资料,完成开题报告;2第3周至第5周 确定软件设计方案;3第6周至第9周 完成程序并不调试软件;4第10周至第12周 整理并完成论文。教研室主任签字时间 年 月 日毕业设计开题报告题目公交智能收费系统的设计(b)专 业电子科学与技术班 级电0403学生姓名郝明雷一、研究背景、国内外研究现状公交车现在已成为城市的主要交通工具,收费一般使用ic卡智能收费系统。使用ic卡首先是便利,其次是快捷,第三是有利于减少现金流通。ic卡智能收费系统的应用大大推动了非接触式ic卡的发展。从ic卡的雏形开始形成,国际标准化组织与国际电工技术委员会联合为ic卡及相关技术制订了国际标准和规范,推动了ic卡的发展,国外已有众多实力强的公司来生产ic卡。中国虽起步较晚,但发展迅速。公交智能收费中的ic卡操作方便,可靠性更高,寿命更长,发展潜力巨大。二、主要工作和所采用的方法、手段公交ic卡读写器以射频识别技术为核心,读写器内主要使用了1片mifare卡专用的读写处理芯片-mmm微模块,单片机采用89c52。p1口与串行器件24c64和显示、报警电路连接;p0口与mmm微模块相连,用作数据线;p2口用作时钟电路;p3口用于读写控制和中断。程序主要包括ic卡读写操作程序、时钟程序、显示程序、存储器读写程序和通信程序等。在显示电路中,用p1口的提供时钟信号、串行数据和使能信号,单片机与24c64共同作用存储信息。在读写器中,单片机与pc机之间的通信主要由tc232来实现。读写器中,系统中程序主要采用汇编语言进行编程。三、预期达到的指标1、把卡放读写器一定范围内,能按照设定好的值进行扣除费用;2、多张卡在一起时,读写器能读出其中一张卡的数据进行扣费;3、读写器能与上位机进行通信。四、进度计划1第1周至第2周 查找有关资料,完成开题报告;2第3周至第5周 确定软件设计方案;3第6周至第9周 完成各模块的程序;4第10周至第12周 整理并完成论文。指导教师签字时 间2008 年 3月25 日摘要公交智能收费系统要求实现读卡、收费、led显示、时钟电路和计算机的通讯功能,其中读卡过程(即自动识别用户的过程)是整个系统的重要部分,本设计对读卡器的设计作详细介绍。采用philips公司的mifare卡作ic卡,制作的ic卡读写器可以实现制卡、售卡、自动收费等功能,公交ic卡读写器以射频识别技术为核心,读写器内主要使用了1片mifare卡专用的读写处理芯片-mmm微模块,单片机采用89c52。p1口与串行器件24c64和显示、报警电路连接;p0口与mmm微模块相连,用作数据线;p2口用作时钟电路连接;p3口用于读写控制和中断。程序主要包括ic卡读写操作程序、键盘扫描程序、显示程序、存储器读写程序和通信程序。在读写器中,单片机与pc机之间的通信主要由tc232来实现。读写器中,单片机程序可采用c语言进行编程。c语言有功能丰富的库函数,运算速度快、编译效率高、可移植性好、软件的可读性强,便于改进和扩充。本设计所研究的技术和方法不仅对于公交智能收费系统有着重要的作用,而且在其他各领域如校园卡、考勤卡等也具有广泛的应用价值。关键词: 单片机 非接触式ic卡 读写器 串口通信 abstractthe public transportation intelligence charge system request realizes reads the card, the charge, the led demonstration, and computers communication function, reads the card process (i.e. automatic diagnosis users process) is overall systems important part, this design reads and compares the card design to make the detailed introduction.used philips corporations mifare card to make the ic card, the manufacture ic card reader-writer may card, automatic charge functions and so on realize the system card, sell, the public transportation ic card reader-writer take the radio frequency recognition technology as the core, in the reader-writer mainly uses 1 piece of mifare card special-purpose read-write to process the chip-the mmm micro module, the monolithic integrated circuit uses 89c52. p1 mouth and serial component 24c64 and demonstration, alarm circuit connection; the p0 mouth and the mmm micro module is connected, serves as the data line; the p3 mouth uses in the read-write control and the interrupt. the procedure mainly includes the ic card read-write operation procedure, the keyboard scanner program, the display sequence, the memory read-write procedure and the signal procedure. in the reader-writer, monolithic integrated circuit and the pc machine between correspondence mainly realizes by tc232. in the reader-writer, the monolithic integrated circuit procedure may use the c language to carry on the programming. the c language has the function rich storehouse function, the operating speed is quick, the translation efficiency is high, the probability is good, softwares readable, is advantageous for the improvement and the expansion.this design studies the technology and the method not only have the vital role regarding the public transportation intelligence charge system, moreover in other various domains like campus card, the timecard and so on also has the widespread application value.key words: monolithic non-contact type reader-writer serial communication目 录第1章 绪 论11.1 公交智能收费系统现状及发展趋势11.1.1 概述11.1.2 现状21.1.3 发展21.2 本文研究的内容3第2章 mcu功能简介42.1 mcu的功能概述42.2 89c52的接口介绍42.2.1 i/o口介绍42.2.2 89c52的功能口介绍5第3章 mcm外围模块简介103.1 读卡模块简介103.1.1 概述103.1.2 特性103.1.3 应用113.2 时钟模块的简述113.2.1 引脚功能及结构113.2.2 ds1302的控制字节123.2.3 数据输入输出(i/o)123.2.4 ds1302的寄存器123.2.5 编程方法133.3 i2c总线的简述133.3.1 i2c总线的特点:133.3.2 i2c的基本操作:143.3.3 系统存储器的概述163.4 rs-232 概述163.5 显示模块的概述183.6 系统中看门狗的功能193.6.1 电源电压监视193.6.2 复位193.6.3 看门狗定时器19第4章 系统总体设计方案204.1 主程序系统204.2 读/写卡程序设计224.2.1 mifare卡的操作步骤:234.2.2 操作指令时序234.3 显示电路概述274.4 存储器概述284.5 监控电路概述294.6 上、下位机通信设计304.7 时钟电路304.8 蜂鸣器模块概述315.1 结论325.2 展望32参考文献33致谢34附录35石家庄铁道学院毕业设计第1章 绪 论公交车现在已成为城市的主要交通工具,收费时既有人工收费也有的采用了智能收费系统收费。使用智能收费系统首先是便利,其次是快捷,第三是有利于减少现金流通。公交智能收费系统在公交系统的应用大大推动了非接触式ic卡的发展。国外已有众多实力强的公司已涉足这方面的技术。中国虽起步较晚,但发展迅速。公交车ic卡作为非接触式的卡,操作方便,可靠性更高,寿命更长,发展潜力巨大。公交车收费系统的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,除了用在公交系统,在门禁、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。1.1 公交智能收费系统现状及发展趋势公交收费系统很多是采用接触式ic卡,卡在读写器上经常拔插造成的磨损导致接触不良,从而引起数据传输错误,并且卡与读写器之间的磨损也大大缩短了卡和读写器的使用寿命。随着技术发展,公交收费系统逐渐被射频技术取代,即使用非接触式ic卡。读写器以射频识别技术为核心,当射频卡靠近读写器时,受读写器发射的电磁波激励,卡片内的lc谐振电路产生共振并且接收电磁波能量。当射频卡接收到足够的能量时,就将卡内存储的识别资料以及其他数据以无线电波的方式传输到读写器并且接受读写器对卡内数据的进一步操作。在环境复杂的公交车上,这种收费系统将会有很大前景。1.1.1 概述公交智能收费系统结构复杂,环节较多,因此,公交非接触ic 卡的读写器至少应包括公交售卡机、公交车载机和公交制卡机三个读写器。本文主要介绍公交车载机读写器的设计,它主要由mmm微模块、单片机、显示、存储器、时钟电路和监控电路以及与pc机通信的tc232串行通信接口电路等部分组成。mifare卡专用的读写处理芯片(mf rc500),它是一个小型的最大操作距离达100mm的mifare读/写设备的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制9。读写器是放在收费现场的, 这种读写器的软件在编写时,只允许用户读卡片,并具有自动收费的功能。1.1.2 现状如今,接触式ic卡在人们的日常生活中得到了普遍的应用。在接触式ic卡的普及过程中,逐渐发现了许多的弊端:卡在读写器上经常拔插造成的磨损导致接触不良,从而引起数据传输错误,并且卡与读写器之间的磨损也大大缩短了卡和读写器的使用寿命;另外,接触式ic卡的通讯速率较低,再加上插拔卡的动作延误,造成每一笔交易需要较长时间的等待。越来越多的应用除了对非接触卡的接口提出了要求,还对传统非接触卡的应用开发提出了进一步的要求。原来非接触卡的指令比较简单,功能比较少。要完成一个复杂的操作如建立一个文件需要对非接触卡的数据结构十分了解而且要编写许多条指令。特别是非接触卡中存放的许多资料是比较敏感的,如金额之类,在对这些资料进行读写时,如果发生意外使操作中断,如何正确恢复资料是一个很头痛的问题,这需要很高软件技巧。所有这些大大阻碍了非接触卡的应用开发。公交收费系统中非接触式ic卡是应用潜力最大的领域之一。我国一些城市自2o03年开始也采用非接触式ic卡电子车票管理系统。但在很多城市中并没有普及。其中有人们不了解公交卡优势原因,也有收费系统做的不太理想的原因,如公共汽车环境恶劣系统不稳定等。1.1.3 发展国际iso组织正在确定两个主要的非接触卡标准,一个是以菲利蒲、西门子公司为代表的type a,一个是以摩托罗拉、意法半导体公司为代表的type b。两者各有优缺点。以菲利蒲、西门子公司为代表的type a。这种标准是目前广泛运用的一种标准,即mifare标准。它与type b的区别主要是卡与读写器的通讯调制方式。mifare采用的是一种间断是调制方式,即当表示信息“1”时,有信号传到卡,当表示信息“0”时没有信号传到卡,当然这个间隔是相当短的,不会影响到卡的正常工作。这种方式的优点是信息区别明显,受干扰的机会少,不容易误操作。缺点是在需要持续不断的提供能量到非接触卡时,能量有可能会出现波动。在公共汽车上干扰很大,打卡时间又必须非常快,误信号出现的机率越小越好,从这个方面来说,采用type a相对来说适合一些。另外,由于受国情限制,公交在短期内采用非接触cpu卡的机会不大,一般采用非接触逻辑加密卡。在使用非接触逻辑加密卡的过程中,由于卡里没有cpu在工作,对能量的持续性要求并不是很强,所以type a可以很好地工作。我国引进的射频 ic卡主要有philips公司的mifare和atmel公司的temic卡。制作的ic卡读写器可以实现制卡、售卡、自动收费等功能,具有安全、实用、方便、快捷、可靠性高的特点,解决了城市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的应用前景1。在我国应用最广的就是mifare系列非接触式ic卡。每年超过几亿张的ic卡发卡量,使我国成为世界ic卡应用发展最快的国家之一。根据估测, 近年来所售出的非接触式ic卡的50是使用在公共交通领域。1.2 本文研究的内容本课题研究的是公交智能收费系统(b),主要介绍ic卡读写终端程序的设计,它以非接触式通信为基础。本设计以射频技术为基础,通过单片机编程来控制mf rc500进行读写卡的操作,并把卡中的信息与当前时钟信息一同存入存储器中,显示模块显示出卡的扣除费用信息等,蜂鸣器在操作正确时鸣叫。ds1232是监控芯片,它能防止程序跑飞。在存储器所存信息满了之后,就通过tc232与上位机连接,把信息发送到pc机。第2章 mcu功能简介2.1 mcu的功能概述mcu采用单片机89c52,是因为89c52开发简单,运行稳定。89c52是一种低功耗、高性能cmos 8位微控制器,具有8k 在系统可编程flash 存储器和256字节的ram,比51多一倍。使用atmel 公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案2。2.2 89c52的接口介绍图2-1 89c52的引脚图2.2.1 i/o口介绍p0 口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1 口:p1 口是一个具有内部上拉电阻的8 位双向i/o 口,p1 输出缓冲器能驱动4 个ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p2 口:p2 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3 口:p3 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口亦作为at89s52特殊功能(第二功能)使用,如表2-1所示。在flash编程和校验时,p3口也接收一些控制信号。表2-1 p3口的特殊功能端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2int0(外中断口0)p3.3int1(外中断口1)p3.4t0(定时/计数器0)p3.5t1(定时/中断器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)2.2.2 89c52的功能口介绍rst: 复位输入。晶振工作时,rst脚持续2 个机器周期高电平将使单片机复位。ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(prog)也用作编程输入脉冲。在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。如果需要,通过将地址为8eh的sfr的第0位置 “1”,ale操作将无效。这一位置 “1”。这个ale 使能标志位(地址为8eh的sfr的第0位)的设置对微控制器处于外部执行模式下无效。中断寄存器:各中断允许位在ie寄存器中,六个中断源的两个优先级也可在ie中设置。at89c52有6个中断源,2个中断优先级,ie寄存器控制各中断位,ip寄存器中6个中断源的每一个可定为2个优先级。t2con:定时器/计数器2控制寄存器表2-2 内容及位地址t2con地址为0c8h位可寻址复位值:0000 0000btf2exf2rlclktclkexen2tr2c/t2cp/rl276543210表2-3 t2con的控制位及功能串行口控制寄存器:scon是一个可位寻址的专用寄存器,用于串行数据通信的控制。其单元地址为98h,位地址为98h-9fh。表2-4 scon内容及位地址位序d7d6d5d4d3d2d1d0位地址9fh9eh9dh9ch9bh9ah99h98h位名sm0sm1sm2rentb8rb8tirism0、sm1是串行口工作方式选择位。表2-5 smo、sm1状态sm0sm1工作方式功能描述波特率00方式08位同步移位寄存器fosc/1201方式110位uatr可变10方式211位tarrfosc/6411方式311位uatr可变ren:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。tb8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。rb8:接收到的数据的第9位。在方式0中不使用rb8。在方式1中,若(sm2)=0,rb8为接收到的停止位。在方式2或方式3中,rb8为接收到的第9位数据。ti:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。ti置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的办法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。ti必须用软件清0。ri:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于sm2的说明)。ri置位表示一帧数据接收完毕,可用查询的办法获知或者用中断的办法获知。ri也必须用软件清0。电源控制寄存器:pcon寄存器主要是为chmos型单片机的电源控制而设的专用寄存器,单元地址为87h,格式如下:表2-6 pcon的位内容位序d7d6d5d4d3d2d1d0位名smod/gf1gf0pdidl最高位smod是串口波特率倍增位。当smod=1时,串行口波特率加倍。系统复为时smod=0。波特率选择:方式1和方式3定时器t1作为波特率发生器,其公式如下: (2-1)t1溢出率= t1计数率/产生溢出所需的周期数式中t1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,t1计数率为fosc/12;当工作于计数器状态时,t1计数率为外部输入频率,此频率应小于fosc/24。产生溢出所需周期与定时器t1的工作方式、t1的预置值有关。当时钟频率选用11.0592mhz时,取易获得标准的波特率,所以很多单片机系统选用这个看起来“怪”的晶体震荡器就是这个道理。中断:at89c52 有6个中断源:两个外部中断(int0 和int1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器ie 中的相关中断允许控制位分别使得中断源有效或无效。ie还包括一个中断允许总控制位ea,它能一次禁止所有中断。如下表所示,ie.6位是不可用的。对于at89c52,ie.5位也是不能用的。用户软件不应给这些位写1。它们为at89系列新产品预留。定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位tf0 和tf1在计数溢出的那个周期的s5p2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位tf2 在计数溢出的那个周期的s2p2被置位,在同一个周期被电路捕捉下来3。表2-7 中断允许控制寄存器(ie)第3章 mcm外围模块简介3.1 读卡模块简介3.1.1 概述读卡模块采用philips公司为mifare卡设计的专用读卡芯片mf rc500。mf rc500是应用于13.56mhz非接触式通信中高集成读卡ic系列中的一员。该读卡ic系列利用了先进的调制和解调概念,完全集成了在13.56mhz下所有类型的被动非接触式通信方式和协议。 mf rc500支持iso14443a所有的层。内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm)。接收器部分提供一个坚固而有效的解调和解码电路,用于iso14443a兼容的应答器信号。数字部分处理iso14443a帧和错误检测(奇偶crc)。此外,它还支持快速crypto1加密算法用于验证mifare系列产品。方便的并行接口可直接连接到任何8位微处理器,这样给读卡器终端的设计提供了极大的灵活性。3.1.2 特性高集成度模拟电路用于卡应答的解调和解码;缓冲输出驱动器使用最少数目的外部元件连接到天线;近距离操作(可达100mm);用于连接13.56mhz石英晶体的快速内部振荡器缓冲区;时钟频率监视;软件实现掉电模式;并行微处理器接口带有内部地址锁存和irq线;易用的发送和接收fifo缓冲区;支持防冲突过程;唯一的序列号;片内时钟电路;支持mifare pro和iso14443a(透明模式且t = cl);支持mifare clasic;支持mirfare有源天线;适合于高安全性的终端6。3.1.3 应用 mf rc500支持不同的微控制器接口。一个智能的自动检测逻辑可以自动适应系统总线的并行接口。使用信号ncs选择芯片。要使用独立的地址和数据总线与微控制器相连,必须将ale脚连接到dvdd。若使用复用的地址和数据总线与微控制器接口,必须将ale脚连接到微控制器的ale信号。 若要使用rnw和nds(取代nwr和nrd)与微控制器相连,微控制器的rnw必须连接到管脚nwr,而nds必须连接到nrd15。3.2 时钟模块的简述 ds1302 是美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个318的用于临时性存放数据的ram寄存器。ds1302是ds1202的升级产品,与ds1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 3.2.1 引脚功能及结构 rst是复位/片选线,通过把rst输入驱动置高电平来启动所有的数据传送。rst输入有两种功能:首先,rst接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电运行时,在vcc2.5v之前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。i/o为串行数据输入输出端(双向), sclk始终是输入端。 图3-1 ds1302的引脚图3.2.2 ds1302的控制字节 ds1302 的控制字如下图所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入ds1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取ram数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。图3-2 ds1302的控制字节3.2.3 数据输入输出(i/o) 在控制指令字输入后的下一个sclk时钟的上升沿时,数据被写入ds1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个sclk脉冲的下降沿读出ds1302的数据,读出数据时从低位0位到高位7。 3.2.4 ds1302的寄存器 ds1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为bcd码形式,其日历、时间寄存器及其控制字见表3-1。 表3-1 日历、时间寄存器及其控制字寄存器名称命令字取值范围各位内容写操作读操作76543210秒寄存器80h81h00-59ch10secsec分寄存器82h83h0059010minmin时寄存器84h85h01-12或00-2312/24010hrhr日寄存器86h87h00-28 29 30 310010datadata月寄存器88h89h01-1200010mmonth周寄存器8ah8bh01-0700000day年寄存器8ch8dh00-9910yearyear 此外,ds1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与ram相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 ds1302与ram相关的寄存器分为两类:一类是单个ram单元,共31个,每个单元组态为一个8位的字节,其命令控制字为c0hfdh,其中奇数为读操作,偶数为写操作;另一类为突发方式下的ram寄存器,此方式下可一次性读写所有的ram的31个字节,命令控制字为feh(写)、ffh(读)。 3.2.5 编程方法ds1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位msb(d7)必须为逻辑1,如果d7=0,则禁止写ds1302,即写保护;d6=0,指定时钟数据,d6=1,指定ram数据;d5d1指定输入或输出的特定寄存器;最低位lsb(d0)为逻辑0,指定写操作(输入), d0=1,指定读操作(输出)。 在ds1302的时钟日历或ram进行数据传送时,ds1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个sclk周期的上升沿输入数据字节,或在下8个sclk周期的下降沿输出数据字节。 ds1302与ram相关的寄存器分为两类:一类是单个ram单元,共31个,每个单元组态为一个8位的字节,其命令控制字为c0hfdh,其中奇数为读操作,偶数为写操作;再一类为突发方式下的ram寄存器,在此方式下可一次性读、写所有的ram的31个字节。 3.3 i2c总线的简述i2c(inter-integated cirvuit)总线由philips公司提出,它采用两线式串行总线,用于微处理器与外围器件的连接。3.3.1 i2c总线的特点:i2c总线是由数据线sda和时钟线scl构成的串行总线,可发送和接收数据。sda为数据线,scl为时钟线。sda是双向的,即每个器件必须以oc或od方式连接。对于多主控器件的总线,scl也是双向的,但对于单一主控器件的总线,scl可以是单向的,即可以采用非oc方式连接。i2c总线备用时sda和scl都必须保持高电阻高电平状态,只有关闭i2c总线时才会将scl钳位于低电平。在i2c总线上进行双向数据传送,各i2c器件均并联在这两条总线上,但就像电话机只有在拨通被叫方的号码时才与之通信一样,所以每一个器件都有唯一的地址。为了挂在总线上的所有器件的输出都能实现“与”的逻辑功能13。在i2c总线上每传送一位数据都有一个时钟脉冲与之对应,其逻辑“0”和“1”的信号电平值取决于该点的电源电压值。在i2c总线上传送数据时,在scl高电平期间sda上必须保持有稳定的逻辑电平状态,高电平为1,低电平为0。只有scl为低电平时,才允许sda的电平状态变化,如表3-4所示:图3-3 电平状态变化i2c总线在传送数据过程中共有三种类型信号;起始信号:scl为高电平时,sda由高电平向低电平跳变,开始传送数据停止信号:scl为高电平时,sda由低电平向高电平跳变,停止传送数据应答信号:接收信号的器件在接收到8bit数据后,向发送数据的器件发出特定的低电平脉冲,表示收到数据。主器件向从器件发出一个时钟脉冲后,等待从器件发出一个应答信号,主器件接收到应答信号后,根据实际情况决定是否继续传送数据。若收不到应答信号,即可判断为从器件出现故障。3.3.2 i2c的基本操作:发送控制字节到总线的器件被称为主器件,接收控制字节的称从器件。i2c总线必须由主器件控制,主器件产生串行时钟scl控制总线的传送方向,并产生起始和停止位,如表3-5所示:图3-4 时钟及控制图器件之间的数据通信是通过主器件向从期器件发出一系列都是由控制字节开始,随后是地址和数据字节。一个传送系列有多少字节与具体命令有关。1、控制字节在起始信号之后是控制字节,其中bit7-bir4为器件的类型识别符。bit3-bit1为片选,与器件的3个引脚a2-a0对应,改变其逻辑电平即可改变器件所设地址,当器件的a2-a0引脚设置与所传送的bit3-bit1相同时,器件被选中。bit0为读、写选择位,1为读操作,0为写操作。通常将a2-a0均接地,则相应的地址为000b;如为写,则控制字节为a0h;如为读,则控制字节为a1h,如下图:表3-2 控制位具体表示bit7bit6bit5bit4bit3bit2bit1bit0器件类型识别码器件地址码读写控制位1010a2a1a00写 1读2、写操作写操作有写字节和写页两种操作。对于写页,可以连续写多个数据。但各器件连续写数据的最大字节数不一样,写字节操作时如下所示:图3-5 写操作第一个字节为控制字节,第二个是写入地址,第三个是写入数据3、读操作读取数据有三种操作,即随机读,当前地址读和顺序读,分别用于读取指定地址的数据,读取当前地址的数据和读取连续的数据。如下所示:图3-6 读操作即先用写命令将待读的地址写入,然后用顺序读命令将数据读出。这里,使用写命令时并不需要写入数据,中间也不经过停止位。3.3.3 系统存储器的概述24c64是atmel公司生产的串行eeprom,其数据读、写无安全防护机制。支持i2c双向数据传输协议。按照i2c总线的规定,控制字节的bit3-bit0为器件的地址码,如i2c总线上只有一个器件时,通常将器件的a2-a0引脚接地,访问时将bit3-bit0均取零即可。最低位(bit0)是读写控制位,取高电平为读、低电平为写。表3-3 24c64控制位型号容量(kbit)bit7bit6bit5bit4bit3bit2bit1bit0at24c64641010a2a1a00/1bit=0为写;bit=1为读系统设计存储器采用串行e2prom24c64。24c64遵从i2c总线协议,通过数据线sda和时钟线sla两根线直接与单片机相连,不需要其它器件和外围电路。它具有64kbit的位存储容量,按8位一个字节的方式可提供8k字节的存储空间。对at24c64的读写操作完全符合i2c总线的数据传送,传送的每一帧数据为一个字节,要求每传送一个字节后,对方回应一个应答位。发送时先放送数据最高位,每次传送开始有起始信号,结束时有停止信号。在系统的设计中,对atc64的写操作采用字节写,读操作采用顺序读的方式。scl:串行时钟。在该脚的上升沿时,系统将数据输入到每个eeprom器件,在下降沿时输出。 sda:串行数据。该引脚为开漏极驱动,可双向传送数据。3.4 rs-232 概述目前,rs232是pc机与通信工业中应用最广泛的一种串行接口。rs232被定义为一种在低速率串行通信中增加通信距离的单端标准。rs232是串行数据接口标准,最初都是由(美国)电子工业协会(eia) 制订并发布的。rs-232在1962年发布,命名为 eia232e,作为工业标准,以保证不同厂家开发的产品之间的兼容10。串行通信有两种基本的类型,一种是串行异步通信(简称异步通信),另一种是串行同步通信(简称同步通信)。通信协议是对数据传送方式的规定和规范,其中包括数据格式的定义和数据位的定义等。串行通信协议通常包括异步通信协议和同步通信协议,这里只介绍异步通信协议。所谓异步通信(asyndc-asynchronous data communication)主要指字符与字符之间的传送是完全异步的,而同一个字符的位与位之间是同步的。换句话说,两个字符之间的时间间隔是不固定的,而在同一个字符中相邻位的时间间隔是固定的。异步通信有如下特点:今字符帧的传输格式使发送方在字符之间可按应用要求插入不同的时间间隔,即每一个字符的发送是随机的,这是异步通信的主要特点。令每一个字符的传输开始总是以一个起始位为准,然后接收方与发送方保持同步(格式的统一)。通信双方可按应用需要随时改变通信协议,即改变数据位、奇偶校验位和停止位长度和数据传输率。今在异步通信的数据流中,一个字符看作一个独立的信息单元,并且字符出现在数据流中的相对时间是任意的,接收端预先并不知道,每个字符一经发送。收发双方则以预先固定的时钟速率传送各位。因此,要有效进行异步通信,在 cpu与外设通信之前,必须统一字符格式和波特率。异步通信的发送方和接收方之间允许没有共同的时钟,所以在异步通信中,收发双方取得同步的方法是采用在字符格式中设置起始位和停止位的办法。每一个字符传输开始总是以一个起始位为准,然后接收方和发送方保持同步。图3-7 异步通信格式图3-7 串行异步通信的字符格式从图中可以看出,串行异步通信的字符格式包括四个部分:起始位、数据位、校验位和停止位。1.起始位在一个字符中占1位,该位必须为0,表示一个字符的开始。2.起始位之后是数据位,至少5位,最多为8位,由串行通信初始化程序设定。数据的排列方式是低位在前,高位在后。3.校验位排在有效数据位的后面,占1位,根据需要可选,可不选。奇偶校验用于有限差错检测。如果选择奇校验,则组成数据位和校验位的逻辑1的个数必须是奇数,否则传送出错(奇校验错);选择偶校验,则组成数据位和校验位的逻辑i的个数必须是偶数,否则传送出错(偶校验错)。4.一个字符的最后是停止位,在没有校验位的情况下,它紧跟有效的数据位,如果有校验位,则在校验位后面是停止位。停止位必须存在,表示一个字符的结束。停止位可以为1位、1. 5位或2位,由编程决定。异步通信的这种由起始位开始,停止位结束所构成的一串二进制数称为帧(一个完整的字符)。从微观上看异步通信是一位一位传送,而从宏观上看,它又是一帧一帧传送的。一帧数据中的相邻位之间的时间间隔是相同的,而帧与帧之间的时间间隔又是随机的,即帧与帧之间可以有若干个空闲位。在没有数据传输期间,串行数据线上是逻辑高电平。此外,在信号线上共有两种状态,可分别用逻辑1和逻辑0来区分。在发送器空闲时,数据线应该保持在逻辑1状态11。3.5 显示模块的概述mc14499是串行输入显示驱动接口芯片,具有管理4位led的能力,包括1个20位移位寄存器、1个锁存器、1个多路输出器,由多路输出器输出的bcd码经段译码器译码后,转换成7段码送至段和小数点驱动输出。另外片内振荡信号经过4分频后,提供

温馨提示

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

评论

0/150

提交评论