病房呼叫系统(带程序)(3)

2020-02-21 15:47

燕 山 大 学 课 程 设 计 说 明 书

/*数码管模块*/

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


病房呼叫系统(带程序)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数电课程设计任务书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: