1、I 本科毕业论文 (20 届) 基于单片机的出租车计费系统的设计与实现 所在学院 专业班级 网络工程 学生姓名 指导教师 完成日期 II 摘要 出租车在现代城市交通系统中起着举足轻重的作用,为城市人民的生活出行带来了 极大的方便,出租车计费系统的稳定、准确以及可靠直接关系到人民群众的切身利益。 因此设计一套计费准确可靠的计费系统显得非常重要。 同时,本系统涉及的知识面比较广,能够锻炼学生的各方面的专业知识,能够使学 生把理论知识与实践相结合,对学生所学知识进行一次总结和审核。设计一个基于单片 机的出租车计费系统可以利用 AT89C51 单片机作为中心处理单元,结合霍尔传感器 A44E 来测量计
2、算路程,以及使用数据掉电保护芯片 AT24C02 来存储数据。该出租车计 费系统能够实现数据的复位、白天/晚上转换、数据输出、计时计价、单价输出与调整、 路程输出、超速报警等功能。本设计不仅要完成计价器的基本功能,还能根据白天、黑 夜、中途等待来调节单价。 关键词 单片机;霍尔传感器;AT89C51;AT24C02 III Abstract A taxi in modern urban transportation system plays an important role for the life of the urban people, brought great convenience
3、 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 profe
4、ssional 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 di
5、stances, 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 c
6、omplete 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 I 目 录 1 绪论 .1 1.1 系统研究背景 1 1.2 系统研究意义 .1 1.3 本系统设计要求及指标 1 1.4 论文主要内容 .2 2 霍尔传感器 .3 2.1 霍尔传感器 A44E 结构及工作原理 3 2.2 霍尔传感器 A44E 芯片的引脚及功
7、能 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.
8、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 II 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
9、.2 PROTEUS 的调试 27 5.3 硬件调试 .29 5.4 测试结果分析 .30 结论 .31 致谢 .32 参考文献 .33 附录 .34 附录 1 硬件整体仿真图 .34 附录 2 源代码 .35 1 1 绪论 1.1 系统研究背景 步入 21 世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高, 出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。 但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车 行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更 加方便快捷的服务。 30 年前,我国
10、出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们 生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在 我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器, 它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成 为城市的窗口,象征着一个城市的文明程度。 我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器 里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如 5KM)计费数字显示开始 从起步价(如 10 元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时” 键,每等候一定时间
11、,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计 算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成 故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触 不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的 硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编 程来完成更多的附加功能。 1.2 系统研究意义 出租车是人们出行的重要交通工具,随着人们生活水平的提高,乘坐出租车的人越 来越多,可以说,出租车已经遍及了我国城乡,为了
12、方便司乘人员计算车费,在出租车 上都装有计费器,其功能是能自动计算里程和车费,还要能更改起步价,单价等。因此, 出租车计费器必定是智能化仪表,由于受到计费器价格和体积的限制,不可能将普通的 计算机装入计费器中,而单片机作为智能工具,具有价格低廉,功能强大,体积小的优 点,能很容易嵌入计费器中,实现计费器的各种功能要求。可以断言,单片机计费器在 出租车上的应用必将越来越广泛。 1.3 本系统设计要求及指标 设计要求: 2 1.分析设计要求,明确性能指标。必须仔细分析课题要求、性能、指标及应用环境等, 广开思路,构思出各种总体方案,绘制结构框图。 2.设计各单元电路。总体方案化整为零,分解成若干子
13、系统或单元电路,逐个设计。 3.组成系统。在一定幅面的图纸上合理布局,通常是按信号的流向,采用左进右出的 规律摆放各电路,并标出必要的说明。 设计指标: 1.不同情况具有不同的收费标准。白天、晚上、途中等待(10min 开始收费) 2.能进行手动修改单价 3.具有数据的复位功能 4.掉电保护措施 5.按键:数据复位(清零) ,屏幕显示切换,电机调速等 6.超速报警模块 1.4 论文主要内容 本论文主要内容: 第一章绪论,简单介绍了出租车计价器研究背景和意义,并明确了本次毕业设计的 主要任务。 第二章霍尔传感器相关简介,重点阐述了 A44E 传感器的原理以及功能。 第三章系统硬件设计,先给出了整
14、个硬件的电路框图,然后详细描述了各个硬件的 工作原理,并对每个子电路模块进行了分解。 第四章系统软件设计,给出了各个子模块的流程图及片段代码。 第五章系统的调试和运行结果分析。 3 2 霍尔传感器 霍尔器件是一种磁性传感器。用它们可以检测磁场及其变化,可在各种与磁场有关 的场合中使用。霍尔器件以霍尔效应位其工作基础。霍尔器件具有许多优点,它们的结 构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达 1MHZ),耐震动, 不怕灰尘,油污,水汽及盐雾等的污染或腐蚀。霍尔线性器件的精度高,线性度好;霍 尔开关器件无接触点,无磨损,输出波形清晰,无抖动,无回调,位置重复精度高。取 用了各种
15、补偿和保护措施的霍尔器件的工作温度范围宽,可达-55-150。 按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件。前者输出模拟 量,后者输出输出数字量。 按被检测的对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检 测出受检测对象本身的磁场或磁特性,后者是检测受检测对象上人为设置的磁场,用这 个磁场来作被检测的信息的载体,通过它,将许多非电,非磁的物理量,例如力,力矩, 压力,应力,位置,位移,速度,加速度,角度,角速度,转数,转速以及工作状态发 生变化的时间等,转变成电量来进行检测和控制。 本论文设计的数据采集系统通过传感器采集数据,对数据传输的可靠性要求较高。 综合考
16、虑以上因素,采用 A44E 作为测速传感器。 2.1 霍尔传感器A44E结构及工作原理 由于 A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的 信号符合 TTL 电平标准,可以直接接到单片机的 I/O 端口上,而且其最高检测频率可达 到 1MHZ。集成开关型霍尔传感器原理如图 2-1 所示。 图 2-1 集成开关型霍耳传感器原理图 A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施 密特触发器D和OC门输出E五个基本部分组成。在输入端输入电压 Vcc,经稳压器稳压后 4 加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时
17、,在垂直于磁 场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差Vh 输出,该Vh 信号 经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场 达到工作点(即Bop)时,触发器输出高电压(相对于地电位)使三极管导通,此时OC 门输出 端输出低电压,通常称这种状态为“开”。当施加的磁场达到释放点(即Brp)时,触发器 输出低电压,三极管截止,使OC门输出高电压,这种状态为 “关”。这样两次电压变换, 使霍耳开关完成了一次开关动作 3。 2.2 霍尔传感器A44E芯片的引脚及功能 霍尔传感器A44E的引脚接线图见2-2所示。典型应用于无触点开关,汽车点火器,刹
18、车电路,位置转速检测与控制,安全报警装置和纺织控制系统。霍尔传感器是一个3端器 件,外形与三极管相似,是要接上电源,地,即可工作,输出通常是集电极开路(OC) 门输出,工作电压范围宽,使用非常方便。 图 2-2 A44E 芯片引脚接线图 引脚1是电源Vcc,引脚2是地GND,引脚3是输出OUT。霍尔器件的工作电压不得超 过规定的Vcc,大部分霍尔开关均为OC 输出。因此,输出应接负载电阻,其数值取决于 负载电流的大小,不得超负载使用。 2.3 脉冲计数法测速 脉冲计数法是智能测速系统中常用的方法。只要转轮每旋转一周,产生一个或固定 的多个脉冲,并将脉冲送人微处理器中进行计数,即可获得转速的信息
19、。可以有多种方 式获得脉冲信号。将光电传感器安装在转轴上,当扇叶经过时,可产生脉冲信号。 但是光电对灰尘,油污等比较敏感,因此不适宜安装在车轮上。光电编码器和霍尔 传感器都不怕油污和灰尘,且都广泛应用于工业现场。但是光电编码器价格昂贵,霍尔 传感器价格便宜且具有体积小,灵敏度高,相应速度快等,温度性能好,精确度高,可 靠性高等特点,能很好满足车轮测速系统设计的需求。如图所示为使用霍尔传感器测量 车轮行驶路程及旋转速度。 5 图 2-3 传感器测距示意图 如图,我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程 序设计的麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔
20、开关就检测并输出信 号,引起单片机的中断,对脉冲计数,当计数达到1000 次时,也就是1公里,从而实现 距离的计算。 6 3 系统硬件设计 本课题主要是设计一套基于单片机的出租车计费系统,通过单片机能够计算处理脉 冲信号,并能够在液晶面板上分别显示金额,路程和单价信息等,同时利用 PROTEUS 这 个强大的仿真工具,完成对计价系统的仿真。 具体实现是运用霍尔传感器来检测电机带动车轮上的小磁铁,每当传感器与磁铁接 触时(无点接触) ,霍尔传感器的信号输出端便会产生一个脉冲,单片机通过外部中断计 算脉冲个数,利用脉冲个数算出金额和路程,并将这些数据显示在 LCD 液晶上。为了增 强该出租车计价器
21、的实用性,添加了掉电保护模块。系统设计整体框图见图 3-1。 图 3-1 系统原理框图 3.1 单片机简介 现代计算机技术的产业革命,将世界经济从资本经济带入到知识经济时代。在电子 世界领域,从 20 世纪中的无线电时代也进入到 21 世纪以计算机技术为中心的智能化现 代电子系统时代。现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统) ,而 单片机是最典型、最广泛、最普及的嵌入式系统。 嵌入式系统源于计算机的嵌入式应用,早期嵌入式系统为通用计算机经改装后嵌入 到对象体系中的各种电子系统,如舰船的自动驾驶仪,轮机监测系统等。嵌入式系统首 先是一个计算机系统,其次它被嵌入到对象体系中、在对
22、象体系中实现对象要求的数据 采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算 机没有计算机的独立形式及功能。单片机完全是按照嵌入式系统要求设计的,因此单片 机是最典型的嵌入式系统。早期的单片机只是按嵌入式应用技术要求设计的计算机单芯 片集成,故名单片机。随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围 接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器 (MCU,Microcontroller Unit) 。 世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要 7 求发展。这就使原来经典电子系统的天地愈来愈小。电子系统中的
23、各类从业人员应尽早 转向现代电子系统的康庄大道 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 和闪烁存储器 组
24、合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C51 是它的一种精 简版本,其外形及引脚见图 3-2。 图 3-2 AT89C51 外形及引脚图 3.1.2 AT89C51单片机引脚介绍 其各自引脚功能如下: VCC: 供 电 电 压 。 GND: 接 地 。 P0 口 : P0 口 为 一 个 8 位 漏 级 开 路 双 向 I/O 口 , 每 脚 可 吸 收 8TTL 门 电 流 。 当 P0 口 的 管 脚 第 一 次 写 1 时 , 被 定 义 为 高 阻 输 入 。 P0 能 够 用 于 外 部 程 序 数 据 存 储 器 , 它 可 以 被 定 义 为
25、 数 据 /地 址 的 第 八 位 。 在 FIASH 编 程 时 , P0 口 作 为 原 码 输 入 口 , 当 FIASH 进 行 校 验 时 , P0 输 出 原 码 , 此 时 P0 外 部 必 须 被 拉 高 。 P1 口 : P1 口 是 一 个 内 部 提 供 上 拉 电 阻 的 8 位 双 向 I/O 口 , P1 口 缓 冲 器 能 接 收 输 出 4TTL 门 电 流 。 P1 口 管 脚 写 入 1 后 , 被 内 部 上 拉 为 高 , 可 用 作 输 入 , P1 口 被 外 部 8 下 拉 为 低 电 平 时 , 将 输 出 电 流 , 这 是 由 于 内 部 上
26、 拉 的 缘 故 。 在 FLASH 编 程 和 校 验 时 , P1 口 作 为 第 八 位 地 址 接 收 。 P2 口 : P2 口 为 一 个 内 部 上 拉 电 阻 的 8 位 双 向 I/O 口 , P2 口 缓 冲 器 可 接 收 , 输 出 4 个 TTL 门 电 流 , 当 P2 口 被 写 “1”时 , 其 管 脚 被 内 部 上 拉 电 阻 拉 高 , 且 作 为 输 入 。 并 因 此 作 为 输 入 时 , P2 口 的 管 脚 被 外 部 拉 低 , 将 输 出 电 流 。 这 是 由 于 内 部 上 拉 的 缘 故 。 P2 口 当 用 于 外 部 程 序 存 储
27、 器 或 16 位 地 址 外 部 数 据 存 储 器 进 行 存 取 时 , P2 口 输 出 地 址 的 高 八 位 。 在 给 出 地 址 “1”时 , 它 利 用 内 部 上 拉 优 势 , 当 对 外 部 八 位 地 址 数 据 存 储 器 进 行 读 写 时 , P2 口 输 出 其 特 殊 功 能 寄 存 器 的 内 容 。 P2 口 在 FLASH 编 程 和 校 验 时 接 收 高 八 位 地 址 信 号 和 控 制 信 号 。 P3 口 : P3 口 管 脚 是 8 个 带 内 部 上 拉 电 阻 的 双 向 I/O 口 , 可 接 收 输 出 4 个 TTL 门 电 流
28、。 当 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
29、 T1( 记 时 器 1 外 部 输 入 ) P3.6 /WR( 外 部 数 据 存 储 器 写 选 通 ) P3.7 /RD( 外 部 数 据 存 储 器 读 选 通 ) P3 口 同 时 为 闪 烁 编 程 和 编 程 校 验 接 收 一 些 控 制 信 号 。 RST: 复 位 输 入 。 当 振 荡 器 复 位 器 件 时 , 要 保 持 RST 脚 两 个 机 器 周 期 的 高 电 平 时 间 。 ALE/PROG: 当 访 问 外 部 存 储 器 时 , 地 址 锁 存 允 许 的 输 出 电 平 用 于 锁 存 地 址 的 地 位 字 节 。 在 FLASH 编 程 期 间 ,
30、 此 引 脚 用 于 输 入 编 程 脉 冲 。 在 平 时 , ALE 端 以 不 变 的 频 率 周 期 输 出 正 脉 冲 信 号 , 此 频 率 为 振 荡 器 频 率 的 1/6。 因 此 它 可 用 作 对 外 部 输 出 的 脉 冲 或 用 于 定 时 目 的 。 然 而 要 注 意 的 是 : 每 当 用 作 外 部 数 据 存 储 器 时 , 将 跳 过 一 个 ALE 脉 冲 。 如 想 禁 止 ALE 的 输 出 可 在 SFR8EH 地 址 上 置 0。 此 时 , ALE 只 有 在 执 行 MOVX, MOVC 指 令 是 ALE 才 起 作 用 。 另 外 , 该
31、 引 脚 被 略 微 拉 高 。 如 果 微 处 理 器 在 外 部 执 行 状 态 ALE 禁 止 , 置 位 无 效 。 /PSEN: 外 部 程 序 存 储 器 的 选 通 信 号 。 在 由 外 部 程 序 存 储 器 取 指 期 间 , 每 个 机 器 周 期 两 次 /PSEN 有 效 。 但 在 访 问 外 部 数 据 存 储 器 时 , 这 两 次 有 效 的 /PSEN 信 号 将 不 出 现 。 /EA/VPP: 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器 ( 0000H-FFFFH) , 9 不 管 是 否 有 内 部 程 序
32、存 储 器 。 注 意 加 密 方 式 1 时 , /EA 将 内 部 锁 定 为 RESET; 当 /EA 端 保 持 高 电 平 时 , 此 间 内 部 程 序 存 储 器 。 在 FLASH 编 程 期 间 , 此 引 脚 也 用 于 施 加 12V 编 程 电 源 ( VPP) 。 XTAL1: 反 向 振 荡 放 大 器 的 输 入 及 内 部 时 钟 工 作 电 路 的 输 入 。 XTAL2: 来 自 反 向 振 荡 器 的 输 出 。 振 荡 器 特 性 : XTAL1 和 XTAL2 分 别 为 反 向 放 大 器 的 输 入 和 输 出 。 该 反 向 放 大 器 可 以
33、配 置 为 片 内 振 荡 器 。 石 晶 振 荡 和 陶 瓷 振 荡 均 可 采 用 。 如 采 用 外 部 时 钟 源 驱 动 器 件 , XTAL2 应 不 接 。 有 余 输 入 至 内 部 时 钟 信 号 要 通 过 一 个 二 分 频 触 发 器 , 因 此 对 外 部 时 钟 信 号 的 脉 宽 无 任 何 要 求 , 但 必 须 保 证 脉 冲 的 高 低 电 平 要 求 的 宽 度 9。 3.2 AT24C02简介 AT24C02是一个2K位串行CMOSE2PROM ,内含有256个8位字节,CATALYST 公司 的先进CMOS技术实质上减少了器件的功耗,AT24C02有一
34、个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 10 表3-1 可靠性参数 3.2.3 功能描述 AT24C02支持IC总线数据传送协议,总线协议规定任何将数据传送到总线的器件作 为发
35、送器。任何从总线收数据的器件为接收器。数据传送是有由产生串行时钟和所有起 始停止信号的主器件控制。主器件和从器件都可以作为发送器或接收器,但由主器件控 制传送数据(发送或接收)的模式,通过器件地址输入端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 串行数据/地址
36、 AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收, SDA是一个开漏 输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。 A0,A1,A2器件地址输入端 这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0.当使用 AT24C02时最大可级联8个器件。如果只有一个AT24C02被总线寻找,这三个地址输入脚 (A0,A1,A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻找,这三个地址 符号 参数 最小 最大 单位 参考测试模式 NEND 耐久性 1000000 周期 /字节 MIL-STD-883测试方法 1033 TDR 数据保
37、存时间 100 年 MIL-STD-883测试方法 1008 VZAP ESD 2000 V MIL-STD-883测试方法 3015 ILTH 上拉电流 100 mA JEDE标准17 11 输入脚(A0,A1,A2)必须连接到Vss。 WP 写保护 如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss或悬 空,允许器件进行正常的读写操作 5。 3.3 LCD1602 液晶显示模块 LCD1602 液晶模块采用 HD44780 控制器。HD44780 具有简单而功能较强的指令集, 可以实现字符移动、闪烁等功能。LM016L 与单片机 MCU(Microcontroll
38、er 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 个字符码
39、。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
40、引脚说明 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源( +5V) 3 VEE 液晶显示器对比度调整端,接正电源时对比度最弱,接地 电源时对比度最高 4 RS RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 5 RW R/W 为读写信号线,高电平 1 时进行读操作,低电平 0 时 12 进行写操作。 6 E E(或 EN)端为使能(enable)端,下降沿使能。 续表 3-3 7 D0 底 4 位三态、 双向数据总线 0 位(最低位) 8 D1 底 4 位三态、 双向数据总线 1 位 9 D2 底 4 位三态、 双向数据总线 2 位 10 D
41、3 底 4 位三态、 双向数据总线 3 位 11 D4 高 4 位三态、 双向数据总线 4 位 12 D5 高 4 位三态、 双向数据总线 5 位 13 D6 高 4 位三态、 双向数据总线 6 位 14 D7 高 4 位三态、 双向数据总线 7 位(最高位) (也是 busy flag) 寄存器选择控制见表 3-4。 表 3-4 寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 读 busy flag(DB7) ,以及读取位址计数器(DB0DB6) 值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 注:关于 E=H 脉冲开始时初始化
42、 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:控制整体显示的开与关,高电平表示开显
43、示,低电平表 示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标 是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平 时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符(有些模块是 DL:高电平时为 8 位总线,低电平时为 4 位总线)。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 13 指令 9:读忙信号和光标地址 BF:为
44、忙标志位,高电平表示忙,此时模块不能接收 命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 使用 PROTEUS 仿真 LCD1602 即 LM016L,依照数据手册说明可能遇到困难,可以 尝试采用以下方案解决: (1)数据手册中可能介绍 LM016L 内部 D0D7 已有上拉,可以使用 P0 口直接驱动。 在 PROTEUS 里 LM016L 内部可能没有,应该人为加上拉电阻。建议不要使用排阻,使用 普通电阻一个一个拉应该可以解决问题。 (2)可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去。LM016L 通 过 D0D7 的 8 位数据端传输数据和指
45、令。 3.4 系统硬件具体设计 系统的整体硬件设计可以分为五个模块:键盘输入模块、传感器模块、掉电保护模 块、显示电路模块和电机控速模块。 3.4.1 霍尔传感器电路设计 霍尔传感器 A44E 在测速系统中的主要作用是车轮转速采集。车轮每转一周,磁铁经 过 A44E 一次。 A44E 的第三脚就输出一个脉冲信号作为单片机 AT89C51 的外部中断信号, 从 P3.2 口输入。单片机测量脉冲信号的个数和脉冲周期。根据脉冲信号的个数计算出里 程,根据脉冲信号的周期计算出速度显示。A44E 与单片机的硬件电路连接如图 3-5 所示。 图 3-5 单片机和 A44E 的硬件连接图 3.4.2 LCD
46、 显示电路设计 本设计选用 AT89C51 的 P3.4、P3.6 、P3.7 端给,LCD1602 采用 8 位数据线工作方式。 AT89C51 的 P0 与 LCD1602 的 8 位数据线连接,AT89C51 的 P3.7、P3.6、P3.4 端口分别 14 与 LCD1602 的使能端口、读写选择端口、数据命令选择端口连接。由于 P0 端口无上拉 电阻,所以我们需外接 8 个 2k 的上拉电阻,其与 LCD 液晶显示器的连线原理图如图 3-6 所示。 XTAL218XTAL119 ALE30EA31PSEN29 RST9 P0./AD039P0.1/AD138P0.2/AD237P0.
47、3/AD336 P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732 P2.7/A1528 P2.0/A821P2.1/A92P2./A1023P2.3/A1 24 P2.4/A1225P2.5/A1326P2.6/A1427 P1.01P1.2P1.23P1.34 P1.45P1.56P1.67P1.78 P3.0/RXD10P3.1/TXD1P3.2/INT012P3./INT113 P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115 D714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3 +5v 图 3-
48、6 LCD 与单片机连线图 3.4.3 AT24C02 掉电保护电路设计 由于只用一片 AT24C02,所以 a0,a1,a2 都接地。AT24C02 的数据线和地址线是复用 的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和 SDA(数据/ 地址) 与单片机传送数据。将芯片的 SCL 和 SDA 管脚接到单片机的 P1.5 和 P1.6。接线如图 3-7 所示。 图3-7 AT24C02与单片机连线图 15 每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内。当系统 重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中, 供主程序使用。 3
49、.4.4 直流电机电路设计 在本系统中,为了模拟出租车的车轮,已达到配合霍尔传感器的使用,我们利用用 电机来来实现车轮转动,通过 AT89C51 提供的 PWM 功能来驱动电机。我们可以通过控 制 PWM 的占空比,来控制电机的平均转速,从而控制电机的行进速度。由于单片机的 I/O 端口不足以驱动电机,所以我们利用三极管的选通特性,将直流电机接在三级管的集 电极,见图 3-8 所示。 XTAL218XTAL119 ALE30E31PSN29 RST9 P0./AD0390.1/ 138P0.2/AD2370.3/ 336P0.4/AD435 0.5/ 534P0.6/AD630.7/ 732 P2.7/A1528 P2.0/A8212.1/92P2./A10232.3/124P2.4/A1225 2.5/13262.6/1427P1.01 1.2P1.23 1.34P1.45 1.56 P1.67 1.78 P3.0/RXD103.1/T 1P3.2/INT0123./IT113P3.4/T014 P3.7/RD173.6/W163.5/T115 +5v -57.2 DC R12k Q1NPN 图 3-8 直流电机与单片机的接线图 当 P3.1=0,集电极与