名称:基于PWM的电火花加工试验VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
电火花加工实验内容如下:
1.编写电火花加工试验程序,实现单路脉冲输出。
3.拨码开关前四位调整频率后四位调整占空比。
4.要求可输出频率100、200、300、400、500、600、700、800、900、1000、1500、2000、2500、3000、3500、4000Hz。
5.在不同频率下占空比可调节为0%、10%、20%、30%、40%、50%、60%、70%、80%、90%、100%
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
占空比可以自行修改,本次仿真使用40%
16个频率值如下:
占空比调节
数码管
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY PWM IS PORT ( clk : IN STD_LOGIC; SW_freq : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--频率控制 SW_duty : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--占空比控制 PWM_out : OUT STD_LOGIC;--PWM输出 bit_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END PWM; ARCHITECTURE behaveral OF PWM IS --PWM产生模块 component PWM_ctrl IS PORT ( clk : IN STD_LOGIC; SW_freq : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--频率控制 SW_duty : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--占空比控制 PWM_out : OUT STD_LOGIC--PWM输出 ); END component; --显示模块 component display IS PORT ( clk : IN STD_LOGIC; SW_freq : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--频率控制 SW_duty : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--占空比控制 bit_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END component; BEGIN --PWM产生模块 U_PWM_ctrl: PWM_ctrl PORT MAP( clk=>clk, SW_freq=>SW_freq,--频率控制 SW_duty=>SW_duty,--占空比控制 PWM_out=>PWM_out--PWM输出 ); --显示模块 U_display: display PORT MAP( clk=>clk, SW_freq=>SW_freq,--频率控制 SW_duty=>SW_duty,--占空比控制 bit_select=>bit_select,--数码管位选 seg_select=>seg_select--数码管段选 ); END behaveral;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=644
阅读全文
321