最近,学习了EDA这门课后,做了出租车计价器这个课程设计,虽然很简单,但也算练了一下手,把整个流程熟悉了一遍~~
设计要求:1、行程大于基本里程(如预置5公里)时,每多行1公里 在起步价(此处设为7元)上增加一个单价;2、当出租车到达某地需要等待(如红灯、中途停车等候等)按下“等候键”,便从计程转入计时(注意:计程和计时本来要用到传感器,检测轮胎的转数,这里因无法产生汽车的传感信号,故用CLK的不同分频代替)
输入和输出信号:CLK、reset、start、wait、数码管显示输出价格;
程序设计:设计一个50000分频的分频器,把50MHZ分成1KHZ的时钟,提供给动态显示模块及另一分频器2.分频器2的功能是输出两种不同的分频脉冲,一种代表计程,一种代表计时。
选择器:当输入WAIT信号为0时,(键按下)代表等待,此时每5个脉冲产生一个计数脉冲;当输入WAIT信号为1时,(键按下)代表等待,此时每10个脉冲产生一个计数脉冲
计价器:从选择器出来的计数脉冲作为计价器的时钟输入。
另有RES和START两个输入,当按下START键时,计价器预置起步价,并开始计数,当超过预置公里数时,每一公里,加上一个单价(这里是一元)
显示模块:这里采用4个七段数码管显示
从计价器出来的数值经过十进制到BCD码的转换,送入显示模块。
显示模块采用动态扫描的方式,利用人眼的视觉停留就可以实现同时显示,资料表明只要扫描频率超过24HZ就能实现,这里我们采用分频器1出来的1KHZ。
BCD码送进后,分别编写段选和位选的程序。
段选程序根据数码管的共阴和共阳而定。
最后编辑顶层模块把各个模块综合起来,实现设计
本设计采用Verilog编程,在火龙刀板上实现设计。
如需要程序,请留言说明~~
用户1493977 2009-12-18 17:44
用户234027 2009-12-14 21:27
用户1700902 2009-6-13 13:57
用户1450483 2009-5-10 14:18
用户172645 2008-11-13 22:38
用户172645 2008-11-13 22:38
用户118910 2008-10-14 11:40
用户67350 2008-6-20 10:54
用户67350 2008-6-20 10:50
用户147796 2008-6-18 14:23