北邮电子-数电综合实验报告(3)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




