青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

無我

讓內心永遠燃燒著偉大的光明的精神之火!
靈活的思考,嚴謹的實現
豪邁的氣魄、頑強的意志和周全的思考

VHDL語言數字鐘

       
        利用VHDL語言寫的一個數字鐘的程序。該數字鐘實現 的功能有:
            1.時間:顯示及校時,時間為24小時制
            2.日歷:顯示年月日,及設定功能;自動判定閏年,每個月的天數;
          3.秒表:啟動/停止/保持顯示/清零;
          4.鬧鐘:設定鬧鐘時間,由蜂鳴器鬧鈴。
            利用開發板上提供的40MHz晶振時鐘信號做脈沖,接與P183管腳;
            還有一個11.0592MHz的時鐘信號做掃描脈沖
      管腳定義:
          Clr:    時間清零  :         P94 
          Clr+Sclock:    秒表清零:          P94+P96
          Clr+Data:     年月日初始化:       P94+P97
          Clock:        鬧鐘顯示:          P95
           Sclock:       秒表顯示:          P96
           Data:         年月日顯示:        P97
          H_add:       調整時間(小時):   P99
          M_add:       調整時間(分鐘):   P100
          Clock+hclock: 調整鬧鐘小時:      P95+P101
          Clock+hclock: 調整鬧鐘分鐘:      P95+P102
          Pause:        秒表暫停:          P96+P103
          Data+hclock:  調整年:      P97+P101
          Data+mclock:  調整月:      P97+P102
          Data+pause:   調整日:      P97+P103

      在具體程序實現時,發現VHDL語言語法的一些莫名其妙的問題:
    1、信號量STD_LOGIC_VECTOR,STD_LOGIC類型等不允許賦初值

,一旦賦初值,后面就不能改變。這樣設計的理由?

    2、盡管信號量有默認值,但在用之前假如沒有賦值語句,就可

能報錯!

    3、關于信號上升沿的問題,自己在編程運用的過程中發現并非

所有信號都能用rising_edge()來做條件,即使你定義該信號時的情

況與時鐘信號的定義是一樣的,具體原因還不明白。

    4、關于變量和信號量的問題:即使定義時用的是同一個數據類

型,例如整形INTEGER,但在具體用時卻有不同的問題,盡管兩者可

以賦值,但賦值后有可能會產生奇怪的問題,例如將信號量付給變

量,變量的很多運算可能會報錯。

    5、VHDL中的算術運算有一些奇怪的特性,對REM取余,MOD取

模等對操作數都有限制,但令人難以捉摸。不明白其中的原因。

    6、VHDL中除法運算‘/’好像存在這樣一個問題,例如a/b,如

果a為變量,則b必須是2的乘方數;而如果a是一個整型數值,則對b

沒有該要求!這個問題對寫程序產生很大的麻煩,不知為什么這樣

設計,或者有無其他解決辦法。
      以上問題我在程序中遇到,不斷調試總是存在,還請高手指點!
      以下附完整源程序下載

                           VHDL語言數字鐘
                           多功能電子數字鐘文檔

posted on 2007-07-11 20:56 Tim 閱讀(6805) 評論(15)  編輯 收藏 引用 所屬分類: 硬件驅動

評論

# re: VHDL語言數字鐘 2007-12-07 21:49 454

1545  回復  更多評論   

# re: VHDL語言數字鐘 2007-12-07 21:49 454

87  回復  更多評論   

# re: VHDL語言數字鐘 2007-12-11 21:11 rgh

xiexie   回復  更多評論   

# re: VHDL語言數字鐘 2007-12-24 00:54 余波

這東西太好了  回復  更多評論   

# re: VHDL語言數字鐘 2007-12-24 01:44 余波

要是能把星期加上就好了
呵呵,這個嘛,我自己可以完成的喔
不過有點不明白,你為什么沒有用防抖動啊
還有就是在仿真的時候結果不是很明顯喔!
以后有問題可以請教你吧!QQ==312097045請附(FPGA)  回復  更多評論   

# re: VHDL語言數字鐘 2007-12-29 12:41 Tim

行,一起交流!QQ:370511754  回復  更多評論   

# re: VHDL語言數字鐘 2008-11-07 01:03 關系字

n你的問提也是我現在的問題啊 我也在做數字鐘 我的方法是可以讓抱時間1點響一下 2點兩下.......還有一寫附加的報時功能 可能是分頻太多 有些可以信號重疊拉無法報時 報時模塊全都沒有響我想問怎么解決   回復  更多評論   

# re: VHDL語言數字鐘 2008-12-14 05:52 無名小卒

請教一下,那個源程序用什么打開啊,我是VHDL初學者,我安裝了max+plus2 但是打不開,怎么打開呢,  回復  更多評論   

# re: VHDL語言數字鐘 2009-01-25 09:44 Tim

各位朋友,大家好!謝謝大家的關注。這是我以前大學時做的電子課程設計,現在工作了,一方面是沒有從事硬件方面的;另一方面時間太忙。對不起呀!
關于打不開的問題,可能還是具體硬件不對應,我找到了以前的文檔,這里附帶提供,有需要的一起參考吧@無名小卒
  回復  更多評論   

# re: VHDL語言數字鐘 2009-04-22 08:57 acetuo

老大,你的秒表運行不起來。在秒表狀態下,00 000,后面一個0一直閃,為8,可數字不進行加喲,進位,這是為啥呀。
cfungt@gmail.com
謝謝老大?。?!  回復  更多評論   

# re: VHDL語言數字鐘 2009-05-16 16:52 baby

我也在做數字鐘的設計,波形老出不來,你能幫我看看程序有什么問題嗎、。謝謝咯~~是用Quartus II做的。  回復  更多評論   

# re: VHDL語言數字鐘 2009-05-16 17:00 baby

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity clock is
port(clk:in std_logic;
clr:in std_logic;
en:in std_logic;
mode:in std_logic;
inc:in std_logic;

seg7:out std_logic_vector(6 downto 0);
scan:out std_logic_vector(5 downto 0);
sec,min:out integer range 0 to 59;
hour:out integer range 0 to 23);
end;
architecture one of clock is
signal state:std_logic_vector(1 downto 0);
signal qhh,qhl,qmh,qml,qsh,qsl:std_logic_vector(3 downto 0);
signal data:std_logic_vector(3 downto 0);
signal cnt:integer range 0 to 5;
signal clk1khz,clk1hz,clk2hz:std_logic;
signal blink:std_logic_vector(2 downto 0);
signal sec1,min1:integer range 0 to 59;
signal hour1:integer range 0 to 23;
signal inc_reg:std_logic;
begin
process(clk)
variable count:integer range 0 to 9999;
begin
if clk 'event and clk='1' then
if count=9999 then clk1khz<=not clk1khz;count:=0;
else count:=count+1;
end if;
end if;
end process;
process(clk1khz)
variable count:integer range 0 to 499;
begin
if clk1khz 'event and clk1khz='1' then
if count=499 then clk1hz<=not clk1hz;count:=0;
else count:=count+1;
end if;
end if;
end process;
process(clk1khz)
variable count:integer range 0 to 249;
begin
if clk1khz 'event and clk1khz='1' then
if count=249 then clk2hz<=not clk2hz;count:=0;
else count:=count+1;
end if;
end if;
end process;
process(mode,clr)
begin
if clr='1' then
state<="00";
elsif mode 'event and mode='1' then
state<=state+1;
end if;
end process;
process(clk1hz,state,en,clr)
begin
if clr='1' then
hour1<=0;
min1<=0;
sec1<=0;
elsif clk1hz 'event and clk1hz='1' then
case state is
when "00"=>if sec1=59 then sec1<=0;
if min1=59 then min1<=0;
if hour1=23 then hour1<=0;
else hour1<=hour1+1;
end if;
else min1<=min1+1;
end if;
else sec1<=sec1+1;
end if;
when "01"=>if inc='1' then
if inc_reg='0' then inc_reg<='1';
if hour1=23 then
hour1<=0;
else hour1<=hour1+1;
end if;
end if;
else inc_reg<='0';
end if;
when "10"=>if inc='1' then
if inc_reg='0' then inc_reg<='1';
if min1=59 then
min1<=0;
else min1<=min1+1;
end if;
end if;
else inc_reg<='0';
end if;
when "11"=>if inc='1' then
if inc_reg='0' then inc_reg<='1';
if sec1=59 then
sec1<=0;
else sec1<=sec1+1;
end if;
end if;
else inc_reg<='0';
end if;
end case;
end if;
end process;
  回復  更多評論   

# re: VHDL語言數字鐘 2009-05-16 17:01 baby

process(state,clk2hz)
begin
case state is
when"00"=>blink<="000";
when"01"=>blink<=(2=>clk2hz,others=>'0');
when"10"=>blink<=(1=>clk2hz,others=>'0');
when"11"=>blink<=(0=>clk2hz,others=>'0');
end case;
end process;
process(sec1)
begin
case sec1 is
when 0|10|20|30|40|50=>qsl<="0000";
when 1|11|21|31|41|51=>qsl<="0001";
when 2|12|22|32|42|52=>qsl<="0010";
when 3|13|23|33|43|53=>qsl<="0011";
when 4|14|24|34|44|54=>qsl<="0100";
when 5|15|25|35|45|55=>qsl<="0101";
when 6|16|26|36|46|56=>qsl<="0110";
when 7|17|27|37|47|57=>qsl<="0111";
when 8|18|28|38|48|58=>qsl<="1000";
when 9|19|29|39|49|59=>qsl<="1001";
when others=>null;
end case;
case sec1 is
when 0|1|2|3|4|5|6|7|8|9=>qsh<="0000";
when 10|11|12|13|14|15|16|17|18|19=>qsh<="0001";
when 20|21|22|23|24|25|26|27|28|29=>qsh<="0010";
when 30|31|32|33|34|35|36|37|38|39=>qsh<="0011";
when 40|41|42|43|44|45|46|47|48|49=>qsh<="0100";
when 50|51|52|53|54|55|56|57|58|59=>qsh<="1001";
when others=>null;
end case;
end process;
process(min1)
begin
case min1 is
when 0|10|20|30|40|50=>qml<="0000";
when 1|11|21|31|41|51=>qml<="0001";
when 2|12|22|32|42|52=>qml<="0010";
when 3|13|23|33|43|53=>qml<="0011";
when 4|14|24|34|44|54=>qml<="0100";
when 5|15|25|35|45|55=>qml<="0101";
when 6|16|26|36|46|56=>qml<="0110";
when 7|17|27|37|47|57=>qml<="0111";
when 8|18|28|38|48|58=>qml<="1000";
when 9|19|29|39|49|59=>qml<="1001";
when others=>null;
end case;
case min1 is
when 0|1|2|3|4|5|6|7|8|9=>qmh<="0000";
when 10|11|12|13|14|15|16|17|18|19=>qmh<="0001";
when 20|21|22|23|24|25|26|27|28|29=>qmh<="0010";
when 30|31|32|33|34|35|36|37|38|39=>qmh<="0011";
when 40|41|42|43|44|45|46|47|48|49=>qmh<="0100";
when 50|51|52|53|54|55|56|57|58|59=>qmh<="0101";
when others=>null;
end case;
end process;
process(hour1)
begin
case hour1 is
when 0|10|20=>qhl<="0000";
when 1|11|21=>qhl<="0001";
when 2|12|22=>qhl<="0010";
when 3|13|23=>qhl<="0011";
when 4|14=>qhl<="0100";
when 5|15=>qhl<="0101";
when 6|16=>qhl<="0110";
when 7|17=>qhl<="0111";
when 8|18=>qhl<="1000";
when 9|19=>qhl<="1001";
when others=>null;
end case;
case hour1 is
when 0|1|2|3|4|5|6|7|8|9=>qhh<="0000";
when 10|11|12|13|14|15|16|17|18|19=>qhh<="0001";
when 20|21|22|23=>qhh<="0010";
when others=>null;
end case;
end process;
  回復  更多評論   

# re: VHDL語言數字鐘 2009-05-16 17:01 baby

process(clk1khz)
begin
if clk1khz 'event and clk1khz='1' then
if cnt=5 then cnt<=0;
else cnt<=cnt+1;
end if;
end if;
end process;
process(cnt,qhh,qhl,qmh,qml,qsh,qsl,blink)
begin
case cnt is
when 0=>data<=qsl or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000001";
when 1=>data<=qsh or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000010";
when 2=>data<=qml or (blink(1)&blink(1)&blink(1)&blink(1));scan<="000100";
when 3=>data<=qmh or (blink(1)&blink(1)&blink(1)&blink(1));scan<="001000";
when 4=>data<=qhl or (blink(2)&blink(2)&blink(2)&blink(2));scan<="010000";
when 5=>data<=qhh or (blink(2)&blink(2)&blink(2)&blink(2));scan<="100000";
when others=>null;
end case;
end process;
process(data)
begin
case data is
when"0000"=>seg7<="1111110";
when"0001"=>seg7<="0110000";
when"0010"=>seg7<="1101101";
when"0011"=>seg7<="1111001";
when"0100"=>seg7<="0110011";
when"0101"=>seg7<="1011011";
when"0110"=>seg7<="1011111";
when"0111"=>seg7<="1110000";
when"1000"=>seg7<="1111111";
when"1001"=>seg7<="1111011";
when others=>seg7<="0000000";
end case;
end process;
sec<=sec1;
min<=min1;
hour<=hour1;
end;

我的郵箱:sanbudeyu.66@163.com  回復  更多評論   

# re: VHDL語言數字鐘[未登錄] 2013-06-19 14:23 守護

數字鐘控制器:具有時、分、秒計數顯示,以24小時循環計時;
LED動態顯示時、分、秒;
具有清零、調節小時、分鐘、整點報時功能;
每小時整點亮一盞LED,亮30秒熄滅;
每天結束零點蜂鳴燈報警20秒熄滅。  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

導航

統計

公告

本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
作者:TimWu
郵箱:timfly@yeah.net
來源:m.shnenglu.com/Tim
感謝您對我的支持!

留言簿(9)

隨筆分類(173)

IT

Life

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜视频在线观看一区二区三区| 欧美一区91| 欧美精品午夜视频| 日韩视频一区二区三区| 亚洲高清色综合| 免费一级欧美片在线播放| 亚洲经典自拍| 亚洲精品乱码久久久久久日本蜜臀| 欧美久久久久久蜜桃| 一区二区欧美亚洲| 一区二区三区免费观看| 国产伦精品一区二区三区在线观看| 久久精品国产96久久久香蕉| 久久免费国产| 亚洲图片自拍偷拍| 香蕉久久久久久久av网站| 在线国产亚洲欧美| 亚洲精品在线一区二区| 国产乱理伦片在线观看夜一区| 久久久久国产精品www| 麻豆精品视频在线观看视频| 一本色道久久综合狠狠躁篇怎么玩 | 欧美日韩国产一区| 午夜日韩激情| 久久综合色天天久久综合图片| 一区二区三区精密机械公司| 午夜精品久久久久久久99水蜜桃| 影音先锋亚洲一区| 日韩天堂在线视频| 韩日午夜在线资源一区二区| 亚洲国产综合在线| 国产精品视屏| 亚洲高清在线| 国产亚洲人成a一在线v站| 亚洲欧洲日本国产| 国产在线精品一区二区中文| 日韩一区二区精品葵司在线| 精品动漫3d一区二区三区免费版 | 一区二区欧美日韩| 黄色成人在线观看| 亚洲视频精选在线| 亚洲人成啪啪网站| 久久精品成人一区二区三区| 国产精品99久久久久久人| 久久免费视频网| 香蕉久久夜色精品国产| 欧美精品999| 欧美国产亚洲另类动漫| 国产亚洲欧洲997久久综合| av成人免费在线| 亚洲伦理在线观看| 久久久久久亚洲精品中文字幕| 香蕉av福利精品导航| 欧美日韩极品在线观看一区| 欧美国产日韩一区二区三区| 合欧美一区二区三区| 亚洲自拍偷拍福利| 亚洲午夜在线视频| 欧美成人伊人久久综合网| 久久婷婷影院| 国产偷国产偷精品高清尤物| 亚洲欧美另类在线观看| 亚洲欧美日本国产有色| 欧美少妇一区二区| 一区二区欧美日韩| 亚洲在线视频观看| 国产精品www| 一区二区三区高清| 亚洲欧美激情一区| 国产欧美日韩综合精品二区| 午夜精品久久久久久久男人的天堂| 亚洲午夜久久久久久久久电影院| 欧美日韩午夜剧场| 一区二区高清在线| 亚洲影院色无极综合| 欧美午夜无遮挡| 亚洲性av在线| 久久九九精品| 黄色一区二区三区四区| 午夜在线播放视频欧美| 国产乱码精品1区2区3区| 午夜影院日韩| 欧美gay视频| 亚洲精品乱码久久久久久日本蜜臀| 欧美黄色精品| 亚洲午夜一区二区三区| 欧美一区国产一区| 伊人精品在线| 欧美激情91| 亚洲婷婷国产精品电影人久久 | 狠狠综合久久av一区二区小说| 久久精品国产成人| 亚洲欧洲精品一区二区精品久久久| 一本色道久久综合狠狠躁篇怎么玩 | 欧美夜福利tv在线| 欧美福利影院| 亚洲一区三区在线观看| 韩国在线视频一区| 欧美精品导航| 午夜精品国产精品大乳美女| 欧美成年人视频网站| 一区二区三区四区五区在线| 国产乱码精品一区二区三区av| 玖玖玖免费嫩草在线影院一区| 亚洲啪啪91| 久久精品欧美| 这里只有精品视频| 国产一区二区日韩| 欧美激情一区二区三区| 欧美伊人久久久久久久久影院| 欧美激情视频一区二区三区在线播放 | 亚洲神马久久| 一区在线视频观看| 国产精品久久7| 老司机精品久久| 亚洲欧美文学| 亚洲免费观看视频| 美女国产一区| 欧美在线关看| 亚洲视频导航| 亚洲另类春色国产| 精品69视频一区二区三区| 欧美丝袜一区二区三区| 欧美+日本+国产+在线a∨观看| 亚洲一区久久| 亚洲精一区二区三区| 欧美mv日韩mv国产网站| 欧美一区二区三区的| 亚洲桃花岛网站| 亚洲免费高清| 在线欧美日韩| 黑人巨大精品欧美黑白配亚洲| 国产精品手机视频| 欧美性大战久久久久久久蜜臀| 欧美成人第一页| 久久午夜视频| 久久久久欧美| 久久香蕉国产线看观看av| 性欧美xxxx大乳国产app| 亚洲少妇在线| 一本色道久久综合一区| 一区二区三区欧美在线观看| 亚洲三级观看| 99精品国产福利在线观看免费| 91久久国产综合久久蜜月精品| 亚洲第一色在线| 亚洲国产欧美在线| 亚洲国产片色| 亚洲日本欧美日韩高观看| 亚洲精品国产视频| 亚洲免费电影在线观看| 日韩一级免费观看| 一区二区三区日韩精品| 亚洲伊人伊色伊影伊综合网| 亚洲一区二区在线视频| 欧美亚洲自偷自偷| 久久国产主播精品| 久色成人在线| 欧美日韩国产综合视频在线| 欧美午夜不卡影院在线观看完整版免费| 欧美日韩精品欧美日韩精品一 | 欧美日韩亚洲一区二区三区四区 | 蜜桃伊人久久| 欧美日韩国产成人高清视频| 欧美日韩亚洲高清| 国产精品系列在线| 伊人男人综合视频网| 91久久综合亚洲鲁鲁五月天| 夜夜嗨av一区二区三区网站四季av| 亚洲视频自拍偷拍| 先锋影音国产精品| 免费一级欧美片在线播放| 亚洲国产日韩综合一区| 中文av一区二区| 久久成人精品| 欧美日韩国产探花| 国产一区二区三区成人欧美日韩在线观看| 激情久久五月| 在线视频日韩精品| 久久综合色88| 亚洲精品一区二区三区福利| 午夜精品久久久久久久99水蜜桃 | 亚欧成人在线| 欧美精品一级| 国产主播在线一区| 日韩午夜激情| 久久在线免费观看视频| aⅴ色国产欧美| 久久国产福利国产秒拍| 欧美日韩在线播放三区四区| 国产资源精品在线观看| 一区二区精品在线观看| 久久偷看各类wc女厕嘘嘘偷窃| 日韩一级在线观看| 美女诱惑黄网站一区| 国产精品裸体一区二区三区| 亚洲老板91色精品久久| 久久精品亚洲一区二区三区浴池| 亚洲精品欧洲精品| 久久久久国产一区二区三区四区|