




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
装订线毕业设计(论文)报告纸摘 要随着经济的高速增长,汽车的社会拥有量不断增加,越来越多的人加入了购车行列,私家车的数量越来越大,汽车停车场的数量将随之增加,规模不断扩大,这给停车场的车辆管理系统(停车效率、停车安全)提出了新的挑战。汽车数量的剧增和停车场地的相对短缺,使得停车场的管理收费问题凸现。特别是大型超市的临时停车场管理收费更加困难。该停车收费系统操作简单,价格低廉,安装调试方便,很好地解决了临时停车场的管理和收费问题。 传统的停车计费方式存在着一些不足,针对这些不足,设计了一个采用单片机计费方式的自动停车收费管理系统,为临时停车场提供了一个操作简便、价格低廉,而且行之有效的管理办法。本系统的实际开发使用将大大节省临时停车场的管理费用及人手,提高临时停车场的利用效率。系统采用的检测计费方式,可以实现自动开启关闭大门功能、自动计费功能、显示功能(显示停车场状况)、查询功能,而且收费方式可以调节,使系统更具灵活性。整个自动停车收费管理系统操作简单、价格低廉、安装调试方便,能够满足管理临时停车场的要求。本系统的实际开发使用将大大节省临时停车场的管理费用及人手,提高临时停车场的利用效率。关键词:单片机,停车场,自动停车收费系统,LCD,显示ABSTRACTThe management system introducing that one money parking lot automation motor stoppage of monolithic machine charges owing to AT89C51, inquiry function opening automatically closing the entrance door function , the automation meter fee function , showing, and charge way is not bad adjust , make flexibility have more systematically. That automation motor stoppage charges systematically handling a simplicity , price is cheap , the installation debugging goes to the lavatory, problem having resolved charge for provisional parking lot administration very good. Charge for entire automation motor stoppage manages the system operation simplicity , price is cheap , assembles a debugging to go to the lavatory. Be able to satisfy the call for managing provisional parking lots. Originally systematic reality develops administration cost and hand being put into use will economize provisional parking lot greatly , improves provisional parking lot utilization ratio. KeyWords:Monolithic machine,Parking lot,Charge for automation motor stoppage is systematic,LCD,Display目 录摘 要1第一章 前言51.1 项目研究背景51.2 项目发展趋势61.3 项目研究的目的和意义7第二章 系统方案设计82.1 总体介绍82.1 系统框架82.2 工作流程9第三章 系统硬件设计103.1 单片机简介103.1.1 单片机的选择103.1.2 89C51的引脚介绍113.1.3 89C51单片机的存储器143.2 显示器介绍193.2.1 显示器的选择193.2.2 液晶显示原理193.2.3 1602LCD的使用说明203.3 键盘电路的设计253.3.1 独立式按键253.3.2 行列式键盘接口263.3.3 行列式键盘工作原理263.4 时钟电路293.5 大门控制电路303.5.1 控制电器简介303.5.2 控制电路构成31第四章 系统的软件设计324.1 控制系统的主程序功能及流程图324.2 系统子程序设计334.2.1 1602显示子程序344.2.2 键盘扫描子程序354.2.3 计算键值子程序364.2.4 键盘调节显示子程序374.2.5 时钟设计及显示38第五章 调试过程及运行结果395.1 调试过程395.2 运行结果42总 结43致 谢44参考文献45附录46附录一程序清单46附录二元件明细表60附录三电路原理图61附录四电气原理图62第一章 前言1.1 项目研究背景停车场收费系统是伴随着公用收费停车场这一新生事物而诞生的。它的出现克服了原始的人工收费方式存在的收费过程繁琐,通行效率低下以及票款流失等难以解决的问题。随着经济的发展以及技术的进步,种类繁多的停车场管理系统竞相出现。许多现代控制领域及智能交通领域的前沿技术在停车场管理系统中得到广泛应用,使当今停车场管理系统越来越具有智能化的特点。 目前,国外停车场管理系统经过多年的发展,已基本进入智能无人化收费的阶段。其使用的收费介质已由传统接触读写类型收费介质转变为非接触的新型收费介质。国外停车场收费系统一般采用高度智能化专用设备,可以实现收费系统的无人化操作。设备制造工艺精良,系统稳定性和产品技术水平达到较高水平。 值得注意的是国外停车场管理系统在采用大量先进技术的同时,带来的负面性影响是系统的造价非常高昂,技术实现难度大,维护成本高。国内停车场管理系统是伴随着国内公用停车场的大量出现而出现的。最初的国内停车场管理系统是引进和消化吸收国外同类系统的基础上研发成功的。由于有许多关键设备国内没有生产,系统采用了较多国外产品,因此这一阶段国内停车场管理系统带有较多“集成”的意味。 近年来,随着国内停车产业的发展壮大,国内停车场管理系统厂商的技术实力得到迅速增强。国内停车场管理系统也由单纯的引进和仿制转向真正意义上的技术研发阶段。一些国际先进的停车场管理技术和理念都可以在新型管理系统中得到迅速应用。许多停车系统关键设备已经可以在国内研发制造。停车场管理系统使用的一些核心技术如远距离读卡技术等仍是国外厂商的技术专利。如何提高停车管理系统核心技术研发水平,如何提高停车管理系统设备制造水平,是目前国内停车管理系统厂商普遍面临的两个问题。国内停车场管理系统目前正面临着老式管理系统向新型管理系统升级换代的高峰时期,落后的以传统接触读写收费介质为特征的管理系统正在被逐渐淘汰。新型的以非接触式IC卡、远距离射频电子标识、车牌图像识别技术等非接触类型收费介质为特征的新型停车场管理系统正在迅速走向成熟,也正在逐步为人们所接收。 一个好的停车场管理系统,它的价值不仅仅体现在是否使用了最前沿的先进技术,也不仅仅体现在价格有多低廉,更为重要的是能否真正在实际应用中充分发挥系统应有的管理功能,真正为用户提供一套关于停车管理的全面解决方法,从而为用户创造最大的经济和社会效益。1.2 项目发展趋势收费介质是停车场管理系统用来标识车辆的唯一标志,是管理系统的重要技术特征。通过使用何种收费介质可以反映其系统的技术先进程度。以停车场管理系统使用的收费介质为比较特征,停车场收费系统经历了磁卡、纸质磁卡、条形码以及非接触类型收费介质几个发展阶段。每个阶段的停车场管理系统克服了其上一代系在收费介质上的缺陷,进一步提高了收费系统的工作效率和准确性,并丰富了管理系统的服务功能。目前使用以非接触式IC卡、射频电子标识、车牌图像识别技术为代表的非接触类型收费介质已经成为停车场管理系统最明显的技术发展方向。 在使用更为先进的收费介质的同时,停车场管理系统的另一个技术发展方向是智能化管理。以智能化设备取代人的劳动,实现停车场车辆出入、场内监控以及收费等所有过程的完全无人化,是停车场管理系统智能化的最终目标。对用户而言,停车场管理系统技术进步的明显特征是停车交易支付手段的多样化特点。先进的停车场收费系统不再以现金作为停车交易的唯一支付手段。用户可以选择在离开停车场时用信用卡、手机等E化货币支付自己的停车费用,也可以通过互联网预支费用或进行结算。停车场管理系统的一个显著特点是停车交易支付手段的电子化程度非常高,基本上不存在现金交易的现象。许多国外管理系统配备停车车位引导系统、停车车位查询系统等智能化设备,使停车场管理系统的功能更加丰富。一些国外停车设备厂商正在研究能够实现网络化存车的停车场管理系统。这种收费系统依靠INTERNET网络连接,能够实现在一个相对广阔的地域内(例如一座城市甚至一个国家)的多个停车场的随意停车。管理系统会统一调度车位资源,统一进行交易结算。停车用户在家中通过网络就可以预定停车车位,交纳停车费用,查询出行目的地的各类停车信息。这种新型停车场管理方式适应了INTERNET网络在人们日常生活中越来越重要的现状,使停车场管理系统的作用范围和功能得到了极大的扩展和延伸。1.3 项目研究的目的和意义随着城市化的发展和车辆的普及, 汽车拥有量不断增加, 城市停车难成为当今世界各国面临的共同难题, 无论是发达国家还是发展中国家, 都毫无例外地承受着停车场容量与汽车拥有量严重不对称的现实, 致使有车无处停, 以及停车场设备科技含量低的困扰。特别是商业区、城市旅游景点的停车比例仅为1:10。停车问题是城市在发展过程中出现的静态交通(车辆停放状态)问题,静态交通是相对于动态交通(车辆行驶状态)而存在的一种交通形态,二者相互联系,互相影响,停车设施是城市静态交通的主要内容,随着城市的不断发展,各种车辆的不断增加,对停车设施的需求也在不断增加,如果两者之间失去平衡,城市里就会出现停车难的一系列问题。数据显示,最近几年我国城市机动车辆平均增长速度在15%-20%,而同时期城市停车基础设施的平均增长速度只有2%-3%,特别是大城市的机动车拥有量的增长速度远远超过停车基础设施的增长速度,因此,我们必须重视城市停车难的问题,并积极探求解决的措施。停车设施建设严重落后于车辆的增长情况, 导致停车矛盾愈加严重, 停车难、乱停车的恶性循环成为城市交通管理的难点, 也直接导致交通堵塞、擦车追尾等交通事故, 不同程度阻碍了城市经济的发展。尤其在景区的旅游旺季, 举办大型展览, 会议及大型社会活动时, 人多车多, 停车更是一件非常不易之事, 因此解决停车难就成了所有开发商首先要考虑的一个问题。根据这一现状,提出了一种以MCS-51系列单片机(89C51)为核心的停车场自动收费管理系统。该系统具有设置、移动简便, 操作简单,价格低廉,能够满足管理临时停车场的要求等特点。同时能够大大节省停车场的管理费用及人手,提高停车场的利用效率。特别适用于旅游旺季、大型活动等所增设的各种停车场的现代化停车管理收费, 同时可大大缓解因停车难而造成的停车场附近道路交通拥堵等相关问题。第二章 系统方案设计2.1 总体介绍本设计是一个以办公室环境为对象的停车收费系统,系统能进行各种停车场计费管理系统操作演示、出入口控制器的设置、仿真模型车辆的仿真出入控制、停车场计费管理软件的仿真。根据设计要求,设计了一个采用单片机计费方式的自动停车收费管理系统,为临时停车场提供了一个操作简便、价格低廉,而且行之有效的管理办法。本系统的实际开发使用将大大节省临时停车场的管理费用及人手,提高临时停车场的利用效率。系统可以实现自动开启关闭大门功能、自动计费功能、显示功能(显示停车场状况)、查询功能,而且收费方式、时钟显示均可调节,使系统更具灵活性。设计中采用单片机来控制系统,因此要有时钟电路,键盘电路,LCD显示电路,报警电路等几个部分。要实现系统的设计要用到的知识点有单片机的原理及其应用,LCD的原理和应用,及键盘和时钟电路的设计等。2.1 系统框架大门控制模块出入模块操作键盘模块LCD显示模块停车场状态显示模块单片机控制中心图2-1 停车场自动停车收费系统框图(1)出入模块:安装在停车场入口和出口,用于检测汽车驶入停车场大门、驶出停车场大门,并进行相应计费。送单片机作相应处理。(2)大门控制模块:在单片机的控制下与出入模块协同作业,自动感应执行停车场大门的升闸降闸。保证了停车场的安全,减少了因抢占停车位发生意外的可能性。(3)单片机控制中心:采用MCS-51系列单片机系统,它是本系统的核心部分。主要功能是:车辆出入信息记录与显示;停车收费并进行信息记录与存储;监控键盘状态,处理键盘输入的操作信息;监控停车场状态,控制大门升闸降闸;有汽车驶入停车位后车位数减一,当空车位数为零时,红灯亮,不再让汽车进入停车场。汽车驶出停车位后停车位数加一,大门开启,让其离开;将停车的数量换算为停车场的总费用信息;控制显示器,按要求显示各种信息;如有非正常情况发生,触发声光报警。(4)停车厂场状态显示模块:显示停车场状态信号其中不仅包括每停一辆车的价格还包括显示实时时间,现在停了几辆车,还有几个空车位可以使用。这时大门的绿灯表示有车正在进入空车位,还可以停车;红灯表示场内车位全满,不允许汽车进入。不仅方便了驾驶人,还便于管理者查看停车场的各种情况,可以及时的调整收费标准和经营策略。(5)LCD显示模块:显示停车场的各种信息,包括北京时间、停车位、空停车位数、停车的费用、收费标准和操作提示等内容。(6)操作键盘模块:通过键盘进行多种人工操作,包括显示、切换、查询各类信息,修改收费标准,修改北京时间(北京时间可以精确到秒)等显示内容。2.2 工作流程当汽车进入或驶出停车场时,模块将通知单片机有汽车驶入或驶出停车场,单片机再根据停车场的当时的状态控制停车场大门的开启或关闭,根据设置好的停车费用,及时间,做相应处理。停车场未满,车入库时,驾驶人员按下SB2键,取卡,大门打开,车位减一,车入库,并送相应单元存储数据。车出库时,处理人工键盘的操作,进行数据调用,显示相应卡号,结算相应花费,然后按下SB4键,大门打开,车出库,车位数加一。停车收费标准可以调节,方便停车场运营,系统初始值设为3元/时。可以停车时交费也可以离开时交费经营者可以根据自己的情况来定。系统能够自动统计停车场总收入,并显示。该系统还可以充当时钟来使用,时间的小时与分钟都可以调节。用程序来说就是检测有没有空车位,有空位则允许车进入,没则不打开大门。如果有车进来,等待汽车通过传感器,打开进车大门,已停车位数加1,停车总量加1,延时一段时间,让汽车通过进车门,关闭进车门;没空位时,不打开大门,即红灯亮。检测有没车出去,有则等待汽车通过出车门传感器,打开出大门,已停车位数减1,经过一段时间,让汽车通过出车门,关闭出车门。第三章 系统硬件设计3.1 单片机简介3.1.1 单片机的选择美国Intel公司1980年推出了MCS-51系列高档8位单片机。提高了芯片的集成度,性能上大为提高,增加了多种片内硬件功能,并扩展了功能单元的种类和数量。MCS-51单片机硬件结构及其一些主要特点:1.内部程序存储器和内部数据存储器2.输入/输出口MCS-51单片机内的I/O口的数量和种类较多且齐全,尤其是它有一个全双工的串行口。3.外部程序存储器和外部数据存储器寻址空间MCS-51可对64KB的外部数据存储器寻址且不受该系列中各种芯片型号的影响,而对程序存储器是内外总空间为64KB.4.中断与堆栈MCS-51有5个中断源,分为2个优先级,每个中断源的优先级是可编程的,它的堆栈位置也是可编程的,堆栈深度可达128字节。MCS-51子系列有2个16位的定时/计数器,通过编程可以实现四种工作模式。MCS-52子系列有3个16位的定时/计数器。MCS-51在内部RAM中开设了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的要求。6.指令系统MCS-51是一个功能很强的指令系统,主要表现在MCS-51的指令系统中增添了减法、乘法、除法、比较、堆栈操作和多种位操作指令。5当振荡器频率接最高12MHZ时,大部分指令执行时间为1s,少部分为2s,乘除指令的执行时间也只有4s。7.布尔处理器特别值得一提的是MCS-51的布尔处理器。它实际上是一个完整的一个微计算机,这个一位的微机有自己的CPU ,位寄存器、I/O口和指令集。把八位微机和一位微机结合在一起,是微机技术上的一个突破。一位机在开关决策、逻辑电路仿真和实时测控方面非常有效,而八位机在运算处理、智能仪表常用的数据采集方面有明显的长处。在MCS-51系列单片机中八位机和一位机(布尔处理器)的硬件资源是复合在一起的,二者相辅相成,这是MCS-51在设计上的精美之处,也是一般微机所不具备的。1 3.1.2 89C51的引脚介绍图3-1 单片机引脚图掌握MCS-51单片机,应首先了解MCS-51的引脚,熟悉并牢记各引脚的功能。MCS-51系列中各种芯片的移交是互相兼容的。制造工艺为HMOS的MCS-51的单片机都采用40只引脚的双列直插封装(DIP方式,如图所示。目前大多树为此类封装方式。制造工艺为CHMOS的8031/89C51/87C51除采用DIP封装方式以外,还采用方行封装方式,为44只引脚(其中4只是无用的引脚)如图上图所示。40只引脚按其功能来分,可分为如下3类:1. 电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。2. 控制引脚:/PSEN、ALE、/EA、RESET3. I/O口引脚;P0、P1、P2、P3、为4个8位I/O口的外部引脚。下面来介绍各引脚的功能。电源及时钟引脚1电源引脚电源引脚接入单片机的工作电源(1) Vcc(40引脚):接+5V电源。(2) Vss(20引脚):接地2时钟引脚2个时钟引脚XTAL1,XTAL2外接晶体与片内的反相放大器构成了1个振荡器,它为单片机提供了时钟信号。2个时钟引脚也可以外接独立的晶体振荡器。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。8晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。型号同样为AT89C51的芯片,在其后面还有频率编号,有12,16,20,24MHz可选。大家在购买和选用时要注意了。如AT89C51 24PC就是最高振荡频率为24MHz,40P6封装的普通商用芯片。根据综上分析,此次设计中的最小系统的设计采用89C51芯片作为最小系统芯片是最佳选择。1(1)XTAL1(19引脚):接外部晶体1个引脚。该引脚内部是1个反相放大器的输入端。这个反相放大器构成了片内振荡器/如果采用外接晶体振荡器时,此引脚应接地。(2)XTAL2(18引脚):接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。若采用外部时钟振荡器时,该引脚接收时钟振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。2控制引脚此类引脚提供控制信号,有的引脚还具有复用功能。(1)RST/Vpd(9引脚):RST(RESET)是复位信号输入断,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期的高电平时候,就可以完成复位操作。在单片机正常工作时,此引脚应为0.5V低电平。Vpd为本引脚的第二功能,即备用电源的输入断。当主电源Vcc发生故障,降低到某一规定值的低电平时,将+5V电源自动接入RST端,为内部RAM提供备用电源,以保证片内RAM中的信息不丢失,从而使单片机在复位后能继续正常运行。ALE引脚输出为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE输出信号的负跳沿用于单片机发出的低8位地址经外部锁存器锁存的锁存控制信号。即使不访问外部锁存器,ALE端仍有正脉冲号输出,此频率为时钟振荡频率的1/6。如果有脉冲信号输出,则单片机基本上是完好的。应该注意的是,每当MCS-51访问外部数据存储器时,在2个机器周期中ALE只出现1次,即丢失1个ALE脉冲。因此,严格来说,用户不宜用ALE做精确的时钟源或定时信号。ALE端可以驱动8个LS型TTL负载。/PROG为本引脚的第二功能。在对片内EPROM型单片机编程写入时,此引脚作为编程脉冲输入端(3)/PSEN:程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。此引脚外接部程序存储器的/OE端。/PSEN端可以驱动8个LS型TTL负载。 如果检查一个MCS-51单片机应用系统上电后,CPU能否正常到外部程序存储器读取指令码,可用示波器查/PSEN端有无脉冲输出。(4)/EA/Vpp(Enable Address/Voltage Pulse of Programing,31脚):/EA功能为内外程序存储器选择控制端。 当/EA引脚为高电平时,单片机访问片内程序存储器,但在PC(程序计数器)值超过0FFFH时,即超出片内程序存储器的4KB地址范围,将自动转向执行外部程序存储器内的程序。 当/EA引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。对于8031来说,因其无内部程序存储器,所以该引脚必须接地,这样只能选择外部程序存储器。 Vpp为本引脚的第二功能。在对EPROM型单片机8751内EPROM固化编程时,用于施加叫高的编程电压。10对于89C51,则加在Vpp引脚的编程电压为+12V或+5V。I/O口引脚(1)P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。(2)P1口:8位准双向I/O口,可驱动4个LS型TTL负载。(3)P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。(4)P3口:8位准双星I/O口,双功能复用口,可驱动4个LS型TTL负载。这里要特别注意准双向与双向三态口的差别。P3口的第二功能RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。P1口,P2口,P3口是3个8位双向的I/O口,各口线在片内均有固定的上拉电阻。当这3个准双向I/O口作输入口使用时,要向该口先写1,另外准双向I/O口无高阻的“浮空”状态,故称为双向三态I/O口。63.1.3 89C51单片机的存储器MCS-51单片机的存储器分为:1)程序存储器(最大空间64K)2)片内数据存储器(00H-1FH:工作寄存器,只有R0、R1可作为指针使用、20H-2FH:位寻址区、30H-7FH:数据缓冲区)3)特殊功能寄存器(21个)4)位寻址空间(211位)5)外部数据寄存器(最大空间64K) 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。程序内存ROM寻址范围:0000H FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用: 存放程序及程序运行时所需的常数。七个具有特殊含义的单元是:0000H 系统复位,PC指向此处;0003H 外部中断0入口000BH T0溢出中断入口0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口002BH T2溢出中断入口内部数据存储器RAM 物理上分为两大区:00H 7FH即128B内RAM 和 SFR区。作用:作数据缓冲器用。图3-2是8051单片机存储器的空间结构图图3-2程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。1 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。11 8051片内有4kB的程序存储单元,其地址为0000H0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特殊单元是0003H002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H000AH 外部中断0中断地址区。 000BH0012H 定时/计数器0中断地址区。 0013H001AH 外部中断1中断地址区。 001BH0022H 定时/计数器1中断地址区。 0023H002AH 串行中断地址区。 可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能的。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。15图3-3是ROM的地址分配图:图3-3 从上图中大家可以看到,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言。从0033开始的用户ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。15数据存储器 数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。 MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。下面我们就来详细的与大家讲解一下:低128单元: 片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。图3-4从图3-4中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H7FH单元(共128个字节)为用户数据RAM。从80HFFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。11、通用寄存器区(00H-1FH) 在00H1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。图3-42、位寻址区(20H-2FH)片内RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H7FH。CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。13、用户RAM区(30H-7FH)在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。13.2 显示器介绍 在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。3.2.1 显示器的选择 数码管显示内容单一,一般就是一个7段的8字,当然多的有16段的中间米字型的,液晶则比较丰富,可以显示各种内容。且数码管比液晶耗电。 综上所述,在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低。相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。故本设计采用1602字符型液晶显示。3.2.2 液晶显示原理液晶显示器各种图形的显示原理:线段的显示:点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。7字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。3.2.3 1602LCD的使用说明1602LCD主要技术参数: 显示容量:162个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm图3-5引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如图3-6所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极图3-61602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令说明:与HD44780相兼容的芯片时序表如图3-8:读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无图3-81602液晶模块内部的控制器共有11条控制指令,如表图3-7所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容图3-7:控制命令表1602LCD的RAM地址映射及标准字库表:液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-9是1602的内部显示地址。图3-9 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图3-10 字符代码与图形对应图1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置3.3 键盘电路的设计3.3.1 独立式按键 键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程 。抖动必须消除,去抖动的方法主要有以下两种:硬件去抖动、软件去抖动。3图3-11每一个按键的电路是独立的,占用一条数据线 。这种键盘占用硬件资源多,适合少量按键的情况。编程时常采用查询方式。图3-12K1:按下时,时自动加一,加到24点时自动从零开始。K2:按下时,分钟自动加一,加到60分时自动从零开始。K3:按下时,价格自动加一,加到9元时自动从零开始。SB2:按下时,车位数减一,大门打开,自动存储相应数据。SB4:按下时,车位数加一,大门打开。3.3.2 行列式键盘接口行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。1个33的行、列结构可以构成1个具有9个按键的键盘。同理1个44的行、列结构可以构成1个16个按键的键盘等等。如图所示。很明显,在按键数目较多的场合,行列式键盘与独立式键盘相比,要节省很多的I/O口线。 43.3.3 行列式键盘工作原理按键设置在行、列线交点上,行、列分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线电平亦为高。这一点是识别行列式键盘是否按下的关键所在。由于行列式键盘中行、列线为多键共用,各按键均影响该键所在的行和列的电平。因此各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作是的处理,才能确定闭合键的位置。1扫描法下面以图中3号键被按下为例,来说明此键是如何被识别出来的。当3号键被按下时,与3号键相两的行线电平将由与此键相连的列线电平决定,而行线电平在无按键按下时处于高电平状态。如果让所有的列线处于低电平,很明显,按键所在的行电平将被接成低电平,根据此行电平的变化,便能判定此行一定有按键被按下。但还不能确定是键3被按下,以为如果键3不被按下,而同一行的键2、1或0之一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路洒水养护方案范本
- 新餐厅木工施工方案
- 湖南中医药高等专科学校《高雅艺术走进学生》2023-2024学年第二学期期末试卷
- 三明医学科技职业学院《信息系统项目管理》2023-2024学年第二学期期末试卷
- 组合钢模板衬砌施工方案
- 荆州职业技术学院《药物合成实验》2023-2024学年第二学期期末试卷
- 湖北镀锌桥架施工方案
- 湖南铁路科技职业技术学院《基础化学原理》2023-2024学年第二学期期末试卷
- 九江理工职业学院《智能移动设备应用软件开发》2023-2024学年第二学期期末试卷
- 汝州职业技术学院《中西医结合外科学2》2023-2024学年第一学期期末试卷
- 胎儿心脏超声检查课件详解
- 2023年06月天津市便民专线服务中心招考聘用合同制员工笔试题库含答案解析
- 2023年高速公路监理工程师质量目标责任书
- 抖音政务号运营建设方案版
- 医学检验心壁的组织结构
- 《小池》说课稿 小学一年级语文教案PPT模板下载
- 广州酒店中英文对照
- GB/T 819.1-2000十字槽沉头螺钉第1部分:钢4.8级
- GB/T 4323-2002弹性套柱销联轴器
- 《伦理学原理》教学课件
- GB/T 12168-2006带电作业用遮蔽罩
评论
0/150
提交评论