EDA课程设计报告--出租车计费器

EDA课程设计报告--出租车计费器
EDA课程设计报告--出租车计费器

课程设计报告

课程名称数字系统与逻辑设计

课题名称出租车计费器的设计

专业通信工程

班级通信0902

学号200903020228

姓名肖俊

指导教师乔汇东胡倩

2011年7月9日

湖南工程学院

课程设计任务书

课程名称数字系统与逻辑设计课题出租车计费器的设计

专业班级通信0902

学生姓名肖俊

学号200903020228

指导老师乔汇东胡倩

审批乔汇东

任务书下达日期2011 年7月2日

任务完成日期2011 年7月9日

《数字系统与逻辑设计》课程设计任务书

一、设计目的

全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。

二、设计要求

1、设计正确,方案合理。

2、程序精炼,结构清晰。

3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

4、上机演示。

5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。

三、进度安排

第二十周星期一:课题讲解,查阅资料

星期二:总体设计,详细设计

星期三:编程,上机调试、修改程序

星期四:上机调试、完善程序

星期五:答辩

星期六-星期天:撰写课程设计报告

附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

目录

一.出租车计费系统的总体设计 (1)

1.1 出租车计费设计 (1)

1.2 基本设计思想 (1)

二.出租车计费系统的功能实现 (1)

2.1系统的总体框图 (1)

2.2 程序流程图 (2)

2.3 系统各功能模块的实现 (3)

三.系统调试与仿真 (10)

四.总结与体会 (12)

五.评分表 (14)

一.出租车计费系统的总体设计

1.1 出租车计费设计

该出租车计费器按下开关S1后开始计费和计里程数,起步价是3元,准行1公里,以后1元/公里。

1.2 基本设计思想

时钟输入为一个1KHz的系统时钟,直流电机模块每转一圈输出一个脉冲信号给CPU,另外用按键模块的S1 来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机模块用来模拟出租车的车轮子,每转动一圈认为是行走1 米,所以每旋转1000 圈,认为车子前进1 公里。系统设计是需要检测电机的转动情况,每转1000圈,分频模块输出一个上升沿信号。车费和里程数在一个8位7段数码管上显示,前4位显示里程,后4位显示费用。

二.出租车计费系统的功能实现

2.1系统的总体框图

该出租车计费系统由四个模块组成,分别是:

分频模块:将每1000个电机脉冲转化成1个输出脉冲

计费模块:计算应付车费

计程模块:计录已行里程

显示模块:将应付车费和已行里程显示在数码管上

各模块之间的关系为:

2.2 程序流程图

1.分频模块glclk.vhd :

2.计费模块cnt_fy.vhd :

图2

glclk 信号发生变化

图3

3.计程模块cnt_gl:

2.3 系统各功能模块的实现

1.分频模块:

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity glclk is port(pulse:in std_logic; reset:in std_logic;

glclk:out std_logic);

end;

architecture behav of glclk is signal temp:std_logic;

signal count:integer range 0 to 500;

begin

glclk 信号发生变化

图4

process(pulse,reset)

begin

if reset='1' then

count<=0;

temp<='0';

elsif pulse'event and pulse='1' then

if count>499 then

count<=0;

temp<=not temp;

else

count<=count+1;

end if;

end if;

end process;

glclk<=temp;

end;

2.计费模块:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt_fy is

port(glclk: in std_logic;

reset:in std_logic;

pul:in std_logic;

money0:out std_logic_vector(3 downto 0);

money1:out std_logic_vector(3 downto 0);

money2:out std_logic_vector(3 downto 0);

money3:out std_logic_vector(3 downto 0));

end;

architecture behav of cnt_fy is

signal money_cnt0:std_logic_vector(3 downto 0);

signal money_cnt1:std_logic_vector(3 downto 0);

signal money_cnt2:std_logic_vector(3 downto 0);

signal money_cnt3:std_logic_vector(3 downto 0);

--signal flag:integer range 0 to 4;

begin

process(glclk)

-- variable flag:integer range 0 to 4;

begin

if reset='1' then

money_cnt0<="0011";

money_cnt1<="0000";

money_cnt2<="0000";

money_cnt3<="0000";

elsif glclk'event and glclk='0' then

if money_cnt3=9 and money_cnt2=9 and money_cnt1=9 and money_cnt0=9 then

money_cnt0<="0000";

money_cnt1<="0000";

money_cnt2<="0000";

money_cnt3<="0000";

elsif money_cnt3/=9 and money_cnt2=9 and money_cnt1=9 and money_cnt0=9 then

money_cnt0<="0000";

money_cnt1<="0000";

money_cnt2<="0000";

money_cnt3<=money_cnt3+"0001";

elsif money_cnt2/=9 and money_cnt1=9 and money_cnt0=9 then

money_cnt0<="0000";

money_cnt1<="0000";

money_cnt2<=money_cnt2+"0001";

money_cnt3<=money_cnt3;

elsif money_cnt1/=9 and money_cnt0=9 then

money_cnt0<="0000";

money_cnt1<=money_cnt1+"0001";

money_cnt2<=money_cnt2;

money_cnt3<=money_cnt3;

elsif money_cnt0/=9 then

money_cnt0<=money_cnt0+"0001";

money_cnt1<=money_cnt1;

money_cnt2<=money_cnt2;

money_cnt3<=money_cnt3;

end if;

end if;

end process;

money0<=money_cnt0;--+"0011";

money2<=money_cnt2;

money1<=money_cnt1;

money3<=money_cnt3;

end;

3.计程模块:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt_gl is

port(glclk:in std_logic;

reset:in std_logic;

km_cnt0:out std_logic_vector(3 downto 0);

km_cnt1:out std_logic_vector(3 downto 0);

km_cnt2:out std_logic_vector(3 downto 0);

km_cnt3:out std_logic_vector(3 downto 0));

end;

architecture behav of cnt_gl is

signal cnt0:std_logic_vector(3 downto 0);

signal cnt1:std_logic_vector(3 downto 0);

signal cnt2:std_logic_vector(3 downto 0);

signal cnt3:std_logic_vector(3 downto 0);

begin

process(reset,glclk)

begin

if reset='1' then

cnt0<="0000";

cnt1<="0000";

cnt2<="0000";

cnt3<="0000";

elsif glclk'event and glclk='0' then

if cnt3=9 and cnt2=9 and cnt1=9 and cnt0=9 then

cnt0<="0000";

cnt1<="0000";

cnt2<="0000";

cnt3<="0000";

elsif cnt3/=9 and cnt2=9 and cnt1=9 and cnt0=9 then

cnt0<="0000";

cnt1<="0000";

cnt2<="0000";

cnt3<=cnt3+"0001";

elsif cnt2/=9 and cnt1=9 and cnt0=9 then

cnt0<="0000";

cnt1<="0000";

cnt2<=cnt2+"0001";

cnt3<=cnt3;

elsif cnt1/=9 and cnt0=9 then

cnt0<="0000";

cnt1<=cnt1+"0001";

cnt2<=cnt2;

cnt3<=cnt3;

elsif cnt0/=9 then

cnt0<=cnt0+"0001";

cnt1<=cnt1;

cnt2<=cnt2;

cnt3<=cnt3;

end if;

end if;

end process;

km_cnt0<=cnt0;

km_cnt1<=cnt1;

km_cnt2<=cnt2;

km_cnt3<=cnt3;

end;

4.显示模块:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity display is

port(CLK:IN STD_LOGIC;

b0,b1,b2,b3,a0,a1,a2,a3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

dx:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

wx:out std_logic_vector(7 downto 0));

end;

architecture behav of display is

SIGNAL CNT8:STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL A :STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

P1:PROCESS(CLK)

BEGIN

IF CLK'EVENT AND CLK='1' THEN

CNT8<=CNT8+1;

END IF;

END PROCESS;

P2:PROCESS(CNT8)

BEGIN

CASE CNT8 IS

WHEN "000"=>wx<="10000000";A<=b3;

WHEN "001"=>wx<="01000000";A<=b2;

WHEN "010"=>wx<="00100000";A<=b1;

WHEN "011"=>wx<="00010000";A<=b0;

WHEN "100"=>wx<="00001000";A<=a3;

WHEN "101"=>wx<="00000100";A<=a2;

WHEN "110"=>wx<="00000010";A<=a1;

WHEN "111"=>wx<="00000001";A<=a0;

END CASE;

END PROCESS;

P3:PROCESS(A)

BEGIN

CASE A IS

WHEN "0000"=>dx<="0111111";

WHEN "0001"=>dx<="0000110";

WHEN "0010"=>dx<="1011011";

WHEN "0011"=>dx<="1001111";

WHEN "0100"=>dx<="1100110";

WHEN "0101"=>dx<="1101101";

WHEN "0110"=>dx<="1111101";

WHEN "0111"=>dx<="0000111";

WHEN "1000"=>dx<="1111111";

WHEN "1001"=>dx<="1101111";

WHEN OTHERS=>NULL;

END CASE;

END PROCESS;

end;

三.系统调试与仿真

1.顶层元件仿真图:

从图中可看出,给一个复位信号后,费用的最低位为“0011”,即3,里程数的最低位为“0000”,即0,每当temp信号出现一个下降沿,

费用和里程数的最低位各加1,符合课题要求。

图5

从仿真图可以看出,电机信号pulse每产生1000个周期,输出信号发生一个周期的变化

图6

3.计程模块仿真图:

从仿真图可看出,glclk每出现一个上升沿,里程数加1

图7

4.计费模块仿真图:

从仿真图可看出,费用初始值为3,glclk每出现一个上升沿,费用数加1

图8

从仿真图可以看出,每当系统时钟信号CLK出现一个上升沿,位选数据wx右移一次,段选信号dx在wx为“00000001”时输出8的数码管显示编码

图9

四.总结与体会

通过这次紧张而又充实的EDA课程设计,我感受到了VHDL语言和普通软件语言之间的区别,也能够更加熟练地运用VHDL语言进行逻辑电路的设计了,受益匪浅。

在刚拿到课题的时候,我对课题的第一个想法就是“容易”,因为出租车计费器从逻辑结构的角度来看十分简单,于是我信心满满地动手写起了程序。可当我在写第一个分频模块的过程中就发现自己完全错了,程序写完后进行仿真,就是达不到预期的结果,要么输出信号有毛刺,要么就是有延迟,回过头来检查程序,却看不出有什么错误。经过反复的修改和思考,才终于逐渐了解到,在VHDL语言中,数据的行为方式分为SIGNAL和VARIABLE两种,他们的行为方式和软件语言有很大不同,由于对这些区别理解不深,所以在编程的过程中,很容易陷入编软件语言的思维定势,从而产生这些错误。

在没有进行课程设计之前,我们的上机实践从来没有编写过规模如此的数字电路系统,最多就写写什么半加器,全加器,移位寄存器之类的小型实体。而这次课程设计要想实现课题要求的功能,必须将若干小型实体组合成一个相对大型的实体。不仅如此,在写完程序后,还要把程序下载到芯片内,连接相应的电子器件,观察真正的效果。所以,通过这次紧张的课程设计,我体会了从开始

利用VHDL语言编程到把设想放到真正在电子器件上实现的全部过程,提高了自己从事工程项目设计的能力。

另外,在课程设计的过程,我碰到了很多棘手的难题,虽然也进行了苦思冥想,却还是得不到解决方法,有时也有想放弃的念头,不过终于还是坚持了下来,完成了任务,我意识到今后不管是在工作还是学习中,做工程项目都需要有忍耐力和坚持。

五.评分表

计算机与通信学院课程设计评分表课题名称:出租车计费器的设计

教师签名:

日期:

出租车计价器课程设计报告

昆明理工大学信息工程与自动化学院学生实验报告 (2012 —2013 学年第 2 学期) 课程名称:可编程逻辑器件设计开课实验室:信自楼 2013 年4月 11日

一、引言 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们设计采用8086为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。 二、总体设计方案 利用8253作为定时/计数器,控制电机转速并测量电机的转数;8255作为输入输出接口,控制数码管显示启动后经过的里程数(小数点后取2位有效值)。 硬件连接说明: 直流电机控制器的基础上,增加了一个电机测速电路构成。 8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码;PC6、PC7输入行扫描码,用于识别按键,程序中仅使用了PC6行上的四个按键,其定义如下: X1:启动/停止键;X2:加速键,与X3、X4键组合使用;X3:“+”键;X4:“-”键。 A口仅使用了PA0,输出PWM脉冲信号,通过驱动芯片驱动电机,其输出电压的高低与PWM脉冲的占空比成正比。 电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里,送CPU记录,结果由数码管显示出来。

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

出租车自动计费器设计(课程设计报告模板)

. . . 目录 1 绪论 (1) 1.1设计背景 (1) 1.2QUARTUS II简介 (1) 1.3VHDL语言基础 (2) 2 出租车计费器总体设计结构 (2) 2.1系统设计要求和目的 (2) 2.2.1 系统设计要求 (2) 2.2.1 系统设计目的 (2) 2.2设计思路 (3) 2.3系统总体结构 (3) 2.4出租车计费器系统工作流程图 (4) 3 出租车计费器的实现 (5) 3.1出租车计费器的顶层原理图 (5) 3.2系统各功能模块的实现 (5) 3.2.1 计费模块JIFEI (5) 3.2.2 计量模块JILIANG (6) 3.2.3 显示控制模块SELTIME (7) 3.2.4 显示模块DELED (7) 4 出租车计费器系统仿真及分析 (8) 4.1计费系统的仿真 (8) 4.2单元模块的仿真及分析 (10) 4.2.1 译码显示模块的仿真及分析 (10) 4.2.2 显示控制模块的仿真及分析 (12) 4.2.3 计量模块的仿真及分析 (13) 4.2.4 计费模块的仿真及分析 (13) 5 锁定管脚及硬件实现 (14) 5.1锁定管脚图 (14) 5.2硬件实现 (14) 5.2.1 显示结果的几种情况 (15) 5.2.2 硬件实现总结 (16) 6 设计体会与总结 (17) 参考文献 (18) 附录 (19) 1JILIANG模块的VHDL编程 (19) 2JIFEI模块的VHDL编程 (21) 3SELTIME控制模块的VHDL编程 (22) 4DELED模块的VHDL编程 (23)

1 绪论 1.1 设计背景 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提高服务质量的必需品。本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 6.0软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。 1.2 QUARTUS II简介 QUARTUS II 是Altera公司的综合性CPLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QUARTUS II 支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

EDA课程设计报告资料

课程设计 设计题目: 学生姓名: 学号: 专业班级: 指导教师: 2015年月日

设计 题目成绩 课 程 设 计 主 要 内 容 指 导 教 师 评 语 签名:20 年月日

设计题目:测量放大器电路原理图和PCB板设计 一、实验目的 1.了解学习Protel 99SE的目的与意义; 2.掌握Protel 99SE绘制电路原理图方法与技巧; 3.掌握PCB设计方法与技巧。 二、实验要求 1.利用Protel 99SE绘制一张电路图; 2.对绘制好的电路图进行ERC检查; 3.生成网络表; 4.生成元件列表; 5.利用Protel 99SE完成对应的双面印刷电路板设计。 三、功率放大器设计 实验原理图如下图所示: 图1

四、protel制图 4.1设计电路原理图 1.电路原理图 电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面的设计工作。电路原理图的设计一般有如下步骤: (1)设置原理图设计环境; (2)放置元件; (3)原理图布线; (4)编辑和调整; (5)检查原理图; (6)生成网络表。 2.设计印刷电路板 印刷电路板设计是从电路原理图变成一个具体产品的必经之路,因此,印刷电路板设计是电路设计中最重要、最关键的一步。通常,印刷电路板设计的具体步骤如下: (1)规划电路板; (2)设置参数; (3)装入网络表; (4)元器件布局; (5)自动布线; (6)手工调整。 4.2 绘制测量放大器电路原理图 原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前提下力求美观。根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下: 1.启动原理图设计服务器 进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(Schematic Document)图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。如图2

电子线路CAD课程设计报告出租车计价器

电子电路CAD课程设计 课题名称出租车计价设计 所在院系 班级 学号 姓名 指导老师 时间

目录 第一章引言 (4) 第二章设计方案 (5) 2.1出租汽车里程计价表设计的要求及技术指标 2.2设计方案论证 第三章电路原理图的绘制 (7) 第四章电路板图的绘制 (8) 第五章课程设计总结 (12) 第六章电子元件清单 (13) 第七章总电路原理图 (14) 第八章参考文献 (16)

第一章引言 随着生活水平的提高,人们已经不再满足于衣食住的享受,出行的舒适已经受到越来越多人的关注。于是,出租车行业低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷,困扰着行业的发展。而在出租车行业中解决这矛盾的最好的方法就是使用计价器,用规范的价格来为乘客提供更加方便快捷的服务。同时,出租车计价器是乘客与司机双方的交易准则,是出租车行业发展的重要标志,它关系着交易双方的利益。现在,城市建设日益加快,象征着城市面貌的出租车行业也将加快发展,计价器的普及是毫无疑问的,所以未来出租车行业计价器的市场是很有潜力的。本文是为了探索计价器的设计而制作的。随着计算机和信息技术的发展,EDA(Electronic Design Automation,电子设计自动化)技术已经代替了传统手工设计和制作印刷电路板的方法,成为现代电子工程领域的一门新技术。EDA技术的发展和推广极大地推动了电子工业的发展,由此各类EDA工具软件也如雨后春笋般地蓬勃发展起来。原理图设计、PCB设计、电路仿真和PLD设计都是EDA设计技术中的重要组成部分,而Altium公司(原Protel Technology公司)推出的Protel DXP软件全面集成了EDA设计几大技术,而且它还包含了电路仿真印刷电路板的信号完整性分析、可编程逻辑器件FPGA数字电路设计和VHDL硬件描述语言的应用

出租车计价器 课程设计报告

软件学院 课程设计报告 课程 题目出租车计价器 班级集成13-4 专业集成电路设计与集成系统 学生学号 指导教师(填写自己班的指导教师) 年月日 1.课程设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的组合逻

辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 2.课程设计题目描述和要求 2.1.课程设计题目描述 ①.实现计费功能,计费标准为:按行驶里程计费,起步价为7.0元,并在车行3km 后按2.2元/km 计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。 ②.现场模拟功能:以开关或按键模拟公里计数,能模拟汽车起动、停止、暂停等状态。 ③.将车费和路程显示出来,各有一位小数。 2.2.总体设计思路框架 2.3.课程设计题目要求 ①.设计正确,方案合理。 ②.程序精炼,结构清晰。 ③.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 ④.上机演示。 ⑤.有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 3.设计思想和设计内容 3.1 出租车计费设计

该出租车计费器按下开关S1后开始计费和计里程数,起步价是7元,行驶3公里,以后2.2元/公里。并且设计选择模块,在车费超过20元每公里加收50%车费即3.3元/公里。 3.2 基本设计思想 出租车计费器根据设计要求可初步分为3方面——显示、记里程数、记费。之后再根据三方面分别设计模块。1.显示模块。一般计数器显示数字为1-F即16进制,而16进制不方便观看,所以在设计这一模块时我们将16进制改为10进制输出进而设计了译码模块。2、里程模块。设计要求对里程计数主要分为两个方面,计数以及公里数比较。即3公里之内收7元,3公里之后20元(通过计算为9公里)以内每公里2.2元,9公里以外为每公里3.3元。所以,我们将里程模块分为里程计数模块以为比较模块。3.计费模块。计费模块同里程比较模块所以将两个模块合二为一,为价格计算模块。 4.Verilog代码 4.1顶层模块 module taxi( clk,stop,rst_n, time1,time2,time3,time4, seg1,seg2,seg3,seg4 ); input clk; input stop; input rst_n; output [6:0]time1; output [6:0]time2; output [6:0]time3; output [6:0]time4;

EDA课程设计报告

湖北职业技术学院《EDA技术》课程设计报告 题目动态输出4位十进制频率计的设计所在学院电子信息工程学院 专业班级电信08304 学生姓名马强 学号08024839 指导教师王芳 完成日期2010年11月18 日

目录 一、概述 (3) 二、设计正文 (4) (一)设计目的 (4) (二)设计实现 (4) 1、端口说明 (4) 2、Cnt10模块说明 (5) 3、Tctl模块说明 (6) 4、锁存器reg16模块说明 (8) 5、Scan_led模块说明 (9) 6、顶层文件仿真 (10) 7、硬件下载 (11) 三、总结 (13) 四、感言 (14) 五、参考文献 (15)

概述 此次设计的主要目的是学习掌握频率计的设计方法;掌握动态扫描输出电路的实现方法;学习较复杂的数字系统设计方法。通过单位时间(1秒)内频率的计数来实现频率计的设计。此设计主要用四位十进制计数器,所以频率计数范围为100~9999Hz。然后锁存防止闪烁显示,最后由译码扫描显示电路输出到数码管进行显示输出。并且下载后会有一秒钟的延时后才会显示输出所计频率输出。设计下载后能够进行仿真频率的计数和静态显示,但是分频的设计程序有所缺陷导致长时间显示后会有1Hz的抖动。通过这次的设计能够更清楚的理解VHDL程序的描述语言,进行简单程序的编写和仿真。

动态输出4位十进制频率计的设计 一、目的 1.学习掌握频率计的设计方法。 2.掌握动态扫描输出电路的实现方法。 3.学习较复杂的数字系统设计方法 二、设计实现 4位十进制频率计外部接口如图1所示,顶层文件如图2所示,包含4中模块;Tctl、reg16、scan_led和4个cnt10。 (1)端口说明 F1Hz:给Tctl模块提供1Hz的频率输入。 Fin:被测频率输入。 scan_led:给scan_led模块提供扫描输入频率输入。 bt[1..0]:片选信号输出。 sg[6..0]:译码信号输出。 cout:进位输出。

(VHDL实验报告)出租车计费器的设计

电子科技大学成都学院学院

一、实验名称 出租车计费器的设计 二、实验目的 1、了解出租车计费器的工作原理。 2、学会用V HDL 语言编写正确的七段码管显示程序。 3、数量掌握用V HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 三、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是x x元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8 个七段码管,前四个显示里程,后三个显示费用。 在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 四、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。显示部分的七段码管扫描时钟选择时钟模块的

1KHz,电机模块的跳线选择GND端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000 圈,认为车子前进1公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加 1。七段码管显示要求为前 4个显示里程,后3个显示费用。 五、实验步骤 1、打开Q UARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个V HDL File,打开V HDL 编辑器对话框。 3、按照实验原理和自己的想法,在V HDL 编辑窗口编写V HDL 程序。其 程序如下所示:

EDA课程设计报告8线-3线优先编码器

Xxxxx学院 《EDA技术》课程报告 设计题目:8线-3线优先编码器班级:应用电子1101班姓名: 学号: 指导老师: 日期:

目录 一、8-3优先编码器设计原理分析 (3) 二、8-3优先编码器模块的源程序 (3) 三、8-3优先编码器仿真结果 (4) 四、设计总结和心得体会 (5) 五、参考资料 (5)

一、8-3优先编码器设计原理分析 8-3优先编码器输入信号为din0,d in1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。因为din0到din7共8中状态,可以用3位二进制编码来表示。8-3优先编码器真值表如下表所示。 表1 8-3优先编码器真值表 二、8-3优先编码器模块的源程序 8-3优先编码器由VHDL程序来实现,VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2);EANABLE: in std_logic ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (EANABLE='0') THEN IF (din(0)='1') THEN output <= "000" ; ELSIF (din(1)='1') THEN output <= "100" ;

单片机出租车计价器课程设计报告书

word完美格式 嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号:

一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通 过线路连接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生 一个脉冲信号送给单片机作为一定距离的计数值。 ●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助 计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号(P3.4)。

五、LED显示电路 对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 P0.7-P0.0 数码管输出数据 P2.7-P2.4 数码管位选 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上8.6元;由一开关进行选择。每 公里1.5元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计 67个数产生一个溢出中断。 七、电路原理图及引脚

出租车自动计费器设计(课程设计报告模板)课件

目录 1 绪论 (1) 1.1设计背景 (1) 1.2QUARTUS II简介 (1) 1.3VHDL语言基础 (2) 2 出租车计费器总体设计结构 (2) 2.1系统设计要求和目的 (2) 2.2.1 系统设计要求 (2) 2.2.1 系统设计目的 (2) 2.2设计思路 (3) 2.3系统总体结构 (3) 2.4出租车计费器系统工作流程图 (4) 3 出租车计费器的实现 (5) 3.1出租车计费器的顶层原理图 (5) 3.2系统各功能模块的实现 (5) 3.2.1 计费模块JIFEI (5) 3.2.2 计量模块JILIANG (6) 3.2.3 显示控制模块SELTIME (7) 3.2.4 显示模块DELED (7) 4 出租车计费器系统仿真及分析 (8) 4.1计费系统的仿真 (8) 4.2单元模块的仿真及分析 (10) 4.2.1 译码显示模块的仿真及分析 (10) 4.2.2 显示控制模块的仿真及分析 (11) 4.2.3 计量模块的仿真及分析 (12) 4.2.4 计费模块的仿真及分析 (12) 5 锁定管脚及硬件实现 (13) 5.1锁定管脚图 (13) 5.2硬件实现 (13) 5.2.1 显示结果的几种情况 (14) 5.2.2 硬件实现总结 (15) 6 设计体会与总结 (16) 参考文献 (17) 附录 (18) 1JILIANG模块的VHDL程序 (18) 2JIFEI模块的VHDL程序 (19) 3SELTIME控制模块的VHDL程序 (20) 4DELED模块的VHDL程序 (21)

1 绪论 1.1 设计背景 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规范化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提高服务质量的必需品。本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 6.0软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。 1.2 QUARTUS II简介 QUARTUS II 是Altera公司的综合性CPLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QUARTUS II 支持Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

EDA课程设计实验报告

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级1181 学号 2 姓名肖浪

指导教师乔汇东吴德建 2013年7月2日 湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1181 学生姓名肖浪 学号 2 指导老师乔汇东吴德建

任务书下达日期2013 年6月23日 任务完成日期2013 年7月2日 《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第十八周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

基于单片机的出租车计价器设计报告

理工大学 《单片机应用与仿真训练》设计报告出租车计价器设计 学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能的计价功能。设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息。本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能。 出租车计价是根据车所行驶的路程以及乘客乘车的方式综合决定的。出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。即可计算得到车轮旋转几周出租车能行驶一公里的路程。使用光电对管能方便地计量车轮旋转的圈数,输出的脉冲信号被接入到AT89S52单片机系统中,通过计算接收到的脉冲个数,计算出当前所行驶的路程,并且可以计算实时的速度。与此同时,根据不同的收费标准计算收费。通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等。 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage

EDA课程设计报告-北京科技大学分析

EDA课程设计报告 题目彩灯循环闪烁电路的仿真学院自动化 专业班级自 姓名 学号 成绩 2014年12月

1、设计目的 (3) 2、设计原理 (3) (3) 3、单元电路的设计与仿真 (3) 3.1时钟脉冲产生电路 (3) 3.2计数器电路的设计与仿真 (5) 3.3译码和显示电路的设计 (6) 4、总体电路仿真 (7) 5、总结与收获 (9)

1、设计目的 1)彩灯能够自动循环闪烁 2)彩灯循环显示且频率快慢可调。 3)该控制电路具有8路输出。 2、设计原理 彩灯循环闪烁电路的工作原理采用555定时器连接成多谐振荡器产生频率产生连续可调的时钟脉冲信号,然后将时钟信号输出通过计数器接受。然后,经过八进制加法计数器的计数实现循环功能。最后,通过译码器译码实现循环灯亮。 该电路主要分为三个模块,多谢振荡器模块、八进制加法计数器电路模块、译码器与彩灯电路模块。其结构框图如图1所示。 图1 彩灯循环闪烁电路的设计框图 3、单元电路的设计与仿真 3.1时钟脉冲产生电路 时钟脉冲产生电路由555定时器和外接元件R1、R2、R3、C1和C2构成多谐振荡器。管脚THR与管脚TRI直接相连。图2为,产生电路模块。电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号。利用电源通过R1、R2向C1充电,以及C1通过R2、R3向放电端DIS放电,使电路产生震荡。输出矩形波,为计数器提供脉冲源。其管脚2的电容充放电波形(黄色线条)和管脚3时钟脉冲输出波形(红色线条)如图3所示。

图2 时钟脉冲产生电路的仿真图 图3 管脚2、3的输出波形

3.2计数器电路的设计与仿真 本文的彩灯电路选用74LS160N-集成10进制同步加法计数器。74LS160N具有异步清零和同步置数的功能。为了实现8盏灯循环闪烁,电路采用异步反馈清零法获得8进制计数器。如图4所示,当Q D Q C Q B Q A输出1000时,U4A输出一个低电平到CLR,将计数器清零,回到0000状态。 图4 8进制计数器仿真图 确认电路连接无误后,单击RUN,开始仿真。结果如图4,通过7段数码管看到有0-7共8个有效状态。图5即计数过程。

基于单片机的出租车计价器设计报告

《单片机应用与仿真训练》设计报告出租车计价器设计 姓名学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能地计价功能.设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息.本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能. 出租车计价是根据车所行驶地路程以及乘客乘车地方式综合决定地.出租车行驶总路程可以通过车轮地周长乘车轮旋转圈数得到.即可计算得到车轮旋转几周出租车能行驶一公里地路程.使用光电对管能方便地计量车轮旋转地圈数,输出地脉冲信号被接入到AT89S52单片机系统中,通过计算接收到地脉冲个数,计算出当前所行驶地路程,并且可以计算实时地速度.与此同时,根据不同地收费标准计算收费.通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等. 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage protection, the use of two four-segment common cathode digital display tube mileage, the total price and waiting time information. This design enables single and double-way set, system halted, empty instructions, information display, power-down protection and other functions. The taxi meter according to the distance traveled by the vehicle and passengers ride the decision. Taxi driving the total distance by the circumference of the wheel drive wheel rotation laps. Can be calculated by the wheel rotation a few weeks a taxi to travel one kilometer away. The use of opto-the number of turns of the tube can be easily measured wheel rotation, the output

出租车计价器总结报告讲解

电气工程学院 微机原理与接口技术课程设计 设计题目:出租车计价器系统设计 学号:11291092 姓名:杨艳丽 同组人:无 指导教师:徐建军 设计时间:2014.3.15-3.25 设计地点:电气学院实验中心

微机原理课程设计成绩评定表姓名杨艳丽学号11291092 课程设计题目:出租车计价器系统设计 课程设计答辩或提问记录: 成绩评定依据: 课程设计预习报告及方案设计情况(20%): 课程设计考勤情况(5%): 电路焊接情况(15%) 课程设计调试情况(40%): 课程设计总结报告与答辩情况(20%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年月日

微机原理与接口技术课程设计任务书学生姓名:杨艳丽指导教师:徐建军 一、课程设计题目: 出租车计价器系统设计 二、课程设计要求 1. 根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整; 2. 查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真; 3. 完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果; 4. 进实验室进行电路调试,边调试边修正方案; 5. 撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。 三、进度安排 1.时间安排 序号内容学时安排(天) 1 方案论证和系统设计 3.14-3.15 2 完成电路仿真,写预习报告 3.16-3.17 3 电路调试 3.18-3.25 4 写设计总结报告与答辩 3.26-3.27 合计13天 设计调试地点:电气楼410 2.执行要求 微机原理与接口技术课程成绩80分以上的同学可以自拟题目,其余的同学都是指定题目。,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。严禁抄袭,严禁两篇设计报告雷同。

广东工业大学eda课程设计报告

课程设计报告 课程名称 EDA课程设计 学院信息工程学院年级班别 学号 学生姓名 指导老师罗思杰 2017年12月09日

目录 一、设计目的和要求: (3) 二、EDA设计: (3) 三、硬件测试: (15) 四、设计和调试过程中遇到的问题及解决方法.. 15 五、完成课程设计后的收获或体会: (15) 六、设计参考文献: (15)

一、设计目的和要求: 1、设计目的: 通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD (可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据要求及工艺需要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。 培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程经验。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。 2、设计要求: (1)以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试; (2)熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。 (3)能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试; (4)学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。 二、EDA设计: (1)方案比较: 1、数字电子钟设计 设计一个时钟电路,包括时钟、分钟、秒钟的显示。要求可对时钟、分钟进行预置和修改操作;可设置3组闹铃时间,时间到时给出10秒的报警声或音乐并给出灯光提示。 具体输入/输出要求如下: ① 4位LED数码显示器,分别显示“小时:分钟”或“分钟:秒”时钟;根据需要选择几个LED发光二极管。 ②3个按键,具体功能描述如下:

基于FPGA出租车计费器设计报告(verilog)

出租车计费器 一实验任务及要求 1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按2元/公里,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的车费,车停止不计费。 2.实现预置功能:能预置起步费、每公里收费、车行加费里程。 3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。 4.设计动态扫描电路:将车费显示出来,有两位小数。 5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。 6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。 7. 完成电路全部设计后,通过系统实验箱下载验证设计的正确性。 计费器按里程收费,每100米开始一次计费。各模块功能如下: (1) 车速控制模块 当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。 (2) 里程动态显示模块 其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。 (3) 计费动态显示模块 其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20时数值加1.5元。 三实验报告要求 1.画出顶层原理图; 2.用VHDL语言设计各子模块; 3.叙述各子模块和顶层原理图的工作原理; 4.给出各模块和顶层原理图的仿真波形图; 5.给出硬件测试流程和结果。

出租车计费器的设计

电子科技大学成都学院学院 标准实验报告 (实验)课程名称数字电路EDA设计与应用 姓名乱弹的枇杷 学号1240830 专业电气工程及其自动化 指导教师张

一、实验名称 出租车计费器的设计 二、实验目的 1、了解出租车计费器的工作原理。 2、学会用V HDL 语言编写正确的七段码管显示程序。 3、数量掌握用V HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 三、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是x x元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8 个七段码管,前四个显示里程,后三个显示费用。 在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 四、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。显示部分的七段码管扫描时钟选择时钟模块的

相关文档
最新文档