版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科毕业论文(设计)题 目: 基于射频卡的收费系统研究 学 院: 自动化工程学院 专 业: 电子信息科学与技术 班 级: 2006级1班 姓 名: # 指导教师: # 2010年 6 月 8日the research of a fare system based on rf card青岛大学本科生毕业论文(设计)摘 要射频卡又叫做非接触式ic卡,成功地解决了无源(卡中无电源)和免接触这两个问题,是电子器件领域的一大突破。主要用于公交、地铁、轮渡等的自动收费系统,也应用在身份证明、门禁管理和电子钱包等。本设计为基于射频卡的收费系统研究,设计一套方便快捷的收费系统,该系统可广泛应用于各种收费场合
2、,代替繁琐的人工收费,节约人力物力。设计的硬件部分主要包括单片机(stc89c52)、射频卡读写模块,配合键盘输入、数码显示等几部分。其中,单片机主要起控制作用,以完成对射频卡读写模块的配置以及对按键的处理从而实现对射频卡的操作以及显示等控制;多功能数字键盘作为输入设备,使扣费方便快捷完成;显示部分通过hd7279控制数码管来实现。关键词 读卡器 zlg522s mifare1卡 stc89c52abstractradio frequency card is also called non-contact ic card.it successfully resolved problem wit
3、hout source and contact. rf card is mainly used for charging system of bus、subway or the ferry. it is also used in access management, proof of identity and electronic purse. this design is research of a fare system based on rf card.the hardware design is mainly composed of stc89c52,reader,keyboard c
4、ircuit,digital tube display circuit. stc89c52 is the main control in order to finish reading modules for rf card to the configuration and the key of rf card with the operation and display control. digital keyboard the input device, can be convenient for the input buckle expense. hd7279a controls dig
5、ital tube to realize display section. keywords reader zlg522s mifare one card stc89c52目 录前 言1第1章 概述21.1 论文背景21.2 方案概述2第2章 硬件组成描述52.1 mifare1卡简介52.1.1 主要指标52.1.2 存储结构62.2 zlg522s模块简介72.1.1 功能特点72.1.2 技术参数72.3 stc89c52单片机简介82.4 hd7279a简介102.4.1 特点102.4.2 引脚说明112.4.3 串行接口11第3章 开发环境keil介绍133.1 系统概述133.2
6、 keil工程的建立14第4章 系统电路的设计及原理184.1 原理框图184.2 各模块具体实现原理分析和说明184.2.1 读写模块184.2.2 按键模块214.2.3 数码管显示模块21第5章 软件实现245.1 读写模块通信设计245.1.1 数据通信格式245.1.2 应用命令详述265.1.3 函数库的使用275.2 射频扣费设计295.3 键盘和显示功能325.4 扣费记录存储34总 结36谢 辞37参 考 文 献39青岛大学本科生毕业论文(设计)前 言当今的信息技术又到了一个关键的十字路口。单独的pc甚至局域网的时代已为“全球化网络”时代所代替。互联网internet的产生和
7、今天的飞速发展和广泛渗透就是典范。非接触ic卡以其高度的信息集成化,高度的安全性,正在并已经融入到当今信息技术的主流,正日渐其辉煌和灿烂。随着金融行业的不断发展,社会经济的日新月异,特别是公共交通行业,无线通信领域,封闭式场所管理,卫生保健行业,身份识别,电话通信,大楼保安系统等等,人们已愈来愈多地开始接受和使用非接触ic卡。当今世界上非接触式ic射频卡中的主流是已经被制定为国际标准:iso/iec 14443 type a标准的philips公司的mifare技术。欧洲一些较大的ic卡片制造商以及ic卡片读写器制造商大都以mifare技术为标准,而发展和推进ic卡行业。国外对ic卡的研究已有
8、多年,但真正在非接触ic卡方面的研究仅有12年的成熟期。非接触ic卡代表了整个“刷卡”领域的发展方向,前景光明,应用领域非常广泛,例如,门禁控制系统(door access system),停车场收费管理系统,高速公路不停车收费系统,地铁非接触ic卡的“刷卡”读写器,机关/企业内部考勤管理系统,公共交通收费管理系统,医疗保险管理系统,出租车收费管理系统,银行服务“一卡通”等等。目前,国内已有几家公司正在引进国外的先进技术,开发自己的射频识别系统。现在,在锦山的一条高速公路上已实现使用非接触射频卡自动收费,上海的公共汽车已经使用电子月票,北京的机场高速公路上、深圳的皇岗口岸等也使用了射频识别系统
9、收费。本课题主要研究基于zlg522s读写模块的卡识别、增值、扣费、卡挂失等功能的实现。第1章 概述1.1 论文背景射频卡(radio frquency card,简称rf卡)又叫做非接触式ic卡,诞生于90年代初,是一种以无线方式传送数据的集成电路卡片,它具有数据处理及安全认证功能等特有的优点。射频卡是最近几年发展起来的一项新技术,它成功地将射频识技术和ic卡技术结合起来,解决了无源(卡中无电源)和免接触这两个问题,是电子器件领域的一大突破。它存在着磁卡和接触式ic卡不可比拟的优点,所以一经问世,便立即引起广泛的关注, 并以惊人的速度得到推广和应用。 1994年射频卡(rfid)进入中国,引
10、发了中国rfid卡的应用革命,在国内,其应用领域越来越广,涉及各行各业。先后历经了磁卡、tm卡、接触式ic卡、非接触式id卡、非接触式可读写ic卡。其中为了适应小区、智能大厦的防范系统要求,门禁系统由单一的门禁功能发展到门禁、考勤、消费、巡更、三表抄送等综合性一卡通系统;为适应远距离感应的要求,国内出现了有源卡、微波卡远距离感应系统。另外,rfid技术在高速公路自动收费、会员制收费卡、员工就餐卡、商店收费、电话卡、储蓄卡等等中比较有发展前景。当然在这里仅仅罗列了rfid技术应用的一部分,但都是可行的且十分重大。rfid将是未来一个新的经济增长点。射频识别技术在中国处于一个刚刚起步的阶段,但是它
11、的发展潜力是巨大的,它的前景非常诱人。在信息社会,对于各种信息的获取及处理要求快速、准确,在不久的将来rfid技术就将同其它识别技术一样深入和改善我们的生活。对于这样一个新技术,我们应该增强宣传力度,争取能够尽早普及它,利用它,提高我们的工作效率和经济效益。1.2 方案概述随着居民生活水平提高,居民在各项日常支出及支出种类上也相应增加。例如,某地居民日常需要缴纳水电费、煤气费、电话费、有线电视费;出行乘坐交通工具的费用;超市购物、就餐、自动售贩机以及各种商店的消费支出。支出项目众多,种类复杂,造成了很多不便与麻烦:1、身上时常携带小额现金、硬币沉重不方便;有些消费场合收费数目较小但是却为此需要
12、特别准备零钱以完成收费,比如乘坐公交车,时常是1元、2元的小额支出,没有零钱却难以乘坐,非常不方便;还有些场合如自动饮料售贩机可能只支持硬币,想喝杯饮料却因为没有硬币而扫兴而归时有发生。2、水电费、煤气费、电话费等缴纳可能需要在不同收费点完成缴费,居民为了缴齐各种费用要跑去很多地方,虽然也有银行代为办理,但是由于银行上班时间的限制,很多人无法抽空前去缴费,并且,排队缴纳人数众多,银行专用窗口少、人工收费效率低,居民常常需要等待很长时间,而且,占用银行窗口空间资源,许多银行都不愿做代收水电费等业务。atm机缴费方式虽然可以不受时间限制,但步骤也较为复杂,老年人难以操作。3、超市等地方收银需要大量
13、现金交换、找零、刷卡也会占用相当一部分时间,在节假日购物人多的情况下,许多人难以忍受。为解决以上诸多不便,本设计提出一套基于射频卡的收费系统,他的特点是方便快捷,适用于多种应用场合,甚至可以将水电费、有线电视费、电话费等集成在一台收费机完成,省去跑各个收费点的不便,而且操作简单,整个过程只需刷卡或按12键完成,老年人也能轻松上手;充分解放钱包空间,出门只需携带一张射频卡即可完成大部分日常支出;由于其特性定位于小额支出,又加入了单笔最高限额,全天消费限额等设置,当超过这些限定需要输入密码。建立这样一个收费系统,首先有个发卡机构(如银行)它同时负责对金钱的管理,企业和个人向该机构申请账户,个人用户
14、向申请的账户中存入若干钱。当用户在收费机上刷卡扣费,收费机根据收费项目将从用户卡中扣除的金额分类存储,卡发行机构最终会将扣费金额根据收费项目转入相应企业账户。该系统使用时,首先确定它的应用场合及收费类型。可以通过程序设定它为多应用场合还是单一应用场合,扣费又可以分为人工扣费和自动扣费,人工扣费下(如超市收银),收银员通过与控制器连接的键盘输入需要扣费的金额,扣费的金额在收费机的数码显示管上显示供顾客确认,确认无误后,顾客将卡至于扣费区,收费机根据金额在顾客的射频卡上减去相应金额。自动扣费下(如水电费等缴纳)消费者选择扣费项目,然后将卡置于刷卡有效范围,读写模块读取卡的序列号,该序列号相当于该卡
15、的身份认证且其号码为全球唯一,控制器得到这个序列号后查询数据库相应收费条目,从卡中减去相应金额,并将数据库条目标记为已扣费,避免重复收取;如果是单一应用场合则直接刷卡扣费。该系统也可通过设定一个固定的金额以自动扣费,实现定额消费。当单笔扣费额或全天消费总额超过一定限度,收费机会提示输入密码,以免卡丢失情况下被拾到者不法利用,最大限度保证持卡人资金安全。图1.1即为基于射频卡收费系统的原理框图。系统的核心是单片机控制下的射频卡读写模块以及读写模块支持的射频卡(本系统采用mifare1 s50卡)。在硬件组成上采用了stc89c52单片机作为控制芯片,周立功zlg522s模块完成射频卡的读写过程,
16、键盘输入扣费项目或扣费金额,数码管用于显示扣费额以及各种提示信息, hd7279智能驱动芯片同时驱动数码管显示和键盘,它能将显示信息以及按键输入进行处理,与控制器配合共同完成相应功能;用户持mifare1卡靠近读写模块驱动下的感应天线区,当进入刷卡有效范围即完成相应操作。图1.1 系统硬件框图 第2章 硬件组成描述2.1 mifare1卡简介mifare1卡(简称m1卡)的卡片的电气部分是由一个天线和asic组成。其中,天线是只有几组绕线组成的线圈,很适合封装到is0卡片中。卡片的asic由一个高速(106kb波特率)的rf接口,一个控制单元和一个8k位eeprom组成。射频卡的内部结构如图2
17、.1所示:图2.1 射频卡内部结构工作原理:读写模块向m1卡发一组固定频率(13.56mhz)的电磁波,卡片内有一个lc串联谐振电路,其频率与读写模块发射的频率相同,在电磁波的激励下,lc谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2v时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接收读写器的数据。2.1.1 主要指标l 容量为8k位eeprom。l 分为16个扇区,每个扇区分为4块,每块16个字节,以块为存取单位。l 每个扇区有独立的一组密码及访问控制。l 每张卡有唯一的序列号,
18、为32位。l 具有防冲突机制,支持多卡操作。l 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路。l 数据保存期为10年,可改写10万次,读无限次。l 工作温度:-2050(温度为90%)。l 工作频率:13.56mhz。l 通信速率:106kbps。l 读写距离:10cm以内(与读写器有关)。2.1.2 存储结构1、m1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,我们也将16个扇区的64个块按绝对地址编号为063,存储结构如图2.2所示:图2.2 射频卡存储结构2、第0扇区的块0(即绝对地址0块),用于存放厂商代码,已经固化,不可更改。3、每个扇区的块0、块1、块2为数据
19、块,可以用来存储数据;每个扇区的块3为控制块包括了密码a(6字节)、存取控制(4字节)和密码b(6字节)。4、每个扇区的密码和存取控制都是相互独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的。2.2 zlg522s模块简介本设计的读写模块采用周立功zlg522s模块,它基于飞利浦rc522芯片,具有体积小、支持mifare1系列射频卡等特点;模块接上天线读卡有效范围达到50100mm;采用iic接口通信,使用单片机上任意两条i/o口即可。2.1.1 功能特点l 采用超小型封装读卡芯片;l
20、符合iso14443-3标准;l 可选择5v或者3.3v供电;l 能接双天线,能识别是哪一个天线上有卡;l 有iic从机接口,也有uart接口或rs-232接口;l 可主动检测卡进入,检测到卡时可产生中断输出或通过uart输出数据;l 符合iso14443-4标准,可支持mifare pro、mifare desfire等cpu卡。2.1.2 技术参数表2.1 zlg522s模块的技术参数产品型号zlg522s系列功率消耗平均电流:60毫安/直流5v;50毫安/直流3v峰值电流:小于160毫安工作频率13.56mhz读卡距离50100毫米(mifare1卡)接口iic、uart、rs-232数
21、据传输速率iic:80kuart/rs-232:9600230400bit/s支持卡类型mifare1 s50、mifare1 s70、mifare ultralight、mifare pro、mifare desfire物理特性尺寸:分体式25mm*16mm*6mm;天线一体化54mm*34.5mm*6mm环境工作温度:摄氏-2080度储存温度:摄氏-4085度湿度:相对湿度5%95%2.3 stc89c52单片机简介stc89c52是一个低功耗,高性能cmos 8位单片机,片内含8 bytes isp(in-system programmable)的可反复擦写的flash只读程序存储器,器
22、件采用stc公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的stc89c52可为许多嵌入式控制应用系统提供高性价比的解决方案。stc89c52具有如下特点:40个引脚,8k bytes flash片内程序存储器,512 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。 此外,stc89c52设计和配置了振荡频率可为0hz并可通
23、过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。1主要特性: 8位字长cpu; 振荡器和时钟电路,全静态操作:033mhz; 8kb系统内可编程flash存储器; 256kb内部ram; 4个i/o端口共32线; 3个16位定时/计数器; 全双工(uart)串行口通道; isp端口; 定时监视器(看门狗); 双数据指针(dptr); 20多个特殊功能寄存器; 电源下降标志。2管脚说明:
24、vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个
25、内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,
26、并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。管脚图如图2.4所示:图2.4 stc89c52引脚图2.4 hd7279a简介hd7279a是一片具有串行接口的,可同时驱动8位共阴式数码管或64只独立led的智能显示驱动芯片,该芯片
27、同时还可连接多达64键的键盘矩阵,单片即可完成led显示,键盘接口的全部功能。hd7279a内部含有译码器,可直接接受bcd码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。hd7279a具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。2.4.1 特点l 串行接口,无需外围元件可直接驱动ledl 各位独立控制译码/不译码及消隐和闪烁属性l (循环)左移/(循环)右移指令l 具有段寻址指令,方便控制独立ledl 64键键盘控制器,内含去抖动电路l 有dip和soic两种封装形式供选择2.4.2 引脚说明表2.2 hd7279a的
28、引脚说明引脚名称说明1,2vdd正电源3,5nc无连接,必须悬空4vss接地6cs片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7clk同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效。8data串行数据输入/输出端,当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在“读”指令最后一个时钟的下降沿变为输出端。9key按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平。1016sgsa端g端a驱动输出。17dp小数点驱动输出。1825dig0dig7数字0数字7驱动输出。26clk0振荡输出端。27rcrc振荡器连接端。28re
29、set复位端。2.4.3 串行接口hd7279a采用串行方式与微处理器通信,串行数据从data引脚送入芯片,并由clk端同步,当片选信号变为低电平后,data引脚上的数据在clk引脚的上升沿被写入hd7279a的缓冲寄存器。hd7279a的指令结构有三种类型:1、不带数据的纯指令,指令的宽度为8个bit,即微处理器需发送8个clk脉冲。2、带有数据的指令,宽度为16个bit,即微处理器需发送16个clk脉冲。3、读取键盘数据指令,宽度为16个bit,前8个为微处理器发送到hd7279a的指令,后8个bit为hd7279a返回的键盘代码。执行此指令时,hd7279a的data端在第9个clk脉冲
30、的上升沿变为输出状态,并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令。串行接口的时序如图2.5、2.6、2.7所示:1、纯指令图2.5 串行接口的时序(1)2、带数据指令图2.6 串行接口的时序(2)3、读键盘指令图2.7 串行接口的时序(3)第3章 开发环境keil介绍单片机开发中除必需的硬件外,同样离不开软件,我们写的汇编语言源程序要变为cpu可以执行的机器代码有两种方法,一种是手工汇编,另一种是机器汇编,目前手工汇编的方法已经很少使用了。机器汇编是通过汇编软件将源程序变为机器码,汇编软件有早期的a51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单
31、片机的开发软件也在不断发展,keil软件是目前最流行开发mcs-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持keil即可看出。keil提供了完整的开发方案包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等,通过一个集成开发环境(uvision)将这些部份组合在一起。3.1 系统概述keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。 keil c51软件提供丰富的库函数和功能强大的集成开发调试工具
32、,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍keil c51开发系统各部分功能和使用。使用独立的keil仿真器时,注意事项 :* 仿真器标配11.0592mhz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/ea)已接至高电平,所以仿真时只能使用片内rom,不能使用片外rom;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,
33、故该仿真器仍可插入到扩展有外部rom(其cpu的/ea引脚接至低电平)的目标系统中使用。3.2 keil工程的建立 首先启动 keil 软件的集成开发环境,这里假设已正确安装了该软件,可以从桌面上直接双击 uvision 的图标以启动该软件。uvison启动后,程序窗口的左边有一个工程管理窗口,该窗口有 3 个标签,分别是files、regs、和 books,这三个标签页分别显示当前项目的文件结构、cpu 的寄存器及部份特殊 功能寄存器的值(调试时才出现)和所选 cpu 的附加说明文件,如果是第一次启动 keil,那么这三个标签页全是空的。1、源文件的建立使用菜单“file-new ”或者点击
34、工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口, 在该窗口中输入源程序如下:#includesbit d2=p12;unsigned int a;void main() d2=0;for(a=0;a=10000;a+);d2=1;for(a=0;anew project ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为 exam1),不需要扩展名。点击“保存”按钮,出现第二个对话框,这个对话框要求选择目标 cpu(即所用芯片的型号),keil 支持的 cpu 很多,我们选择 atmel 公司的 89c51芯片。点击 atmel前面的
35、“+”号,展开该层,点击其中的 89c51,然后再点击“确定”按钮,回到主界面,此时,在 工程窗口的文件页中,出现了“target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“ source group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“source group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“add file to group”source group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型” 默认为 c source file(*.c),也就是以 c 为扩展名
36、的文件。双击 exam1.c 文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图 4所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“close” 即可返回主界面,返回后,点击“source group 1”前的加号,会发现 exam1.c文件已在其中。双击文件名,即打开该源程序。3、工程的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边 project 窗口的 target 1,然后使用菜单“project-option for
37、target target1” 即出现对工程设置的对话框,这个对话框可谓非常复杂,共有 8 个页面,要全部搞清可不容易,好在绝大部份设置项取默认值就行了。设置对话框中的 target 页面,xtal 后面的数值是晶振频率值,默认值是所选目标 cpu 的最高 可用频率值,对于我们所选的at89c51 而言是24m,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与硬件对目标进行设置所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。memory model 用于设置ram 使用情况,有三个选
38、择项,small 是所有变量都在单片机的内部 ram 中;compact 是可以使用一页外部扩展 ram,而 larget则是可以使用全部外部的扩展 ram。code model用于设置 rom空间的使用,同样也有三个选择项,即 small 模式,只用低于 2k的程序空间;compact 模式,单个函数的代码量不能超过2k,整个程序可以使用64k程序空间;larget 模,可用全部 64k空间。use on-chip rom 选择项,确认是否仅使用片内 rom(注意:选中该项并不会影响最终生成的目标代码量);operating 项是操作系统选择,keil 提供了两种操作系统:rtx tiny
39、和 rtx full,关于操作系统是另外一个很大的话题了,通常我们不使用任何操作系统,即使用该项的默认值:none(不使用任何操作系统);off chip code memory 用以确定系统扩展 rom 的地址范围,off chip xdata memory 组用于确定系统扩展 ram 的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。设置对话框中的 output 页面,这里面也有多个选择项,其中 creat hex file 用于生成可执行代码文件(可以用编程器写入单片机芯片的 hex 格式文件,文件的扩展名为.hex),默认
40、情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,这一点是初学者易疏忽的,在此特别提醒注意。选中 debug information 将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。browse information 是产生浏览信息,该信息可以用菜单 view-browse 来查看,这里取默认值。按钮“ select folder for objects ”是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。name of executable 用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。工程设置对话框中
41、的其它各页面与 c51 编译选项、a51 的汇编选项、bl51 连接器的连接选项等用法有关,这里均取默认值,不作任何修改。以下仅对一些有关页面中常用的选项作一个简单介绍。listing 标签页用于调整生成的列表文件选项。在汇编或编译完成后将产生(*.lst)的列表文件,在连接完成后也将产生(*.m51)的列表文件,该页用于对列表文件的内容和形式 进行细致的调节,其中比较常用的选项是“c compile listing”下的“assamble code”项,选中该项可以在列表文件中生成 c 语言源程序所对应的汇编代码。c51 标签页用于对keil的c51编译器的编译过程进行控制,其中比较常用的是
42、“code optimization”组,该组中 level 是优化等级,c51 在对源程序进行编译时,可以对代码多至 9 级优化,默认使用第 8 级,一般不必修改,如果在编译中出现一些问题,可以降低优化级别试一试。emphasis 是选择编译优先方式,第一项是代码量优化(最终生成的代码量小);第二项 是速度优先(最终生成的代码速度快);第三项是缺省。默认的是速度优先,可根据需要更改。设置完成后按确认返回主界面,工程文件建立、设置完毕。4、编译、连接在设置好工程后,即可进行编译、连接。选择菜单 project-build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进
43、行编译,然后再连接以产生目标代码;如果选择 rebuild all target files 将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而 translate .项则仅对该文件进行编译,不进行连接。以上操作也可以通过工具栏按钮直接进行。编译过程中的信息将出现在输出窗口中的 build 页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后, 最终会得到名为exam1.hex 的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于 keil 的仿真与调试,这时可以进入下一步调试的工
44、作。第4章 系统电路的设计及原理4.1 原理框图本设计的硬件部分主要由单片机(stc89c52)、读写模块、键盘电路,数码管显示四大部分组成。其中,单片机主要起控制作用,以完成对射频卡读写模块的配置从而实现对射频卡的操作以及显示等控制;数字键盘作为输入设备;显示部分主要采用数码管显示来实现。系统硬件框图如图4.1所示:图4.1 系统总体框图4.2 各模块具体实现原理分析和说明4.2.1 读写模块本设计的读写模块采用周立功zlg522s模块,基于飞利浦rc522芯片,体积小;支持mifare1系列射频卡;模块能接双天线,并且能识别哪个天线上有卡,天线读卡有效范围50100mm;iic接口通信,使
45、用单片机上任意两条i/o口即可实现。1、io设置本课题的读写模块采用周立功zlg522s模块,该模块有两种不可同时使用的通信接口:uart和iic接口。本课题采用iic接口,数据接口为j1,天线接口为j2,定义分别如表4.1、4.2所示:表4.1 j1管脚定义表管脚符号类型描述j1-1int输出中断输出信号,集电极开路。当使用iic通信,当模块完成命令时,此脚输入低电平;当设置为自动检测卡模式时,当检测到卡时,此脚也输出低电平。j1-2scl输入iic时钟输入,集电极开路。j1-3sda输入/输出iic数据输入/输出,集电极开路。j1-4gndpwr电源负端。j1-5vccpwr电源正端。若模
46、块名后缀带“l”,则以+3.3v供电,否则+5v供电j1-6rxd输入uart接收端j1-7txd输出uart发送端j1-8con表4.2 j2管脚定义表管脚符号类型描述j1-1tx1输出天线输出驱动1。j1-2gnd地天线地。j1-3tx2输出天线输出驱动2。j1-4rx输入接收j1-5gnd地天线地。j1-6rx2输入接收2。在接收双天线时与tx2和地可组成第二个天线接口2、iic接口iic总线协议定义如下:(1) 只有在总线非忙时才被允许进行数据传送。(2) 在数据传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止
47、条件。iic总线每一次数据传送,都是由主器件发送起始信号开始,发送停止信号结束,当scl时钟线为高电平,sda数据线出现高电平向低电平的下降沿信号时即为总线的起始信号;相反,当sda出现由低向高的上升沿信号时为总线的停止信号,在起始信号和停止信号之间是寻址信息和数据信息。iic总线上的数据传输必须遵循总线规范。主cpu发生起始信号表明一次数据传送的开始,然后为寻址字节,寻址字节由高7位地址和一位方向位组成,方向位表明主cpu与从器件之间的数据传送方向,当该位为“0”时表明cpu对从器件进行写操作,为“1”时为读操作。寻址字节后是按指定地址读、写操作的数据字节与应答位。主cpu发出寻址信号后,地
48、址与自己相符的从器件便会产生一个应答信号。数据字节的后面也跟随一个应答信号,应答信号在第9个时钟位上出现。当从器件输出低电平时为应答信号(ack),输出高电平为非应答信号(nack)。如图4.2所示,数据传送完毕后主cpu必须发停止信号。图4.2 iic总线的应答信号利用模块的j1.1j1.3接口可以与主机进行iic通信。只要主机提供任意三个i/o口即可。注意本模块的这三个管脚均为集电极开路,因此一定要加上拉电阻。本设计采用+5v供电,上拉电阻应为4.7k,iic连接图如图4.3所示:图4.3 iic接口连接图4.2.2 按键模块按键是人机交互很重要的一部分,也是本设计必不可少的一个模块。本设
49、计中可以通过按键模块来输入扣费额,例如自动售货机等;还可以使用按键来设置定额功能,供某些扣费额固定的场合使用,例如餐厅里卖饮料的窗口的收费。本设计的按键模块使用的是4*4矩阵键盘,假设收费机为多收费项目,定义其键盘功能如图4.4。图4.4 按键功能定义图键值说明:09为数字键,功能键有6个,此收费机可以收取水费、电费、电话费等。定额功能是在按下定额键收费机将按设定值扣费,确定键表示按下相应功能键后按确定键才生效,清除键在输入错误时可以按清除键重新输入,总额表示按下该键将显示当天的扣费总额。例如,如果想要扣费12元,只要按下数字键1和2,然后按确定键,将卡放在刷卡区,即可完成扣费;当要每次扣费均
50、为5元时,只要按下定额键,然后按下数字键5,最后再按下确定键即可。4.2.3 数码管显示模块刷卡区要通过2位数码管显示该区刷卡金额,之所以采用数码管显示是方便需要时重新设置票价;扣费金额及余额显示共用3位数码管显示。共需5位数码管。使用sadp控制数码管的段选,用dig0dig4控制位选。本设计采用hd7279a控制按键和数码管显示模块,hd7279a应连接共阴式数码管。应用中,无需用到的键盘和数码管可以不连接,省去数码管或对数码管设置消隐属性均不会影响键盘的使用。实际应用中下拉电阻和键盘连接位选线dig0dig7的电阻(以下简称位选电阻),应遵从一定的比例关系,下拉电阻应大于位选电阻的5倍而
51、小于其50倍,典型值为10倍;下拉电阻的取值范围是10k到100k,位选电阻的取值范围是1k到10k。在不影响显示的前提下,下拉电阻应尽可能地取较小的值,这样可以提高键盘部分的抗干扰能力。因为采用循环扫描的工作方式,如果采用普通的数码管,亮度可能不够,采用高亮或超高亮的型号,可以解决这个问题。数码管的尺寸,亦不宜选得过大,一般字符高度不宜超过1英寸,如果用大型的数码管,应使用适当的驱动电路。hd7279a需要一外接的rc振荡电路以供系统工作,其典型值分别为r=1.5k,c=15pf。如果芯片无法正常工作,请首先检查此振荡电路。在印刷电路板布线时,所有元件,尤其是振荡电路的元件应尽量靠近hd72
52、79a,并尽量使电路连续最短。hd7279a的reset复位端在一般应用情况下,可以直接与正电源连接,在需要较高可靠性的情况下,可以连接一外部的复位电路,或直接由单片机控制。在上电或reset端由低电平变为高电平后,hd7279a大约需要经过1825ms的时间才会进入正常工作状态。上电后,所有的显示均为空,所有显示位的显示属性均为“显示”及“不闪烁”。当有键按下时,key引脚输出变为低电平,此时如果接收到“读键盘”指令,hd7279a将输出所按下键的代码。如果在没有按键的情况下收到“读键盘”指令,hd7279a将输出ffh(255)。程序中,尽可能地减少cpu对hd7279a的访问次数,可以使
53、得程序更有效率。因为芯片直接驱动led数码管显示,电流较大,且为动态扫描方式,故如果该部分电路电源连续较细较长,可能会引入较大的电源噪声干扰,将hd7279a的正负电源端上并入去耦电容可以提高电路的抗干扰能力。注意:如果有两个键同时按下,hd7279a将只能给出其中一个键的代码,因此,hd7279a不适于应用在需要2个或2个以上键同时按下的场合。硬件连接如图2.8 所示,stc89c52所用的时钟频率为12mhz,程序使用keil编译通过,并经过验证。程序中延时时间以hd7279a外接r=1.5k,c=15pf为准。硬件连接如图4.5所示:图4.5 按键和数码管显示模块连接图第5章 软件实现5.1 读写模块通信设计5.1.1 数据通信格式射频卡与单片机通信采用iic接口方式,模块以“命令响应”的方式工作,它在系统中模块处于从属地位,不会主动发出数据(自动检测卡除外)。通常主机首先发出命令,然后等待模块响应。为保证通信正常进行,数据完整有序接收,定义通信控制符如表5.1所示:表5.1 通信控制符表描述定义值开始符stx0x20终止符etx0x30应答ack0x06无应答nak0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年船行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年航空航天行业市场深度分析及竞争格局与投资价值研究报告
- 2024-2030年自动控制阀市场发展现状分析及行业投资战略研究报告
- 2024-2030年能源金融产业园区定位规划及招商策略咨询报告
- 2024-2030年网络控制设备产业市场现状供需分析及投资评估规划分析研究报告
- 2024-2030年纳米氧化锡行业市场现状供需分析及投资评估规划分析研究报告
- 2024-2030年等温加湿器行业市场现状供需分析及投资评估规划分析研究报告
- 电子商务平台知识产权维权协议
- 交通事故损害赔偿和解协议书模板
- PET设备检测委托协议书
- 大众标准目录(中文)
- 善于休息增进健康
- 全国中学生英语能力测试高三初评英语试题
- 《汽车专业英语》课程教学大纲
- 自己设计的花键跨棒距的计算-2
- 雷电的监测和预警
- 年金险专项早会理念篇之养老专业知识专家讲座
- 中职英语基础模块2(高教版)教案:Unit4 Volunteer Work(全6课时)
- 冻干制剂工艺研究
- 2023年湖北省武汉市江汉区八年级上学期物理期中考试试卷附答案
- 中国六大茶类(基本知识与品鉴)
评论
0/150
提交评论