毕业论文(设计)基于单片机公交车自动找零系统的控制系统设计_第1页
毕业论文(设计)基于单片机公交车自动找零系统的控制系统设计_第2页
毕业论文(设计)基于单片机公交车自动找零系统的控制系统设计_第3页
毕业论文(设计)基于单片机公交车自动找零系统的控制系统设计_第4页
毕业论文(设计)基于单片机公交车自动找零系统的控制系统设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机公交车自动找零系统的控制系统设计摘要:本文详细介绍了公交车自动找零机控制系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动找零机系统的工作原理、系统设计、软件编程的原那么和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动找零机全过程的自动控制。本系统选择LCD显示器实现投币总数的显示功能,独立式键盘按键作为乘车人数选择端。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的根本语言,具有容易理解,便于记忆和使用等特点。关键词:自动找零机,AT89C51,LCD显示Bus Automatic

2、ally Change System Design of Control System Based on MCUAbstract:This paper introduces the hardware selection, software planning and preparationan of an automatically change machine design of control system , and describes the focus of the work automatically change machine system theory, system desi

3、gn and software programming principles and techniques. The system with MCU AT89C51 chip as the core, the centralized control mode is adopted to accomplish the automatic change machine the whole process of automatic control. Choice of the system as a stand-alone keyboard keys to choose the goods side

4、, the realization of the coin shows the total number of passagers. In addition, the system program using keil software to prepare and compile procedures, the software programming is simple, convenient error checking, easy to read and so on. Assembly language is the basic language program with easy t

5、o understand, easy to remember and use and so on.Key words:Automatically Change Machines, AT89C51, LCD Display目 录TOC o 1-3 h u HYPERLINK l _Toc11109 1 前言 PAGEREF _Toc11109 1 HYPERLINK l _Toc8871 1.1 选题背景 PAGEREF _Toc8871 1 HYPERLINK l _Toc7584 课题研究的目的及意义 PAGEREF _Toc7584 2 HYPERLINK l _Toc24686 国内外概

6、况 PAGEREF _Toc24686 2 HYPERLINK l _Toc15110 1.4 课题主要研究工作 PAGEREF _Toc15110 2 HYPERLINK l _Toc18343 2 自动找零机的总体设计方案 PAGEREF _Toc18343 4 HYPERLINK l _Toc31804 设计目标 PAGEREF _Toc31804 4 HYPERLINK l _Toc6 自动找零机的工作程序 PAGEREF _Toc6 4 HYPERLINK l _Toc15673 自动找零机的硬件原理 PAGEREF _Toc15673 5 HYPERLINK l _Toc25687

7、 自动找零机的功能简介 PAGEREF _Toc25687 5 HYPERLINK l _Toc27018 3 控制系统的硬件设计 PAGEREF _Toc27018 7 HYPERLINK l _Toc26167 总体硬件电路图 PAGEREF _Toc26167 7 HYPERLINK l _Toc6033 中央控制元件简介 PAGEREF _Toc6033 8 HYPERLINK l _Toc26835 3.3 投币及投币总数LCD显示系统 PAGEREF _Toc26835 11 HYPERLINK l _Toc29390 3.3.1 投币系统 PAGEREF _Toc29390 11

8、 HYPERLINK l _Toc4747 3.3.2 LCD显示 PAGEREF _Toc4747 13 HYPERLINK l _Toc5500 3.4 键盘选择系统 PAGEREF _Toc5500 16 HYPERLINK l _Toc21663 3.4.1 独立式键盘按键的识别 PAGEREF _Toc21663 17 HYPERLINK l _Toc13317 3.4.2 键盘的编码 PAGEREF _Toc13317 17 HYPERLINK l _Toc8531 找钱系统 PAGEREF _Toc8531 17 HYPERLINK l _Toc20760 4 控制系统的软件编程

9、 PAGEREF _Toc20760 18 HYPERLINK l _Toc19503 4.1 软件设计概述 PAGEREF _Toc19503 18 HYPERLINK l _Toc10083 4.2 主程序设计 PAGEREF _Toc10083 18 HYPERLINK l _Toc11592 4.3 键盘程序设计 PAGEREF _Toc11592 20 HYPERLINK l _Toc7752 4.4 字符型液晶显示模块程序设计 PAGEREF _Toc7752 25 HYPERLINK l _Toc10157 4.5 找钱系统 PAGEREF _Toc10157 29 HYPERL

10、INK l _Toc2304 5 设计仿真 PAGEREF _Toc2304 30 HYPERLINK l _Toc29810 5.1 Proteus简介 PAGEREF _Toc29810 30 HYPERLINK l _Toc11272 5.2 仿真电路 PAGEREF _Toc11272 30 HYPERLINK l _Toc24310 结 论 PAGEREF _Toc24310 36 HYPERLINK l _Toc8911 参考文献 PAGEREF _Toc8911 37 HYPERLINK l _Toc17481 致谢 PAGEREF _Toc17481 38 HYPERLINK

11、l _Toc20477 附 录 PAGEREF _Toc20477 391 前言1.1 选题背景众所周知,城市公交系统是一个城市的窗口,其工作的质量与效率会直接影响到人民群众的日常生活和工作。城市公交系统是我国大局部城市的主要交通方式,随着居民乘车次数和公交车辆的不断增加,现有的乘车收费方式越来越不能满足需要。目前,全国很多大城市各种收费和缴费机构都实现了无币化的电子货币交易;不任你是到商场购物,还是在餐厅用餐,您都可以不用现金买单,取而代之的是信用卡等付款方式。很多超级市场,公汽车上都集成了信用卡和IC卡收费系统。这不仅象征着人类文明的进步,也确实给广阔消费者和商家带来了很大的方便。但是,就

12、中国大多数人的消费观念,利用现金交易仍然是群众消费的最主要形式。涉及到现金交易,找零钱是在所难免的事情了。因此,像一些涉及到要经常需要零钱的场所和地方,如公交车上,超市等一些公共场所就需要有一种方便快捷的找零方式。2004年10月22日武汉市就发生一起因一男乘客投币缺乏被揭穿后殴打女司机的事件;2004年8月3日郑州市公汽公司出台“多投币不找零的政策,结果被人们称为“霸王合同,引得人们怨声不断。综合考虑多方面因素,许多大城市流动人口众多,并多外来的打工人员,他们大局部都不可能拥有IC卡电子车票,除此之外谁都不能保证随时都有足够的零钱,毕竟公交车零钱兑换点有限,也许我们中很多人都有这样经历那就是

13、:有时想换些零钱是多么的难啊。乘车时,乘客投币缺乏,司机不快乐,投多了乘客当然不乐意。问题的解决是要靠双方共同努力才能得到完美的解决。乘车时乘客应尽可能使用零钱,公汽公司尽可能增设方便快捷的零钱兑换装置和零钱兑换点。这样才能坚持“社会本位,“以人为本的科学开展观。所以我有了设计公交车自动找零系统这个产品的念头15。本文阐述了智能公交车找零系统的研究背景、现状以及开展方向和前景,明确指出了现阶段中零钱兑换所面临的问题。课题研究的目的及意义自动找零系统在银行、商场有着广泛的应用前景,同时它与一卡通系统是实现铁路、公路、商场等五人售票系统的两类重要环节,它们可以配合使用,也可以单独作为无人售票的根本

14、环节。该系统集成了纸币识别收取与找零以及兑换等功能。该装置设置在公交车上、公交站点和乘客较集中的地方,也可以用在一些经常需要小额现金交易的场合。该装置为这些场合提供了一种快捷方便的电子收费、零钱兑换及找零的方式10。国内外概况在国内专门用于找零钱的装置在市面上已经有产品出现。由北京三银龙科贸和北京公交凯鸿科技有限责任公司共同引进开发的“可找零公交投币机,全面的解决了公交车无法找零钱的大难题,填补了国内无人售票车自动投币无法实现找零的空白。另外还有很多单位都在研究该装置。2003年8月12日?楚天都市报?记者从武汉市知识产权局得悉,一种新型智能投币箱可以解决公交车无法找零的问题;该投币箱已申请国

15、家专利其产品也即将面世。但是就目前的情况来看,在全国大局部主要城市都还没有用上该装置,零钱兑换和公交车找零问题仍然是困扰公交公司的大难题。而且零钱的兑换也一直是一些超市和零售商大伤脑筋的问题。因此,一种快捷方便的找零方式在目前来说是很有必要的,也是很有市场潜力的。1.4 课题主要研究工作在本文中主要的研究工作是设计出一种方便快捷的自动找零机。文中介绍的该系统主要包括两个局部:控制局部和机械局部。控制局部用于获取用户输入信息并将其处理,最后向执行部件发出执行的命令和执行的方式;机械局部是完成找零的执行部件,具体作用是在软件的控制下实现精确的出币。本文重点讲述控制局部的分析和原理。对于公交车自动找

16、零系统的控制系统,采用单片机控制。单片机具有价格廉价,体积小,可靠性高,低能耗,控制功能强大,开发周期短等优点。芯片虽小,五脏俱全,是单片机主要特点之一。其内部设有程序存储器、数据存储器、各种接口电路。而大型的处理器运算速度较高,运算器位数较多,处理能力较强,但需要在外部配置接口电路,单片机主频一般在100MHZ以下,适合用于独立工作的小型产品之中,引脚数量从几个到百余个。应用简单、灵活,可用汇编语言及C语言开发单片机产品。虽然单片机相对于现在的高端处理器而言,其性能较为低,但由于其极高的性价比,在低端控制领域有很大的市场。在工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等控制领

17、域应用广泛,特别适合于嵌入式微型机应用系统2。所以采用单片机控制公交车自动找零系统,是一个再适宜不过的选择。本文共分为四局部。系统介绍了自动找零机系统从控制方案,操作逻辑到系统软件等各个环节的设计及系统调试的方法和原那么。第一局部简单介绍了自动找零机的系统结构,第二局部介绍了自动找零系统控制系统的硬件电路设计,第三局部介绍了自动找零机控制系统的软件程序设计及分析,第四局部主要介绍了自动找零机的系统软件仿真模拟的实现。2 自动找零机的总体设计方案设计目标自动找零机只接收最大面值20元的纸币,乘客将5元或者10元、20元纸币送入识币口,机器自动识别货币,区分真伪;然后乘客按下按键选择乘车人数,人数

18、选择最多为5人,然后按确定键,自动找零时机自动将扣除车票钱的零钱从出币口送出,等待乘客取走;假设乘客按下取消键,那么投入的钱币会从出币口返还给乘客。自动找零机的工作程序 自动找零机是集光、机、电一体化的独立机构,它只需要乘客投币和按键选择票数即可自动找零,其工作程序如下列图2.3 。乘客投币机器自动识别乘客按按钮机器自动找零乘客取出零钱图2.2 自动找零机工作程序找零机的工作原理是:1从投币口送入货币,然后通过传感器采集数据、识别器判断货币的真伪并判别面值。2识别器把信息数据传给通信模块。3通信模块与找零机的主控系统通信,主控系统显示面值,启动找零机的面板键,并等待乘客按键选择乘车人数。4人数

19、选择后按确定键,找零机自动把零钱送出,如果按取消键,找零机经过延时予以退币。退币分为两种情况:一种是由货币识别器完成退纸币,另一种是由硬币的通信模块完成退硬币。5系统复零,完成找零。自动找零机的硬件原理自动找零机的硬件原理构成如下列图2.3所示。纸币检测及识别元件纸币检测接口 AT89C51 单片机纸币传送找零接口硬币传送找零接口键盘接口电路键盘LCD显示器接口图2.3 自动找零机硬件原理图 从系统的主电路图中可以知道,该系统大体上可以分为四个模块:单片机模块、键盘模块、显示器模块、纸币、硬币找零控制模块。其中后三个模块通过与单片机模块相连接从而构成了一个功能完整的系统,实现了找零机的根本硬件

20、结构。自动找零机的功能简介根本原理:货币识别器对所投货币进行识别,根据金额将人数选择权提供乘客,乘客选择人数后,控制芯片发出指令实现找零。其功能描述:找零机分为纸币找零和硬币找零,纸币找零有5元,10元钱的找零,硬币找零那么可以找1元,2元,3元,4元。自动找零机能够投币总数LCD显示功能。本设计中有一共有7个按键选择,其中有五个乘车人数选择按键,分别为1元、2元、3元、4元、5元,还有1个确定键和1个取消键。如果没有按照预先设计的流程顺序进行按键选择,自动找零机将会自动返回操作前的状态,等待再次正确的按键选择。自动找零机的原理框图如图1.2所示。找零输出单片机货币识别系统 键盘LCD显示 图

21、1.2 自动找零机原理框图实现自动找零机的功能的设计思路:1采用单片机89C51作为中央控制元件;2用P3.4(XO)口作为识别货币输入端;3P1口作为乘车人数选择选择端采用独立式键盘做为选择票数端;4采用P0口实现找零功能。3 控制系统的硬件设计总体硬件电路图硬件是控制系统的物理载体,硬件设计是整个设计的根底环节。如图3.0所示,本次设计的自动找零机系统包括以下几个局部: 中央控制元件89C51、投币及投币总数LCD显示系统、票数选择系统、找钱系统。各元器件的选用质量在此次设计中很重要,是否合理直接影响控制系统的设计质量,要以经济适用、稳定可靠为原那么进行设计。图3.1 硬件接口电路中央控制

22、元件简介在计算机技术高速开展的时代,许多可编程控制器件和芯片被广泛的应用与生产生活中的各个领域,并且发挥着巨大的作用,实现了工业、农业、商业等方面的自动化。其中最常用的有,PLC,PLD,FPEROM单片机等;在性能结构上,他们各有各的优点。其中,可编程控制器(Programmable Controller),简称PLC。它是 20世纪70年代以来再集成电计算机技术根底上开展起来的一种新型工业控制装置,主要用于工业控制;DSP最早是指一种信号处理技术,直到八十年代初第一颗商用数字处理器问世,DSP才逐步成为一种全新高速处理器的名称。最初DSP的应用在于专业数据通信和语音处理,各种专用调制解调器

23、、声码器、数据加密机初步获得市场。其后DSP应用扩展到广泛的民用产品,诸如硬盘驱动器、通用调制解调器、数字答录机、无线通信终端。九十年代中DSP在数字GSM 应用和无线基站应用中都获得了巨大的成功。与此同时,DSP开始全面拓展到新兴应用,并在宽带通信、数字控制、数字音频、数字视频等市场上捷报频传。DSP器件的特点使得它特别适合嵌入式的实时数字信号处理任务6。单片微型计算机简称单片机或单片微机,又称微型控制器。它是在一块半导体芯片上,集成了CPU 、ROM 、RAM、 I/O接口、定时器/计数器、中断系统等功能部件,够成了一台完整的数字电子计算机。单片机芯片的集成度很高,它将微型计算机的主要部件

24、都集成在一块芯片上,具有以下优点:1它具有体积小、重量轻、价格廉价、耗电少。2其信号通道受外界影响小,可靠性高,抗干扰性能强。3控制功能强,运行速度快。其结构组成与指令系统都着重满足工控要求。由上述单片机的优点可知它能广泛的应用各控制领域。由于它具有“小、轻、廉、省的特点,尤其耗电少,又可使供电电源的 体积小、重量轻,所以特别适用于“电脑型产品,在家用电器、玩具、游戏机、声像设备、电子秤、收款机、办公设备、厨房设备等许多产品上的到广泛的应用。它同样也特别适用于数控机械、医疗设备,汽车等地方。在我国,Intel公司MCS-48系列、MCS-51系列、MCS-96系列的各种机型用的最多7。AT89

25、C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFlash Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。在本次设计中,中央控制元件采用MCS-51系列单片机中的89C51。如图3.2所示。 图3.2 89C51引脚图1主要特性:与MCS-51 兼容

26、;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保存时间:10年;全静态工作:0Hz-24Hz;三级程序存储器锁定;128*8位内部RAM ;32可编程I/O线;两个16位定时器/计数器 ;5个中断源 ;可编程串行通道;低功耗的闲置和掉电模式 片内振荡器和时钟电路 2管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0

27、外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给

28、出地址“1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD串行输入口 P3.1 TXD串行输出口 P3.2 /INT0外部中断0 P3.3 /INT1外部中断1 P3.4 T0记时器

29、0外部输入 P3.5 T1记时器1外部输入 P3.6 /WR外部数据存储器写选通 P3.7 /RD外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

30、但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出1。3.3 投币及投币总数LCD显示系统3.3.1 投币系统投币系统涉及到货币识别系统,包括纸币识别和硬币的识别。纸币识别及传送机构包括双向微型电机和捻纸皮带、纸币面值检测元件

31、( 磁头0到7)、入口处一组光电检测元件( 光源、透镜、光敏二极管) 等;硬币贮币退币机构为圆筒式贮币,步进电机驱动实现硬币退币找零。1纸币真伪及面值识别。 由于本系统设定只接收新版5 元、10 元及20 元纸币,纸币真伪及面值识别可根据其上金属线的磁带分布来确定。 如图3.3.1,阴影局部表示有磁, 上面的黑框表示的是拾磁磁头的位置布置。 图3.3.1 纸币识别及识磁原理左边对齐后按照以上的磁头布置法,可以测出这三种纸币的磁性分布情况。平均布置8 个磁头,当有纸币通过磁头下方时开始拾磁,当检测到某一段有磁性分布时, 对应磁头读出的信号经整形电路输出为高电平。据此实现纸币真假和面值的判断。2纸

32、币传送。当有纸钞投入进口时,入口处光敏二极管发出信号,电机正转,带动捻纸皮带将纸钞送进识钞器内。 在送进过程中, 检测元件对纸钞进行识别,如是真钞那么进入内部贮钞箱;否那么, 微电机反转将其退出。该模块的输入信号有磁头0到7的输入信号、入口处光电检测元件输入信号。该模块需控制输出的信号有纸币传送直流电机控制信号。3硬币找零控制。找零时,单片机根据记录从最末筒开始找零。找零步进电机经减速后带动硬币拨片转动, 从储币筒下端拔出一枚硬币, 硬币落入退币口内, 步进电机再反转使硬币拨片回到起始位置完成一次找零。 当检测到筒内硬币量缺乏时, 将从前一筒中拨出硬币进行找零。该模块的输入信号有电涡流传感器的

33、输入信号、光电检测元件13 输入信号。该模块需控制输出的信号有继电器T1 T3 控制信号、找零直流电机控制信号11。对于识别货币器是如何设计、如何工作的,在这里将不做进一步的研究。本课题设计主要是要实现自动找零系统的控制系统的设计,即投币总数显示、票数选择以及找零功能。在本次设计中,用P3.4上的一个按键来代替投币系统的输出,把货币的识别及投币数目的输入简单用这一个按键来代替。本次设计的货币累加是对判断P3.4上的按键上所按下的次数进行累加来实现的,并将累加的次数送到存放器B,然后系统根据投币的总数和相应的操作来实现输出。3.3.2 LCD显示本次设计选用TC1602AL液晶显示屏,可以直接跟

34、51系列单片接口相连,如图3.3.2所示。图3.3.2 LCD液晶显示屏 液晶模块TC1602AL采用标准的16脚接口,其引脚功能如下:表3.3.2 液晶显示模块接口说明标 号功 能 说 明备 注Vss逻辑负电源输入引脚,0VVdd逻辑正电源输入引脚,+5VV0LCD驱动电源输入引脚,大小可调先是比照度一般接0VE读写使能引脚:高电平有效,下降沿锁定数据RS数据/指令存放器选择引脚:RS=“1:数据D0-D7与数据存放器通信 RS=“0:数据D0-D7与指令存放器通信R/W读/写选择引脚:高电平:读数据低电平:写数据假设不须读操作功能,该引脚可直接接地D0D78位数据线引脚第1脚:VSS为电源

35、地,接GND。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器调整比照度。第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:BLA背光电

36、源正极(+5V)输入引脚。第16脚:BLK背光电源负极,接GND。 TC1602液晶模块内带标准字库,内部的字符发生存储器CGROM已经存储了192个57点阵字符,32个510点阵字符。另外还有字符生成RAMCGRAM512字节,供用户自定义字符。如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比方大写的英文字母“A的代码是01000001B41H,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A。1602液晶模块内部的控制器共有11条控制指令。 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:

37、光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示

38、5x10的点阵字符。指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块。 不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。 指令11:读数据3。1602液晶的读写时序如下图:读操作时序:写操作时序:3.4 键盘选择系统键盘是微机系统中最常用的输入设备。键盘有两种类型:编码键盘和非编码键盘。这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。编码键盘本身除了按键以外,还包括产生键码的硬件电路。这种键盘使用十分方便,但

39、是价格高,一般在单片机系统中较少采用。非编码键盘常用一些按键排列成行列矩阵。按键的作用只是使相应接点通或断,然后由软件来完成闭和键的识别并产生编码。非编码键盘硬件电路极为简单。因此,在单片机系统中被普遍使用。其中非编码键盘又可以分为很多种,有独立式结构,矩阵式结构等。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时。I/O口线浪费较大。故在按键数量不多时,常采用这种按键电路。 由于本次设计只需要七个按键即

40、可满足设计要求,所以采用独立式键盘,这样对键盘识别的编程也比拟简单。3.4.1 独立式键盘按键的识别独立式按键的识别很简单,当某个键按下时,相应的接口会出现低电平,无键按下时那么为高电平,由此就可以判断出哪个键有按下。3.4.2 键盘的编码将P1.0P1.6上的按键编码为00H、01H、02H、03H、04H、05H、06H,按键所对应的功能见表3.4。表3.4 按键功能表按键号对应的功能00H选择1人乘车01H选择2人乘车02H选择3人乘车03H选择4人乘车04H选择5人乘车05H确定06H取消找钱系统本次设计中采用P1.0P1.6口作为找零输出口,P1.0P1.6分别对应10元纸币找零口、

41、5元纸币找零口、4元硬币找零口、3元硬币找零口、2元硬币找零口、1元硬币找零口。这样设计的目的是方便实现不同数额的找零输出。找钱系统用LED指示灯来表示找零,对应的端口上假设指示灯亮那么表示有零钱掉出。4 控制系统的软件编程4.1 软件设计概述 汇编 HYPERLINK :/baike.baidu /subview/9793/10663680.htm t _blank 语言Assembly Language是面向机器的 HYPERLINK :/baike.baidu /view/8332.htm t _blank 程序设计语言。在汇编语言中,用 HYPERLINK :/baike.baidu

42、/view/4232760.htm t _blank 助记符代替 HYPERLINK :/baike.baidu /view/2062994.htm t _blank 机器指令的 HYPERLINK :/baike.baidu /view/178197.htm t _blank 操作码,用地址符号或标号代替指令或 HYPERLINK :/baike.baidu /view/420846.htm t _blank 操作数的地址,如此就增强了程序的可读性并且降低了编写难度。像这样 HYPERLINK :/baike.baidu /view/2598014.htm t _blank 符号化的程序设计

43、语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由 HYPERLINK :/baike.baidu /view/14850.htm t _blank 汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为 HYPERLINK :/baike.baidu /subview/67312/11247527.htm t _blank 组合语言。 汇编语言有如下优点: 1因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性, HYPERL

44、INK :/baike.baidu /view/595096.htm t _blank 直接、 HYPERLINK :/baike.baidu /view/1007052.htm t _blank 简捷,并能像机器指令一样 HYPERLINK :/baike.baidu /view/159041.htm t _blank 访问、 HYPERLINK :/baike.baidu /view/57913.htm t _blank 控制计算机的各种 HYPERLINK :/baike.baidu /view/25278.htm t _blank 硬件设备,如 HYPERLINK :/baike.ba

45、idu /view/157418.htm t _blank 磁盘、 HYPERLINK :/baike.baidu /view/87697.htm t _blank 存储器、 HYPERLINK :/baike.baidu /view/2089.htm t _blank CPU、 HYPERLINK :/baike.baidu /view/962212.htm t _blank I/O端口等。使用汇编语言,可以访问所有能够被访问的软、 HYPERLINK :/baike.baidu /view/25278.htm t _blank 硬件资源。 2目标代码 HYPERLINK :/baike.b

46、aidu /view/2021291.htm t _blank 简短,占用 HYPERLINK :/baike.baidu /view/1082.htm t _blank 内存少,执行 HYPERLINK :/baike.baidu /view/36819.htm t _blank 速度快,是高效的程序 HYPERLINK :/baike.baidu /view/14417.htm t _blank 设计语言,经常与 HYPERLINK :/baike.baidu /view/14900.htm t _blank 高级语言配合使用,以 HYPERLINK :/baike.baidu /view

47、/681304.htm t _blank 改善程序的执行速度和效率,弥补高级语言在硬件控制方面的缺乏,应用十分广泛5。综合考虑自动找零机的功能需求和硬件设计,软件程序的编写应该包括以下几个内容:主程序;键盘模块程序;LCD显示模块的程序;LED灯选择程序。4.2 主程序设计在程序层次结构方面,当系统上电之后,应先对其进行相关初始化。然后程序应当进入无限循环,再根据相应的触发条件进入相应的子程序,完成相应的状态下的工作。由于系统在多个状态间跳转切换,所以在程序编写时比拟适合应用循环结构实现。自动找零机工作的整个流程图如图4.2所示。开始乘客投币显示货币数按键选择乘车人数 N Y按确定键否?找钱

48、按取消键返还投入的钱结束 图4.2 主程序主程序将调用其他子程序以到达自动找零机的完整工作。例如,当用户投币时,主程序将调用TC1602AL显示程序,以到达显示投币数额的功能,再让用户选择是否继续交易。主程序详见附录。4.3 键盘程序设计键识别流程 键测试是否有键按下?去抖动键号送R50键处理子程序1人1键处理子程序2人2键处理子程序3人3键处理子程序4人4键处理子程序5人 N Y 当用户按下键盘,程序通过去抖动的方法来解除干扰,再以行扫描的方式来确定所按键盘,并确定键值,最后再等待顾客释放。0键处理子程序:投入5元否?按确定键否?找钱MOV A,BSUBB A,#01H投入10元否?投入20

49、元否?按取消键否?返还投入的钱返回,等待下次投币 N N Y Y Y N N Y Y Y1键处理子程序投入5元否?按确定键否?找钱MOV A,BSUBB A,#02H投入10元否?投入20元否?按取消键否?返还投入的钱返回,等待下次投币 N N Y Y Y N N Y Y Y2键处理子程序投入5元否?按确定键否?找钱MOV A,BSUBB A,#03H投入10元否?投入20元否?按取消键否?返还投入的钱返回,等待下次投币 N N Y Y Y N N Y Y Y3键处理子程序投入5元否?按确定键否?找钱MOV A,BSUBB A,#04H投入10元否?投入20元否?按取消键否?返还投入的钱返回,

50、等待下次投币 N N N Y Y Y N Y Y Y4键处理子程序投入5元否?按确定键否?找钱MOV A,BSUBB A,#05H投入10元否?投入20元否?按取消键否?返还投入的钱返回,等待下次投币 N N N Y Y Y N Y Y Y具体软件编程见附录。4.4 字符型液晶显示模块程序设计TC1602AL液晶模块的功能相对简单,而控制器的设置也不多,下面就介绍常用的控制驱动特性。TC1602AL的根本操作分为以下4种,如表4.4所示。表4.4 TC1602AL的根本操作类 别 名 称输 入输 出状态字的读操作RS=L;RW=H;EP=HDB0-7读出为状态字数据读出操作RS=H;RW=H;

51、EP=HDB0-7读出为数据指令写入操作RS=L;RW=L;EP=上升沿无数据写入操作RS=H;RW=L;EP=上升沿无TC1602AL指令的描述其中:L=0,H=1,X=0/11清显示 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH 功能:送20H“空代码到所有的DDRAM中,清楚所有的显示数据,并将DDRAM地址计算器AC清零,光标返回到原始状态,设置I/D=H,AC为自动加一的输入方式。2返回 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:设DDRAM地址为零,显示回原位,DDRAM内容不变。3输入

52、方式设置 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLI/DSH功能:设置光标移动方向并指定整体显示是否移动。 I/D表示地址的修改方式,也是光标的移动方式: I/D=1:光标由左向右移动且AC自动加一; I/D=0:光标由右向左移动且AC自动减一。 SH表示是否允许显示画面的滚动方式: SH=0:禁止滚动;SH=1:允许滚动。 SH=1且I/D=0:显示画面向右移动一个字符。 SH=1且I/D=1:显示画面向左移动一个字符。4显示开关控制 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:控制整体显示开关D,

53、光标开关C及闪烁开关B的开关。 D=1:整体显示开;D=0:整体显示关。 C=1:光标显示开;C=0:光标显示关。 B=1:光标闪烁;B=0:光标不闪烁。5光标或整体显示移位位置 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:移动光标或整体显示,同时不改变DDRAM内容,S/C和R/L置位不同时对应的操作: 00:光标左移;01:光标右移。 10:所有显示左移:11:所有显示右移。功能设置 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLNFXX功能:设置接口数据位数DL、显示行数N以及字形F。 DL=1

54、:8位数据接口模式,DL=0:4位数据接口模式DB4-7有效,在这种模式下,传送的方式为先高4位,后低4位。 N=1:两行显示;N=0:单行显示。 F=1:510点阵模式加光标;F=0:57点阵模式加光标。7设置CGRAM地址 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLHACG5ACG4ACG3ACG2ACG1ACG0功能:将CGRAM地址送入AC中。设置后MCU对数据的操作是对DDRAM的读/ 写操作。8设置DDRAM地址 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLHADD6ADD5ADD4ADD3ADD2ADD1ADD0功能:D

55、DRAM地址送入AC中。当N=0时,DDRAM地址范围为:80H-FFH;当N=1时:第一行的DDRAM地址范围为:80H-BFH;第二行的DDRAM地址范围为:C0H-FFH。9读忙状态位BF及地址 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:读最高位BF判断内部操作是否正在执行,并读低7位地址计数器的内容。10写数据 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:写数据到CGRAM或是DDRAM.。如果写数据到CGRAM,要先执行“设置CGRAM地

56、址命令;如果写数据到DDRAM,那么要先执行“设置DDRAM地址命令。11读数据 CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:从CGRAM或是DDRAM读出数据。如果从CGRAM读数据,要先执行 “设置CGRAM地址命令;如果写数据到DDRAM,那么要先执行“设置DDRAM地址命令。执行读操作后,地址自动加/减1根据输入方式设置指令3。TC1602AL显示器在交易过程能起到金额显示作用,对显示器的识别流程如图4.4。显示模块程序详见附录。图4.4 LCD显示原理图4.5 找钱系统程序流程图。详细编程见附录。图4.5 找钱程序流程

57、图5 设计仿真5.1 Proteus简介Proteus嵌入式系统仿真与开发平台是英国Labcenter公司开发的,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机如51、PIC、AVR、Motorola hcll等,并且支持与当前流行的单片机开发环境Keil、MPLAB、IAR连接调试的软硬件仿真系统。Proteus除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真功能外,针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的电子线路设计与仿真软件Proteus和Mult

58、isim功能的联合和进一步开展。 Proteus软件已有近20年的历史,在全球拥有庞大的企业用户群,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行设计、测试与验证。由于Proteus软件包括逼真的协同仿真功能,得到了包括剑桥大学在内的众多大学用户作为电子学或嵌入式系统的课程教学、实验和水平考试平台。目前,Proteus在国内单片机开发者及单片机爱好者之中已开始普及,有很多开发者已经开始用此开发环境进行仿真9。5.2 仿真电路用Keil软件编程仿真的结果如下图: 图5.2 Keil编程假设投入5元钱货币,操作依次为按2人乘车选择键、确定键

59、,那么在proteus里的仿真结果如下列图所示:图5.2.2 投五元 图5.2.3 按下2人按钮,确认,找零三元 图5.2.4 恢复初始状态结 论 本次的毕业设计是一次真正的理论与实际相结合,通过这次基于单片机的公交车自动找零系统的控制系统设计,我更加深入的了解了单片机等方面的理论知识,也更加成功地将理论知识与实际设计相结合在一起,全方面地提升了所学专业根底知识的理解和解决实际问题的能力,同时也提高我查阅文献资料、设计标准以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,虽然毕业设计内容多,我的收获却更加丰富。通过

60、几个月的不断努力,我摆脱了单纯的理论知识学习状态,理论知识和实际设计的结合锻炼了我的综合运用所学专业根底知识的能力,使我在单片机的根本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧特别是编程语言的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的根底。参考文献1 李广弟,朱月秀,冷祖祁编著.单片机根底M. 北京航空航天大学出版社,2007.6 6 郑国钦.集成传感器应用入门M.北浙江科技技术出版社,2021.7 7 康光华.电子技术根底M.北京:高等教育出版社,20058 周荷琴等.微型计算机原理与接口技术M.中国科学技术大学出版社,20219 朱清慧,张凤蕊,翟天嵩1

温馨提示

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

评论

0/150

提交评论