eda课程设计病床呼叫系统_第1页
eda课程设计病床呼叫系统_第2页
eda课程设计病床呼叫系统_第3页
eda课程设计病床呼叫系统_第4页
eda课程设计病床呼叫系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电子信息科学与技术 专业课程设计任务书学生姓名专业班级学号题 目病床呼叫系统课题性质A课题来源D指导教师同组姓名无主要内容用一个数码管显示呼叫信号的号码没信号呼叫时显示0;有多个信号呼叫时,显示优先级最高的呼叫号用5个拨码开关设置功能键,1号优先级最高,1-5号优先级依次降低用指示灯指示对应的病房有呼叫,有呼叫时蜂鸣3秒。任务要求根据设计题目要求编写相应程序代码对编写的VHDL程序代码进行编译和仿真条件允许,完成硬件验证(可选)总结设计内容,完成课程设计说明书参考文献1 焦素敏 EDA课程设计指导书 河南工业大学 20082 曹昕燕 EDA技术实验与课程设计 北京清华大学出版社 20043

2、黄智伟 FPGA系统设计与实践 电子工业出版社 20054 焦素敏. EDA技术基础 清华大学出版社 20055 刘昌华 数字逻辑EDA设计与实践 国防工业出版社 2005审查意见指导教师签字:教研室主任签字: 2012年 02月 20日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页EDA课程设计报告1 设计任务及要求呼叫器对于每一个住院的人来说都很重要,尤其对那些在住院期间需要经常有护士护理的病人来讲,呼叫器对医院来讲也很重要,它能间接的决定医院能够提供给病人的服务质量,但是由于医院护理人员数量有限,护士不能时刻保证呆在每一位病人身边,病床呼叫系统能够使

3、病人在危急时刻及时的联系上医生或者护士,从而得到及时的救治或看护。所以拥有一套功能完善的病床呼叫系统,对于一个提供高质量服务的医院来讲,是非常重要的。这个设计所要求的整个呼叫系统由拨动开关、控制电路、蜂鸣器、计时器、指示灯等几个部分所组成,病人在身边没有医生但却需要护理的时候能够做到及时的告知医务人员,医生也能够通过该系统准确的判断出是哪个床位的病人需要护理。该系统最突出的一个优点是具有优先选择功能,能够在第一时间做到对最需要救助的人进行帮助。在本课程设计所要求的病床呼叫系统中,若1号病人当病人拨动求助开关时呼叫,则数码管显示1号,同时对应床位的LED灯亮,蜂鸣器发出响声,三秒钟之后,蜂鸣器停

4、止发声。但是LED灯和数码管仍然显示,直到医生或护士去到病房解除报警。由于蜂鸣器声音比较刺耳,所以只让蜂鸣器响三秒,三秒过后自动停止,到下一次警报的时候再响。这样可以保证医院安静的工作环境,使病人能够更好的休息治疗。本系统的优先呼叫功能即当优先级较高的病床呼叫时,可以屏蔽其他病床的呼叫,若一号病床的优先级最高,当1号和2号病床同时呼叫或者1号晚于2号呼叫,数码管只显示1号,系统自动屏蔽了2号的呼叫,只有当1号解除警报时具有下一优先级的病床才能呼叫,这样只要把在出现情况的情况下最急需救助的病人放在优先级最高的病床,就可以保证病人优先得到治疗。2设计原理及总体框图根据设计要求,我们将设计分为几个模

5、块来设计,分别为:锁存模块、选优模块(对病房选优)、选优模块2(对复位选优)、计时模块、显示模块、蜂鸣模块。用5个拨码开关设置功能键,1号优先级最高,1-5号优先级依次降低用一个数码管显示呼叫信号的号码,没信号呼叫时显示0;有多个信号呼叫时,显示优先级最高的呼叫号 用led灯指示对应的病房有呼叫,用静态数码管显示呼叫的病房号,用蜂鸣器发出蜂鸣,有呼叫时蜂鸣5秒。系统原理图3 程序设计1.锁存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SUOCUNQI IS PORT(REST:IN STD_LOGIC_VECTOR(4 DOWNTO 0);

6、 SIN:IN STD_LOGIC_VECTOR(4 DOWNTO 0); SOUT1:OUT STD_LOGIC_VECTOR(4 DOWNTO 0); SOUT2:OUT STD_LOGIC_VECTOR(4 DOWNTO 0); SOUT3:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END SUOCUNQI;ARCHITECTURE bhv OF SUOCUNQI IS SIGNAL SOUT:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN PROCESS(REST,SIN) BEGIN IF REST(0)='1' AND

7、SIN(0)='0' THEN SOUT(0)<='1' ELSE SOUT(0)<='0' END IF; IF REST(1)='1' AND SIN(1)='0' THEN SOUT(1)<='1' ELSE SOUT(1)<='0' END IF; IF REST(2)='1' AND SIN(2)='0' THEN SOUT(2)<='1' ELSE SOUT(2)<='0'

8、 END IF; IF REST(3)='1' AND SIN(3)='0' THEN SOUT(3)<='1' ELSE SOUT(3)<='0' END IF; IF REST(4)='1' AND SIN(4)='0' THEN SOUT(4)<='1' ELSE SOUT(4)<='0' END IF;END PROCESS;SOUT1<=SOUT;SOUT2<=SOUT;SOUT3<=SOUT;END ARCHITE

9、CTURE bhv;2选优模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XUANYOU IS PORT(SOUT:IN STD_LOGIC_VECTOR(4 DOWNTO 0); YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END XUANYOU;ARCHITECTURE bhv OF XUANYOU ISSIGNAL YOU:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(SOUT,YOU)

10、BEGIN IF SOUT(0)='1' THEN YOU<="0001" ELSE IF SOUT(1)='1' THEN YOU<="0010" ELSE IF SOUT(2)='1' THEN YOU<="0011" ELSE IF SOUT(3)='1' THEN YOU<="0100" ELSE IF SOUT(4)='1' THEN YOU<="0101" ELSE YOU1

11、<="0000" END IF; END IF; END IF; END IF; END IF; END PROCESS;YOU1<=YOU;YOU2<=YOU;END ARCHITECTURE bhv;3计时选优模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XUANYOU2 IS PORT(REST:IN STD_LOGIC_VECTOR(4 DOWNTO 0); SOUT3:IN STD_LOGIC_VECTOR(4 DOWNTO 0); YOU1:IN STD_LOGIC_VECTOR(3 DOW

12、NTO 0); ZQ:OUT STD_LOGIC; LJ:OUT STD_LOGIC); END XUANYOU2;ARCHITECTURE bhv OF XUANYOU2 ISBEGIN PROCESS(YOU1) BEGIN IF YOU1="0001" THEN LJ<=REST(0); ELSE IF YOU1="0010" THEN LJ<=REST(1); ELSE IF YOU1="0011" THEN LJ<=REST(2); ELSE IF YOU1="0100" THEN LJ

13、<=REST(3); ELSE IF YOU1="0101" THEN LJ<=REST(4); END IF; END IF; END IF; END IF; END IF; END PROCESS; PROCESS(SOUT3)BEGIN IF YOU1="0001" THEN ZQ<=SOUT3(0); ELSE IF YOU1="0010" THEN ZQ<=SOUT3(1); ELSE IF YOU1="0011" THEN ZQ<=SOUT3(2); ELSE IF YOU

14、1="0100" THEN ZQ<=SOUT3(3); ELSE IF YOU1="0101" THEN ZQ<=SOUT3(4); END IF; END IF; END IF; END IF; END IF; END PROCESS; END ARCHITECTURE bhv;4 分频模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FEN IS PORT(CLK,SP:IN STD_LOGIC; TIMECLK:OUT STD_LOGIC);END FEN;ARCHITECTURE FE

15、N_ARC OF FEN ISBEGIN PROCESS(CLK,SP)VARIABLE CNT:INTEGER RANGE 0 TO 2999999;VARIABLE X:STD_LOGIC;BEGIN IF CLK'EVENT AND CLK='1' THEN IF SP='1' THEN IF CNT<2999999 THENCNT:=CNT+1;ELSECNT:=0;X:=NOT X;END IF;END IF;END IF;TIMECLK<=X;END PROCESS;END FEN_ARC5计时模块;LIBRARY IEEE; U

16、SE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TIME ISPORT(REST,TIMECLK:IN STD_LOGIC;SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END TIME;ARCHITECTURE ONE OF TIME ISSIGNAL SEC1,SEC2:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0)

17、;BEGINMINITUE1(3 DOWNTO 0)<=MINI1(3 DOWNTO 0);MINITUE2(3 DOWNTO 0)<=MINI2(3 DOWNTO 0);SECOND1(3 DOWNTO 0)<=SEC1(3 DOWNTO 0);SECOND2(3 DOWNTO 0)<=SEC2(3 DOWNTO 0);PROCESS(TIMECLK,REST)BEGIN IF(REST='0') THEN MINI2 <="0000" MINI1 <="0000" SEC2<="00

18、00" SEC1<="0000" ELSIF (TIMECLK'EVENT AND TIMECLK='1')THEN IF SEC1<"1001"THEN SEC1<=SEC1+1; ELSE SEC1<="0000"IF SEC2<"0101"THEN SEC2<=SEC2+1; ELSE SEC2<="0000"IF MINI1<"1001"THEN MINI1<=MINI1+1;EL

19、SEMINI1<="0000" IF MINI2<"0101"THEN MINI2<=MINI2+1;ELSEMINI2<="0000"END IF;END IF;END IF;END IF;END IF;END PROCESS; END ONE;6 连接模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY SQU ISPORT(SECOND1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SECOND2:IN STD_LOGIC_VECTOR

20、(3 DOWNTO 0); MINITUE1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); JISHI:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END SQU;ARCHITECTURE ONE OF SQU ISBEGINJISHI(15 DOWNTO 12)<=SECOND1;JISHI(11 DOWNTO 8)<=SECOND2;JISHI(7 DOWNTO 4)<=MINITUE1;JISHI(3 DOWNTO 0)<=MINITUE

21、2;END ARCHITECTURE ONE;7 蜂鸣模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FENGMING IS PORT( BCD:IN STD_LOGIC_VECTOR(15 DOWNTO 0); MING:OUT STD_LOGIC);END FENGMING;ARCHITECTURE bhv OF FENGMING ISSIGNAL ING:STD_LOGIC;BEGINPROCESS(BCD)BEGINIF BCD="0000000000000000" THEN ING<='1'

22、ELSE IF BCD="0001000000000000" THEN ING<='0'ELSE IF BCD="0010000000000000" THEN ING<='0'ELSE IF BCD="0011000000000000" THEN ING<='0'ELSE IF BCD="0100000000000000" THEN ING<='0'ELSE IF BCD="0101000000000000"

23、 THEN ING<='0'ELSE ING<='1'IF BCD="0000000000110000" THEN ING<='0'ELSE IF BCD="0001000000110000" THEN ING<='0' ELSE IF BCD="0010000000110000" THEN ING<='0'ELSE IF BCD="0011000000110000" THEN ING<='0'ELSE IF BCD="0100000000110000" THEN ING<='0' END IF; END IF; END IF; END IF; END IF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论