病房呼叫系统(带程序)

更新时间:2024-02-29 20:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

燕 山 大 学 课 程 设 计 说 明 书

燕山大学

课 程 设 计 说 明 书

题目: 病房呼叫系统

燕 山 大 学 课 程 设 计 说 明 书

燕山大学课程设计(论文)任务书

院(系):电气工程学院 基层教学单位:电子实验中心 学 号 设计题目 设 计 技 术 参 数 设 计 要 求 学生姓名 专业(班级) 病房呼叫系统 ●用一个数码管显示呼叫信号的号码; ●没信号呼叫时显示0,有多个信号呼叫时,显示优先级最高的呼叫号; ●用5个拨码开关设置功能键,1号优先级最高,1-5号优先级依次降低; ●用指示灯指示对应的病房有呼叫,同时蜂鸣器响3秒。 ●具有复位功能; ●用动态数码管和双色点阵显示呼叫的病房号。 工 作 量 ●学会使用Max+PlusII软件、Verilog HDL语言和实验箱; ●独立完成电路设计,编程下载、连接电路和调试; ●参加答辩并书写任务书。 1. 了解EDA的基本知识,学习使用软件Max+PlusII,下发任务书,开始电工 作 计 划 参 考 资 料 2. 3. 4. 5. 路设计; 学习Verilog HDL语言,用Verilog HDL进行程序设计 学习使用实验箱,继续电路设计; 完成电路设计; 答辩并书写任务书。 《数字电子技术基础》.阎石主编.高等教育出版社. 《EDA课程设计A指导书》. 指导教师签字 李婷 郑兆兆 基层教学单位主任签字 李鑫滨 2014年1月10日

燕 山 大 学 课 程 设 计 说 明 书

目 录

第1章 摘要???????????????????????????????1 第2章 引言???????????????????????????????1 第3章 基本原理?????????????????????????????1 第4章 系统设计?????????????????????????????1 4.1 系统的设计要求??????????????????????????1 4.2 系统的总体设计??????????????????????????2 4.3 系统的设计思路??????????????????????????2 4.4 波形仿真?????????????????????????????4 4.5 Verilog HDL源程序 ????????????????????????7 4.6 管脚锁定及硬件连线????????????????????????11 第5章 总结 ??????????????????????????????13 参考文献 ????????????????????????????????13

燕 山 大 学 课 程 设 计 说 明 书

第一章 摘要

EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。

第二章 引言

随着科学技术的发展,越来越多的科技设备应用到生活的方方面面,其中在医疗领域尤其多。病房呼叫系统这个设计就是应用于医院的一个简单的系统模型,其目的是为了方便医护人员更好地照顾病人,提高工作效率。病房呼叫系统的优先编码设置可以让相对更需要救助的病人第一时间得到救助,其蜂鸣器和数码管、点阵等设置可以直观的提醒医护人员是否有病房呼叫及呼叫的病房号。

第三章 基本原理

病房呼叫系统共有五个部分,有病房呼叫及复位部分,动态数码管显示数字部分,双色点阵显示部分,指示灯部分以及蜂鸣器部分。根据不同的部分定义模块写程序,使系统能够实现预期的功能。

利用EDA技术进行电子系统的设计,是用软件的方式设计硬件。用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的,在设计过程中可以用相关的软件进行仿真。最后将程序下载到实验箱中用硬件模拟病房呼叫系统。

第四章 病房呼叫系统的设计

4.1系统的设计要求

设计一个病房呼叫系统,该系统具有:

①5个拨码开关设置功能键,分别编号1~5对应五个病房,1号优先级最高,1~5号优先级依次降低;

②一个数码管,显示呼叫信号的号码,当没信号呼叫时显示0,有多个信号呼叫时,显示优先级最高的呼叫号;

1

燕 山 大 学 课 程 设 计 说 明 书

③双色点阵,显示呼叫的病房号;

④5个指示灯,指示对应的病房有呼叫; ⑤警报器(蜂鸣器),有病房呼叫信号时响3秒; ⑥至零端,即复位功能。

4.2系统的总体设计

将该病房呼叫系统命名为top,根据该系统的设计要求,其外部端口如图1.1所示。

图1.1 病房呼叫系统的外部端口 各个I/O端口的作用:

(1)CLK为外部时钟信号,R为复位信号,高电平有效。 (2)T是一个5位输入信号,若其中某一位为高电平,表示对应病房发出呼叫信号。 (3)L是一个5位输出信号,当L输出一个高电平时,对应的红色指示灯点亮,表示对应病房有呼叫信号。

(4)ROW是一个8位输出信号,RA和GA都是5位输出信号,控制双色点阵显示呼叫信号标号。

(5)SS是一个3位输出信号,输出数码管位选信号, Q是7位输出信号,输出数码管段选信号,SS、Q控制数码管显示呼叫信号标号。

(6)SPEAKER用于控制扬声器发生,当SPEAKER=“1”时,蜂鸣器发出蜂鸣, 表示有呼叫信号产生。

4.3系统的设计思路

根据设计要求,整个系统分为四个模块:①呼叫模块:发出呼叫信号,红色发光指示灯指示呼叫信号对应的病房号;②动态数码管模块:显示对应呼叫的病房号;③双色点阵模块:显示呼叫信号对应的病房号;④蜂鸣器模块:有病房呼叫时蜂鸣器响三秒。设计的总体结构如图1.2所示。下面再简要说明各组成部分的功能:

2

燕 山 大 学 课 程 设 计 说 明 书

/*数码管模块*/

module number(SS,C,Q,CLK); input [1:3]C; input CLK; output [2:0]SS; output [1:7]Q;

reg [2:0]SS;//定义位选寄存器 reg [1:7]Q;//定义数选寄存器 reg [0:2]WX;

always@(posedge CLK) begin

if(WX=='b111) begin

SS<='b111;//位选赋值 WX<='b000; end else

SS<=WX; WX<=WX+1; end

always@(C) begin case(C)

'b000:Q='b1111110; 'b001:Q='b0110000; 'b010:Q='b1101101; 'b011:Q='b1111001; 'b100:Q='b0110011; 'b101:Q='b1011011; endcase end

endmodule

/*双色点阵模块*/

module matrix(C,ROW,RA,GA,CLK);

8

燕 山 大 学 课 程 设 计 说 明 书

input [1:3]C; input CLK;

output [1:8]ROW; output [1:5]RA; output [1:5]GA; reg [1:8]ROW; reg [1:5]RA; reg [1:5]GA; reg [0:2]S; reg [0:2]W;

always@(posedge CLK) begin

if(S=='b111) S='b000; else S=S+1; case(S)

'b000:ROW='b01111111; 'b001:ROW='b10111111; 'b010:ROW='b11011111; 'b011:ROW='b11101111; 'b100:ROW='b11110111; 'b101:ROW='b11111011; 'b110:ROW='b11111101; 'b111:ROW='b11111110; endcase end

always@(posedge CLK) begin

if(W=='b111) W='b000; else

W=W+1; case({C,W})

/*双色点阵显示0*/

'b000000:begin RA='b00000;GA='b11111;end 'b000001:begin RA='b00000;GA='b00000;end

9

燕 山 大 学 课 程 设 计 说 明 书

'b000010:begin RA='b01110;GA='b00000;end 'b000011:begin RA='b01010;GA='b00000;end 'b000100:begin RA='b01010;GA='b00000;end 'b000101:begin RA='b01010;GA='b00000;end 'b000110:begin RA='b01110;GA='b00000;end 'b000111:begin RA='b00000;GA='b00000;end /*双色点阵显示1*/

'b001000:begin RA='b10000;GA='b01111;end 'b001001:begin RA='b00000;GA='b00000;end 'b001010:begin RA='b00100;GA='b00000;end 'b001011:begin RA='b01100;GA='b00000;end 'b001100:begin RA='b00100;GA='b00000;end 'b001101:begin RA='b00100;GA='b00000;end 'b001110:begin RA='b01110;GA='b00000;end 'b001111:begin RA='b00000;GA='b00000;end /*双色点阵显示2*/

'b010000:begin RA='b01000;GA='b10111;end 'b010001:begin RA='b00000;GA='b00000;end 'b010010:begin RA='b01110;GA='b00000;end 'b010011:begin RA='b00010;GA='b00000;end 'b010100:begin RA='b01110;GA='b00000;end 'b010101:begin RA='b01000;GA='b00000;end 'b010110:begin RA='b01110;GA='b00000;end 'b010111:begin RA='b00000;GA='b00000;end /*双色点阵显示3*/

'b011000:begin RA='b00100;GA='b11011;end 'b011001:begin RA='b00000;GA='b00000;end 'b011010:begin RA='b01110;GA='b00000;end 'b011011:begin RA='b00010;GA='b00000;end 'b011100:begin RA='b01110;GA='b00000;end 'b011101:begin RA='b00010;GA='b00000;end 'b011110:begin RA='b01110;GA='b00000;end 'b011111:begin RA='b00000;GA='b00000;end /*双色点阵显示4*/

'b100000:begin RA='b00010;GA='b11101;end 'b100001:begin RA='b00000;GA='b00000;end 'b100010:begin RA='b01010;GA='b00000;end 'b100011:begin RA='b01010;GA='b00000;end 'b100100:begin RA='b01110;GA='b00000;end

10

燕 山 大 学 课 程 设 计 说 明 书

'b100101:begin RA='b00010;GA='b00000;end 'b100110:begin RA='b00010;GA='b00000;end 'b100111:begin RA='b00000;GA='b00000;end /*双色点阵显示5*/

'b101000:begin RA='b00001;GA='b11110;end 'b101001:begin RA='b00000;GA='b00000;end 'b101010:begin RA='b01110;GA='b00000;end 'b101011:begin RA='b01000;GA='b00000;end 'b101100:begin RA='b01110;GA='b00000;end 'b101101:begin RA='b00010;GA='b00000;end 'b101110:begin RA='b01110;GA='b00000;end 'b101111:begin RA='b00000;GA='b00000;end

endcase end

endmodule

/*蜂鸣器模块*/

module buzzer(CLK,C,SPEAKER); input CLK; input [1:3]C;

output SPEAKER;

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

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

always@(posedge CLK) begin

if(C==0)begin N<=3000;SPEAKER<=0;M<=0;end else

if(C!=M) begin

N<=N-1;

if(N>0) SPEAKER<=1;

else begin SPEAKER<=0;N<=3000;M<=C;end/*当C变化之后小于以前那个值蜂鸣三秒,即多个输入信号T同时存在时,若优先级较高的输入消失,系统检测到新的输入,

11

燕 山 大 学 课 程 设 计 说 明 书

蜂鸣器响三秒*/ end end

endmodule

/*顶层模块*/

module top(R,T,CLK,L,ROW,RA,GA,SS,Q,SPEAKER);

input R; input [1:5]T; input CLK; output [1:5]L; output [1:8]ROW; output [1:5]RA; output [1:5]GA; output [2:0]SS; output [1:7]Q; output SPEAKER; wire [1:3]X1;

call u1(.R(R),.T(T),.L(L),.C(X1));

number u2(.CLK(CLK),.C(X1),.SS(SS),.Q(Q));

matrix u3(.CLK(CLK),.C(X1),.ROW(ROW),.RA(RA),.GA(GA)); buzzer u4(.CLK(CLK),.C(X1),.SPEAKER(SPEAKER));

endmodule

4.6管脚锁定及硬件连线 R PIN46 L1 T1 PIN39 L2 T2 PIN40 L3 T3 PIN41 L4 T4 PIN44 L5 T5 PIN45 ROW1 CLK PIN9 ROW2 SPEAKER PIN38 ROW3 SS1 PIN71 SS2 Q3 PIN27 Q4 Q7 PIN31

PIN12 PIN13 PIN14 PIN15 PIN17 PIN173 PIN174 PIN175 PIN74 PIN28 ROW4 ROW5 ROW6 ROW7 ROW8 RA1 RA2 RA3 Q1 Q5 PIN176 PIN177 PIN179 PIN187 PIN189 PIN190 PIN191 PIN192 PIN25 PIN29 RA4 RA5 GA1 GA2 GA3 GA4 GA5 SS0 Q2 Q6 PIN193 PIN195 PIN68 PIN70 PIN73 PIN170 PIN172 PIN69 PIN26 PIN30 12

燕 山 大 学 课 程 设 计 说 明 书

硬件连线:蜂鸣器,拨码开关和红色指示灯内锁,不需要外部接线; SS0、SS1、SS2接实验箱动态数码管SS0、SS1、SS2; Q1~Q7接动态数码管段位引线A、B、C、D、E、F、G; RA1~RA5接实验箱双色点阵RA1~RA5; GA1~GA5接实验箱双色点阵GA1~GA5;

ROW1~ROW8接实验箱双色点阵ROW1~ROW8。

第五章 总结

本次课设是利用硬件描述语言Verilog HDL进行的,由于采用Verilog进行电路设计与工艺性无关,所以在进行电路设计时不需要过多的考虑工艺实现的具体细节,只需利用计算机的强大功能,在EDA工具的支持下,通过Verilog HDL的描述,完成数字电路和系统的设计。

这个病房呼叫系统的设计所分的四个模块,都是利用了硬件描述语言直接进行描述,例如第一个呼叫模块,其优先编码设置并没有考虑使用优先编码器,而是直接编程设计使模块接收到输入信号时能够给出需要的输出信号。其他模块例如数码管模块,双色点阵模块和蜂鸣器模块都可以直接编程进行控制而不需要其他电子器件,这正是EDA设计的优势所在。

在整个设计的过程当中,了解了EDA的基本知识,学会了使用软件Max+PlusⅡ,学会使用Verilog HDL语言进行硬件编程及调试,对硬件设计有了一个更深层次的理解。对于EDA课程设计这门课,应该有更多的个人思考,更多的动手实践,在不断地思考中得到新知,在查找错误的过程中积累经验,为以后更深入、更高级的设计打下基础。

参考文献

《数字电子技术基础》.阎石主编.高等教育出版社.

《EDA课程设计A指导书》.郑兆兆编

13

燕 山 大 学 课 程 设 计 说 明 书

燕山大学课程设计评审意见表

指导教师评语: ①该生学习态度 (认真 较认真 不认真) ②该生迟到、早退现象 (有 无) ③该生依赖他人进行设计情况 (有 无) 平时成绩: 指导教师签字: 2014 年 1 月 10 日 图面及其它成绩: 答辩小组评语: ①设计巧妙,实现设计要求,并有所创新。 ②设计合理,实现设计要求。 ③实现了大部分设计要求。 ④没有完成设计要求,或者只实现了一小部分的设计要求。 答辩成绩: 组长签字: 2014 年 1 月 10 日 课程设计综合成绩: 答辩小组成员签字: 2014年 1 月 10 日 14

本文来源:https://www.bwwdw.com/article/yfja.html

Top