教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

北邮电子-数电综合实验报告(3)

来源:网络收集 时间:2026-09-18
导读: case tmp_col is WHEN11111110= tmp_col=01111111;tmp_row=10000001; WHEN01111111= tmp_col=10111111;tmp_row=01000010; WHEN10111111= tmp_col=11011111;tmp_row=00100100; WHEN11011111= tmp_col=11101111;tmp_r

case tmp_col is

WHEN"11111110"=> tmp_col<="01111111";tmp_row<="10000001"; WHEN"01111111"=> tmp_col<="10111111";tmp_row<="01000010"; WHEN"10111111"=> tmp_col<="11011111";tmp_row<="00100100"; WHEN"11011111"=> tmp_col<="11101111";tmp_row<="00011000"; WHEN"11101111"=> tmp_col<="11110111";tmp_row<="00011000"; WHEN"11110111"=> tmp_col<="11111011";tmp_row<="00100100";

WHEN"11111011"=> tmp_col<="11111101";tmp_row<="01000010";

简易出租车的数字电路设计

WHEN"11111101"=> tmp_col<="11111110";tmp_row<="10000001"; WHEN OTHERS=> tmp_col<="01111111";tmp_row<="00000000"; end case; --载客时点阵显示“X” end if; end if; end process ; row<=tmp_col; col<=tmp_row; end a;

5.3仿真波形

图9 空载时显示“〇”

图10 载客时显示“X”

简易出租车的数字电路设计

四、实现功能说明

1,实现功能

实现计时、计里程、计费功能

数码管可分时显示行驶距离、费用、等待时间 点阵显示载客和空载状态 2. 器材的资源占用情况

图11 编译报告

图12 逻辑元件表

由图11可得:本电路一共用了576个逻辑元件,占总逻辑元件数的45%,总

管脚数37,占总管脚的32%。

简易出租车的数字电路设计

由图12看到,除了transform模块之外,各模块占用资源均不大。transform

模块因为用到了除法、取余数等运算。因此占用资源较多,应在后期进行优化,降低资源利用率。

3. 仿真波形图(见电路分析部分) 4. 必要的测试方法

控制计数器整体仿真 控制器与转换器整体仿真 数码管赋值检查是否显示

故障时中间接输出,并且管脚设置为LED灯,看是否正常传输

五、故障与问题分析

1)计数显示不正确,有延迟 解决办法:在控制计数器内部,将组合逻辑部分和计数部分分到不同的进程,避免在时序进程出现大量运算,造成延迟。

2)计数时采用十位二进制计数,无法逐位读取,赋给各个数码管

解决办法1:先将二进制转为十进制,再利用除法和取余数运算得到各位数 值(改动小,但运算量大,占用资源多)

2:计数时改为逐位计数,后一位满十后向前一位进1(改动大,但 运算量减少)

3)仿真时计数器正常工作,但下载到板子时一直显示为0,无法确定是计数器的问题还是数码管的问题

解决办法:将计数器的一个输出作为LED的输入,发现LED不亮,说明控制器有问题。(后来经过检查发现是原理图连接有误)

六、总结和结论

这次数字电路综合实验是一次将理论、实验与现实应用结合在一起的实验。当第一次课拿到题目时,我感觉无从下手,几乎没有思路。但当三周后我基本完成了实验任务时,却又觉得整个电路结构无比清晰,甚至知道我的方案哪里做得好、哪里做得不好。在这三周的时间里,我觉得我有如下的收获: 1. 基础知识与动手操作并重 由于我觉得自己基础不好,又加上是上学期的内容,因此在拿到题目后我并没有立即动手做,而是完整地阅读了一编实验教材,并且认真做了笔记。在之后的设计中,无论是对于具体语句还是设计思想,都有了成竹在胸的感觉,甚至还可以帮助同学们解决一些小的知识点,做一些小的改进。但光看书也是不够的,在编程的过程中,一开始仍有一些生涩,随着时间的推移,我的进度也逐渐加快。因此,这说明,在做具体的项目时一定首先要打好基础,不能过于着急动手,当然也不能一味地抠细节,忽视实验的重要性。 2. 整体的设计比具体的实现更重要 在老师的讲课过程中,不止一遍强调数字电路的模块的划分、上层的设计要比具体的编程语句更重要。一开始我并没有意识到这一问题,在做逻辑框图时细节和准确性都不够。因为我习惯一边开始做,一边想下一步怎么做。但在老师检

简易出租车的数字电路设计

查过程中我的框图被指出错误之后,我又重新做了逻辑框图。这一次,我感觉到在我认真思考后,我对整个电路的结构有了清晰地认识,特别是将电路划分为每一个细小的模块后,模块的具体实现就变得很简单,甚至很多都是现成的。这让我明白上层的设计、模块的划分才是最有创造性、最有技术含量的部分,我们作为设计师,应当将重点放在设计思想上,而不是具体的一个个语句。只有这样,我们的工作才是最具有价值的,而不是简单的模仿和重复。 3. 硬件编程语言与普通编程语言是有区别的 硬件编程语言侧重于10的逻辑实现,任何一段程序有一部分电路与之对应。在编程的过程中,要养成做硬件的思维习惯。比如这次,计数部分用了10位二进制来表示。但后来的数码管显示需要提取出各位的数值。不得已我用了除法和取余运算,造成的结果是用了大量的逻辑元件。但是我看到我的同学在计数时就将各位单独进行运算,比我节省了大量的元器件。这就是硬件语言的思维,在编程过程中应该尽量避免数据类型的转换、乘除法等,造成资源的浪费。 4. 测试是编程的重要环节

因为我们做比较大型的项目不多,而这次实验,因为用了大量的模块化设计,合理、准确的测试就很重要了。因为整体仿真的运算量太大,而且一旦出错很难发现什么地方出了问题,因此这就要求我们事先要对每一个模块都要进行仿真、测试。而且最好还要对相连的模块进行整体仿真,避免出现问题。而且在仿真、测试的过程中,选择合理的方法也很重要,设置适当的条件、选择合适的输入、输出等会让测试事半功倍。

总之,这次实验让我收获巨大。当我实现了生活中可能用到的一个功能时,不仅让我收获了成就感与信心,还让我对生活中各种数字电路的实现产生了浓厚的兴趣。看到生活中的电子产品时,有时候就会不自觉地思考这是怎么实现的?可能要分为哪些模块?这些模块有哪些功能,彼此又有什么联系?这让我对进一步了解数字电路的应用提供了强大的推动力。

七、完整源程序

电路原理图、源程序代码见电路分析部分

…… 此处隐藏:960字,全部文档内容请下载后查看。喜欢就下载吧 ……
北邮电子-数电综合实验报告(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/54285.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)