已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
徐州工程学院毕业设计(论文) 图书分类号: 密 级: 摘要 出租车在现代城市交通系统中起着举足轻重的作用,为城市人民的生活出行带来了 极大的方便,出租车计费系统的稳定、准确以及可靠直接关系到人民群众的切身利益。 因此设计一套计费准确可靠的计费系统显得非常重要。 同时,本系统涉及的知识面比较广,能够锻炼学生的各方面的专业知识,能够使学 生把理论知识与实践相结合,对学生所学知识进行一次总结和审核。设计一个基于单片 机的出租车计费系统可以利用 AT89C51 单片机作为中心处理单元,结合霍尔传感器 A44E 来测量计算路程,以及使用数据掉电保护芯片 AT24C02 来存储数据。该出租车计 费系统能够实现数据的复位、白天/晚上转换、数据输出、计时计价、单价输出与调整、 路程输出、超速报警等功能。本设计不仅要完成计价器的基本功能,还能根据白天、黑 夜、中途等待来调节单价。 关键词关键词 单片机;霍尔传感器;AT89C51;AT24C02 徐州工程学院毕业设计(论文) I Abstract A taxi in modern urban transportation system plays an important role for the life of the urban people, brought great convenience to travel.The stable and accurate and reliable of the taximeter relates directly to the vital interests of the people. Therefore designing a set of accurate and reliable billing system becomes very important. Meanwhile, the system involves wide knowledge, students can exercise every aspect of professional knowledge and enable students to put theory knowledge combining with practice.It is a summary and audit of knowledge for the students. Designing a taxi billing system based on SCM can use AT89C51 as the central processing unit,combining with sensor of pressureA44E to measure and calculate distances, and to use the data off electricity AT24C02 to store data protection chip. The taxi billing system can realize the data reduction, day/night translation, data output, timing valuation, unit price output and adjustment, journey output, speeding alarm functions. This design not only want to complete the basic function of the meter, can also according to the day and the night, midway waiting to adjust the price. Keywords SCM sensor of pressure AT89C51 AT24C02 徐州工程学院毕业设计(论文) 目目 录录 1 绪论 .1 1.1 系统研究背景 1 1.2 系统研究意义 .1 1.3 本系统设计要求及指标 1 1.4 论文主要内容 .2 2 霍尔传感器 .3 2.1 霍尔传感器 A44E 结构及工作原理3 2.2 霍尔传感器 A44E 芯片的引脚及功能4 2.3 脉冲计数法测速 .4 3 系统硬件设计 .6 3.1 单片机简介 .6 3.1.1 AT89C51 单片机简介 .7 3.1.2 AT89C51 单片机引脚介绍 .7 3.2 AT24C02 简介 .9 3.2.1 管脚配置 .9 3.2.2.极限参数 9 3.2.3 功能描述 .10 3.2.4.管脚描述 10 3.3 LCD1602 液晶显示模块 .11 3.3.1 LCD1602 的结构及功能 .11 3.3.2 LCD1602 液晶显示指令集 .12 3.4 系统硬件具体设计 .13 3.4.1 霍尔传感器电路设计 .13 3.4.2 LCD 显示电路设计 .13 3.4.3 AT24C02 掉电保护电路设计 .14 3.4.4 直流电机电路设计 .14 3.4.5 键盘电路设计 .15 4 系统软件设计 .17 4.1 Keil C51 语言软件开发系统简介.17 4.2 系统软件具体设计 .17 4.2.1 主程序设计 17 4.2.2 键盘服务程序 .18 徐州工程学院毕业设计(论文) I 4.2.3 显示子程序服务程序 .19 4.2.4 霍尔传感器 A44E 软件的设计20 4.2.5 中途等待中断服务程序设计 .23 4.2.6 AT24C02 掉电保护软件设计 .23 4.2.7 直流电机的软件设计 .23 5 系统调试 .25 5.1 KEIL C 调试.25 5.2 PROTEUS 的调试27 5.3 硬件调试 .29 5.4 测试结果分析 .30 结论 .31 致谢 .32 参考文献 .33 附录 .34 附录 1 硬件整体仿真图 .34 附录 2 源代码 .35 徐州工程学院毕业设计(论文) 0 1 绪论 1.1 系统研究背景 步入 21 世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高, 出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。 但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车 行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更 加方便快捷的服务。 30 年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们 生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在 我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器, 它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成 为城市的窗口,象征着一个城市的文明程度。 我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器 里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如 5KM)计费数字显示开始 从起步价(如 10 元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时” 键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计 算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成 故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触 不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的 硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编 程来完成更多的附加功能。 1.2 系统研究意义 出租车是人们出行的重要交通工具,随着人们生活水平的提高,乘坐出租车的人越 来越多,可以说,出租车已经遍及了我国城乡,为了方便司乘人员计算车费,在出租车 上都装有计费器,其功能是能自动计算里程和车费,还要能更改起步价,单价等。因此, 出租车计费器必定是智能化仪表,由于受到计费器价格和体积的限制,不可能将普通的 计算机装入计费器中,而单片机作为智能工具,具有价格低廉,功能强大,体积小的优 点,能很容易嵌入计费器中,实现计费器的各种功能要求。可以断言,单片机计费器在 出租车上的应用必将越来越广泛。 1.3 本系统设计要求及指标 设计要求: 徐州工程学院毕业设计(论文) 1 1.分析设计要求,明确性能指标。必须仔细分析课题要求、性能、指标及应用环境等, 广开思路,构思出各种总体方案,绘制结构框图。 2.设计各单元电路。总体方案化整为零,分解成若干子系统或单元电路,逐个设计。 3.组成系统。在一定幅面的图纸上合理布局,通常是按信号的流向,采用左进右出的 规律摆放各电路,并标出必要的说明。 设计指标: 1.不同情况具有不同的收费标准。白天、晚上、途中等待(10min 开始收费) 2.能进行手动修改单价 3.具有数据的复位功能 4.掉电保护措施 5.按键:数据复位(清零) ,屏幕显示切换,电机调速等 6.超速报警模块 1.4 论文主要内容 本论文主要内容: 第一章绪论,简单介绍了出租车计价器研究背景和意义,并明确了本次毕业设计的 主要任务。 第二章霍尔传感器相关简介,重点阐述了 A44E 传感器的原理以及功能。 第三章系统硬件设计,先给出了整个硬件的电路框图,然后详细描述了各个硬件的 工作原理,并对每个子电路模块进行了分解。 第四章系统软件设计,给出了各个子模块的流程图及片段代码。 第五章系统的调试和运行结果分析。 徐州工程学院毕业设计(论文) 2 2 霍尔传感器 霍尔器件是一种磁性传感器。用它们可以检测磁场及其变化,可在各种与磁场有关 的场合中使用。霍尔器件以霍尔效应位其工作基础。霍尔器件具有许多优点,它们的结 构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达 1MHZ),耐震动, 不怕灰尘,油污,水汽及盐雾等的污染或腐蚀。霍尔线性器件的精度高,线性度好;霍 尔开关器件无接触点,无磨损,输出波形清晰,无抖动,无回调,位置重复精度高。取 用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55-150。 按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件。前者输出模拟 量,后者输出输出数字量。 按被检测的对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检 测出受检测对象本身的磁场或磁特性,后者是检测受检测对象上人为设置的磁场,用这 个磁场来作被检测的信息的载体,通过它,将许多非电,非磁的物理量,例如力,力矩, 压力,应力,位置,位移,速度,加速度,角度,角速度,转数,转速以及工作状态发 生变化的时间等,转变成电量来进行检测和控制。 本论文设计的数据采集系统通过传感器采集数据,对数据传输的可靠性要求较高。 综合考虑以上因素,采用 A44E 作为测速传感器。 2.1 霍尔传感器A44E结构及工作原理 由于 A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的 信号符合 TTL 电平标准,可以直接接到单片机的 I/O 端口上,而且其最高检测频率可达 到 1MHZ。集成开关型霍尔传感器原理如图 2-1 所示。 图 2-1 集成开关型霍耳传感器原理图 A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施 密特触发器D和OC门输出E五个基本部分组成。在输入端输入电压Vcc,经稳压器稳压后 徐州工程学院毕业设计(论文) 3 加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁 场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差Vh输出,该Vh信号 经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场 达到工作点(即Bop)时,触发器输出高电压(相对于地电位)使三极管导通,此时OC门输出 端输出低电压,通常称这种状态为“开”。当施加的磁场达到释放点(即Brp)时,触发器 输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。这样两次电压变换, 使霍耳开关完成了一次开关动作3。 2.2 霍尔传感器A44E芯片的引脚及功能 霍尔传感器A44E的引脚接线图见2-2所示。典型应用于无触点开关,汽车点火器,刹 车电路,位置转速检测与控制,安全报警装置和纺织控制系统。霍尔传感器是一个3端器 件,外形与三极管相似,是要接上电源,地,即可工作,输出通常是集电极开路(OC) 门输出,工作电压范围宽,使用非常方便。 图 2-2 A44E 芯片引脚接线图 引脚1是电源Vcc,引脚2是地GND,引脚3是输出OUT。霍尔器件的工作电压不得超 过规定的Vcc,大部分霍尔开关均为OC输出。因此,输出应接负载电阻,其数值取决于 负载电流的大小,不得超负载使用。 2.3 脉冲计数法测速 脉冲计数法是智能测速系统中常用的方法。只要转轮每旋转一周,产生一个或固定 的多个脉冲,并将脉冲送人微处理器中进行计数,即可获得转速的信息。可以有多种方 式获得脉冲信号。将光电传感器安装在转轴上,当扇叶经过时,可产生脉冲信号。 但是光电对灰尘,油污等比较敏感,因此不适宜安装在车轮上。光电编码器和霍尔 传感器都不怕油污和灰尘,且都广泛应用于工业现场。但是光电编码器价格昂贵,霍尔 传感器价格便宜且具有体积小,灵敏度高,相应速度快等,温度性能好,精确度高,可 靠性高等特点,能很好满足车轮测速系统设计的需求。如图所示为使用霍尔传感器测量 车轮行驶路程及旋转速度。 徐州工程学院毕业设计(论文) 4 图 2-3 传感器测距示意图 如图,我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程 序设计的麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信 号,引起单片机的中断,对脉冲计数,当计数达到1000 次时,也就是1公里,从而实现 距离的计算。 徐州工程学院毕业设计(论文) 5 3 系统硬件设计 本课题主要是设计一套基于单片机的出租车计费系统,通过单片机能够计算处理脉 冲信号,并能够在液晶面板上分别显示金额,路程和单价信息等,同时利用 PROTEUS 这 个强大的仿真工具,完成对计价系统的仿真。 具体实现是运用霍尔传感器来检测电机带动车轮上的小磁铁,每当传感器与磁铁接 触时(无点接触) ,霍尔传感器的信号输出端便会产生一个脉冲,单片机通过外部中断计 算脉冲个数,利用脉冲个数算出金额和路程,并将这些数据显示在 LCD 液晶上。为了增 强该出租车计价器的实用性,添加了掉电保护模块。系统设计整体框图见图 3-1。 图 3-1 系统原理框图 3.1 单片机简介 现代计算机技术的产业革命,将世界经济从资本经济带入到知识经济时代。在电子 世界领域,从 20 世纪中的无线电时代也进入到 21 世纪以计算机技术为中心的智能化现 代电子系统时代。现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统) ,而 单片机是最典型、最广泛、最普及的嵌入式系统。 嵌入式系统源于计算机的嵌入式应用,早期嵌入式系统为通用计算机经改装后嵌入 到对象体系中的各种电子系统,如舰船的自动驾驶仪,轮机监测系统等。嵌入式系统首 先是一个计算机系统,其次它被嵌入到对象体系中、在对象体系中实现对象要求的数据 采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算 机没有计算机的独立形式及功能。单片机完全是按照嵌入式系统要求设计的,因此单片 机是最典型的嵌入式系统。早期的单片机只是按嵌入式应用技术要求设计的计算机单芯 片集成,故名单片机。随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围 接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器 (MCU,Microcontroller Unit) 。 世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要 徐州工程学院毕业设计(论文) 6 求发展。这就使原来经典电子系统的天地愈来愈小。电子系统中的各类从业人员应尽早 转向现代电子系统的康庄大道8。 3.1.1 AT89C51单片机简介 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 AT89C51 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读 存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造, 与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器 组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C51 是它的一种精 简版本,其外形及引脚见图 3-2。 图 3-2 AT89C51 外形及引脚图 3.1.2 AT89C51单片机引脚介绍 其各自引脚功能如下: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它 可以被定义为数据 /地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输 出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部 徐州工程学院毕业设计(论文) 7 下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 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”后,它们被内部上拉为高电平,并用作输入。作为输入,由 于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: 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 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平 时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变 的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出 的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执 行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器 在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器 周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不 出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH) , 徐州工程学院毕业设计(论文) 8 不管是否有内部程序存储器。注意加密方式1 时,/EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施 加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片 内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应 不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉 宽无任何要求,但必须保证脉冲的高低电平要求的宽度 9。 3.2 AT24C02简介 AT24C02是一个2K位串行CMOSE2PROM,内含有256个8位字节,CATALYST公司 的先进CMOS技术实质上减少了器件的功耗,AT24C02有一个16字节页写缓冲器,该器件 通过IC总线接口进行操作,有一个专门写保护功能。 3.2.1 管脚配置 管脚封装如图3-3所示。 图3-3 AT24C02引脚 3.2.2 极限参数 工作温度工业级-55+125 商业级0+75 贮存温度-65+150 各管脚承受电压-2V+2V Vcc管脚承受电压-2.0+7.0V 封装功率损耗(Ta=25)1.0W 焊接温度(10秒)300 输出短路电流100mA A0 Vcc A1 Wp A2 scl GND sdl 徐州工程学院毕业设计(论文) 9 表3-1 可靠性参数 3.2.3 功能描述 AT24C02支持IC总线数据传送协议,总线协议规定任何将数据传送到总线的器件作 为发送器。任何从总线收数据的器件为接收器。数据传送是有由产生串行时钟和所有起 始停止信号的主器件控制。主器件和从器件都可以作为发送器或接收器,但由主器件控 制传送数据(发送或接收)的模式,通过器件地址输入端A0,A1和A2可以实现将最多8 个AT24C02器件连接到总线。 3.2.4 管脚描述 表3-2 管脚描述 管脚名称功能 A0 A1 A2器件地址选择 SDA串行数据/地址 SCL串行时钟 WP写保护 Vcc+1.8V-6.0V工作电压 Vss地 SCL 串行时钟 AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输 入管脚。 SDA 串行数据/地址 AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏 输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。 A0,A1,A2器件地址输入端 这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0.当使用 AT24C02时最大可级联8个器件。如果只有一个AT24C02被总线寻找,这三个地址输入脚 (A0,A1,A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻找,这三个地址 符号 参数最小最大单位参考测试模式 NEND耐久性1000000周期/字节MIL-STD-883测试方法 1033 TDR数据保存时间100年MIL-STD-883测试方法 1008 VZAPESD2000VMIL-STD-883测试方法 3015 ILTH上拉电流100mAJEDE标准17 徐州工程学院毕业设计(论文) 10 输入脚(A0,A1,A2)必须连接到Vss。 WP 写保护 如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss或悬 空,允许器件进行正常的读写操作5。 3.3 LCD1602 液晶显示模块 LCD1602 液晶模块采用 HD44780 控制器。HD44780 具有简单而功能较强的指令集, 可以实现字符移动、闪烁等功能。LM016L 与单片机 MCU(Microcontroller Unit)通讯可 采用 8 位或者 4 位并行传输两种方式。HD44780 控制器由两个 8 位寄存器、指令寄存器 (IR)和数据寄存器(DR) 、忙标志(BF) 、显示数据 RAM(DDRAM) 、字符发生器 ROM(CGROM) 、字符发生器 RAM(CGRAM) 、地址计数器(AC) 。IR 用于寄存指令 码,只能写入不能读出;DR 用于寄存数据,数据由内部操作自动写入 DDRAM 和 CGRAM,或者暂存从 DDRAM 和 CGRAM 读出的数据。BF 为 1 时,液晶模块处于内部 处理模式,不响应外部操作指令和接受数据。DDRAM 用来存储显示的字符,能存储 80 个字符码。CGROM 由 8 位字符码生成 5*7 点阵字符 160 种和 5*10 点阵字符 32 种, CGRAM 是为用户编写特殊字符留用的,它的容量仅 64 字节。可以自定义 8 个 5*7 点阵 字符或者 4 个 5*10 点阵字符。AC 可以存储 DDRAM 和 CGRAM 的地址,如果地址码随 指令写入 IR,则 IR 自动把地址码装入 AC,同时选择 DDRAM 或者 CGRAM 单元13。 3.3.1 LCD1602 的结构及功能 LCD1602 液晶模块的引脚见图 3-4。 图 3-4 LCD1602 LCD1602 液晶模块的引脚功能见表 3-3。 表 3-3 LCD1602 引脚说明 引脚符号功能说明 1VSS一般接地 2VDD接电源(+5V) 3VEE液晶显示器对比度调整端,接正电源时对比度最弱,接地 电源时对比度最高 4RSRS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 5RWR/W 为读写信号线,高电平 1 时进行读操作,低电平 0 时 徐州工程学院毕业设计(论文) 11 进行写操作。 6EE(或 EN)端为使能(enable)端,下降沿使能。 续表 3-3 7D0底 4 位三态、 双向数据总线 0 位(最低位) 8D1底 4 位三态、 双向数据总线 1 位 9D2底 4 位三态、 双向数据总线 2 位 10D3底 4 位三态、 双向数据总线 3 位 11D4高 4 位三态、 双向数据总线 4 位 12D5高 4 位三态、 双向数据总线 5 位 13D6高 4 位三态、 双向数据总线 6 位 14D7高 4 位三态、 双向数据总线 7 位(最高位) (也是 busy flag) 寄存器选择控制见表 3-4。 表 3-4 寄存器选择控制表 RSR/W操作说明 00写入指令寄存器(清除屏等) 01读 busy flag(DB7) ,以及读取位址计数器(DB0DB6) 值 10写入数据寄存器(显示各字型等) 11从数据寄存器读取数据 注:关于 E=H 脉冲开始时初始化 E 为 0,然后置 E 为 1,再清 0。busy flag(DB7):在此位为被清除为 0 时,LCD 将无法再处理其他的指令要求。 3.3.2 LCD1602 液晶显示指令集 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1 为高电平, 0 为低电平)。 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕 上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表 示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标 是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平 时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符(有些模块是 DL:高电平时为 8 位总线,低电平时为 4 位总线)。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 徐州工程学院毕业设计(论文) 12 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收 命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 使用 PROTEUS 仿真 LCD1602 即 LM016L,依照数据手册说明可能遇到困难,可以 尝试采用以下方案解决: (1)数据手册中可能介绍 LM016L 内部 D0D7 已有上拉,可以使用 P0 口直接驱动。 在 PROTEUS 里 LM016L 内部可能没有,应该人为加上拉电阻。建议不要使用排阻,使用 普通电阻一个一个拉应该可以解决问题。 (2)可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去。LM016L 通 过 D0D7 的 8 位数据端传输数据和指令。 3.4 系统硬件具体设计 系统的整体硬件设计可以分为五个模块:键盘输入模块、传感器模块、掉电保护模 块、显示电路模块和电机控速模块。 3.4.1 霍尔传感器电路设计 霍尔传感器 A44E 在测速系统中的主要作用是车轮转速采集。车轮每转一周,磁铁经 过 A44E 一次。A44E 的第三脚就输出一个脉冲信号作为单片机 AT89C51 的外部中断信号, 从 P3.2 口输入。单片机测量脉冲信号的个数和脉冲周期。根据脉冲信号的个数计算出里 程,根据脉冲信号的周期计算出速度显示。A44E 与单片机的硬件电路连接如图 3-5 所示。 图 3-5 单片机和 A44E 的硬件连接图 3.4.2 LCD 显示电路设计 本设计选用 AT89C51 的 P3.4、P3.6、P3.7 端给,LCD1602 采用 8 位数据线工作方式。 AT89C51 的 P0 与 LCD1602 的 8 位数据线连接,AT89C51 的 P3.7、P3.6、P3.4 端口分别 徐州工程学院毕业设计(论文) 13 与 LCD1602 的使能端口、读写选择端口、数据命令选择端口连接。由于 P0 端口无上拉 电阻,所以我们需外接 8 个 2k 的上拉电阻,其与 LCD 液晶显示器的连线原理图如图 3-6 所示。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 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.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 +5v 图 3-6 LCD 与单片机连线图 3.4.3 AT24C02 掉电保护电路设计 由于只用一片 AT24C02,所以 a0,a1,a2 都接地。AT24C02 的数据线和地址线是复用 的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和 SDA(数据/地址) 与单片机传送数据。将芯片的 SCL 和 SDA 管脚接到单片机的 P1.5 和 P1.6。接线如图 3-7 所示。 图3-7 AT24C02与单片机连线图 徐州工程学院毕业设计(论文) 14 每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内。当系统 重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中, 供主程序使用。 3.4.4 直流电机电路设计 在本系统中,为了模拟出租车的车轮,已达到配合霍尔传感器的使用,我们利用用 电机来来实现车轮转动,通过 AT89C51 提供的 PWM 功能来驱动电机。我们可以通过控 制 PWM 的占空比,来控制电机的平均转速,从而控制电机的行进速度。由于单片机的 I/O 端口不足以驱动电机,所以我们利用三极管的选通特性,将直流电机接在三级管的集 电极,见图 3-8 所示。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 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.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 +5v -57.2 DC R1 2k Q1 NPN 图 3-8 直流电机与单片机的接线图 当 P3.1=0,集电极与发射极电压小于管压降,三极管截止,电机不导通。 当 P3.1=1,集电极与发射极电压大于管压降,三极管导通,电机导通旋转。 所以控制 P3.1 口信号的 PWM,便可控制电机的旋转速度。 3.4.5 键盘电路设计 键盘就是在人机交互系统中用来输入控制信号或数据的接口。其中,人机交互系统 是一个完整的单片机系统的组成部分,用来使单片机识别不同的输入信号,并做出不同 的响应。对于一个优秀的人机键盘接口设计,需要占用合理的单片机资源,并能够及时、 准确地响应用户的输入信息。 在本系统中,终端输入采用了独立式键盘,当按下和释放按键时,输入到 I/O 端口的 电平是不一样的,单片机程序根据不同端口电平的变化判断是否有按键按下以及是哪一 个按键被按下,并执行相应的程序段。键盘连线见图 3-9。 徐州工程学院毕业设计(论文) 15 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 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.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 D1 D2 D3 D4 D5 D6 D7 D8 D8 D7 D6 D5 D4 D3 D2 D1 D1 D8 D7 D6 D5 D4 D3 D2 图 3-9 单片机与键盘连线图 电路共采用了八个按键,D1、D2、D3、D4、D5、D6、D7、D8,其功能分别是:单 价上调,单价下调,屏幕显示切换,白天/夜间切换,加速,减速,电机启动,电机关闭。 徐州工程学院毕业设计(论文) 16 4 系统软件设计 本设计通过 Keil C51 进行编译并形成 HEX 文件,并将 HEX 文件导入到 PROTEUS 的系统仿真图中进行系统的仿真。 在编写软件之前,首先确定一些常数、地址,事实上这些常数、地址在设计阶段已 被直接或间接地确定下来了。当某器件的连线设计好后,就可以确定其地址和控制字。 然后用文本编辑器(如 EDIT、CCED 等)编写软件,编写好后,用编译器对源程序文件 编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调 试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在 EPROM 中)。在 源程序被编译后,生成了扩展名为 HEX 的目标文件,一般编程器能够识别这种格式的文 件,只要将此文件调入即可写片。 4.1 Keil C51 语言软件开发系统简介 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少 使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单 片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到 逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在 内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、 WIN98、NT、WIN2000、WINXP 等操作系统。 4.2 系统软件具体设计 4.2.1 主程序设计 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、 中断向量的设计以及开中断、循环等待等工作。当按下 D5 时,电机转动,就启动计价, 将根据脉冲个数判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每 公里的单价数和起价数来计算出当前的累计价格,并将结果送显示电路显示出来。 当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所 应该付的金额和对应的单价。到下次启动计价器时,系统自动对显示清零,并重新进行 初始化过程。下图为出租车计费系统的主程序流程图。 徐州工程学院毕业设计(论文) 17 图 4-1 主程序流程图 4.2.2 键盘服务程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序, 一旦右键按下,便转向相应的子程序处理,处理结束再返回。 4-2 键盘扫描流程图 徐州工程学院毕业设计(论文) 18 键盘扫描程序描述 void delay1ms()/延时函数,用于消抖 if(P0.X=0)执行功能;delay1ms(500);/X 可取 0 至 7 特别注意,在计算总金额时,我们必须要知道起步价格,由于白天与夜间的起步价 不同,所以在设计时我们通过一个按钮来切换白天与黑夜,例如现在显示的是白天起步 价,当按下该键,进入夜间起步价,在按下该键,又进入白天起步价。对于这样的按键 设计,我们需要设置一个参数来统计按键次数,若为偶数则为白天,若为奇数则为黑夜, 所这样就可以在白天与夜间方便的进行切换。下图为切换流程图。 图 4-3 白天与夜间切换流程图 4.2.3 显示子程序服务程序 为了方便读/写控制, 在程序中作了如下定义 sbit RS=P34; sbit RW=P36; sbit E=P37; 这样方便对 LCD 液晶显示器的控制。基本操作状态如表 4-1 所示。 表 4-1 基本操作状态 读状态输入RS=L,R/W=H,E=H输出=状态字D0D7 写指令输入RS=L,R/W=L,=状态字,E=高脉D0D7 冲 输出无 读数据输入RS=H,R/W=H,E=H输出=数据D0D7 徐州工程学院毕业设计(论文) 19 写数据输入RS=H,R/W=L,=状数据,E=高脉D0D7 冲 输出无 此外,用到每个功能模块函数已在程序中定义,如下: void LCD_w_dat(char dat) / 写数据 void LCD_w_com(unsigned com) / 写指令 void init_LCD(void) / 初始化 lcd void display_LCD_string(char *p ) /字符串输出函数 void gotoxy(unsign
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川西南航空职业学院教师招聘笔试备考试题及答案解析
- 2026年贵州电子商务职业技术学院辅导员招聘笔试备考题库及答案解析
- 2026年房屋安全鉴定中心招聘试题及答案
- 2026年西安外国语大学教师招聘考试备考题库及答案解析
- 2026年辽宁师范高等专科学校教师招聘考试参考题库及答案解析
- 2026年陕西经济管理职业技术学院教师招聘笔试备考试题及答案解析
- 护理护理实践能力试题
- 2026七年级道德与法治上册 俭朴节约美德
- 海藻酸钠涂膜:冷却鸡胸肉保鲜的创新路径与效果探究
- 2026年安徽工业职业技术学院教师招聘考试参考试题及答案解析
- 住宅无偿使用协议书
- 人音版七年级下册《乘着歌声的翅膀》课件
- GB/T 45232-2025建筑排水排污用聚丙烯(PP)管道系统
- 基于深度强化学习的机械臂自主抓取算法
- 2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题及答案
- 幼儿园小班打击乐活动《小鳄鱼之歌》课件
- JJF(京) 138-2024 气体活塞定标筒校准规范
- 小班科学公开课教案及教学反思《蛋宝宝站起来了》
- 转让帐号协议书简单
- 水准测量记录表自动计算(转点)
- 第二章 需求函数与供给函数
评论
0/150
提交评论