资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
可编程逻辑器件应用项目报告书项目名称:病房呼叫系统指导老师: 龚兰芳姓 名: 曾锦聪学 号: 080212216班 级: 08 电子 2 班目录一、设计 要求-二、设计方案-三、设计程序-四、管脚分配-五、硬件下载实现现象描述-六、体会与 收获-一、 设计要求1.用19个开关模拟9个病房的呼叫输入信号,1号优先级最高;19优先级依次降低;2.用一个数码管显示呼叫信号的号码;没信号时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);3.凡有呼叫发出5秒的呼叫声;4.对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理(附加)。二、设计方案用层次化的设计,将功能分为三个部分,第一部分输入模块,用来输入八个病房的房号。第二部分输出模块,用来显示八个病房的房号。第三部分显示模块,使优先级低的病房房号用彩灯显示出来。三、设计程序第一部分:抢答模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jnb isport(clk,i:in std_logic;u,r,t,y:in std_logic;led3: out std_logic_vector(3 downto 0);k:out std_logic_vector(2 downto 0);o:out std_logic_vector(3 downto 0);end;architecture one of jnb issignal n:integer range 0 to 1;signal clk_1k,clk_100h:std_logic;signal data:std_logic_vector(3 downto 0);signal s:std_logic_vector(6 downto 0);signal h:std_logic_vector(2 downto 0);signal j:std_logic_vector(3 downto 0);beginprocess (clk)variable cnt1:integer range 0 to 250;variable cnt2:integer range 0 to 100; beginif clkevent and clk=1 thenif cnt1=250 thencnt1:=0;if cnt2=100 thencnt2:=0;clk_1kdoutdoutdoutnull;end case;end process;process(dout)begincase dout iswhen111110=datadatadatanull;end case;end process;process(clk_100h)beginif tsr=0 thenled1ssssssssssnull; end case;end process;duon=dout;cout=s;end;第三部分:译码模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity yima isport( h:in std_logic_vector(6 downto 0);a,b,c,d,e,f,g:out std_logic);end;architecture one of yima isbeging=h(6);f=h(5);e=h(4);d=h(3);c=h(2);b=h(1);a=h(0);end one;总体框图:四、管脚分配五硬件下载实现现象描述和预想的效果一样。当主持人按下复位开关时,四个按键开关生效。选手开始抢答。抢答完后,显示管显示选手的号数。这时主持人可以设置答题时间的初始值此时,显示器从初始值开始倒计时,计至0时停止计数,同时扬声器发出超时报警信号。若参赛者在规定的时间内回答完问题,主持人可以用开关给出计时停止信号,以免扬声器鸣叫。六、体会与收获再次用到
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号