<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何設(shè)計(jì)基于CPLD的溫度計(jì)(原理和代碼)?

          如何設(shè)計(jì)基于CPLD的溫度計(jì)(原理和代碼)?

          作者: 時(shí)間:2018-07-26 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201807/384017.htm

          buf1[3:0] = (buf0[3:0]> =10)?(buf0[3:0]-10 + 6):(buf0[3:0]+6);

          buf1[7:4] = (buf0[3:0]> =10)?(buf0[7:4]+1):buf0[7:4];

          buf2[3:0] = (buf1[3:0]> =10)?(buf1[3:0]-10):(buf1[3:0]);

          buf2[7:4] = (buf1[3:0]> =10)?(buf1[7:4]+1):buf1[7:4];

          data_out = buf2;

          end

          default:

          begin

          data_out = data_in;

          end

          endcase

          assign temperature = data_out[7:0]

          # 6. 數(shù)碼管顯示

          本設(shè)計(jì)采用4位共陽極數(shù)碼管作為溫度顯示模塊,驅(qū)動(dòng)代碼如下:

          //-----------------數(shù)碼管顯示-------------------

          assign sm_sel ={2’b11,sm_sel_r};

          assign sm_dat = sm_dat_r;

          //XXXX = 8‘b{a,b,c,d,e,f,g,dp}

          parameter ZERO = 8’b0000_0011,//8‘b1100_0000,

          ONE = 8’b1001_1111,//8‘b1111_1001,

          TWO = 8’b0010_0101,//8‘b1010_0100,

          THREE = 8’b0000_1101,//8‘b1011_0000,

          FOUR = 8’b1001_1001,//8‘b1001_1001,

          FIVE = 8’b0100_1001,//8‘b1001_0010,

          SIX = 8’b0100_0001,//8‘b1000_0010,

          SEVEN = 8’b0001_1111,//8‘b1111_1000,

          EIGHT = 8’b0000_0001,//8‘b1000_0000,

          NINE = 8’b0000_1001;//8‘b1001_0000;

          reg [7:0] sm_dat_r;

          reg [7:0] sm_dat_r1;

          reg [7:0] sm_dat_r2;

          always @ (*)

          case( temperature[3:0] )

          4’d0 : sm_dat_r1 = ZERO;

          4‘d1 : sm_dat_r1 = ONE;

          4’d2 : sm_dat_r1 = TWO;

          4‘d3 : sm_dat_r1 = THREE;

          4’d4 : sm_dat_r1 = FOUR;

          4‘d5 : sm_dat_r1 = FIVE;

          4’d6 : sm_dat_r1 = SIX;

          4‘d7 : sm_dat_r1 = SEVEN;

          4’d8 : sm_dat_r1 = EIGHT;

          4‘d9 : sm_dat_r1= NINE;

          default:sm_dat_r1 = 8’hFF;

          endcase

          always @ (*)

          case( temperature[6:4] )

          4‘d0 : sm_dat_r2 = ZERO;

          4’d1 : sm_dat_r2 = ONE;

          4‘d2 : sm_dat_r2 = TWO;

          4’d3 : sm_dat_r2 = THREE;

          4‘d4 : sm_dat_r2 = FOUR;

          4’d5 : sm_dat_r2 = FIVE;

          4‘d6 : sm_dat_r2 = SIX;

          4’d7 : sm_dat_r2 = SEVEN;

          4‘d8 : sm_dat_r2 = EIGHT;

          4’d9 : sm_dat_r2 = NINE;

          endcase

          reg [1:0] sm_sel_r;

          reg [0:0] sm_cnt;

          always @(posedge clk_ref)

          sm_cnt = sm_cnt + 1‘b1;

          always @(sm_cnt)

          case(sm_cnt)

          ’d0:

          begin

          sm_sel_r = 2‘b01;

          sm_dat_r = sm_dat_r1;

          end

          ’d1:

          begin

          sm_sel_r = 2‘b10;

          sm_dat_r = sm_dat_r2;

          end

          default:

          begin

          sm_sel_r= 2’b11;

          sm_dat_r = ZERO;

          end

          endcase

          ```

          7. 最終結(jié)果

          下圖為實(shí)測(cè)的溫度結(jié)果,比實(shí)際溫度高出2-3度。由于芯片出廠的誤差(沒有對(duì)0校準(zhǔn)),加上板卡本身的散熱,使得溫度偏高2~3度。但不影響我們學(xué)習(xí)使用。



          上一頁 1 2 下一頁

          關(guān)鍵詞: 溫度計(jì) cpld

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();