贵州师范学院教育科学学院
心理实验报告
课程名称 实验心理学
实验名称 最小变化法测量明度差别阈限
20##年 4月 4 日
第二篇:PWM调整LED灯亮度并数字显示占空比实验报告
电工电子实验报告
学生姓名:周典淼
学生学号:2009112030430
系别班级:物电0904班
课程名称:现代电子技术实验(EDA)
报告性质:设计报告
实验地点:现代电子技术实验室
开课学期:20112
成绩评定:
教师签名:
PWM调整LED灯亮度并数字显示占空比
一.实验原理
学习PWM原理,用Verilog硬件描述语言设计PWM逻辑电路,实现PWM信号占空比可调,通过按键调整PWM信号的占空比,将此PWM信号输出驱动LED,观察不同占空比时LED的亮度如何变化。
在实验箱上实现按键调整LED亮度,数码管显示PWM信号的占空比。
二.设计方案
1、要使一个灯的亮度可调,可通过调节占空比的信号来完成,因此需要一个计数器从0一直加到99,这就是计数的周期,另设一个DA,设置它的值,再将其与c比较,c<DA时是低电平,c>DA时是高电平,则会产生一个信号,如下图:
2、再将信号接入一发光二极管,就会看到灯一会儿亮一会儿灭,加快扫描的频率,由于人眼的视觉效果会觉得灯是一直亮着的,那么改变占空比,使信号的高电平时间很短,则在人眼看来灯明显变暗了,以此改变了灯的亮度。
三.部分重要设计
1. pwm的控制占空比
module pwm(clr,clk,data,led);
input clr,clk;
input[7:0] data;
output led;
reg[7:0] q;
assign led=(q<data)?1'b1:0;
always@(posedge clk or negedge clr)
if(!clr)begin q<=8'h00;end
else if(q==8'h99)q<=0;
else if(q==8'h?9)q<=q+4'h7;
else q<=q+1'b1;
endmodule
2. module cnt100(clr,clk,up,down,q);//100计数器
input clr,clk,up,down;
output[7:0] q;
reg[7:0] q;
wire dup,ddown;
wire new_clk=clk&(dup|ddown);//ctrl为1时计数,为0时暂停
LCELL aa(up,dup),bb(down,ddown);
always@(posedge new_clk or negedge clr)//毫秒
if(!clr)begin q<=8'h50;end
else if(up)begin
if(q==8'h99)q<=0;
else if(q==8'h?9)q<=q+4'h7;
else q<=q+1'b1;
end
else begin
if(q==8'h00)q<=8'h99;
else if(q==8'h?0)q<=q-4'h7;
else q<=q-1'b1;
end
endmodule
3.二选一选择器
module mux2(a1,a2,sel,out);
input[3:0] a1,a2;
input sel;
output[3:0] out;
assign out=sel?a2:a1;
endmodule
四.引脚分配
五.实验总结
在PWM实验中,灯其实是不断闪烁的,只是我们用的频率比较大,灯闪烁很快,人眼无法识别而已。产生的pwm信号周期为pwm模块所用的时钟的周期乘以100,不管cnt100中的计数器的值怎么改变,pwm信号的周期都不会变,改变的只是信号的占空比。该实验的巧妙之处在于通过两个寄存器中数值的大小关系来控制输出的是高电平还是电平。