原文鏈接:熬夜到了1點了,終于寫出了1602的時鐘計數器代碼。為什么是時鐘計數器呢?因為我還沒來得及做校準時間,所以只能稱之為時鐘計數器,不能成為電子鐘。網上很少用人公開這一類代碼,一搜FPGA? 1602,都是寫一個靜態的顯示,在實際應用中,是沒有用的,因此這個簡單的例子,給大家拋磚引玉了!上代碼: Qii 9.0編譯過,21EDA 開發板測試OKmodule LCD??(??rst,??key1,??clk,??rw,??rs,??en,??data?);?input clk,rst,key1;?output rs,en,rw;?output [7:0] data;??reg rs,en_sel;?reg [7:0] data;?reg [7:0] shi,fen,miao;?reg [31:0]count,count1;??//LCD CLK 分頻計數器?reg lcd_clk;?reg [7:0] one_1,one_2,one_3,one_4,one_5,one_6,one_7,one_8,one_9,one_10,one_11,one_12,one_13,one_14,one_15,one_16;?reg [7:0] two_1,two_2,two_3,two_4,two_5,two_6,two_7,two_8,two_9,two_10,two_11,two_12,two_13,two_14,two_15,two_16;?reg [7:0] next,xianshi,two;?parameter?state0 ?=8'h00,???? //設置8位格式,2行,5*7? ??8'h38;?????state1 ?=8'h01,??//整體顯示,關光標,不閃爍 ?8'h0C??? 閃爍 8'h0e????state2 ?=8'h02,??//設定輸入方式,增量不移位?8'h06????state3 ?=8'h03,??//清除顯示?????8'h01????state4 ?=8'h04,??//顯示第一行的指令??80H????state5 ?=8'h05,??//顯示第二行的指令??80H+40H????????scan?=8'h06,??????nul??=8'h07;???parameter?data0 ?=8'h10,?? //2行,共32個數據????data1 ?=8'h11,????data2 ?=8'h12,????data3 ?=8'h13,????data4 ?=8'h14,????data5 ?=8'h15,????data6 ?=8'h16,????data7 ?=8'h17,????data8 ?=8'h18,????data9 ?=8'h19,????data10 ?=8'h20,????data11 ?=8'h21,????data12 ?=8'h22,????data13 ?=8'h23,????data14 ?=8'h24,????data15 ?=8'h25,????data16 ?=8'h26,????data17?=8'h27,????data18?=8'h28,????data19?=8'h29,????data20?=8'h30,????data21 ?=8'h31,????data22 ?=8'h32,????data23 ?=8'h33,????data24 ?=8'h34,????data25 ?=8'h35,????data26 ?=8'h36,????data27 ?=8'h37,????data28 ?=8'h38,????data29 ?=8'h39,????data30 ?=8'h40,????data31 ?=8'h41;?initial?????????? //初始值?begin???//第一行顯示?TEL:13868160569???one_1<="T"; one_2<="E"; one_3<="L"; one_4<=":"; one_5<="1"; one_6<="3"; one_7<="8"; one_8<="6";????one_9<="8";one_10<="1";one_11<="6";one_12<="0";one_13<="5";one_14<="6";one_15<="9";one_16<=" ";???//第二行顯示 Clock:00-00-00???two_1<="C"; two_2<="l"; two_3<="o"; two_4<="c"; two_5<="k"; two_6<=":"; two_7<=" "; two_8<=" ";????two_9<="-";two_10<=" ";two_11<=" ";two_12<="-";two_13<=" ";two_14<=" ";two_15<=" ";two_16<=" ";???????shi<=0;fen<=0;miao<=0;?end?????always @(posedge clk )???//獲得LCD時鐘?begin??count<=count+1;??if(count==250000)??begin???count<=0;???lcd_clk<=~lcd_clk;??end?end?always @(posedge clk or negedge rst?)???//時鐘計數器?begin??if(!rst)??begin???shi<=0;fen<=0;miao<=0;???count1<=0;??end??else??begin???en_sel<=1;??????two_7<=?(shi/10)+8'b00110000;???two_8<=?(shi%10)+8'b00110000;???two_10<=(fen/10)+8'b00110000;???two_11<=(fen%10)+8'b00110000;???two_13<=(miao/10)+8'b00110000;???two_14<=(miao%10)+8'b00110000;??????count1<=count1+1'b1;???if(count1==49999999)??? // 時鐘計數???begin????count1<=0;????miao<=miao+1;????if(miao==59)????begin?????miao<=0;?????fen<=fen+1;?????if(fen==59)?????begin??????fen<=0;??????shi<=shi+1;??????if(shi==23)??????begin???????shi<=0;??????end?????end????end???end??end????end??always @(posedge lcd_clk? )?begin???case(next)????state0 :?????begin rs<=0; data<=8'h38; next<=state1; end?????? //配置液晶????state1 :?????begin rs<=0; data<=8'h0e; next<=state2; end????state2 :?????begin rs<=0; data<=8'h06; next<=state3; end????state3 :?????begin rs<=0; data<=8'h01; next<=state4; end??????????????state4 :?????begin rs<=0; data<=8'h80; next<=data0; end?//顯示第一行????data0 :?????begin rs<=1; data<=one_1; next<=data1 ; end????data1 :?????begin rs<=1; data<=one_2; next<=data2 ; end????data2 :?????begin rs<=1; data<=one_3; next<=data3 ; end????data3 :?????begin rs<=1; data<=one_4; next<=data4 ; end????data4 :?????begin rs<=1; data<=one_5; next<=data5 ; end????data5 :?????begin rs<=1; data<=one_6; next<=data6 ; end????data6 :?????begin rs<=1; data<=one_7; next<=data7 ; end????data7 :?????begin rs<=1; data<=one_8; next<=data8 ; end????data8 :?????begin rs<=1; data<=one_9; next<=data9 ; end????data9 :?????begin rs<=1; data<=one_10; next<=data10 ; end????data10 :?????begin rs<=1; data<=one_11; next<=data11 ; end????data11 :?????begin rs<=1; data<=one_12; next<=data12 ; end????data12 :?????begin rs<=1; data<=one_13; next<=data13 ; end????data13 :?????begin rs<=1; data<=one_14; next<=data14 ; end????data14 :?????begin rs<=1; data<=one_15; next<=data15 ; end????data15 :?????begin rs<=1; data<=one_16; next<=state5 ; end??????????state5:????????begin rs<=0;data<=8'hC0; next<=data16; end //顯示第二行????data16 :?????begin rs<=1; data<=two_1; next<=data17 ; end????data17 :?????begin rs<=1; data<=two_2; next<=data18 ; end????data18 :?????begin rs<=1; data<=two_3; next<=data19 ; end????data19 :?????begin rs<=1; data<=two_4; next<=data20 ; end????data20 :?????begin rs<=1; data<=two_5; next<=data21 ; end????data21 :?????begin rs<=1; data<=two_6; next<=data22 ; end????data22 :?????begin rs<=1; data<=two_7; next<=data23 ; end????data23 :?????begin rs<=1; data<=two_8; next<=data24 ; end????data24 :?????begin rs<=1; data<=two_9; next<=data25 ; end????data25 :?????begin rs<=1; data<=two_10; next<=data26 ; end????data26 :?????begin rs<=1; data<=two_11; next<=data27 ; end????data27 :?????begin rs<=1; data<=two_12; next<=data28 ; end????data28 :?????begin rs<=1; data<=two_13; next<=data29 ; end????data29 :?????begin rs<=1; data<=two_14; next<=data30 ; end????data30 :?????begin rs<=1; data<=two_15; next<=data31 ; end????data31 :?????begin rs<=1; data<=two_16; next<=scan ; end?????????scan?:???//交替更新第一行和第二行數據??????????begin??????next<=state4;?????end????default:?? next<=state0;????endcase?end?assign en=lcd_clk && en_sel;?assign rw=0;endmodule
FPGA verilog實現的1602時鐘計數器
- FPGA(591969)
- 1602時鐘計數器(726)
相關推薦
計數器應用實例
計數器應用實例
除了計數功能外,計數器產品還有一些附加功能,如異步復位、預置數(注意,有同步預置數和異步預置數兩種。前者受時鐘脈沖控制,后者不受時鐘
2010-05-27 09:37:555544
基于FPGA和單片機的多功能計數器設計
本文設計了一種以超低功耗單片機MSP430F149為控制器,以高速的FPGA(現場可編程門陣列)實現等精度測量正弦信號的頻率、周期和相位差的多功能計數器。在設計中依據等精度計數原理,應
2012-07-16 16:02:094299
如何通過交換位提高FPGA-PWM計數器性能
1?)。 圖1?一個簡單的低通濾波器將FPGA的PWM數字輸出更改為模擬電壓電平。最大紋波出現在占空比為50%的情況下。 假設Enable為高電平,則計數器在每個時鐘周期遞增計數,PWM輸出的頻率為時鐘頻率除以2個計數位。您可以使用啟用將其連接到預分頻器來降低輸
2021-05-13 16:22:444592
32位MCU APT32F1023F6U6在計數器的應用
計數器不僅具有對時鐘脈沖計數功能,還具有多種輸出和控制功能,通過對參數進行設置,可實現頻率、轉速以及計數之間的轉換。
2022-07-26 11:25:59503
10進制計數器是什么?
學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容。提示:以下是本篇文章正文內容,編程實現10進制計數器,具有異步復位功能,十位和個位用8421BCD碼表示一、4選1多路選擇器是什么?示例:pandas 是基于NumPy 的一種工具,該工具是為了解決
2022-02-09 07:33:15
FPGA verilog語言學習 加法器
我是剛開始學FPGA,現在對其verilog語言還不是很懂。下面題目:設計一個十進制的加法計數器,功能包含復位信號,置位信號,每個時鐘的正跳變沿計數器加一。計數0-99即可。請幫忙給個參考的程序。
2012-05-11 23:03:24
FPGA提高篇——禁止使用分頻時鐘、計數器時鐘
,分享給大家吧。——高手應該是這樣做時鐘信號的。禁止用計數器分頻后的信號做其它模塊的時鐘,而要用改成時鐘使能的方式。否則這種時鐘滿天飛的方式對設計的可靠性極為不利,也大大增加了靜態時序分析的復雜性。時鐘
2018-08-08 11:13:26
N進制計數器的實現
N進制計數器的實現 一、用集成計數器可以實現任意進制的計數器二、集成計數器控制功能的歸類三、集成計數器的級聯擴展四、復位法組成任意進制加法計數器五、置位法組成任意進制加法計數器六
2008-07-05 13:41:26
SysTick計數器有哪些應用呢
實現軟件的短時間延遲利用 Cortex-M3 內核包含的 SysTick 時鐘代替 Delay(N) ,實現延時N毫秒的精確值。SysTick 為一個24位遞減計數器,SysTick 設定初值并使能
2021-12-07 09:37:56
stm32時鐘選擇計數器
時鐘選擇計數器時鐘可以由下列時鐘源提供1.內部時鐘(CK_INT)2.外部時鐘模式1:外部輸入腳(TIx)3.外部時鐘模式2:外部觸發輸入(ETR)4.內部觸發輸入(ITRx):使用一個定時器作為
2021-08-18 08:24:57
【FPGA】UART的計數器模塊的實現方式
計數器模塊的功能是可控地在輸入時鐘驅動下進行計數,當到達計數上閾時給 UART 內核一個提示信號。在不同的工作狀態下,計數器模塊的輸入時鐘是不同的。UART 在數據發送之前需要進行數據加載(即將串行
2018-10-23 10:02:16
【verilog每日一練】計數器計時
已知外部輸入時鐘信號clk為50MHz,請用verilog實現計數器的計時1秒鐘,每間隔1秒輸出一個clk時鐘周期的脈沖信號flag,參考波形如下:
2023-08-17 09:13:59
【連載視頻教程(五)】小梅哥FPGA設計思想與驗證方法視頻教程之BCD碼計數器設計驗證
講解數字系統,尤其是時鐘系統中非常常見的一個模塊——BCD碼計數器的設計實現與驗證,講解Verilog基礎語法,了解BCD碼技術器與普通二進制計數器的區別。BCD碼計數器經常用在需要十進制計數,十進制
2015-09-23 12:39:23
關于FPGA在仿真軟件中計數器提前計數的問題
FPGA的人來說,非常之實用。但是,部分工程師在做仿真時,有時候會出現違反這一原則的奇怪現象。例如下面這個案例。關于在仿真軟件中,為什么計數器的判定會在不滿足加一條件的時候進行加一操作(如下圖所示
2020-04-24 14:54:53
關于計數器的疑問
最近在看《現代操作系統》,他提到了時鐘維持實際時間,在每個時鐘滴答將計數器加1即可實現。但要注意位溢出(32位計數器),可以通過以下方法解決:使用64位計數器:缺點是這種方法使得計數器加一操作的代價很高,1s內維護很多次計數器。我不太懂紅色字體的意思
2018-05-04 11:36:41
雙邊計數器無法在Spartan上工作
我正在嘗試實現一個verilog代碼,用于計算時鐘的轉換(ei:正向和負向轉換)。以下verilog代碼使用由“dualedgeregister”模塊實現的雙邊沿寄存器。我使用其中的8個
2019-06-21 07:09:56
在FPGA中設計實現24進制加法計數器的設計
1、實現一個24進制加法計數器的設計本實驗設計實現一個24進制的加法計數器,它由晶體振蕩器、分頻器、計數器和數碼管顯示器組成,圖6.1是該加法計數器的示意圖。晶體振蕩器產生穩定的50MHz的脈沖信號
2022-07-05 15:14:27
在FPGA開發板上實現一個電子秒表的計數器模塊設計
1、設計一個電子秒表的計數器模塊在上一例中,使用了FPGA開發板上的撥碼開關控制四位數碼管進行動態顯示,在本例中,我們將數碼管作為一個整體IP,然后用一個計數器驅動它實現一個電子秒表的功能。根據這一
2022-07-29 14:57:01
基于FPGA的任意分頻器設計
的時鐘觸發計數器進行計數,當計數器從0計數到N/2-1時,將輸出時鐘進行翻轉,并給計數器一個復位信號,以使下一個時鐘開始從零計數。以此循環,就可以實現偶數倍分頻。以10分頻為例,相應的verilog
2014-06-19 16:15:28
基于verilog的數字時鐘程序
基于verilog的數字時鐘程序,時鐘芯片基礎——60進制計數器設計目的讓nexys 4板上的7段碼LED顯示時鐘信息,其中包括時鐘的小時,分鐘,秒鐘部分,且能夠實現時鐘的停止計時信號,手動調整小時
2021-07-22 07:37:01
如何在FPGA中實現實時時鐘或時間和日期計數器
嗨,我是Xilinx FPGA的新手。我該如何在FPGA中實現實時時鐘或時間和日期計數器?Xilinx是否為Artix 7提供任何RTC核心或IP?非常感謝您的建議。
2020-05-22 12:41:35
如何設計一個實際可用的計數器
我需要設計一個計數器,時鐘變化幾十個才計數一次。我先用了一個計數器隨時鐘計數,然后用組合邏輯判斷做加法,modelsim仿真可以成功但是上板子后無法實現功能,希望大家能幫忙解決一下。書寫的主要代碼如下:always@(count)begin if(count==10'd0) beginCNP_ON
2017-03-14 16:49:53
定時器、計數器是什么
對內部時鐘信號或外部輸入信號進行計數,當計數值達到設定要求時,向CPU提出中斷處理請求,從而實現定時或者計數功能的外設。定時/計數器的最基本工作原理是進行計數。作為定時器時,計數信號的來源選擇周期性的內部時鐘脈沖;用作計數器時,計數信號的來源選擇非周期性的外部輸入信號。不管是定時器還是計數器,本質上
2022-01-11 07:55:05
小程序大道理---計數器與行波時鐘(轉)
之前寫過一篇關于 “加法器” 的博文,研究了加法器的底層電路,本來想要研究一下“行波時鐘”,由于涉及到計數器,那么就先看看 “計數器” 在FPGA中綜合后是什么樣的 ?然后再看“行波時鐘”的情況
2014-03-24 17:27:51
怎么實現兩個32位計數器計數速率高達3GHz
中實現每個計數器的剩余28位。然后將外部4位引入FPGA,并且兩個32位計數器將由加法器求和,然后主機處理器可以讀取結果。雖然外部4位仍然會在FPGA的頻率過高時切換,但在對計數器求和之前,時鐘將停止
2019-04-19 13:34:34
怎么使用D觸發器設計計數器verilog
你好,我是verilog /邏輯設計的新手。我不確定問題屬于哪里,如果不是,請告訴我,謝謝我想用D觸發器構建一個3位計數器我在閱讀了“邏輯設計的基本原理(Charles H. Roth)”一書后寫了
2019-02-14 06:13:32
怎么用verilog語言設計一個100進制的可逆計數器,可以實現加減,置數,清零,進位,借位功能,大佬求幫助?
怎么用verilog語言設計一個100進制的可逆計數器,可以實現加減,置數,清零,進位,借位功能,大佬求幫助!
2019-05-13 15:41:23
用Verilog實現1602顯示的時鐘計數器
] data; reg rs,en_sel; reg [7:0] data; reg [7:0] shi,fen,miao; reg [31:0]count,count1;//LCD CLK 分頻計數器
2019-07-15 09:39:54
用Verilog語言怎么寫一個60進制的計數器然后顯示在數碼管上
小弟剛學FPGA用的是EP4CE6現在想寫一個60進制的計數器 然后在數碼管上顯示出來用verilog寫但想了好幾天沒想出來去大俠指導下或給個程序看看小弟感激不盡。。。。。拜托了
2014-09-16 18:29:27
頻率計數器的實現原理是什么
這里我們所講的開發板是CT107D,頻率計數器這一部分,比較容易。物理連接上,只需要把單片機開發版上的P34管腳和SIGNAL用跳線連接即可。下面,我們將直接進入代碼分析和頻率計數器的實現原理分析
2022-02-23 07:36:22
1602液晶的6位計數器程序
;******************************;1602液晶6位計數器:本程序調試通過 *;************************************;* 硬件:此程序
2010-04-21 22:44:1954
什么是二進制計數器,二進制計數器原理是什么?
什么是二進制計數器,二進制計數器原理是什么?
計數器是數字系統中用得較多的基本邏輯器件。它不僅能記錄輸入時鐘脈沖的個數,還可以實現
2010-03-08 13:16:3430352
計數器,計數器的工作原理是什么?
計數器,計數器的工作原理是什么?
在數字系統中使用最多的時序電路是計數器。計數器不僅能用于對時鐘脈沖進行計數還可以用于分頻、定時,產生
2010-03-08 13:50:1459934
FPGA實現數字時鐘
在Quartus Ⅱ開發環境下,用Verilog HDL硬件描述語言設計了一個可以在FPGA芯片上實現的數字時鐘. 通過將設計代碼下載到FPGA的開發平臺Altera DE2開發板上進行了功能驗證. 由于數字時鐘的通用
2011-11-29 16:51:43178
24進制計數器的設計
集成計數器常見的是多位二進制計數器及十進制計數器,當需要實現其它進制計數器時,通常利用現有的集成計數器進行適當的連接而構成。對于當設計要求沒有限定計數器的狀態編碼時電路設計的靈活性問題已有文獻進行
2017-11-09 16:36:1681
基于FPGA的同步復位的3位計數器設計
分析:首先,我們可以看到有哪些信號。復位rst 、計數器3位的、時鐘信號。(用到2路選擇器。復位和不復位)
其次,怎樣實現,一個時鐘過來,記一次數就是加一次,保存(用到D觸發器),滿之后為0;
2019-02-01 07:08:002354
MOD計數器和時序圖
計數器的工作是通過每個時鐘脈沖將計數器的內容提前一個計數來計數。當被時鐘輸入激活時推進其數字或狀態序列的計數器被稱為以“遞增計數”模式操作。同樣,當被時鐘輸入激活時減少其數字或狀態序列的計數器被稱為以“倒計數”模式操作。在UP和DOWN模式下工作的計數器稱為雙向計數器。
2019-06-23 07:47:0012722
使用單片機實現LCD1602脈沖計數器的程序和仿真電路圖免費下載
本文檔的主要內容詳細介紹的是使用單片機實現LCD1602脈沖計數器的程序和仿真電路圖免費下載。
2020-10-09 08:00:0010
FPGA設計中DAC控制的Verilog實現
FPGA設計中DAC控制的Verilog實現(單片機電源維修)-該文檔為FPGA設計中DAC控制的Verilog實現資料,講解的還不錯,感興趣的可以下載看看…………………………
2021-07-26 12:18:4818
基于單片機定時器/計數器的時鐘設計及計數設計
基于單片機定時器/計數器的時鐘設計以及計數設計第一部分 前言第二部分 定時器/計數器的原理MCS-51定時器/計數器的結構定時器/計數器相關特殊功能寄存器定時器/計數器工作方式第三部分 定時器
2021-11-05 09:06:0051
Johnson約翰遜計數器Verilog實現
扭環形計數器,約翰遜計數器,每次狀態變化時僅有一個觸發器發生翻轉,譯碼不存在競爭冒險,在n(n≥3)位計數器中,使用2n個狀態,有2^n-2n個狀態未使用;
2022-06-15 09:27:571971
異步計數器的主要類型
異步計數器是那些輸出不受時鐘信號影響的計數器。由于異步計數器中的觸發器提供有不同的時鐘信號,因此在產生輸出時可能會有延遲。設計異步計數器所需的邏輯門數量非常少,所以它們的設計很簡單。異步計數器的另一個名稱是“波紋計數器”。
2022-10-11 17:16:443994
Xilinx Spartan 6 FPGA上的0到999計數器
電子發燒友網站提供《Xilinx Spartan 6 FPGA上的0到999計數器.zip》資料免費下載
2022-11-23 10:27:062
基于FPGA的十進制計數器
本方案是一個基于 FPGA ?的十進制計數器。共陽極 7 段顯示器上的 0 到 9 十進制計數器,硬件在 Xilinx Spartan 6 FPGA 板上實現。
2022-12-20 14:52:252
同步計數器和異步計數器是什么 同步計數器和異步計數器的主要區別?
在數字電子產品中,計數器是由一系列觸發器組成的時序邏輯電路。顧名思義,計數器用于計算輸入在負或正邊沿轉換中出現的次數。根據觸發觸發器的方式,計數器可以分為兩類:同步計數器和異步計數器。了解這兩種計數器的工作原理以及它們之間的區別。
2023-03-25 17:31:0718649
PLC計數器例子之3個計數器構成的24小時時鐘
控制要求 利用 3 個計數器配合 1s 時鐘脈沖標志 M1013,構成一個標準 24 小時時鐘。 元件說明 控制程序 程序說明
2023-04-17 15:43:310
同步計數器和異步計數器的區別主要在哪里
同步計數器和異步計數器的區別詳解 同步計數器和異步計數器是數字電路中兩種常見的計數器類型,它們在實現方式和功能上存在明顯的區別。本文將詳細介紹同步計數器和異步計數器的區別,包括其工作原理、特點
2023-12-13 14:54:241724
4017計數器的工作原理
中,我們將詳細介紹4017計數器的工作原理。 4017計數器的內部結構非常復雜,但核心的原理相對簡單。它包含一個時鐘輸入引腳(CLK),一個復位輸入引腳(RESET),以及10個輸出引腳(Q0-Q9)。時鐘輸入引腳接收來自外部時鐘源的時鐘信號,當時鐘信
2023-12-15 09:24:28731
計數器怎么用 計數器的作用有哪些
計數器是一種被廣泛應用于各個領域的實用工具,在我們的日常生活中隨處可見。無論是進行時間統計,協助工作任務的完成,還是用于科學研究和編程技術,在各個領域都起到了重要的作用。本文將詳細介紹計數器
2024-02-03 10:04:14589
評論
查看更多