病房呼叫系统设计.docx

上传人:b****3 文档编号:10214238 上传时间:2023-05-24 格式:DOCX 页数:12 大小:749.56KB
下载 相关 举报
病房呼叫系统设计.docx_第1页
第1页 / 共12页
病房呼叫系统设计.docx_第2页
第2页 / 共12页
病房呼叫系统设计.docx_第3页
第3页 / 共12页
病房呼叫系统设计.docx_第4页
第4页 / 共12页
病房呼叫系统设计.docx_第5页
第5页 / 共12页
病房呼叫系统设计.docx_第6页
第6页 / 共12页
病房呼叫系统设计.docx_第7页
第7页 / 共12页
病房呼叫系统设计.docx_第8页
第8页 / 共12页
病房呼叫系统设计.docx_第9页
第9页 / 共12页
病房呼叫系统设计.docx_第10页
第10页 / 共12页
病房呼叫系统设计.docx_第11页
第11页 / 共12页
病房呼叫系统设计.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

病房呼叫系统设计.docx

《病房呼叫系统设计.docx》由会员分享,可在线阅读,更多相关《病房呼叫系统设计.docx(12页珍藏版)》请在冰点文库上搜索。

病房呼叫系统设计.docx

病房呼叫系统设计

病房呼叫系统设计

 

《病房呼叫系统EDA》

设计报告

 

题目:

病房呼叫系统设计

学院:

电子信息与电气工程学院

专业:

电子信息工程

班级:

姓名:

学号:

 

 

本次课程设计的题目是病房呼叫系统,有六个病房,分别编号为1、2、3、4、5、6,其优先级依次降低。

即当一号病房有信号输出的时候,即使其他病房有信号输出系统也不会响应。

当二号病房有信号输出时,3、4、5号病房有信号输出系统不响应其信号。

3、4、5号病房的情况同理。

此过程为组合电路,有if语句完成其功能。

当病房没有信号时,动态数码管显示0。

有信号输出时,动态数码管显示输出的病房号,同时蜂鸣五秒钟。

当蜂鸣器输入一个高电平时,跳线器短接,开始蜂鸣。

而且,此系统具有复位功能,由一个拨码开关控制。

当此开关向上拨时,输出为高电平,此时复位键有效。

当复位键有效时,各个病房均无法输出信号。

四、基本原理

病房呼叫系统共有五个部分,有病房呼叫及复位部分,动态数码管显示数字部分,指示灯部分以及蜂鸣器和分频部分。

根据不同的部分定义模块写程序,使系统能够实现预期的功能。

利用EDA技术进行电子系统的设计,是用软件的方式设计硬件。

用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的,在设计过程中可以用相关的软件进行仿真。

最后将程序下载到实验箱中用硬件模拟病房呼叫系统。

五、设计内容及步骤

、VerilogHDL源程序设计

/*呼叫模块*/

modulecall(R,T,C,L);

inputR;

input[1:

6]T;//对应六个病房

output[1:

3]C;//优先编码输出

output[1:

6]L;//红色发光指示灯

reg[1:

3]C;

reg[1:

6]L;

always@(RorT)

begin

casex({R,T})

'b1XXXXXX:

beginC='b000;L='b000000;end

'b0000000:

beginC='b000;L='b000000;end

'b01XXXXX:

beginC='b001;L='b100000;end

'b001XXXX:

beginC='b010;L='b010000;end

'b0001XXX:

beginC='b011;L='b001000;end

'b00001XX:

beginC='b100;L='b000100;end

'b000001X:

beginC='b101;L='b000010;end

'b0000001:

beginC='b110;L='b000001;end

endcase

end

endmodule

封装如下图:

/*数码管模块*/

modulenumber(C,Q);

input[1:

3]C;

output[1:

7]Q;

reg[1:

7]Q;

always@(C)

begin

case(C)

'b000:

Q='b1111110;

'b001:

Q='b0110000;

'b010:

Q='b1101101;

'b011:

Q='b1111001;

'b100:

Q='b0110011;

'b101:

Q='b1011011;

'b110:

Q='b1011111;

endcase

end

endmodule

封装如下:

分频模块

由于开发板系统时钟为20MHz,而在设计中所需时钟为1KHz所以需通过分频得到所需时钟,通过软件自带工具建立模块如下:

/*蜂鸣器模块*/

modulebuzzer(CLK,C,SPEAKER);

inputCLK;

input[1:

3]C;

outputSPEAKER;

integerN;//定义变量N用于蜂鸣器计时

reg[1:

3]M;//定义寄存器M存放C的状态用以判断C是否产生变化

regSPEAKER;

always@(posedgeCLK)

begin

if(C==0)beginN<=3000;SPEAKER<=0;M<=0;end

else

if(C!

=M)

begin

N<=N-1;

if(N>0)SPEAKER<=1;

elsebeginSPEAKER<=0;N<=3000;M<=C;end

/*当C变化之后小于以前那个值蜂鸣三秒,即多个输入信号T同时存在时,若优先级较高的输入消失,系统检测到新的输入,蜂鸣器响三秒*/

end

end

endmodule

封装如下:

2、在工程下完成整个电路的连接编译并进行引脚分配如下:

工程原理图

引脚分配如下

编译报告如下;

3、下载到开发板并完成验证

通过下载到开发板进行分析说明,验证其功能的实现

4、调试

在设计中毫无疑问,会遇到许多问题,这就需要进行不断调试,通过实践反复试验,结合理论,不断更正才能得到预期的结果。

其实验现象如下图:

六、对设计的体会与感想

这学期我们进行了为期两周的课程设计,任务是用Verilog语言设计一个病房呼叫系统,通过这两周的课程设计,我复习了课堂上所学的知识,加深了对课堂所学理论知识的理解,掌握了运用结构化程序设计的基本思想和方法,更重要的是培养了自学能力。

这次设计使我对FPGA技术有了进一步的理解,进一步加强了对实际问题的动手和思考和解决能力。

但同时也暴露出了自身不足,如自主解决问题的能力有所欠缺,这在以后学习过程中需要更好地加强,在这两周中虽然每天很忙碌,但是很充足。

经过这次的的课程设计,我得到了不少收获,一方面加深了我对课本理论的认识,另一方面也提高了实验操作能力和团队合作能力。

这次的设计与我们在实验课上所做的实验不同,因为这是我们真真正正的自己去完成一项设计,实验的过程全是我们自己动手来完成的,这样就必须弄懂设计的核心。

在这次设计中我懂得了理论与实际结合是非常重要的,只有理论知识是完全不够的,只有把所学的理论知识与实践结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。

毕竟这是第一次自己做设计,在设计过程中遇到很多问题,为此我们特意请教了老师和同学,他们也很耐心给予我们指导和帮助。

通过这次是我对专业课的学习有了更加深刻的认识,不仅要掌握,更要学会融会贯通。

另外使我对quartus这个软件的使用有了跟进一步的理解,它给我们这次设计带来了很多方便,通过仿真,我们能够形象的了解原理图的功能特性。

回顾这次课程设计,从理论到实践,在这段日子里,可以说是苦多于甜,但是学到了很多东西,同时不仅巩固了以前学过的知识,而且学到了许多书本上没有学到过的知识。

在设计过程中也体会到了团结精神的重要性,团结就是力量,只有在互相之间默契融洽的配合能换来最完美的结果。

七、参考文献

1、《EDA技术实用教程-VerilogHDL版(第五版)》

2、网上查阅。

3、FPGA开发技术手册

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2