新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的数字温度测量仪设计与实现

基于FPGA的数字温度测量仪设计与实现

作者:时间:2012-08-09来源:网络收藏

1.3 控制模块
通过控制模块,将从DS18B20读取的二进制温度信息传给数制转换模块,如图6所示。

本文引用地址:http://www.eepw.com.cn/article/190050.htm

h.JPG


程序中设定了三个状态(清除clear、使能enable、显示display),当ena为‘1’时,状态从显示转到清除;ena为‘0’时,状态一直为显示,把输入数据win[11..1]从输出端口wout[11..1]输出到下一模块,之间的转换关系如图7所示。

i.JPG


控制模块仿真结果如图8所示。
图8中,clock输入为1 MHz信号,经过500分频后,得到频率为1kHz的信号clk lk,此时累加器cnt0为‘0’。当cnt0为‘1’时,系统状态由原来的清除状态转变为使能状态,此时enb为‘1’,cnt0进行累加;当cnt0=‘1’时,系统状态从使能状态转变到显示状态,系统就把win[11..1]输入的数据通过wout[11..1]输出到下一模块。
1.4 数制转换模块
利用数制转换模块将输入的11位二进制的温度数据转换为3位十进制表示,如图9所示。

j.JPG


图9中,clear为清零输入端口,enable为使能输入端口,indata[11..1]为数据输入端口,b1『3..0]、b2[3..0]、b3[3..0]为三个输出端口。如果clear输入信号为‘1’时,程序将清除暂存寄存器中数据;反之则不清除。enable输入信号出现上升沿时,程序开始进行数制转换,并通过b1[3..0]、b2[3..0]、b3[3..0]端口将得到的十进制数输出到相应的显示模块中。数制转换模块仿真见图10。

k.JPG


由图10知,输入数据为“010011 10000”,clear端为低电平,当enable信号有上升沿时,数据开始转换。转换后数据为b1=0、b2=9、b3=3,符合设计值。



评论


相关推荐

技术专区

关闭