基于fpga的洗衣机控制器veriloghdl语言描述的设计与开发内容摘要:
if(!Reset) begin H_L_f3=1。 end else if(Count == Delay10ms) begin H_L_f3=Key_in。 end end always @(posedge Clk or negedge Reset ) begin if(!Reset) begin H_L_f4=1。 end else begin H_L_f4=H_L_f3。 end end assign Key_out = H_L_f4 amp。 (~H_L_f3)。 endmodule 时钟分频模块的 设计 由于使用的 FPGA 的输入时钟是 20M hz,定时模块的自减频率是 1hz,因此需要进行分频得到 1hz 的时钟频率输入给定时模块。 时钟分频模块图如图 3: 时钟分频模块功能仿真图如图 4: 图 3 图 4 其 Verilog HDL 语言描述如下: module FrequencyDivider(Clk,Rst,ClkOut)。 input Clk,Rst。 output ClkOut。 reg [23:0] Count。 reg OutData。 reg Reset。 always @(posedge Clk ) //异步复位同步释放 begin Reset=Rst。 end always @(posedge Clk or negedge Reset) begin if(!Reset) begin Count=0。 OutData=0。 end else if(Count==2439。 d10_000_000) begin Count=0。 OutData=~OutData。 end 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 else begin Count=Count+139。 d1。 end end assign ClkOut=OutData。 endmodule 定时器 设定和自减 模块的设计 定时器设定和自减模块可以设定定时器的工作时间,通过输入的 1hz 的信号使定时器的值每秒自减 1,直至为 0。 其 定时器的值输出给 数码管译码 模块 和时序控制 模块。 定时器设定和自减模块图如图 5;定时器设定和自减模块功能仿真图如图 6: 图 5 图 6 其 Verilog HDL 语言描述如下: module KeySet(Clk,Clk_1hz,Rst,Start,UpKey,DownKey,SetTimer)。 input Clk,Clk_1hz,Rst,Start,UpKey,DownKey。 output [6:0] SetTimer。 reg [6:0] Timer。 reg [6:0] rTimer。 reg Reset。 always @(posedge Clk ) //异步复位同步释放 begin Reset=Rst。 end always @(posedge Clk or negedge Reset) begin if(!Reset) begin Timer=739。 d50。 end //定时时间赋初值 else if(Start) begin if(UpKey) begin Timer=Timer+139。 b1。 end else if(DownKey) begin Timer=Timer139。 b1。 end end // 时 间 减 一end 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 always @(posedge Clk_1hz) //1s 信号输入 begin rTimer=Timer。 if(!Start) begin if(rTimer==739。 d0) begin rTimer=0。 end //时间到 0保持以免错误 else begin rTimer=rTimer139。 b1。 end end//每秒减一 end assign SetTimer=rTimer。 endmodule 时序中心控制 模块的设计 时序控制模块由定时器送来的值来控制洗衣机控制器的工作方式,正转、反转、停转和报警。 时序 中心 控制模块 图如图 7; 时序 中心 控制模块 图 功能仿真 如图 8: 图 7 图 8 其 Verilog HDL 语言描述如下: module Center(Clk,Start,Rst,Forward,Back,Stop,Sound,SetTimer)。 input Clk,Start,Rst。 input [6:0]SetTimer。 output Back,Stop,Sound,Forward。 reg rBack,rStop,rSound,rForward。 reg [3:0] i。 reg [1:0] j。 reg [6:0] rSetTimer。 reg [24:0] num。 reg Reset。 always @(posedge Clk ) //异步复位同步释放 begin Reset=Rst。 end always @(posedge Clk or negedge Reset) be。基于fpga的洗衣机控制器veriloghdl语言描述的设计与开发
相关推荐
B 39。 539。 ,0AH,0DH,39。 $39。 DB 39。 639。 ,0AH,0DH,39。 $39。 16 DB 39。 739。 ,0AH,0DH,39。 $39。 DB 39。 839。 ,0AH,0DH,39。 $39。 DB 39。 939。 ,0AH,0DH,39。 $39。 DB 39。 1039。 ,0AH,0DH,39。 $39。 DB 39。 1139。
制作文字 建立文字框:打开工具箱,在“工具箱”内的“标签”按钮 ,如图: 鼠标 的光标变为“十字”形,在窗口顶部拖拽鼠标,拉出一个一定大小的矩形。 输入文字 :建立矩形框后,光标在其中闪烁,可直接输入 “液体混合装置控制的模拟”文字。 按回车或在窗口任何位置用鼠标点击一下,文字输入完成,如果需要改变文字的内容,先选中文字标签,按回车或空格,即可进行修改。 设置文字框颜色 :选中文字框
mp) { flag=1。 _BIC_SR_IRQ(LPM2_bits)。 } } pragma vector=PORT1_VECTOR __interrupt void port1(void) { P1IFGamp。 =~BIT3。 keydownflag=1。 _DINT()。 //关闭总中断 _BIC_SR_IRQ(LPM2_bits)。 } pragma
引脚功能描述 1 GND 接地信号 2 DQ 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此引脚 必须接地。 DS18B20 的内部结构示意图如下图所示。 I/O C 64 位 ROM 和 单 线 高速缓存 存储器与控制逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 10
定位一只特定的 DS18B20 只有和 64 位 ROM 序列完全匹配的 DS18B20 才能响应随后的存储器操作命令。 所有和 64 位 ROM 序列埠匹配的从机都将等待复位脉冲。 这条命令在总线上有单个或多个器件时都可以使用。 桂林电子科技大学实训说明书用纸 8 本电 路采用 DS18B20 的 12 位分辨率,即温度时间为 750ms。 而 DS18B20 每次
10 总体设计方框图 方框图所示为数字温度控制器的单体设计方框图。 其工作原理为:当该电路上电工作以后,首先刷新显示( LED),然后,温度传感器采集温度送单片机检查温度的高低,由单片机送出信号经过驱动电路送往显示电路。 软件设计 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。 从软件的功能不同可分为两大类:一是监控软件(主程序),