数电实验代码原理图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 quartus原理图设计1原理图
2仿真波形
实验3 BCD码-七段译码器
1.代码
module decode4_7(codeout,indec);
input[3:0] indec;
output[6:0] codeout;
reg[6:0] codeout;
always @(indec)
begin
case (indec)
4'd0: codeout=7'b1111110;
4'd1: codeout=7'b0110000;
4'd2: codeout=7'b1101101;
4'd3: codeout=7'b1111001;
4'd4: codeout=7'b0110011;
4'd5: codeout=7'b1011011;
4'd6: codeout=7'b1011111;
4'd7: codeout=7'b1110000;
4'd8: codeout=7'b1111111;
4'd9: codeout=7'b1111011;
default: codeout=7'bx;
endcase
end
endmodule
2.仿真波形
实验3 一位数值比较器
1.代码
module compare(a_gt,a_eq,a_lt,a,b); input a,b;
output a_gt,a_eq,a_lt;
assign a_gt=a&~b;
assign a_eq=a&b|~a&~b;
assign a_lt=~a&b;
endmodule
2.仿真波形
实验4 集成触发器应用及彩灯控制器1原理图
2仿真波形
实验5 移位寄存器
1.原理图
2.仿真波形
实验6 十进制可逆计数器1.代码及原理图
module jishuqi(Load,Up_down,En,CP,CR,data,q,Co);
input Load,Up_down,En,CP,CR;
input [3:0]data;
output reg [3:0]q;
output reg Co;//,Bo;
integer direction;
//assign CO=EN&&(~load)&&(direction==1)&&(q==4'b1000);
//assign BO=EN&&(~load)&&(direction<0)&&(q==4'b0000); always@(posedge CP or negedge CR)
begin
if(~CR) q<=4'b0000;
else begin
if (Up_down) direction<=1;
else direction<=-1;
if(Load) begin q<=data;Co<=1'bz; end
else if(En)
begin
q<=q+direction;Co<=1'bz;
if(q>=4'b1000&direction==1)
begin q<=4'b0000;Co<=1; end
if(q==4'b0000&direction<0)
begin q<=4'b1001;Co<=0; end
end
else q<=q;
end
end
endmodule
2仿真波形
实验7 PWM实验
1.代码
module div(cp,Q);
input cp;
output Q;
reg[15:0]counter;
reg Q;
always@(posedge cp)
begin
counter=counter+1;
if(counter<=12500)Q=1'b1; else if (counter<=25000)Q=0; else if (counter==25001)
begin
counter=1;
Q=1'b1;
end
end
endmodule
module pwm(cp,k,pwmo); input cp;
input[3:0]k;
output reg pwmo;
reg[3:0]temp;
always@(posedge cp) begin
temp=temp+1;
if(temp<=k)pwmo=1; else pwmo=0;
if(temp==10)temp=0; end
endmodule
2.仿真波形