江苏师范大学出租车计价器陈泰兴.doc_第1页
江苏师范大学出租车计价器陈泰兴.doc_第2页
江苏师范大学出租车计价器陈泰兴.doc_第3页
江苏师范大学出租车计价器陈泰兴.doc_第4页
江苏师范大学出租车计价器陈泰兴.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

VIP免费下载

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

文档简介

江苏师范大学科文学院课程设计报告江 苏 师 范 大 学 科 文 学 院本 科 生 课 程 设 计课 程 名 称: 课程设计 题 目: 出租车计价器 专 业 班 级: 电子信息工程 学 生 姓 名: 陈泰兴 学 生 学 号: 118326202 日 期: 2014年6 月15日 指 导 教 师: 陈 斯 科文学院教务部印制目 录摘 要3第一章 概述41.1意义:41.2应解决的问题:41.3基本要求:41.4理论依据:5第二章 各模块功能简述52.1 AW60单片机性能概述52.2 霍尔元件工作原理62.2.1 霍尔传感器测量原理72.2.2 转速测量方法72.3 5110液晶显示原理8第三章 硬件详细设计93.1 系统的硬件构成及功能93.2里程计算、计价单元设计9第四章 软件设计及分析114.1 系统主程序114.1.1 中断程序114.1.2 计算程序124.1.3 显示程序13总结19摘 要出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,出租车计价器的研究也是十分有应用价值的。用现在所学的专业知识我自己动手做一个简易的出租车计价器,用霍尔元件的霍尔效应车轮每个转一周产生一个脉冲,并配合AW60单片机、LCD 5110液晶屏显示,实现了计价功能,价格、路程通过液晶屏显示,起步价5元,超过5元每公里2元通过软件实现,最高计价999元。关键词:出租车计价器;诺基亚5110液晶屏;霍尔元件;马达AbstractTaximeter is the passenger and driver sides trading guidelines, it is an important symbol of taxi industry development, is the most important tool in the taxi. Interests of its relations with the parties to the transaction. Meter with good performance both for our taxi driver or passengers is very necessary. Therefore, research on the taximeter is also a great value. Now the knowledge I learned a simple DIY taximeter, With hall element of hall effect the wheels turn each week to produce a pulse, and comply with AW60 single-chip microcomputer 5110 LCD screen, LCD display, implements the valuation function, price, journey through the LCD screen display, will start at 5 yuan, more than 5 yuan to 2 yuan per kilometer by software implementation, the highest valuation of 999 yuan. Keywords : The taximeter;Hall element A3144 ;LCD5110 ;The motor ;第一章 概述 随着社会的进步以及人们生活水平的日益提高都促使交通工具的不断变化,无论是在大城市或是中小城市越来越多的出租车公司不断的出现。出租车的出现方便了人们的生活,对于现在快节奏生活方式的人们来说出租车无疑是最好的交通工具。计费器的应用帮助司机结算价钱提供方便的途径,也给乘客带来了便利,节约了大量宝贵的时间,可谓功劳不浅!其收费的方式自然而然就被给予关注,比如收费标准以及行驶里程等。一个好的出租车计费器,应该是性能良好,功能齐全,外形美观的精品,这就需要设计者善于观察精于构思了。利用所学的专业知识,我们组设计并制作了简易出租车计价器。1.1意义:简易出租车计费器的设计让同学们很好的掌握了单片机和5110液晶等的工作原理和使用方法,巩固和深刻了解了专业知识,也让同学们熟悉了电子线路设计的过程和动手操作的注意点,更好的让同学们积累了一定的电路操作的动手能力。本次的课程设计是组队设计,也很好的加强了同学们的团队工作精神,增进了同学之间的友情。1.2应解决的问题:计价标准和模拟车轮转动问题。1.3基本要求:行车费用按车轮转小于等于30圈(由秒脉冲进行模拟),按起步价 5元计;超过30圈按每1圈2元计价;用5110液晶显示金额(最大值为999元)。1.4理论依据:选用Freescale(飞思卡尔)半导体公司的S08系列单片机,型号为AW60。显示方面分别采用的是LCD 5110液晶显示。模拟车轮转动采用车模马达和霍尔元器件,马达转动模拟车轮转动一周,霍尔元件产生一个脉冲,并通过单片机捕捉到脉冲并用软件进行计算行驶路程以模拟真实计价器。记录数据通过液晶显示从而完成整个项目的设计。第二章 各模块功能简述2.1 AW60单片机性能概述 (1)最高达40MHz的CPU工作频率和20Hz的内部总线工作频率表;时钟源选项包括晶振、谐振器、外部时钟或内部产生的时钟。(2)相比HC08 CPU指令集,S08 CPU增加了BGND指令。(3)单线后台调试模式接口;增强的断点能力,允许单一的断点设置在线调试(在片内调试的模块增加了多于两个的断点)。(4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程Flash存储器,带有块保护和安全选项。(5)可选的计算机正常操作(COP)复位;低电压检测和复位或中断;非法操作码检测与复位;非法地址检测与复位。(6)ADC:多达16个通道,10位A/D转换器与自动比较功能;两个串行通信接口SCI模块与可选的13位中断;一个串行外设接口SPI模块;集成电路互连总线I2C模块运作高达100kbps的最高总线负载;8引脚键盘中断KBI模块。(7)Timers:1个2通道和1个6通道16位定时器/脉冲宽度调制器模板。具有输入、捕捉、输出比较、脉宽调制功能。2.2 霍尔元件工作原理根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件。它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用。霍尔传感器A3144是Allegro MicroSystems公司生产的宽温、开关型霍尔效应传感器,其工作温度范围可达-40150。它由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门输出极构成,通过使用上拉电阻可以将其输出接入CMOS逻辑电路。该芯片具有尺寸小、稳定性好、灵敏度高等特点,有两种封装形式,一种是3脚贴片微小型封装,后缀为“LH”;另一种是3脚直插式封装,后缀为“UA”5。A3144E系列单极高温霍尔效应集成传感器是由稳压电源,霍尔电压发生器,差分放大器,施密特触发器和输出放大器组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。它是一种单磁极工作的磁敏电路,适用于矩形或者柱形磁体下工作。可应用于汽车工业和军事工程中。霍尔传感器的外形图和与磁场的作用关系如图2-4所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。霍尔元件和磁钢 管脚图图2-1 霍尔传感器的外形图该霍尔传感器的接线图如图2-5所示。 图2-2 霍尔传感器的接线图2.2.1 霍尔传感器测量原理测量电机转速的第一步就是要将电机的转速表示为单片机可以识别的脉冲信号,从而进行脉冲计数。霍尔器件作为一种转速测量系统的传感器,它有结构牢固、体积小、重量轻、寿命长、安装方便等优点,因此选用霍尔传感器检测脉冲信号,其基本的测量原理如图2-6所示,当电机转动时,带动传感器运动,产生对应频率的脉冲信号,经过信号处理后输出到计数器或其他的脉冲计数装置,进行转速的测量6。图2-3 霍尔器件测速原理2.2.2 转速测量方法 转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动。根据霍尔效应原理,将一块永久磁钢固定在电机转轴上的转盘边沿,转盘随侧轴旋转,磁钢也将跟着同步旋转,在转盘下方安装一个霍尔器件,转盘随轴旋转时,受磁钢所产生的磁场的影响,霍尔器件输出脉冲信号,其频率和转速成正比。脉冲信号的周期与电机的转速有以下关系:n= (2-1)式中:n为电机转速;P为电机转一圈的脉冲数;T为输出方波信号周期。根据式(2-1)即可计算出直流电机的转速7。 霍尔器件是由半导体材料制成的一种薄片,在垂直于平面方向上施加外磁场B,在沿平面方向两端加外电场,则使电子在磁场中运动,结果在器件的两个侧面之间产生霍尔电势。其大小和外磁场及电流大小成比例。霍尔开关传感器由于其体积小,无触点,动态特性好,使用寿命长等特点,故在测量转动物体旋转速度领域得到了广泛应用8。2.3 5110液晶显示原理Nokia/诺基亚5110 LCD原理应用资料:LPH7366 是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点:84x48 的点阵LCD,可以显示4 行汉字,采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。支持多种串行通信协议(如AVR 单片机的I、MCS51 的串口模式等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。LCD 控制器驱动器芯片已绑定到LCD 晶片上,模块的体积很小。采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。LPH7366 的这些特点非常适合于电池供电的便携式通信设备第三章 硬件详细设计3.1 系统的硬件构成及功能计价器的单片机控制方案图如图1所示。它由以下几个部件组成:单片机AW60、总金额及单价显示部件、里程计算单元、串口显示驱动电路等。AW60系统利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“多功能出租车计价器总体电路图”。 图2.2总体电路图3.2里程计算、计价单元设计里程计算是通过安装在车轮上的霍尔传感器检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图2-3所示。AW60图2-3 传感器测距示意图由于霍尔器件,其工作电压范围比较宽(4.518V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。集成开关型霍尔传感器原理如图2-4所示。图2-4 集成开关型霍耳传感器原理我们选择了PTA0口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到40 次时,设为3 公里,单片机就控制将金额自动的加增加,其计算公式:3公里内 金额=起步价=5超过3公里 金额=(公里数-3)*2。第四章 软件设计及分析软件是单片机系统的灵魂,根据设计的要求,在本系统中主要有主程序、中断服务程序和液晶显示程序、计算子程序等。在主程序中主要完成了寄存器的初始化部分以及对键盘和显示的控制。而现在应用更广泛的是单片机C语言,因其简单明了,故此次课程设计采用单片机C语言编程。4.1 系统主程序 在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。 当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价、往返价格送液晶显示出来。程序流程如图3.1所示。开 始计数器、I/O、中断初始化、开计数器有无乘客P3.4=1?显示起步价5元显示04.1.1 中断程序 每当光电传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满50次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。 流程图如图3-24.1.2 计算程序计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:总金额=起步价+(里程-3)*单价;否则,执行公式:总金额=起步价;程序框图如3-3所示。里程3?总金额=起步价+(里程-3)*单价调用计算程序返回总金额=起步价4.1.3 显示程序编程时首先要给LCM复位,使LCM的控制参数为初始状态,再对LCM进行初始化功能设定(关显示屏、设置为扩充指令模式、设置电压、温度校正、显示字符模式选择、设置为基本指令、设置显示模式、清屏、开显示屏),接着就可以进行对LCM写入要现实的汉字了。 初始化程序设计LCD_init : 3310LCD初始化void LCD_init(void) LCD_RST = 0; / 产生一个让LCD复位的低电平脉冲 delay_1us(); LCD_RST = 1;/ 关闭LCD LCD_CE = 0; delay_1us();/ 使能LCD LCD_CE = 1; delay_1us(); LCD_write_byte(0x21, 0);/ 使用扩展命令设置LCD模式 LCD_write_byte(0xc8, 0);/ 设置偏置电压 LCD_write_byte(0x06, 0);/ 温度校正 LCD_write_byte(0x13, 0);/ 1:48 LCD_write_byte(0x20, 0);/ 使用基本命令 LCD_clear(); / 清屏 LCD_write_byte(0x0c, 0);/ 设定显示模式,正常显示 LCD_CE = 0; / 关闭LCD 清屏程序设计LCD_clear : LCD清屏函数void LCD_clear(void) unsigned int i; LCD_write_byte(0x0c, 0); LCD_write_byte(0x80, 0); for (i=0; i504; i+) LCD_write_byte(0, 1); LCD坐标函数程序设计LCD_set_XY : 设置LCD坐标函数输入参数:X :083 Y :05void LCD_set_XY(unsigned char X, unsigned char Y) LCD_write_byte(0x40 | Y, 0);/ column LCD_write_byte(0x80 | X, 0); / row 显示程序设计LCD_write_char : 显示英文字符输入参数:c :显示的字符;void LCD_write_char(unsigned char c) unsigned char line; c -= 32; for (line=0; line6; line+) LCD_write_byte(font6x8cline, 1); LCD_write_english_String : 英文字符串显示函数输入参数:*s :英文字符串指针; X、Y : 显示字符串的位置,x 0-83 ,y 0-5void LCD_write_english_string(unsigned char X,unsigned char Y,char *s) LCD_set_XY(X,Y); while (*s) LCD_write_char(*s); s+; LCD_write_chinese_string: 在LCD上显示汉字输入参数:X、Y :显示汉字的起始X、Y坐标; ch_with :汉字点阵的宽度 num :显示汉字的个数; line :汉字点阵数组中的起始行数 row :汉字显示的行间距测试:LCD_write_chi(0,0,12,7,0,0);LCD_write_chi(0,2,12,7,0,0);LCD_write_chi(0,4,12,7,0,0);void LCD_write_chinese_string(unsigned char X, unsigned char Y, unsigned char ch_with,unsigned char num, unsigned char line,unsigned char row) unsigned char i,n; LCD_set_XY(X,Y); /设置初始位置 for (i=0;inum;) for (n=0; nch_with*2; n+) /写一个汉字 if (n=ch_with) /写汉字的下半部分 if (i=0) LCD_set_XY(X,Y+1); else LCD_set_XY(X+(ch_with+row)*i),Y+1); LCD_write_byte(write_chineseline+in,1); i+; LCD_set_XY(X+(ch_with+row)*i),Y); 写数据程序设计LCD_write_byte : 使用SPI接口写数据到LCD输入参数:data :写入的数据; command :写数据/命令选择;void LCD_write_byte(unsigned char dat, unsigned char command) unsigned char i; /PORTB &= LCD_CE ; / 使能LCD LCD_CE = 0; if (command = 0) / PORTB &= LCD_DC ; / 传送命令 LCD_DC = 0; else / PORTB |= LCD_DC ; / 传送数据 LCD_DC = 1;for(i=0;i8;i+)if(dat&0x80)SDIN = 1;elseSDIN = 0;SCLK = 0;dat = dat 1;SCLK = 1; / SPDR = data;/ 传送数据到SPI寄存器 /while (SPSR & 0x80) = 0); / 等待数据传送完毕 /PORTB |= LCD_CE ;/ 关闭LCD LCD_CE = 1; 4.1.4 总程序代码 部分源程序:#include /* for EnableInterrupts macro */#include derivative.h /* include peripheral declarations */#include 5110.hunsigned int pluse=0; / 脉冲数 /unsigned int feiyong=0; / 费用 /unsigned int lucheng=0; / 路程 /void Init_Port(void);char ic_flag=0; /* 名称:Init_Port() 功能: IO 口初始化*/ void Init_Port(void) PTCDD=0XFF; PTADD=0X00; PTAPE=0XFF; /* 名称: main() 功能: 主函数*/void main(void) Init_Port(); LCD_Init(

温馨提示

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

评论

0/150

提交评论