名称:智能台灯设计Verilog代码Quartus 大西瓜开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:
智能台灯设计
1. 系统可自动感受环境光强度,并依据环境光强度调节台灯亮度。
2. 实现定时休息提醒功能,每20分钟提醒用户注意休息眼睛。
3. 开发板验证
本代码已在大西瓜开发板验证,大西瓜开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
顶层仿真图
分频模块
Adc模块
亮度控制模块
计时模块
数码管显示模块
部分代码展示:
//智能台灯 module table_lamp( input clk,//50MHz时钟 input RST,//复位 //AD接口 input sdat_in, //TLC549串行数据输入 output adc_clk, //TLC549 I/O时钟 output cs_n, //TLC549 片选控制 //数码管显示 output [3:0]wei, output [7:0]duan, output [7:0] LED,//LED灯 output beep//提醒信号 ); wire clk_led; wire data_ready;//指示有新的数据输出 wire[7:0]data_out;//AD转换数据输出 wire rst_p; assign rst_p=~RST; wire [5:0] second;//秒 wire [5:0] minute;//分 //分频模块,分频到1KHz fenping i_fenping( . clk_50M(clk), . clk_led(clk_led) ); //通过AD采集亮度传感器信号 adc i_adc( .clock(clk), //系统时钟 .reset(rst_p), //复位,高电平有 .enable(1'b1), //转换使能 .sdat_in(sdat_in), //TLC549串行数据 .adc_clk(adc_clk), //TLC549 I/O时 .cs_n(cs_n), //TLC549 片选控 .data_ready(data_ready),//指示有新的数据 .data_out(data_out) //AD转换数据输出 );
源代码
点击下方的公众号卡片获取