e;Рcounter <= 0;РoWIRE <=1;Рend ?else beginРcounter <= counter + 1;РoWIRE <=0;Рend ?end ?wait_presence: begin ?if(counter == 400) begin ? nstate <= release_bus;Рcounter <= 0;Р oWIRE <=1;Рend ?…………….РР模块创建如下:РР3.2 温度数据处理模块 Р得到的12bit的温度数据信息,可相应进行各种处理,如多次到平均等,另外,需将其由二?进制转换为BCD码。Verilog程序如下:Рmodule bin2bcd(in_bin,out_bcd); Рinput [11:0] in_bin; Рoutput [11:0] out_bcd; Рreg [11:0] out_bcd;Рalways @(in_bin)РbeginР?out_bcd[11:8]=in_bin[11:4]/10;Р?out_bcd[7:4]=in_bin[11:4]%10;Р?if(in_bin[3])Р??out_bcd[3:0] = 5;РendРendmoduleР模块创建如下:РР3.3 温度显示模块 ?FPGA实现LED静态显示控制Р?运用硬件描述语言设计一个显示译码驱动器,即将要显示的字符译成8段码。由于FPGA?有相当多的引脚端资源,如果显示的位数N较少,可以直接使用静态显示方式,即将每一个数码管都分别连接到不同的8个引脚线上,共需要8×N条引脚线控制,如左图所示。Р采用FPGA实现LED数码管动态显示控制 АN个LED数码管以静态方式显示时,需用到8×N条引脚线。在较为复杂的系统中,FPGA的引脚端资源是有限的。因此对于多个LED数码管显示,可以采用扫描方式来实现LED数码管动态显示。