《病房呼叫系统(带程序).doc》由会员分享,可在线阅读,更多相关《病房呼叫系统(带程序).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date病房呼叫系统(带程序)燕山大学燕山大学课 程 设 计 说 明 书题目: 病房呼叫系统 -燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:电子实验中心 学 号学生姓名专业(班级)设计题目病房呼叫系统设计技术参数用一个数码管显示呼叫信号的号码;没信号呼叫时显示0,有多个信号呼叫时,显示优先级最高的呼叫号;用5个拨码开关设置功能键,1号优先级最高,1-5
2、号优先级依次降低;用指示灯指示对应的病房有呼叫,同时蜂鸣器响3秒。设计要求具有复位功能;用动态数码管和双色点阵显示呼叫的病房号。工作量学会使用Max+PlusII软件、Verilog HDL语言和实验箱;独立完成电路设计,编程下载、连接电路和调试;参加答辩并书写任务书。工作计划1. 了解EDA的基本知识,学习使用软件Max+PlusII,下发任务书,开始电路设计;2. 学习Verilog HDL语言,用Verilog HDL进行程序设计3. 学习使用实验箱,继续电路设计;4. 完成电路设计;5. 答辩并书写任务书。参考资料数字电子技术基础.阎石主编.高等教育出版社.EDA课程设计A指导书.指导
3、教师签字李婷 郑兆兆 基层教学单位主任签字李鑫滨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技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑
4、化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。 第二章 引言 随着科学技术的发展,越来越多的科技设备应用到生活的方方面面,其中在医疗领域尤其多。病房呼叫系统这个设计就是应用于医院的一个简单的系统模型,其目的是为了方便医护人员更好地照顾病人,提高工作效率。病房呼叫系统的优先编码设置可以让相对更需要救助的病人第一时间得到救助,其蜂鸣器和数码管、点阵等设置可以直观的提醒医护人员是否有病房呼叫及呼叫的病房号。第三章 基本原理病房呼叫系统共有五个部分,有病房呼叫及复位部分,动态数码管显
5、示数字部分,双色点阵显示部分,指示灯部分以及蜂鸣器部分。根据不同的部分定义模块写程序,使系统能够实现预期的功能。利用EDA技术进行电子系统的设计,是用软件的方式设计硬件。用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的,在设计过程中可以用相关的软件进行仿真。最后将程序下载到实验箱中用硬件模拟病房呼叫系统。第四章 病房呼叫系统的设计4.1系统的设计要求设计一个病房呼叫系统,该系统具有:5个拨码开关设置功能键,分别编号15对应五个病房,1号优先级最高,15号优先级依次降低;一个数码管,显示呼叫信号的号码,当没信号呼叫时显示0,有多个信号呼叫时,显示优先级最高的呼叫号;双色点阵,显示
6、呼叫的病房号;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
7、位输出信号,输出数码管位选信号,Q是7位输出信号,输出数码管段选信号,SS、Q控制数码管显示呼叫信号标号。(6)SPEAKER用于控制扬声器发生,当SPEAKER=“1”时,蜂鸣器发出蜂鸣, 表示有呼叫信号产生。4.3系统的设计思路根据设计要求,整个系统分为四个模块:呼叫模块:发出呼叫信号,红色发光指示灯指示呼叫信号对应的病房号;动态数码管模块:显示对应呼叫的病房号;双色点阵模块:显示呼叫信号对应的病房号;蜂鸣器模块:有病房呼叫时蜂鸣器响三秒。设计的总体结构如图1.2所示。下面再简要说明各组成部分的功能: 图1.2总体结构(1)呼叫模块(call):该模块共6个输入信号,8个输出信号,其中T1
8、到T5表示1号到5号病房,优先级从T1到T5依次降低。高电平表示病房发出呼叫,R为复位键,高电平表示发出复位信号。L1到L5控制五个红色发光指示灯,当输出高电平时指示灯点亮。C1到C3为该模块输出的优先编码信号,用于控制其他三个模块。呼叫模块属于优先编码,真值表如下:RT1T2T3T4T5C1C2C31XXXXX00000000000001XXXX001001XXX0100001XX01100001X100000001101(2)动态数码管模块(number):该模块共4个输入信号,10个输出信号,C1到C3为从呼叫模块接受的信号,通过数码管显示对应病房呼叫号。CLK为时钟信号,控制位选扫描。
9、SS0到SS2为输出的位选信号,选中对应的数码管显示呼叫号,在此模块中通过控制SS0、SS1、SS2的值从000到111循环让8端数码管依次循环显示,时钟频率为1KHz,位选信号每ms变化一次,便观察到8位数码管同时显示。Q1到Q7输出数码管段选信号,控制数码管显示病房呼叫号。 动态数码管段选信号真值表C1C2C3Q1Q2Q3Q4Q5Q6Q7NUM000111111000010110000101011011012011111100131000110011410110110115(3)双色点阵模块(matrix):该模块共4个输入信号,18个输出信号,C1到C3为从呼叫模块接受的信号。CLK为时
10、钟信号,控制点阵的行列扫描。在此模块中,CLK信号控制ROW1到ROW8依次为0,频率为1KHz,通过RA1到RA5、GA1到GA5向对应的列输出高电平,控制双色点阵显示呼叫号。其显示效果如图所示: WRA1RA2RA3RA4RA50000000000100000010011100110101010001010101010101100111011100000WGA1GA2GA3GA4GA500011111 为了使点阵显示更加美观,在第一行增加五个绿点,当点阵显示数字不为零时,对应绿点变红。当双色点阵显示“0”时,其RA、GA的赋值如右表所示。W为控制列循环的中间变量。 (4)蜂鸣器模块(buz
11、zer):该模块共4个输入信号,1个输出信号,C1到C3为从呼叫模块接受的信号,当信号产生变化且不为0的时候,SPEAKER输出3秒的高电平控制蜂鸣器响三秒。CLK为1KHz的输入时钟信号,即每毫秒输出一个上升沿,设置变量N初值为3072,每个上升沿减1,当N=0时3s结束时,蜂鸣器不再响。4.4波形仿真4.4.1呼叫模块的波形仿真如图1.3所示。当T1为1时,L1输出1,C1:3输出001,;当T2为1时,L2输出1,C1:3输出010,以此类推 图1.3呼叫模块波形仿真4.4.2动态数码管模块波形仿真如图1.4所示。SS2:0为数码管位选信号,随着CLK信号上升沿依次选中8位数码管。Q1:
12、7为数码管段选信号,当C1:3输入000时,Q1:7输出1111110,数码管显示“0”;当C1:3输入001时,Q1:7输出0110000,数码管显示“1”;以此类推 图1.4动态数码管模块波形仿真 4.4.3双色点阵波形仿真如图1.5、图1.6所示。ROW1:8为双色点阵行信号,随着CLK信号上升沿由各位循环为零实现行扫描当双色点阵显示“0”时:ROW1=0时,RA1:5=00000RA1:5=11111;ROW2=0时,RA1:5=00000GA1:5=00000;ROW3=0时,RA1:5=01110GA1:5=00000;ROW4=0时,RA1:5=01010GA1:5=00000;
13、ROW5=0时,RA1:5=01010GA1:5=00000;ROW6=0时,RA1:5=01010GA1:5=00000;ROW7=0时,RA1:5=01110GA1:5=00000;ROW8=0时,RA1:5=00000GA1:5=00000当双色点阵显示“1”时,与显示“0”时类似,红色点处列信号RA对应为1,绿色点处列信号GA对应为1图1.5双色点阵显示0时的波形仿真图1.6双色点阵显示1时的波形仿真4.4.4蜂鸣器模块波形仿真如图1.7所示当输入信号C1:3为001时,SPEAKER输出1并持续3秒,当输入信号变化时SPEAKER继续输出1并持续三秒。图中忽略了计时用的CLK信号。图
14、1.7蜂鸣器模块波形仿真4.4.5总体结构波形仿真如图1.8所示图1.8总体结构波形仿真图4.5Verilog HDL源程序/*呼叫模块*/module call(R,T,C,L);input R;input 1:5T;/对应五个病房output 1:3C;/优先编码输出output 1:5L;/红色发光指示灯reg 1:3C;reg 1:5L;always(R or T)begincasex(R,T)b1XXXXX: begin C=b000;L=b00000;endb000000: begin C=b000;L=b00000;endb01XXXX: begin C=b001;L=b1000
15、0;endb001XXX: begin C=b010;L=b01000;endb0001XX: begin C=b011;L=b00100;endb00001X: begin C=b100;L=b00010;endb000001: begin C=b101;L=b00001;endendcaseendendmodule/*数码管模块*/module number(SS,C,Q,CLK);input 1:3C;input CLK;output 2:0SS;output 1:7Q;reg 2:0SS;/定义位选寄存器reg 1:7Q;/定义数选寄存器reg 0:2WX;always(posedge
16、 CLK)beginif(WX=b111)beginSS=b111;/位选赋值WX=b000;endelseSS=WX;WX=WX+1;endalways(C)begincase(C)b000:Q=b1111110;b001:Q=b0110000;b010:Q=b1101101;b011:Q=b1111001;b100:Q=b0110011;b101:Q=b1011011;endcaseendendmodule/*双色点阵模块*/module matrix(C,ROW,RA,GA,CLK);input 1:3C;input CLK;output 1:8ROW;output 1:5RA;outp
17、ut 1:5GA;reg 1:8ROW;reg 1:5RA;reg 1:5GA;reg 0:2S;reg 0:2W;always(posedge CLK)beginif(S=b111)S=b000;elseS=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;endcaseendalways(posedge CLK)beg
18、inif(W=b111)W=b000;elseW=W+1;case(C,W)/*双色点阵显示0*/b000000:begin RA=b00000;GA=b11111;endb000001:begin RA=b00000;GA=b00000;endb000010:begin RA=b01110;GA=b00000;endb000011:begin RA=b01010;GA=b00000;endb000100:begin RA=b01010;GA=b00000;endb000101:begin RA=b01010;GA=b00000;endb000110:begin RA=b01110;GA=b0
19、0000;endb000111:begin RA=b00000;GA=b00000;end/*双色点阵显示1*/b001000:begin RA=b10000;GA=b01111;endb001001:begin RA=b00000;GA=b00000;endb001010:begin RA=b00100;GA=b00000;endb001011:begin RA=b01100;GA=b00000;endb001100:begin RA=b00100;GA=b00000;endb001101:begin RA=b00100;GA=b00000;endb001110:begin RA=b0111
20、0;GA=b00000;endb001111:begin RA=b00000;GA=b00000;end/*双色点阵显示2*/b010000:begin RA=b01000;GA=b10111;endb010001:begin RA=b00000;GA=b00000;endb010010:begin RA=b01110;GA=b00000;endb010011:begin RA=b00010;GA=b00000;endb010100:begin RA=b01110;GA=b00000;endb010101:begin RA=b01000;GA=b00000;endb010110:begin R
21、A=b01110;GA=b00000;endb010111:begin RA=b00000;GA=b00000;end/*双色点阵显示3*/b011000:begin RA=b00100;GA=b11011;endb011001:begin RA=b00000;GA=b00000;endb011010:begin RA=b01110;GA=b00000;endb011011:begin RA=b00010;GA=b00000;endb011100:begin RA=b01110;GA=b00000;endb011101:begin RA=b00010;GA=b00000;endb011110:
22、begin RA=b01110;GA=b00000;endb011111:begin RA=b00000;GA=b00000;end/*双色点阵显示4*/b100000:begin RA=b00010;GA=b11101;endb100001:begin RA=b00000;GA=b00000;endb100010:begin RA=b01010;GA=b00000;endb100011:begin RA=b01010;GA=b00000;endb100100:begin RA=b01110;GA=b00000;endb100101:begin RA=b00010;GA=b00000;endb
23、100110:begin RA=b00010;GA=b00000;endb100111:begin RA=b00000;GA=b00000;end/*双色点阵显示5*/b101000:begin RA=b00001;GA=b11110;endb101001:begin RA=b00000;GA=b00000;endb101010:begin RA=b01110;GA=b00000;endb101011:begin RA=b01000;GA=b00000;endb101100:begin RA=b01110;GA=b00000;endb101101:begin RA=b00010;GA=b000
24、00;endb101110:begin RA=b01110;GA=b00000;endb101111:begin RA=b00000;GA=b00000;endendcaseendendmodule/*蜂鸣器模块*/module buzzer(CLK,C,SPEAKER);input CLK;input 1:3C;output SPEAKER;integer N;/定义变量N用于蜂鸣器计时reg 1:3M;/定义寄存器M存放C的状态用以判断C是否产生变化reg SPEAKER;always(posedge CLK)beginif(C=0)begin N=3000;SPEAKER=0;M=0;e
25、ndelse if(C!=M) begin N0) SPEAKER=1; else begin SPEAKER=0;N=3000;M=C;end/*当C变化之后小于以前那个值蜂鸣三秒,即多个输入信号T同时存在时,若优先级较高的输入消失,系统检测到新的输入,蜂鸣器响三秒*/endendendmodule/*顶层模块*/module top(R,T,CLK,L,ROW,RA,GA,SS,Q,SPEAKER);input R;input 1:5T;input CLK;output 1:5L;output 1:8ROW;output 1:5RA;output 1:5GA;output 2:0SS;ou
26、tput 1:7Q;output SPEAKER;wire 1:3X1;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管脚锁定及硬件连线RPIN46L1PIN12ROW4PIN176RA4PIN193T1PIN39L2PIN13ROW5PIN177RA5PIN195T2PIN
27、40L3PIN14ROW6PIN179GA1PIN68T3PIN41L4PIN15ROW7PIN187GA2PIN70T4PIN44L5PIN17ROW8PIN189GA3PIN73T5PIN45ROW1PIN173RA1PIN190GA4PIN170CLKPIN9ROW2PIN174RA2PIN191GA5PIN172SPEAKERPIN38ROW3PIN175RA3PIN192SS0PIN69SS1PIN71SS2PIN74Q1PIN25Q2PIN26Q3PIN27Q4PIN28Q5PIN29Q6PIN30Q7PIN31硬件连线:蜂鸣器,拨码开关和红色指示灯内锁,不需要外部接线;SS0、S
28、S1、SS2接实验箱动态数码管SS0、SS1、SS2;Q1Q7接动态数码管段位引线A、B、C、D、E、F、G;RA1RA5接实验箱双色点阵RA1RA5;GA1GA5接实验箱双色点阵GA1GA5;ROW1ROW8接实验箱双色点阵ROW1ROW8。第五章 总结本次课设是利用硬件描述语言Verilog HDL进行的,由于采用Verilog进行电路设计与工艺性无关,所以在进行电路设计时不需要过多的考虑工艺实现的具体细节,只需利用计算机的强大功能,在EDA工具的支持下,通过Verilog HDL的描述,完成数字电路和系统的设计。这个病房呼叫系统的设计所分的四个模块,都是利用了硬件描述语言直接进行描述,例
29、如第一个呼叫模块,其优先编码设置并没有考虑使用优先编码器,而是直接编程设计使模块接收到输入信号时能够给出需要的输出信号。其他模块例如数码管模块,双色点阵模块和蜂鸣器模块都可以直接编程进行控制而不需要其他电子器件,这正是EDA设计的优势所在。在整个设计的过程当中,了解了EDA的基本知识,学会了使用软件Max+Plus,学会使用Verilog HDL语言进行硬件编程及调试,对硬件设计有了一个更深层次的理解。对于EDA课程设计这门课,应该有更多的个人思考,更多的动手实践,在不断地思考中得到新知,在查找错误的过程中积累经验,为以后更深入、更高级的设计打下基础。参考文献 数字电子技术基础.阎石主编.高等教育出版社. EDA课程设计A指导书.郑兆兆编燕山大学课程设计评审意见表指导教师评语:该生学习态度 (认真 较认真 不认真) 该生迟到、早退现象 (有 无)该生依赖他人进行设计情况 (有 无)平时成绩: 指导教师签字: 2014 年 1 月 10 日图面及其它成绩:答辩小组评语:设计巧妙,实现设计要求,并有所创新。 设计合理,实现设计要求。 实现了大部分设计要求。 没有完成设计要求,或者只实现了一小部分的设计要求。 答辩成绩: 组长签字: 2014 年 1 月 10 日课程设计综合成绩:答辩小组成员签字: 2014年 1 月 10 日