名称:基于FPGA的ADC0809数字电压表设计Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
ADC0809数字电压表设计
1、设计代码驱动ADC0809芯片
2、根据ADC0809模数转换的量化值,换算成电压值,电压保留2位小数
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
仿真图分析:AD输入1100101对应十进制为202,202*0.02V=4.04V,故数码管显示4.04。同理00111000对应十进制为56,计算得电压值为56*0.02v=1.12v。
ADC0809模块仿真
仿真图分析:
AD0809的控制时序为:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
电压计算模块仿真
AD为8位,对应量为0~255,即256
电压量程为5V,因此电压分辨率=5v/256=0.01953125≈0.02v
计算AD对应的电压值,电压
公式:voltage_data=DATA*0.02V
数码管显示模块
将voltage_data转换为个位、十分位、百分位分别用3个数码管显示
使用7段数码管显示,每个数码管输入为8位,对应下图中的abcdefg dp 8段,当输入0时对应的段点亮,当输入为1时,对应的段灭。
根据上图可以观察到,若要显示数字“4.”,需要DP+GFCB亮(对应值为0时亮),也就是对应编码为“00011001”,其中从左到右依次对应DP+GFEDCBA。
部分代码展示:
// 首先输入3位地址,并使ALE=1, // 将地址存入地址锁存器中。 // 此地址经译码选通8路模拟输入之一到比较器。 // START上升沿将逐次逼近寄存器复位。 // 下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。 // 直到A/D转换完成,EOC变为高电平,指示A/D转换结束, // 结果数据已存入锁存器,这个信号可用作中断申请。 // 当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 module ADC0809( input clk,//时钟 input reset,//复位 output reg ADDA,//地址 output reg ADDB,//地址 output reg ADDC,//地址 output reg ALE,//ALE output reg START,//START output reg OE,//OE input EOC,//EOC input [7:0] DB,//AD量化值 output reg [7:0] DATA ); reg [2:0] state=3'd0; //定义状态 parameter s_idle=3'd0; parameter s_start=3'd1; parameter s_ADDR=3'd2; parameter s_ALE=3'd3; parameter s_wait=3'd4; parameter s_OE=3'd5; parameter s_DATA=3'd6; parameter s_END=3'd7; always@(posedge clk or posedge reset) if(reset) state<=s_idle;//复位 else case(state) s_idle: state<=s_ADDR;//输入地址 s_ADDR: state<=s_ALE;//锁存地址 s_ALE: state<=s_start;//开始转换 s_start: if(EOC==0) state<=s_wait;//等待 else state<=s_start; s_wait://等待转换完成 if(EOC==1) state<=s_OE;//转换完成 s_OE://使能三态门 state<=s_DATA; s_DATA://读取AD值 state<=s_END; s_END://结束 state<=s_idle; default:; endcase //输入地址 always@(posedge clk or posedge reset) if(reset) begin ADDA<=0; ADDB<=0; ADDC<=0; end else if(state==s_ADDR)//输入地址状态,选择通道1 begin ADDA<=0; ADDB<=0; ADDC<=1; end
源代码
扫描文章末尾的公众号二维码