PIXNET Logo登入

No More Codes

跳到主文

歡迎光臨ghostyguo在痞客邦的小天地

部落格全站分類:生活綜合

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 6月 11 週二 201900:33
  • [Verilog] DHT22


純記錄


module IOT_Bridge(


                output [7:0] seg,


                output [3:0] dig,


                output reg [3:0] led,


                input clock,


                input [3:0] sw,


                inout dht22_sda


        );


               


        // variables of clocks


        wire ck1Mhz;


        wire ck1KHz;   


        wire ck1Hz;     


        CLK_1MHZ  clk_1MHz(clock, ck1Mhz);


        CLK_1KHZ  clk_1KHz(clock, ck1Khz);


        CLK_1HZ   clk_1Hz(clock, ck1Hz);


       


        // variables of 7-seg LED


   wire [3:0] D3;


   wire [3:0] D2;


   wire [3:0] D1;


   wire [3:0] D0;


   wire [15:0] number;  // number to display


       


   BIN2BCD bin2bcd(number, D3, D2, D1, D0);


   Seg7    seg7(seg, dig, ck1Khz, D3, D2, D1, D0);   


               


        //DHT22 variables


        reg dht22_reset;


        reg dht22_get;


        reg dht22_select; //1=humidity, 0=temperature


        wire  [39:0] dht22_data;


        DHT22 dht22(ck1Mhz, dht22_reset, dht22_get, dht22_sda, dht22_data);


       


        assign number[15:0] = dht22_select ? dht22_data[39:24]:dht22_data[23:8];


       


        // clock


        reg [9:0] clock_counter;


       


        // initial


        initial


        begin


                dht22_reset = 0;


                dht22_get = 1;


                dht22_select = 1;


                clock_counter = 0;


                led[3:0]= 4'b1111; //LED off


        end         


       


        // select to show humidity or temperture


        always @ (posedge sw[0])


        begin      


                dht22_select = ~dht22_select;               


        end


               


        always @ (posedge ck1Khz)


        begin                              


                if (dht22_reset==0)


                        begin


                                dht22_reset = 1;


                                dht22_get = 0; //start to read DHT22


                        end


               


                led[3] = dht22_get;


                clock_counter = clock_counter + 1'b1;


                if(clock_counter==10'd1000)


                        begin


                                clock_counter = 0; 


                                dht22_reset = 0;


                        end


                if(clock_counter==10'd10) 


                        begin                      


                                dht22_get = 1; //stop read DHT22


                        end                 


        end                 


       


endmodule




(繼續閱讀...)
文章標籤

ghostyguo 發表在 痞客邦 留言(1) 人氣(136)

  • 個人分類:Verilog
▲top
  • 5月 25 週六 201921:15
  • [Verilog] 十進位計數器

純記錄


module Test(


                output [7:0] seg,


                output [3:0] dig,


                output reg led,


                input clock


        );   


        reg [14:0] number;  // number to display     


        reg [25:0] clock_divider;       


        wire [3:0] D3;


        wire [3:0] D2;


        wire [3:0] D1;


        wire [3:0] D0;


       


        assign seg7_clk = clock_divider[14];


       


        BIN2BCD bin2bcd(number, D3, D2, D1, D0);


        Seg7    seg7(seg, dig, seg7_clk, D3, D2, D1, D0);


       


        // initial


        initial


        begin


                clock_divider = 0;


                number = 0;


        end 


       


        // number counts


        always @ (posedge clock )


        begin


                clock_divider = clock_divider + 1'b1;


                if(clock_divider==25'd25000000)


                begin


                        clock_divider = 0;                   


                        number = number+ 1;


                        if (number==14'd10000)


                        begin


                                number = 0;


                        end


                end


        end


       


       


endmodule




(繼續閱讀...)
文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣(1,189)

  • 個人分類:Verilog
▲top
1

文章分類

toggle 雜項記錄 (3)
  • Synology (6)
  • RouterOS (2)
  • Windows (1)
toggle 硬體設計 (1)
  • Verilog (2)
toggle 訊號處理 (4)
  • RMT觀察 (106)
  • P-alert觀察 (12)
  • 地震訊號 (16)
  • 科普知識 (1)
toggle Raspberry Pi (1)
  • 安裝設定 (7)
toggle 程式設計 (16)
  • C/C++ (1)
  • LinkIt (1)
  • Android (1)
  • JavaScript (1)
  • CUDA (16)
  • STM (1)
  • ESP32 (9)
  • OpenCV (1)
  • PLC (6)
  • 網頁 (1)
  • C# (5)
  • Java (1)
  • 機器人 (3)
  • Python (15)
  • ESP8266 (3)
  • Golang (1)
  • 未分類文章 (1)

熱門文章

  • (10,219)NodeMCU (ESP8266) 韌體更新
  • (2,189)在 C# 呼叫 CUDA 的方法
  • (1,832)ESP32 使用 I2C LCD
  • (1,429)[CUDA] SDK安裝、範例編譯與 HelloCuda 程式
  • (1,232)使用 NodeMCU API
  • (791)[CUDA] 平行處理基礎 : Block 與 Thread
  • (382)MR與實際地震的關係
  • (189)2018.07.07 P-alert網頁分析 (爬蟲準備)
  • (106)從4/11蘭嶼地震探討RMT作為地震前兆的可能性
  • (18)更改水平0軸的畫線方式

最新留言

  • [22/04/04] 訪客 於文章「[CUDA] OpenCV CUDA 程...」留言:
    回饋您這方面資訊,我是從 PTT搜尋引擎的排名,看...
  • [21/12/13] 訪客 於文章「在ESP32使用mqtt publish...」留言:
    了解,但我之後改成電腦的IP address,還是無法連上並...
  • [21/12/12] 訪客 於文章「在ESP32使用mqtt publish...」留言:
    因為我填入127.0.0.1卻連不上mqtt...
  • [21/12/12] 訪客 於文章「在ESP32使用mqtt publish...」留言:
    請教一下,如果我是在同一台電腦上架設mqtt伺服器,那我co...
  • [20/08/21] 蔡宇弦 於文章「[Verilog] DHT22...」留言:
    請問有seg7的程式嗎?...
  • [20/07/09] ghostyguo 於文章「設定Windows排程器執行powers...」留言:
    是的, 每天壓縮原始圖檔, 複製到NAS後同步到雲端硬碟...
  • [20/07/08] Meteor Shih 於文章「設定Windows排程器執行powers...」留言:
    老師 這是用在RMT圖檔 排程自動壓縮的用途上嗎?...
  • [18/10/30] allen 於文章「[ESP32] arduino環境下的A...」留言:
    謝謝老師,難怪我PIN 2 都不通.... ...
  • [18/09/09] ghostyguo 於文章「[python] 下載台灣股市的每日成交...」留言:
    2018/09/09 更新在這裡: http://ghos...
  • [18/09/09] ghostyguo 於文章「[python] 抓取台灣上市櫃公司股票...」留言:
    2018.09.09 更新: http://ghostyg...

參觀人氣

  • 本日人氣:
  • 累積人氣:

文章搜尋

最新文章

  • [Mikortik] 封鎖一大堆blacklist
  • 樹莓派安裝執行 .NET Core 程式
  • [Rpi3] 3.5吋觸控LCD驅動
  • ESP-IDF 使用 ESP32-S2 的設定/編譯/燒錄
  • Raspberry apt source 更新
  • 簡易DDNS 轉址服務
  • 2022/03/23 東部地震現象記錄
  • [Python] 計算RMT檔案目錄下的檔案數
  • [HTML] bootstrap5 與 chart.js (v3)
  • [PHP] 掃描子目錄, 自動建立連結標籤