基于单片机的出租车计费系统的设计与实现内容摘要:

块。 系统设计整体框图见图 31。 图 31 系统原理框图 单片机简介 现代计算机技术的产业革命,将世界经济从资本经济带入到知识经济时代。 在电子世界领域,从 20 世纪中的无线电时代也进入到 21 世纪以计算机技术为中心的智能化现代电子系统时代。 现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统),而单片机是最典型、最广泛、最普及的嵌入式系统。 嵌入式系统源于计算机的嵌入式应用,早期嵌入式系统为通用计算机经改装后嵌入到对象体系中的各种电子系统,如舰船的自动驾驶 仪,轮机监测系统等。 嵌入式系统首先是一个计算机系统,其次它被嵌入到对象体系中、在对象体系中实现对象要求的数据采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算机没有计算机的独立形式及功能。 单片机完全是按照嵌入式系统要求设计的,因此单片机是最典型的嵌入式系统。 早期的单片机只是按嵌入式应用技术要求设计的计算机单芯片集成,故名单片机。 随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器( MCU, Microcontroller Unit)。 世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要求发展。 这就使原来经典电子系统的天地愈来愈小。 电子系统中的各类从业人员应尽早转向徐州工 程学院毕业设计(论文) 7 现代电子系统的康庄大道 [8]。 AT89C51单片机简介 AT89C51 是一种带 4K 字节 FLASH 存储 器 ( FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 AT89C51是一种带 2K 字节闪存可编程可擦除只读存储器的 单片机。 单片机的可擦除只读存储器可以反复擦除 1000 次。 该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C51 是它的一种精简版本 ,其 外形及 引脚见图 32。 图 32 AT89C51外形及 引脚 图 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 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时,徐州工 程学院毕业设计(论文) 8 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 的一些特殊功能口,如下所示: RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写 选通) /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 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA徐州工 程学院毕业设计(论文) 9 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度 [9]。 AT24C02简介 AT24C02是一个 2K位串行 CMOSE2PROM,内含有 256个 8位字节, CATALYST公司的先进 CMOS技术实质上减少了器件的功耗, AT24C02有一个 16字节页写缓冲器,该器件通过 IC总线接口进行操作,有一个专门写保护功能。 管脚配置 管脚封装如图 33所示。 图 33 AT24C02引脚 极限参数 工作温度工业级 55℃ +125℃ 商业级 0℃ +75℃ 贮存温度 65℃ +150℃ 各管脚承受电压 2V+2V Vcc管脚承受电压 + 封装功率损耗( Ta=25℃ ) 焊接温度( 10秒) 300℃ 输出短路电流 100mA A0 Vcc A1 Wp A2 scl GND sdl 徐州工 程学院毕业设计(论文) 10 表 31 可靠性参数 功能描述 AT24C02支持 IC总线数据传送协议,总线协议规定任何将数据传送到总线的器件作为发送器。 任何从总线收数据的器件为接收器。 数据传送是有由产生串行时钟和所有起始停止信号的主器件控制。 主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端 A0, A1和 A2可以实现将最多 8个 AT24C02器件连接到总线。 管脚描述 表 32 管脚描述 管 脚名称 功能 A0 A1 A2 器件地址选择 SDA 串行数据 /地址 SCL 串行时钟 WP 写保护 Vcc + Vss 地 SCL 串行时钟 AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 SDA 串行数据 /地址 AT24C02双向串行数据 /地址管脚用于器件所有数据的发送或接收, SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或( wireOR)。 A0, A1, A2器件地址输入端 这些输入脚用于多个器件级联时设 置器件地址,当这些脚悬空时默认值为 AT24C02时最大可级联 8个器件。 如果只有一个 AT24C02被总线寻找,这三个地址输入脚( A0, A1, A2)可悬空或连接到 Vss,如果只有一个 AT24C02被总线寻找,这三个地址输入脚( A0, A1, A2)必须连接到 Vss。 符号 参数 最小 最大 单位 参考测试模式 NEND 耐久性 1000000 周期 /字节 MILSTD883测试方法1033 TDR 数据保存时间 100 年 MILSTD883测试方法1008 VZAP ESD 2020 V MILSTD883测试方法3015 ILTH 上拉电流 100 mA JEDE标准 17 徐州工 程学院毕业设计(论文) 11 WP 写保护 如果 WP管脚连接到 Vcc,所有的内容都被写保护只能读。 当 WP管脚连接到 Vss或悬空,允许器件进行正常的读写操作 [5]。 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]。 LCD1602 的结构及功能 LCD1602 液 晶模块的引脚见图 34。 图 34 LCD1602 LCD1602 液晶模块的引脚功能见表 33。 表 33 LCD1602 引脚说明 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源 ( +5V) 3 VEE 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高 4 RS RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0时选择指令寄存器。 5 RW R/W 为读写信号线,高电平 1 时进行读操作,低电平 0 时进行写操作。 6 E E( 或 EN) 端为使能 ( enable) 端, 下降沿使能。 徐州工 程学院毕业设计(论文) 12 续表 33 7 D0 底 4 位三态、 双向数据总线 0 位 ( 最低位 ) 8 D1 底 4 位三态、 双向数据总线 1 位 9 D2 底 4 位三态、 双向数据总线 2 位 10 D3 底 4 位三态、 双向数据总线 3 位 11 D4 高 4 位三态、 双向数据总线 4 位 12 D5 高 4 位三态、 双向数据总线 5 位 13 D6 高 4 位三态、 双向数据总线 6 位 14 D7 高 4 位三态、 双向数据总线 7 位(最高位)(也是 busy flag) 寄存器选择控制 见表 34。 表 34 寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器 ( 清除屏等 ) 0 1 读 busy flag( DB7),以及读取位址计数器( DB0~DB6)值 1 0 写入数据寄存器 ( 显示各字型等 ) 1 1 从数据寄存器读取数据 注:关于 E=H 脉冲 —开始时初始化 E 为 0,然后置 E 为 1,再清 0。 busy flag( DB7) :在此位为。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。