




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_课 程 设 计课 程 EDA技术课程设计 题 目 出租车自动计费系统 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 邵文瀚 学生学号 080901140717 指导教师 赵丽华 精品资料东北石油大学课程设计任务书课程 EDA技术课程设计题目 出租车自动计费系统专业 电子信息工程 姓名 邵文瀚 学号 080901140717主要内容、基本要求、主要参考资料等主要内容:设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。基本要求:1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元;2、行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。4、用LED显示行驶公里数,两个数码管显示收费金额。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日一、总体设计思想1.基本原理随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。大体设计思路为把传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,系统结构图如图。2.设计框图根据计费器设计要求,可将该系统分成四大模块,一块为计费模块,一块为时间计时模块,一块为路程控制模块,另一块为输出显示模块。速度控制模块路程控制模块计费模块扫描显示模块二、设计步骤和调试过程1、总体设计电路 主控机系统采用了Atmel 公司生产的 AT89S52单片机,它含有256 字节数据存储器,内置8K 的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是AT89S52 工作所需的最简外围电路。单片机最小系统电路图如下图所示。2、模块设计和相应模块程序2.1速度控制程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity sudukongzhi isport(clk,reset,start:in std_logic; k:in std_logic_vector(2 downto 0); clkout:out std_logic);end sudukongzhi;ARCHITECTURE FUN OF sudukongzhi IS signal count1:std_logic_vector(1 downto 0); signal tmpclk,clks:std_logic; begin kinside=000-k; clks_label: process(reset,clk) variable count2:std_logic_vector(2 downto 0); begin if reset=0 then count2:=000; elsif (clkevent and clk=1) then if start=1 then if count2=kinside then count2:=000; end if; if not(k=000) then count2:=count2+1; end if; if count2=001 then tmpclk=not tmpclk; end if;end if;end if;end process; clkout=tmpclk;end FUN;2.2路程控制程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY luchengkongzhi ISPORT(clk,reset:in std_logic; lucheng1:out std_logic_vector(3 downto 0); lucheng2:out std_logic_vector(3 downto 0);end luchengkongzhi;ARCHITECTURE FUN OF luchengkongzhi ISbegin process(clk,reset) variable mm:std_logic_vector(11 downto 0); begin if reset=0 then elsif clkevent and clk=1 then if mm(3 downto 0)=1001then mm:=mm+7; else mm:=mm+1; end if; if mm(7 downto 4)=1010then mm:=mm+01100000; end if; if mm(11 downto 8)=1010then mm:=mm+011000000000; end if; end if; lucheng1=mm(3 downto 0); lucheng2=mm(7 downto 4); lucheng3=mm(11 downto 8); end process;end FUN; 2.3计费模块程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY jifeimokuai ISPORT(clk,reset:in std_logic; judge2:in std_logic_vector(3 downto 0); judge3:in std_logic_vector(3 downto 0); jifei1:out std_logic_vector(3 downto 0); jifei2:out std_logic_vector(3 downto 0); jifei3:out std_logic_vector(3 downto 0); jifei4:out std_logic_vector(3 downto 0);end jifeimokuai;ARCHITECTURE FUN OF jifeimokuai ISSIGNAL en:STD_LOGIC;signal shoufei:std_logic_vector(7 downto 0);signal shoufeijishu:std_logic_vector(15 downto 0);begin shoufei=00110011when(shoufeijishu(15)=1) or(shoufeijishu(14)=1) or(shoufeijishu(13)=1) else00100010;en=0 when judge3=0000 and judge2(3 downto 2)=00 and (judge2(1)=0)or (judge2(1)=1 and judge2(0)=0) else 1; process(clk,reset) variable mm:std_logic_vector(15 downto 0); begin if reset=0then mm:=0000011100000000; elsif clkevent and clk=1 then if en=1 then mm:=mm+shoufei; end if; if mm(3)=1 and (not(mm(2 downto 1)=00)then mm:=mm+6; end if; if mm(7)=1 and (not(mm(6 downto 5)=00)then mm:=mm+01100000; end if; if mm(11)=1 and (not(mm(10 downto 9)=00)then mm:=mm+011000000000; end if; if mm(15 downto 12)=1010then mm:=mm+0110000000000000; end if; end if; jifei1=mm(3 downto 0); jifei2=mm(7 downto 4); jifei3=mm(11 downto 8); jifei4=mm(15 downto 12); shoufeijishu=mm; end process; end FUN;2.4扫描显示模块程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity xianshimokuai isport(clk:in std_logic; p8:in std_logic_vector(3 downto 0); p7:in std_logic_vector(3 downto 0); p6:in std_logic_vector(3 downto 0); p5:in std_logic_vector(3 downto 0); p4:in std_logic_vector(3 downto 0); p3:in std_logic_vector(3 downto 0); p2:in std_logic_vector(3 downto 0); p1:in std_logic_vector(3 downto 0); xuanze:out std_logic_vector(7 downto 0); shuzhi:out std_logic_vector(7 downto 0);end entity;ARCHITECTURE FUN OF xianshimokuai IS signal count:std_logic_vector(2 downto 0); signal tmp:std_logic_vector(3 downto 0); signal choicein:std_logic_vector(7 downto 0); signal datain:std_logic_vector(7 downto 0);begin clk1_label: process(clk) begin if clkevent and clk=1 then count=count+1; end if; end process; clk2_label: process(clk) begin if clkevent and clk=0 then xuanze=choicein; shuzhi(7 downto 1)=datain(7 downto 1); if(count=0110 or count=0010) then shuzhi(0)=1; else shuzhi(0)=0; end if; end if; end process; choicein=11111110 when count=000else 11111101 when count=001else 11111011 when count=010else 11110111 when count=011else 11101111 when count=100else 11011111 when count=101else 10111111 when count=110else 01111111; tmp=p1 when count=000else p2 when count=001else p3 when count=010else p4 when count=011else p5 when count=100else p6 when count=101else p7 when count=110else p8; with tmp select datain(7 downto 1)=1111110 when 0000, 0110000 when 0001, 1101101 when 0010, 1111001 when 0011, 0110011 when 0100, 1011011 when 0101, 1011111 when 0110, 1110000 when 0111, 1111111 when 1000, 1111
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省东莞市2022-2023学年九年级上学期期中化学试题(含答案)
- 2025医院消毒中心技能知识题库
- 电石炉知识培训课件
- 高级职称评定课件模板
- 电焊课件教学课件
- 电焊机维护保养课件
- 电焊技法知识培训课件
- 3-Oxo-deoxycholoyl-CoA-生命科学试剂-MCE
- 软件开发及技术服务协议
- 保洁员考试试题及答案选择题
- 农业代收代付业务管理规定
- 专业音响灯光租用协议(2024年版)
- 2024年短剧整合营销指南报告
- 小学语文基础知识单选题100道及答案解析
- 广西南宁宾阳县昆仑投资集团有限公司招聘笔试题库2024
- 人教版地理七年级上册《第一节 大洲和大洋》说课稿2
- 登高车施工方案
- 《多彩的超轻粘土》校本课程教案(共10课)
- 检验标本采集手册手册
- 《泵系统节能》课件
- 新制定《公平竞争审查条例》主题
评论
0/150
提交评论