毕业设计(论文)-基于单片机实现公交车的自动考核与报站.doc_第1页
毕业设计(论文)-基于单片机实现公交车的自动考核与报站.doc_第2页
毕业设计(论文)-基于单片机实现公交车的自动考核与报站.doc_第3页
毕业设计(论文)-基于单片机实现公交车的自动考核与报站.doc_第4页
毕业设计(论文)-基于单片机实现公交车的自动考核与报站.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1 基于单片机实现公交车的自动考核与报站 摘 要 公交车是现今社会人们出行的主要交通工具。针对公交车报站与 考核的现状,本文设计了以单片机 at89c51 为核心的公交车自动报站与考 核系统。在自动报站部分,系统利用无线收发模块结合编码芯片 pt2262 和 解码芯片 pt2272 实现公交车站台信息的发射与接收,用语音芯片 isd4004 实现公交车的报站。在考核部分,利用霍尔传感器将车轮转过的圈数转换成 脉冲数传入单片机。最终实现对公交车里程及速度的测量,并能通过 lcd 准确地显示。 本设计主要包括硬件设计和软件设计两个部分。其中:硬件包括单片机 最小系统、无线射频发射电路、无线射频接收电路、语音电路、显示电路等; 软件主要包括部分电路的设计流程。由于本设计为自动报站,在应用中可以 大大降低司机的工作强度,提高车辆在行驶过程中的安全指数。 关键词 单片机,自动报站,isd4004,里程 abstract nowadays,bus travel is the main transport for people.aimed at the bus stops and evaluation of the situation,this article is designed to at89c51 scm as the core of the bus automatic station and assessment system.in the automatic stop part,system use wireless transceiver module with encording and decording chip pt2262 /pt2272 to implement the bus stattion emitting and receiving 2 information,and use voice chip isd4004 to implement the bus stop.in the assessment part of the system,the number of cycles to the wheel turn can turn into the number of pulses by using hall sensor,and put the number into scmfinally implement the bus milege and speed measurement,and accurately displayed through the lcd. the design includes hardware design and software design.among them:hardware including microcontrollers,rf transmitter circuit, rf receier circuit, voice circuit ,display circuit.software is mainly talk about the process of the part circuit design.as the design for the automatic station in application,it can greatly reduce the strength of the diver and improve the vehicle safety index in driving process. key words: scm automaticlly stop isd4004 mileage 3 目录 1、绪论 .5 1.1 本课题的目的.5 1.2 本课题在国内外的发展状况.5 1.3 本课题的指导思想.6 2、单片机的相关介绍 .7 2.1 单片机原理及其发展趋势.7 2.2 单片机的引脚功能介绍.7 3、硬件电路设计 10 3.1 单片机内部时钟电路10 3.2 复位电路10 3.3 无线射频发射电路11 3.3.1 设计思路 11 3.3.2 设计电路及说明 13 3.4 无线射频接收电路14 3.4.1 设计电路及说明 14 3.5 语音电路15 3.5.1 设计思路 15 3.5.2 设计电路及说明 16 3.6 考核系统18 4 3.6.1 设计电路及说明 18 4、软件部分设计 22 4.1 语音报站程序设计 22 4.2 考核模块主程序设计24 4.3 里程及速度计算子程序设计 25 4.4 lcd 显示子程序 26 4.5 定时计数子程序 28 5、仿真 30 5.1 考核部分仿真30 6、结论 32 答谢 .33 参考文献 .34 附录 考核系统及语音报站程序 35 5 1、绪论 1.1 本课题的目的 随着社会的高速发展,人们出行工具的选择也越来越多。作为经济方 便的代表,公交车依旧发挥着极其重要的作用。我国的大多数城市都采用 手动考核与报站。由于手动考核与报站是人为控制,不仅增加了公交车在 行驶过程中的安全隐患,还给公交车的报站造成了些许的偏差:错报、误 报的情况时有发生。并且手动考核无法对车辆行驶过程中存在的超速等问 题进行有效的监督。为了能提高公交车的工作效率及服务水平,我们急需 一种系统可以实现公交车的自动考核与报站。 1.2 本课题在国内外的发展状况 通过市场调查,现今公交车的报站主要有两种方式。一种是通过全球 卫星定位系统(gps)来实现,目前美国部分城市已投入使用。但这种方 案所需要的技术太过复杂,开发成本太高,不适合应用在中小城市。另一 种是人工报站,我国大部分城市仍使用该方案。它需要司乘人员进行相关 操作才能完成,这就加大了司机的工作强度,增加了车辆运行过程中的安 全隐患。 近年来,单片机技术飞速发展,主要用来实现对信号的检测、数据的 采集以及对应用对象的控制。它在工业控制、家用电器、汽车电子乃至航 天电子等领域都有着重要的应用。由于单片机具有稳定性好、成本低、很 6 好的扩展性及可编程性等优点,所以通过单片机等技术来实现公交车的自 动考核与报站就受到了越来越多的关注。 1.3 本课题的指导思想 本课题主要研究的是用单片机实现公交车的自动考核与报站。设计主 要可实现两个功能:公交车的自动报站:在各个站点安装无线发射模块 f05p 以及 pt2262 编码集成电路,用来发射站台信号;在公交车上安装无 线接收模块 j04v、pt2272 解码集成电路、语音电路、单片机最小系统等, 用来接收站台发射的信号并对其进行解码,从而判断该站点并进行自动报 站。公交车的自动考核:通过霍尔传感器将公交车的车轮转数转换成脉 冲信号传入单片机,用单位时间内车轮转过的圈数来判断车超速情况,同 时将公交车在行驶过程中的里程和速度记录在系统中。所谓里程数=车轮转 数*车轮周长, 速度=车轮周长/车轮每转一圈所用的时间。 7 2、单片机的相关介绍 2.1 单片机原理及其发展趋势 单片微机是单片微型计算机 scmc(single chip micro computer)的译 名简称,在国内也常简称为“单片机” 。单片机是指一个采用超大规模集成 电路技术,将中央处理器 cpu、随机存储器 ram、只读存储器 rom、中 断系统、定时器/计数器、串行口和 i/o 口等集成在一块芯片上的计算机系 统。1 2.2 单片机的引脚功能介绍 at89c51 是一种带 4k 字节 flash 存储器的低电压、高性能 cmos 8 位单片机。2 其引脚图见下: 图 2.1 at89c51 的引脚图 按引脚的功能可分为四部分: 8 电源引脚: vcc:接电源正极。 vss:接地。 时钟电路引脚: xtal1:片内振荡器反相放大器的输入端。 xtal2:片内振荡器反相放大器的输出端。 并行 i/o 口引脚:共四个口,32 根 i/o 线。 p0:8 位、漏极开路型双向 i/o 口。可作通用 i/o 口使用,当使用片外存 储器时,作低 8 位地址和 8 位数据分时复用。在程序校验期间,输出指令 字节,验证时需加外部上拉电阻。 p1:内部带上拉电阻的 8 位、准双向 i/o 口。在编程/校验期间,用作输 入低位字节地址。 p2:内部带上拉电阻的 8 位、准双向 i/o 口。当使用片外存储器时,输 出高 8 位地址。在编程/校验期间,接收高位字节地址。 p3:内部带上拉电阻的 8 位、多功能双向 i/o 口。除了作通用 i/o 口外, 其主要功能是它的各位还有第二功能: p3.0:rxd 串行输入端 p3.1:txd 串行输出端 p3.2:int0 外部中断 0 输入端 p3.3:int1 外部中断 1 输入端 p3.4:t0 定时器/计数器 0 的外部输入 p3.5:t1 定时器/计数器 1 的外部输入 9 p3.6:wr 低电平有效,输出,片外数据存储器或 i/o 口写选通 p3.7:rd 低电平有效,输出,片外数据存储器或 i/o 口读选通 控制信号引脚: rst:复位输入信号,高电平有效。 ea/vpp:片外程序存储器访问允许信号,低电平有效。 ale/prog:地址锁存允许信号,输出。 psen:片外程序存储器读选通信号,低电平有效。 10 3、硬件电路设计 一个单片机系统的硬件设计主要包括:单片机系统的扩展部分设计、 各功能模块的设计和工艺设计。3 本设计的硬件电路主要包括:单片机内部时钟电路、复位电路、无线 射频发射电路、无线射频接收电路、语音电路和考核系统的设计。 3.1 单片机内部时钟电路 时钟电路主要用来产生单片机工作所需要的时钟信号。由于单片机内 部本身带有时钟电路,所以只需在片外的 xtal1 和 xtal2 之间跨接晶振 和微调电容即可。该电路如下图(本设计使用 12mhz 晶振): 图 3.1 单片机内部时钟电路 3.2 复位电路 对于复位信号,高电平有效。复位有上电自动复位、按键电平复位和 外部脉冲复位 3 种操作方式。在本设计中,采用的是按键电平复位,它通 过按压键使复位端经电阻与 vcc 接通来实现。该电路如下图: 图 3.2 复位电路 11 3.3 无线射频发射电路 3.3.1 设计思路 通过翻阅各种资料,我了解到:目前主要有 4 种方式可实现公交车的 自动报站。 (1)gps 系统:它是一种高精度卫星导航系统,通过用户设备接收 gps 信号, 对信号进行处理后获取方向、位置等有效信息,从而实现 gps 的导航与定 位。但因其价格昂贵,目前只被较少的城市使用。 (2)无线收发一体芯片:例如,tr3001 主要通过蓝牙技术设计。蓝牙是一种 短距离通信的无线电技术,一般在 10 米以内。它支持点对点及点对多点通 信。4因此,在实际应用中也不适用于公交车自动报站。 (3)无线遥控系统:一般有红外线发射和电磁波发射两种方式。 红外遥控系统以红外线为数据传输介质,由发射和接收两部分组成。一 般用遥控器产生的编码脉冲驱动红外发射管,输出红外遥控信号;用一体 化接收头完成对信号的接收、放大、检波、滤波、整形,并解调出相应的 编码脉冲,遥控编码脉冲是一组二进制码。 红外发射管是一种能将电能转变为近红外光的发光显示器件,它的发 射信号经频率调制后一般的接收距离可超过 10 米,无干扰时可超过 30 米。 由于公交行驶线路不可能畅通无阻,它的速度一般为 40-50 公里(千米)/ 小时,因此它每秒行驶的路程大约为 11.1 米。由此可见,当公交车到达某 一站点时速度稍微过大,就可能无法接收到红外信号,从而也就无法实现 报站。红外遥控距离短,只能直线方向遥控,而且红外线无法穿透障碍物。 因此,以上情况都可能成为报站过程 中存在的不确定因素。 12 以电磁波为数据传输介质的遥控系统,主要框架和红外遥控系统相同。 不同之处在于,电磁波的遥控具有衍射作用,可以跨越一定的障碍物,也 不需要直线遥控。当发射端发射一定频率的电磁波时,接收端只有筛选出 相同频率的电磁波信号并经过解码才能得到。 (4)无线射频收发模块 f05p、j04v:f05p 与 j04v 是配对使用的。它们常与 编解码集成电路组成无线收发电路。f05p 是射频无线发射模块,适合短距 离无线遥控报警及单片机无线数据传输,对直流电平及模拟信号不能发射, 采用 ask 方式调制。j04v 是超再生接收模块,主要应用于需要长期处于接 收状态的遥控报警及单片机数据传输系统。性能稳定,具有较好的灵敏度 及性价比。它们二者都是小体积、低功耗的模块。5 基于以上方案,本设计采用方案四,通过无线收发模块 f05p/j04v 与 pt2262/pt2272 的编解码集成电路共同实现公交车的自动报站。 常用的编解码集成电路芯片为:pt2262/pt2272。它们的引脚图如下: 图 3.3 编解码芯片 pt2262/2272 引脚图 pt2262 最多可有 6 位数据端管脚,编码信号是由 8 位地址码、4 位数 据码以及同步码组成的一个串行码字。pt2262 和 pt2272 的地址编码必须完 13 全一致,而且振荡电阻也必须匹配。一般 pt2262 的振荡电阻采用 12 兆欧, pt2272 用 200 千欧匹配。编码信号从 pt2262 的 17 脚 dout 输出,由无线射 频发射模块 f05p 的数据信号输入端发射出去。该信号经无线射频接收模块 j04v 接收送至解码芯片 pt2272,只有当 pt2272 连续三次检测到相同的地 址码加数据码之后,其 vt 脚才输出高电平,同时 pt2262 的 dout 脚也输出 高电平。6 pt2262: a0-a11:地址管脚,用于进行地址编码。 d0-d5:数据输入端。 te:编码启动端,低电平有效。 osc1/osc2:振荡电阻的输入/输出端。 dout:编码输出端,正常时为低电平。 pt2272: a0-a11:地址管脚,必须与 2262 一致,否则不解码。 din:数据信号输入端,来自接收模块输出端。 vt:编码有效确认输出端(常低),解码有效变成高电平(瞬态)。 3.3.2 设计电路及说明 无线射频发射电路原理框图如下: 地址设定pt2262 编码高频发射电路 图 3.4 无线射频发射电路原理框图 此部分需要安装在各个公交站点。本设计中,地址设定通过 pt2262 的 14 1-8 脚设定,它一般有三种状态:接电源正极、接地及悬空。这样就会有 6561 组不同的编码,一般城市的公交车站点为 20 个,满足设计需要。 pt2262 完成的是编码功能,通过其数据端口所接的按键触发电路传送 4 位 并行数据,并由高频发射电路进行调制、功率放大和发送。这里,按键触 发电路与二极管组合给芯片 pt2262 上电,无线射频发送模块 f05p 则充当 了高频发射电路部分。具体电路图如下: 图 3.5 无线射频发射电路 3.4 无线射频接收电路 3.4.1 设计电路及说明 无线射频接收原理框图如下: 选频放大检波滤波整形pt2272 解 码 图 3.6 无线射频接收原理框图 此部分应该与语音电路、单片机最小系统以及考核系统连在一起安装 15 在公交车上。本设计中,地址编码且是加密的,只有开发者知晓。而且 pt2272 的地址比须和 pt2262 的完全一致。此处,我们在接收端接收到的信 号是高频的载波信号,载波信号经过选频、放大、检波、滤波、整形之后, 才能由解码芯片 pt2272 进行解码。由于无线接收模块 j04v 内部具有放大 整形电路,所以它在这里起到的就是放大、检波、滤波、整形的作用。 j04v 只适合数据信号的接收,而不适合模拟信号。pt2272 通过数据端和数 据信号输入端与单片机相连。其具体电路图如下: 图 3.7 无线射频接收电路 检波:解调,从已调波提取调制信号的过程。 滤波:将信号中特定波段频率滤除的操作,提取有用信号。 3.5 语音电路 3.5.1 设计思路 根据公交车报站的顺序报站和反向报站这一特点,本设计将语音电路 设计如下:首先将所需要报站的站台语音信息按顺序分段录入语音芯片中。 16 由于本系统中 pt2262 和 pt2272 的地址码是一样的。所以当 pt2262 的编 码发射后,只要 pt2272 接收到相同的编码信号,就认为是本系统的信号, 并且同时进行语音信息的播放。当进行顺向报站时,第一次接收到相同的 编码信号就播放第一段录音,也就是进行第一站的播报;第二次接收到相 同的编码信号就播放第二段录音,也就是进行第二站的播报,以此类推。 反向报站时,从最后一段开始播放。 3.5.2 设计电路及说明 本设计采用的是 isd4004 语音芯片。该芯片内含振荡器、防混淆滤波 器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。单片 8 至 16 分 钟录放,可反复录音 10 万次,满足报站所需要求。该芯片必须由微控制器 控制,操作命令可通过串行通信接口 miso 送入。由于公交车内噪声较大, 所以采用 tda2822 集成功放电路。此功放电路具有集成度高,外围元件少, 音质好等特点。由于本功放为直接耦合,输入信号时不能带直流成分。如 果有直 流成分时,则必须在输入端串接 4.7-10uf 左右的电容隔开,否则电流过大 会造成扬声器的烧毁。 17 图 3.8 isd4004 语音芯片引脚图 语音芯片 isd4004 的各引脚功能如下:7 ss:器件选择,低电平有效。 mosi:串行输入端。 miso:串行输出端。 nc:空脚。 audout:音频信号输出端,能驱动 5 千欧负载。 amcap:自动静噪端,大信号下不衰减,静音时衰减 6db。 rac:行地址时钟输出,内部存储器共分为 800 行,当操作到达行末时,本 端输出一低电平脉冲。 int:中断输出,当存贮器溢出或放音结束标志位出现时,该端为低电平并 保持。 xclk:外部时钟输入端,不用时接地。 sclk:串行时钟,用于同步串行数据。 tda2822 引脚见图 3.9,语音电路的硬件电路见图 3.10。 图 3.9 tda2822 引脚图 18 图 3.10 语音电路 3.6 考核系统 3.6.1 设计电路及说明 考核系统主要由开关型霍尔元件电路、lcd 显示电路以及报警电路组成。 该部分的系统原理框图如下: 霍尔传感器 lcd 显示 报警电路 单片机 at89c51 外部信号 图 3.11 考核系统原理框图 19 (1)开关型霍尔元件电路:作为常用的测速元件,霍尔传感器利用霍尔效应 能将磁转换为电。其获取信号的方式为:在公交车的转轴齿轮盘上粘一粒 磁钢,并将霍尔器件固定在前叉上。在车轮转动的过程中,霍尔器件会与 磁钢接触,然后就会不断的产生脉冲信号。本设计中,利用霍尔传感器将 采集到的脉冲信号输入引脚 p3.5(t1) ,车轮每转动一圈,霍尔传感器就输 出一个低电平脉冲信号,用 t0 进行定时,然后用 t1 对所定时间内的脉冲 进行计数。这里,里程值为脉冲数 n 与公交车车轮周长 l 的乘积。经查找 资料得知,型号为“10.00-20” (轮胎宽 10 英寸,钢圈 20)的公交车车轮 直径 r1 为 1.016 米,型号为“9.00-20”的公交车车轮直径 r2 为 0.965 米。 由周长计算公式 l=3.14*r(r 为直径值)可得:l1=3.19 米,l2=3.03 米。 速度值可由公式“速度=车轮周长 l/车轮每转一圈所用的时间 t”计算得知。 (2)lcd 显示电路:本设计仿真时采用 lcd1602 作为 2*16 字、点阵字符式液 晶显示模块来显示公交车的里程及速度值,从而让司机对该车的行驶状况 有所了解。此液晶模块具有显示质量高、数字式接口、功率消耗小等特点。 此模块采用 14 引脚接线: vss:接地。 vee:可不接。 vdd:接电源正极。 rs:数据/命令寄存器选择端。高电平时选择数据寄存器,低电平时选择命 令寄存器。 rw:读/写选择端。高电平读,低电平写。 20 e:使能端。由高电平跳变成低电平时,液晶模块执行命令。 d0-d7:8 位双向数据总线。具体连接电路见图 3.12。 本模块中:显示缓冲区 ddram 有 80 个单元,第 1 行的地址为 00h- 0fh, 第 2 行的地址为 40h-4fh。ddram 单元存放的是要显示字符的 ascii 码。字 符发生器 cgrom 存储了不同的点阵字符图形,每一个字符在它里面都有一 个固定的代码。例如,经查表可得,字符“.”的代码为 2eh,字符“6”的 代码为 36h。本模块的控制是通过操作命令完成的,它有特定的操作命令。 例如:0x04 表示的是光标从最后一位开始往前显示。0x01 表示的是对 lcd 进行清屏。 图 3.12 lcd 显示电路 (3)本设计中,报警电路采用的是蜂鸣器。它是一种常用于单片机应用系统 的电声转换器件,使用 pnp 型三极管进行驱动控制。当所测速度超过设置 的该值时,p3.1(txd)引脚输出低电平,三极管导通,蜂鸣器发出声响。 电路图如下: 21 图 3.13 报警电路 (4)单片机的 p2.4 口接开关 key1 用来控制里程值及速度的显示。 p2.5 口 接 key2 用来选择车轮的周长为 3.19 米,p2.6 口接 key3 用来选择车轮的周 长 为 3.03 米。 考核系统与语音电路的连接图如下: 图 3.14 语音报站与考核部分硬件电路图 22 4、软件部分设计 在软件设计时,应注意以下几个方面:程序模块化。程序流程图。 通常在编制程序前,要先画出程序流程图。合理分配资源。程序注释。 应该在程序的有关位置添加功能注释,提高程序的可读性。8 本设计的程序部分采用 c 语言编制。c 语言是国际上广泛流行的计算 机高级语言。它具有以下特点:语言简洁、紧凑、使用方便、灵活。 运算符及数据类型丰富。具有结构化的控制语句,语法限制不太严格, 程序设计自由度大。允许直接访问物理地址,能进行位操作。用 c 语 言编写的程序可移植性好,生成目标代码质量高,程序执行效率高。 本设计的软件部分设计主要包括:语音报站程序、考核模块主程序、 里程及速度值计算子程序、lcd 显示子程序、定时计数子程序。 4.1 语音报站程序设计 该部分程序包括两个子程序:录音子程序以及放音子程序。语音芯片 isd4004 在器件延时后才能开始操作。因此,当用户发完上电指令后,必 须等待延时才能发出一条操作指令。部分指令如下: powerup:上电,等待延时后器件可以工作。 set paly:从指定地址开始放音,比须后跟 play 指令使放音继续。 play:从当前地址开始放音,直至 eom 或 ovf。 set rec:从指定地址开始录音,必须后跟 rec 指令录音继续。 rec:从当前地址开始录音,直至ovf 或停止。 23 stop:停止当前操作。 stop wrdn:停止当前操作并掉电。 rint:读状态:ovf 和 eom。 开始 送录音地址 开始录音 返回 键是否按下 y n 图 4.1 录音子程序 根据地址判断释放哪段录音 开始 自动放音 送放音地址 返回 24 图 4.2 放音子程序 4.2 考核模块主程序设计 程序流程图如下: 开始 初始化 p1.6=1? p1.7=1? 出错信息 将车轮周长调入 p1.0=1? 调用里程、速度值子程序 y n n y y n y 返回 清屏 25 图 4.3 考核模块程序流程图 先在系统中设定好该公交车车轮的周长,即:空调车时,p2.5 口所接 的按键 key2 闭合,此时 l=3.19m;一般车时,p2.6 口所接的按键 key3 闭合,此时 l=3.03m。当按下任意周长选择键后,再按下速度里程值读取 键 key1 时,lcd 中会显示出相应的里程及速度值。如果不设置公交车的 周长时,当按下 key1 键时,lcd 中显示出错信息“error” 。当再次按下 key1 键时,lcd 会被清屏。 4.3 里程及速度计算子程序设计 p1.0 口所连接的 key1 键按下时,key1=0,lcd 的显示屏上同时显示里 程和速度值,第 1 行显示的是里程值,第 2 行显示的是速度值。设车轮周 长为 l,里程值 s=车轮周长 l*车轮转过的圈数 n,速度(瞬时速度)=车轮 周长 l/车轮转一圈所用的时间 t。其中:用 t0 定时 10ms,用 t1 对 10ms 内 所检测到的脉冲个数 n 进行计数,t=0.01/n。本设计中,里程的单位为 m, 速度的单位为 m/s。在实际应用中,我们认为速度大于 80km/h(22.2m/s) 为超速。由于本设计中存在按键抖动的问题,所以我们使用软件延时 10ms 对其进行消抖。命令为:delay(10)。 计算出速度值后,与单片机中已设置好的速度上限值进行比对:如果 超过该值,则触发报警电路,蜂鸣器发出声响,并同时显示该速度值。如果 小于该值,则只进行相应速度值的显示。流程图如下: 26 计算里程、速度 开始 p1.0=1? n n 清屏 y 是否超速? 报警电路 y 显示速度 n 返回 图 4.4 里程速度计算子程序流程图 4.4 lcd 显示子程序 首先要对 lcd 进行初始化,然后进行相应功能的设置。之后在 lcd 进 行显示之前,要对 lcd 判忙,这里我们用判忙函数 check 完成此功能。在 对 lcd 送地址、送数据以后就可以进行相应的显示了。该部分程序流程图 如下: 27 开始 液晶初始化 判断是否显示 字符 相应功能的设置 送地址 送数据 判断是否显示完 返回 n y y n 图 4.5 lcd 显示子程序流程图 里程的单位 m、速度的单位 m/s 以及出错信息 error 都是通过 lcd 逐个 字符显示的。各个字符的代码如下: 28 m0x6d /0x2f s0x73 e0x65 r0x72 o0x6f 表 1 字符代码 4.5 定时计数子程序 本设计使用的是单片机内部的,由高 8 位和低 8 位两个寄存器组成的定 时/计数器:t0 和 t1。工作方式寄存器 tmod 用来设置定时/计数器的工作 方式。低 4 位用于设置 t0,高 4 位用于设置 t1。其格式如下: gatec/tm1m0gatec/tm1m0 t1t0 图 4.6 tmod 的格式 门控位 gate=0 时,使 tr0=1 或 tr1=1,可以启动定时/计数工作。其中: tr0(tcon.4)为 t0 的运行控制位,tr1(tcon.6)为 t1 的运行控制位。 定时计数选择位 c/t=0 时为定时模式,c/t=1 时为计数模式。 工作方式设置位 m1m0:01 为工作方式 1,表示 16 位定时/计数器 计数个数 n 与计数初值 x 的关系为: 29 x=65536-n,初值在 65535-0 范围时,计数范围为 1-65536。计数初值要分 解成 2 个字节并分别送入 th0、tl0(或 th1、tl1)中。 本设计采用 12mhz 的晶振,所以机器周期为 tcy=1/(12*(1/12)=1us, n=t/tcy=10000,x=65536-10000=5536=15a0h。其中,15h 送入 th0 中,a0h 送入 tl0 中。 综上所述,当 t0 用作定时器,t1 用作计数器时,可将 tmod 设置为: 0x51h,即:01010001b。由于:et0(ie.1)为定时器/计数器 t0 中断允许位, et1(ie.3)为定时器/计数器 t1 中断允许位,ea(ie.7)为 cpu 中断允许位, 所以在主程序设置中,et0=1,et1=1,ea=1。本设计中,t0 定时时间为 10ms,计算定时内脉冲的个数 n 用公式:n=num*65536+th1*256+tl1,其中 num 为定时溢出时计数器的值。 5、仿真 本设计主要分为三大部分,无线射频收发电路、语音电路以及考核电 30 路。其中,无线射频收发电路由 pt2262 及 pt2272 来完成,由于 protues 中没有此类芯片信息,所以这部分不进行仿真。语音电路同样也不能进行 仿真。所以这里将考核电路单独进行仿真。 5.1 考核部分仿真 protues 软件中没有霍尔传感器的元件信息,所以在仿真时,直接在 t1 口输入方波信号,其频率可随设计需要改动。信号仿真图如下: 图 5.1 信号仿真 以下为仿真的几组数据: 当没有输入车轮周长信息时,显示出错信息。如下: 图 5.2 出错信息的显示 当信号的频率设置为 10hz,车轮周长为 3.03m 时的显示结果,乱码显示。 图 5.3 乱码显示 当输入的信号频率设置为 1hz,车轮周长设置为 3.19m 时,显示如下数 据。我们可通过公式来验证其错对。 31 图 5.4 正常数据显示 s=l*n;v=l/t;f=n/0.01;t=0.01/n 其中,l 为车轮周长,f 为所输入信 号的频率,n 为所测的脉冲数,0.01 为定时 10ms。经过计算得知,所测速 度和里程值正确。 经过反复的测量发现:误差的来源是测量时接收到的脉冲数。由于脉 冲数只能为整数,所以只要它接收到信号就算有一个脉冲,而不管此脉冲 是不是完整。 6、结论 本次毕业设计的是基于单片机的公交车的自动考核与报站。它完成了 设计所需的俩大基本功能,即自动报站与考核。虽然报站部分无法进行仿 32 真,但由于编解码芯片 pt2262/pt2272 集成电路的广泛应用,此部分是可 以实现的。考核部分则实现了对速度和里程值的简单测量。 在本次毕业设计过程中,我对无线射频收发电路的原理有了较深的了 解,也对单片机及编解码芯片的基本功能有了更深的认识。由于本设计的 软件部分是用 c 语言编写,所以此次毕业设计又让我巩固了以前学到的 c 语言知识。虽然设计过程中遇到的问题很多,但在自己及老师的耐心工作 下,它们还是被我们逐个解决。 本次毕业设计虽然内容繁多,过程繁琐,但我收获颇多。它让我们为 以后的工作积累了经验,也让我们认识到以后工作过程当中耐心及认真的 重要性。 答谢 本次毕业设计是在张心歌老师的耐心指导下完成的,在此特表示感谢。 经过本次毕业设计,我深深的了解到:只有努力才能获得成功。在刚刚拿 33 到这个题目时,我就被难住了,根本不知道该从哪下手。由于对单片机知 识的不精通,很长一段时间我什么都没有做出来。经过张老师不厌其烦的 讲解及鼓励,我终于有了些思路。在最后的紧要关头,我的设计终于出来 了。 在此还要感谢我的舍友,是她们帮助我完成考核系统的编程部分,最 后感谢学校领导为我们提供的这次学习、锻炼的机会。 参考文献 1 高峰单片微型计算机原理与接口技术第二版,北京,科学出版社 ,2008 年 1 月 2 李全利单片机原理及接口技术高等教育出版社,2009 年第 2 版 34 3 王为青,邱文勋51 单片机应用开发案例精选北京,人民邮电出版社,2007 年 8 月第 1 版 4 全泽昌,谢自美,王文龙无线收发一体芯片 tr3001武汉,载微电子学与计算 机2001 年 5 期 5 李强,唐铭卓,杨桂芹无线收发模块设计实现兰州交通大学,2010 年 1 期 6 赵秋利用编解码芯片的无线收发电路南京,载信息化研究第 35 卷第 9 期, 2009 年 9 月 7 古玉年isd4004 系列 8-16 分钟单片语音录放电路及其应用苏州,载苏州职业 大学学报2002 年第 2 期 8 魏伟,胡玮,王永清51 单片机 c 语言开发与应用技术北京,化学工业出版社, 2010 年 6 月第 1 版 9 周波,冯顽童,胡建龙公交车自动报站系统的设计四川理工学院,2001 第 3 期 10 许连华,李学庆基于 gps 的公交车自动报站系统山东大学,2005 年 12 月 11 童强民一种基于单片机系统的无线遥控技术安徽,载电脑知识与技术 2009 年 5 月 附录 考核系统及语音报站程序 #include #include #include #include #define uchar unsigned char #def

温馨提示

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

评论

0/150

提交评论