- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数电研讨:用生产线控制电路
数字电子 技术研讨报告
医用生产线控制电路
梁桥 张梦通信1009
【研讨要求】
设计一个医用生产线控制电路
能够设定每瓶药片数目;如每瓶50片;
每24瓶为一箱,计数到18箱停止。
要求用软件设计,并仿真;
2~3人一组,明确工作分工;
写出项目研究报告—项目方案,设计过程,仿真结果,要求每个人就自己负责的部分写出分报告,同时,要完成group的总报告。
【目录】
项目方案
设计过程(分报告)
仿真结果
心得体会
【项目方案】
首先我们根据老师所给要求以及提示将电路大致分为两部分:输入部分和计数部分。本来想以此分工,但是不久便发现输入部分的功能较多,而计数部分功能较为单一,设计的工作量分配不均匀。我们一起将电路再细分为了一个个模块。以模块为单位的设计流程图如下:
按键输入
按键输入
寄存器
BCD-二进制
转换器【高位】
BCD-二进制
转换器【低位】
7447
加法器
7447
计数器1(n)
计数器2(24)
计数器3(18)
计数脉冲
总计数器
7447
7447
7447
7447
7447
输入部分的主要功能是由一个键盘输入一个设定值,用于给计数部分设定初值,即每瓶所装药片的个数,经由寄存器选择十位和个位分别有两个数码管显示出来,在经由加法器相加得到二进制计数值。
输入部分主要由一个输入按键、一个寄存器(选择输入十位或各位数据)2个7段数码管和一个加法器组成。
计数部分是这个医用生产线电路的主要功能性部分。计数部分的作用是完成生产线的自动计数功能,即根据输入的片数进行分瓶,而后每24瓶自动计为一箱,计到18箱停止。
计数部分主要由一个n模计数器、一个模24计数器、一个模18计数器构成装配计数器,由五个模十计数器构成总计数器,再输出到数码管。
这些器件都是由VDHL语言实现的,这个语言只需要设定输入输出端口,并赋予相应功能即可,不注重内部结构只关心输入输出功能,工程性很强。在数字电路设计仿真上十分常用。结合quartus ii软件可以根据情况产生一个元件,并且画出波形图,只需要把相应的管脚加入列表即可,节省了很多的时间。Quartus ii 这一软件还有许多很强大的功能,也可以用固定的元件搭造组合器件。这个软件让我们在仿真时感觉十分简洁方便。
在具体设计时,我们以模块为单位进行了分工,其中键盘、寄存器和BCD-二进制转换器主要由张梦皓设计,加法器、分计数器和总计数器主要由梁桥设计。
【设计过程】
张梦皓:键盘、寄存器和BCD-二进制转换器
梁桥: 加法器、三个分计数器和总计数器
输入键盘
首先是输入键盘元件,我们采用的是4*4的一个键盘如下图所示,根据案件的行数和列数确定输入,再输出想对应数字。
比如我按下第一行第一列的数字,则输出为1,而第一行第二列就输出2。我还设定A代表着十位,B代表着个位,输入时应先按下A再输入十位,然后按下B 再输入个位。同时我还规定D 为清零键。
程序如下:
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;?ENTITY KEYBOARD IS PORT( //定义管脚CLK: IN STD_LOGIC;ROW: IN STD_LOGIC_VECTOR(3 DOWNTO 0); //行向量COL: IN STD_LOGIC_VECTOR(3 DOWNTO 0); //列向量DATA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);F :OUT STD_LOGIC; //给寄存器判断是否有输入 EN1: OUT STD_LOGIC; EN2: OUT STD_LOGIC; EN3: OUT STD_LOGIC);END ENTITY KEYBOARD;?ARCHITECTURE RTL OF KEYBOARD ISSIGNAL MID: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL NUM: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK,ROW,COL) BEGIN MID=(ROWCOL); IF (CLKEVENT AND CLK=1) THEN CASE MID IS //
WHEN NUM=0001; //第一行第一列为1
WHEN NUM=0010; //第一行第二列为2
WHEN NUM=0011;
WHEN NUM=0100;
WHEN NUM=0101;
WHEN NUM=0110;
WHEN
您可能关注的文档
- 教你如何用irplay推送照片到超清盒子.doc
- 教你如何建机网站.doc
- 教你折出世界上最强地四大纸飞机.doc
- 教学 伶官传序.doc
- 教你用局域享玟件为小米盒子装软件.doc
- 教学-人民币地辨别与使用.ppt
- 教学中地互联网搜索_高二语玟《项羽本纪》教学方案.doc
- 教学25,26间歇机构.doc
- 教养,从改说话口气开始.doc
- 教学——交换机综合练习.doc
- 2023年烟台南山学院招聘笔试真题带答案详解.docx
- 2023年炎黄职业技术学院招聘笔试真题及答案详解一套.docx
- 2023年炎黄职业技术学院招聘笔试真题及参考答案详解1套.docx
- 2023年炎黄职业技术学院招聘笔试真题及参考答案详解.docx
- 2023年炎黄职业技术学院招聘笔试真题附答案详解.docx
- 2023年炎黄职业技术学院招聘笔试真题参考答案详解.docx
- 2023年炎黄职业技术学院招聘笔试真题及参考答案详解一套.docx
- 2023年濮阳职业技术学院招聘笔试真题带答案详解.docx
- 2023年炎黄职业技术学院招聘笔试真题含答案详解.docx
- 2023年烟台科技学院招聘笔试真题含答案详解.docx
文档评论(0)