wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

萬年歷中年的VHDL程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年11月10日   【字體:

 一、  紀年的程序:
       閏年2月為29天,平年為28天。閏年的確定是年份的低兩位能被四整除為閏年(00年除外)當低兩位為00時,高兩位為400的整數倍為閏年,否則為平年。關于這個知識點具體請看:http://m.izizhuan.cn/mcu/2248.html
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity year is
  port(m,cr:in std_logic;
       mouth:in std_logic_vector(3 downto 0);
       s1,s0 ,runout:out std_logic;    
       YH1,YH0,YL1,YL0:out std_logic_vector(3 downto 0));
end year;
architecture mm of year is
 signal y11,y12,y01,y02:std_logic_vector(3 downto 0);
 signal data1,data0 :std_logic_vector(6 downto 0);
 signal run0,run1:std_logic_vector(2 downto 0);
 signal c0,c1,c2,c3,r1,r0,r:std_logic;
   begin
    process(m,cr) 
      begin
      --年低兩位      
         if m'event and m='1' then
                if y01=9 then y01<="0000";c0<='1';
                 else y01<=y01+1;c0<='0';
                end if;
                if data0=99 then data0<="0000000";
                 else data0<=data0+1;
                end if;
                if run0=3 then run0<="000";r0<='1';
                 else run0<=run0+1;r0<='0';
                end if;             
          end if;
          if c0'event and c0='1' then
                if y02=9 then y02<="0000";c1<='1';
                  else y02<=y02+1;c1<='0';
                end if;
           end if;
   --年高兩位。
         if c1'event and c1='1' then
               if data1=99 then data1<="0000000";
                  else data1<=data1+1;
               end if;
               if run1=3 then run1<="000";
                   else run1<=run1+1;
               end if;             
               if y11=9 then y11<="0000";c2<='1';
                  else y11<=y11+1;c2<='0';
               end if;
           end if;
           if c2'event and c2='1' then
                if y12=9 then y12<="0000";
                 else y12<=y12+1;
                end if;         
           end if;
           if run1/=0 and data0=0  then r1<='0';
                   else r1<='1';
           end if;
           r<=r0 and r1;
           if mouth=2  then
                 if r='1' then s1<='1';s0<='1';
                    else s1<='1'; s0<='0';
                  end if;
              elsif mouth=4 or mouth=6 or mouth=9 or mouth=11 then s1<='0';s0<='1';
              else s1<='0';s0<='0';
            end if;             
   end process; 
  YH1<=y12;YH0<=y11;YL1<=y02;YL0<=y01;runout<=r;
end; 
二、月份的程序,公歷。
 library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mouth is
 port(day,cr,tm:in std_logic;
      m:out std_logic;
      mouth1,mouth0,mouth:out std_logic_vector(3 downto 0));
 end mouth;
architecture mm of mouth is
 signal m1,m0,data:std_logic_vector(3 downto 0);
 signal C,clk:std_logic;
 signal ss:std_logic_vector(1 downto 0);
  begin
    process(day,cr,tm)
      begin
        clk<=day or (not tm);
          if clk'event and clk='1' then
              if data=12 then data<="0001";m<='1';
                else data<=data+1;m<='0';
              end if;
          end if;
              if data<=9 then m1<="0000";m0<=data;
                elsif data=10 then m1<="0001";m0<="0000";
                elsif data=11 then m1<="0001";m0<="0001";
                elsif data=12 then m1<="0001";m0<="0010";
               end if;           
     end process;
     mouth1<=m1;mouth0<=m0; mouth<=data;
end;  
 三、日期,個月份的天數不相同,有2月28天(閏年29天),有30天有31天不等:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity day is
 port(cp,cr,s0,s1:in std_logic;
      day:out std_logic;
      dayh,dayl:out std_logic_vector(3 downto 0));
 end day;
architecture mm of day is
 signal m1,m0:std_logic_vector(3 downto 0);
 signal data:std_logic_vector(4 downto 0);
 signal c:std_logic;
 signal ss:std_logic_vector(1 downto 0);
  begin
    process(cp,cr)
     variable CC:integer;
      begin      
         ss<=s1 & s0;
         case ss is
           when"00"=>CC:=31;
           when"01"=>CC:=30;
           when"10"=>CC:=28;
           when"11"=>CC:=29;
         end case;     
         if cp'event and cp='1' then
                if data=CC then data<="00001";m1<="0000";m0<="0001";c<='1';
                       else data<=data+1;m0<=m0+1;c<='0';
                             if m0=9 then m0<="0000";m1<=m1+1;
                             end if;               
                end if;
         end if;
        if cr='0' then  m1<="0000";m0<="0001";data<="00001";
        end if;
   end process; 
  dayl<=m0;day<=c;dayh<=m1;
end; 
四、時鐘部分,一天24小時
library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
entity timer_day is
   port(cr,min,hor,cp:in std_logic;
        second,day,f500:out std_logic;
        secL,secH,minL,minH,hourL,hourH:out std_logic_vector(3 downto 0));       
end timer_day;
architecture dianzi of timer_day is
 signal display,t0,t1,t2:std_logic_vector(8 downto 0);
 signal c0,c1,c2,s0,s1,m0,m1,h0,h1,clk1,clk2,day0:std_logic;
 signal sq0,sq1,mq0,mq1,hq0,hq1,xs:std_logic_vector(3 downto 0);
begin
    process(cr,cp) --分頻開始
        begin
          if cp'event and cp='1' then
                if t0=499 then t0<="000000000";c0<='1';
                    else t0<=t0+1; c0<='0';
                end if;              
          end if;
          if c0'event and c0='1' then
                if t1=199 then t1<="000000000";c1<='1';
                     else t1<=t1+1;c1<='0';
                end if;              
          end if;
          if c1'event and c1='1' then
                if t2=199 then t2<="000000000";c2<='1';
                   else t2<=t2+1;c2<='0';
                 end if;              
          end if;
      end process;
 --分頻結束 --秒計時開始
     process(c2,cr,min)
         begin
            if c2'event and c2='1' then
                   if sq0=9 then sq0<="0000";s0<='1';
                       else sq0<=sq0+1;s0<='0';
                    end if;                
             end if;
             if s0'event and s0='1' then
                    if sq1=5 then sq1<="0000"; s1<='1';
                        else sq1<=sq1+1;s1<='0';
                    end if;                  
             end if;
             if cr='0' then sq0<="0000";sq1<="0000";
             end if;
             if min='0' then sq0<="0000";sq1<="0000";
             end if;
    end process;--秒計時結束.
    --分開始
    process(s1,min)
       begin
        clk1<=s1 or (not min);--分調整按鈕,按一下分加1同時將秒清0.     
        if  clk1'event and clk1='1' then
              if mq0=9 then mq0<="0000";m0<='1';
                 else mq0<=mq0+1; m0<='0';
               end if;             
         end if;
         if m0'event and m0='1' then
               if mq1=5 then mq1<="0000";m1<='1';
                   else mq1<=mq1+1;m1<='0';
               end if;            
          end if;
           if cr='0' then mq1<="0000";mq0<="0000";
            end if;--分結束
     end process;
    --小時開始
    process(m1,hor)
       begin
        clk2<=m1 or (not hor);--時調整按鈕,按一下小時加1.
        if clk2'event and clk2='1' then day<=day0;
              if hq0=9 then hq0<="0000";h0<='1';
                 else hq0<=hq0+1;h0<='0';
              end if;            
         end if;
         if h0'event and h0='1' then
               if hq1=5 then hq1<="0000";h1<='1';
                   else hq1<=hq1+1;h1<='0';
               end if;             
          end if;
         if  hq1=2 and hq0=3 then day0<='1';
         else day0<='0';
         end if;
         if hq1=2 and hq0=4 then
             hq0<="0000";hq1<="0000";
         end if;
          if cr='0' then hq0<="0000";hq1<="0000";
            end if;--小時結束
     end process;
      secL<=sq0;secH<=sq1;minL<=mq0;minH<=mq1;hourL<=hq0;hourH<=hq1;
      second<=c2;f500<=c0;
end ;
五、顯示部分
      顯示部分如果顯示的數碼管數量有限而顯示的內容又較多,這時應給顯示的內容分組,比如說萬年歷,可以把年月日分為一組,把時分秒分為一組,如果有天氣情況可分為一組,這樣先分組,再顯示實現起來就比較清晰。
一)分組(分兩組),八秒顯示一組,實際中可視情況而定。

library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
entity xuan_dis is
   port(second,yH,yL,tm,Hd,min,hor:in std_logic;
        yH0,yH1,yL0,yL1,mthH,mthL,dH,dL:in std_logic_vector(3 downto 0);
        hH,hL,minH,minL,sH,sL:in std_logic_vector(3 downto 0);
        dis0,dis1,dis2,dis3,dis4,dis5:out std_logic_vector(3 downto 0));
end xuan_dis;
architecture play of xuan_dis is
signal timer:std_logic_vector(3 downto 0);
signal dis:std_logic_vector(5 downto 0);
signal Tnian,TyueD,Tshi:std_logic;
begin
    process(second,yH,yL,tm,Hd,min,hor)
       begin
        dis<=yH&yL&tm&Hd&min&hor;
          if second'event and second='1' then
             timer<=timer+1;
          end if;
          Tnian<=yH and yL;TyueD<=tm and Hd;Tshi<=min and hor;
        if dis="111111" then            
                      if timer>=0 and timer<8 then    dis5<=yL1;dis4<=yL0;dis3<=mthH;dis2<=mthL;dis1<=dH;dis0<=dL;                          
                             else   dis5<=hH;dis4<=hL;dis3<=minH;dis2<=minL;dis1<=sH;dis0<=sL;
                      end if;    
             else
                if Tnian='0' then dis5<=yH1;dis4<=yH0;dis3<=yL1;dis2<=yL0;end if;
                if TyueD='0' then dis5<=mthH;dis4<=mthL;dis3<=dH;dis2<=dL;end if; 
                if Tshi='0' then dis5<=hH;dis4<=hL;dis3<=minH;dis2<=minL;end if;
          end if;     
     end process;
end ;
二)顯示
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xianshi is
 port(cp:in std_logic;
      p0,p1,p2,p3,p4,p5:in std_logic_vector(3 downto 0);     
      q:out std_logic_vector(6 downto 0);
      w0,w1,w2,w3,w4,w5:out std_logic);
end xianshi;
architecture xianshi of xianshi is
signal timer:std_logic_vector(8 downto 0);
signal xs:std_logic_vector(3 downto 0);
begin
  process(cp)
   begin
  --時間顯示計時
      if cp'event and cp='1' then
           if timer<496 then timer<=timer+1;
              else timer<="000000000";
           end if;
      end if;
   --秒顯示
       if timer>0 and timer<82 then xs<=p0;w0<='0';
                 else w0<='1';
       end if;
       if timer>83 and timer<164 then xs<=p1;w1<='0';
                 else w1<='1';
       end if;
   --分顯示
       if timer>165 and timer<247 then xs<=p2;w2<='0';
                 else w2<='1';
       end if;
       if timer>248 and timer<320 then xs<=p3;w3<='0';
                 else w3<='1';
       end if;
  --時顯示
       if timer>321 and timer<403 then xs<=p4;w4<='0';
                 else w4<='1';
       end if;
       if timer>405 and timer<496 then xs<=p5;w5<='0';
                 else w5<='1';
       end if;
   end process;
process(xs)
      begin
         case xs is
              when "0000"=>q<="0000001";
              when "0001"=>q<="1001111";
              when "0010"=>q<="0010010";
              when "0011"=>q<="0000110";
              when "0100"=>q<="1001100";
              when "0101"=>q<="0100100";
              when "0110"=>q<="0100000";
              when "0111"=>q<="0001111";
              when "1000"=>q<="0000000";
              when "1001"=>q<="0000100";
              when others=>q<="0000001";
          end case;
      end process;--顯示結束
end;

關閉窗口

相關文章

久久福利在线| 久久久久久久电影| 粉嫩av一区二区三区四区五区| 天天av天天爽| 国产一区二区在线网站| 欧美精品一区二区三区在线播放| 国产凹凸在线观看一区二区| 青青草97国产精品麻豆| 中文字幕一区久| 一本大道香蕉久在线播放29| 在线免费观看www| 国产裸体永久免费无遮挡| 亚洲v国产v| 98精品国产高清在线xxxx天堂| 欧美巨大另类极品videosbest| 欧美激情在线一区二区三区| 日日嗨av一区二区三区四区| 精品福利久久久| 18岁成年人网站| 国产免费黄色片| 涩多多在线观看| 视频在线观看成人| 国产欧美一区二区三区在线| xvideos亚洲| 精品国产亚洲在线| 91电影在线观看| 1区2区3区国产精品| 国产一级精品在线| 暖暖视频在线免费观看| 亚洲s码欧洲m码国产av| 短视频在线观看| 最新天堂中文在线| 97超碰人人澡| 亚洲一区二区在线看| 91精品国产综合久久香蕉922| 欧美激情xxxxx| 一色桃子一区二区| 精品成人一区二区三区| 欧美区视频在线观看| 日韩欧美国产成人| 粉嫩绯色av一区二区在线观看| 一本色道久久| 欧美日韩综合| 国产精品久久占久久| 猫咪成人在线观看| 成人污污视频| 欧美美女福利视频| 日韩av首页| 成人片免费看| 深夜成人影院| 中文字幕在线第一页| 日本成人黄色网址| 黄色免费视频在线观看| 四虎a级欧美在线观看| 免费看毛片网站| 久久爱一区二区| 97人妻精品一区二区免费| 91香蕉视频在线观看视频| 精品人妻少妇一区二区| gogogo免费高清日本写真| 日韩欧美三级一区二区| www久久99| 国产精品制服诱惑| wwwxx欧美| 99在线热播| 999视频在线观看| 国产亚洲日本欧美韩国| 91国偷自产一区二区三区观看| 国产精品久久久一区麻豆最新章节| 国产91精品精华液一区二区三区| 九九**精品视频免费播放| 99精品视频网| 欧美亚洲三区| 久久久久久穴| 午夜视频一区二区在线观看| 欧美日韩视频免费看| 亚洲国产成人二区| 朝桐光一区二区| 国产韩日精品| 欧美日韩黄色| 国产精品探花在线观看| 日本电影一区二区| 欧美喷水视频| 天堂一区二区在线免费观看| 久久激情五月婷婷| gogogo免费视频观看亚洲一| youjizzjizz亚洲| 欧美成人h版| 国内欧美日韩| 日韩在线激情| 香蕉一区二区| 色是在线视频| 水蜜桃在线视频| 欧美爱爱视频| 免费观看在线一区二区三区| 精品素人av| 久久一区二区三区喷水| 亚洲区小说区| 日韩电影在线视频| 久久国产欧美| 韩国视频一区二区| 久久综合九色欧美综合狠狠 | 亚洲精品永久视频| 麻豆短视频在线观看| 日韩免费成人av| 色婷婷国产精品免| 国产91av在线播放| 人妻一区二区三区| 国产在线2020| 中午字幕在线观看| 久草资源在线| 国产精品一区二区精品| 国产精品亚洲二区| 亚洲欧洲午夜| 成人综合一区| 日本视频在线一区| 蜜桃久久久久久| 久久久久久9999| 91久久线看在观草草青青| 日韩精品高清视频| 午夜伦理精品一区 | 成人小视频免费看| 成人午夜精品视频| 四虎影音在线| 中文字幕第5页| 亚洲精品永久免费视频| 国产精品日韩精品中文字幕| 免费亚洲电影在线| 亚洲天堂网中文字| 欧美精品一区二区三区蜜臀| 欧美一级黄色网| 先锋影音亚洲资源| 欧美熟妇另类久久久久久多毛| 欧美日韩成人免费观看| 亚洲av成人精品毛片| sm一区二区三区| 色黄视频在线观看| 天天综合一区| a级高清视频欧美日韩| 欧美亚洲愉拍一区二区| 欧美人与性动交| 久久久一本精品99久久精品66| 成年人免费在线播放| 欧美黄色高清视频| 国产人妖在线播放| 日本韩国在线视频| 久久国产三级| 日本中文在线一区| 欧美日韩免费区域视频在线观看| 欧美自拍偷拍一区| 精品久久一区二区三区| 日韩av电影在线播放| 日韩 欧美 自拍| 白白色免费视频| 十八禁一区二区三区| 超碰在线中文| 国产精品成人**免费视频| 久久久久久一区二区| 香蕉加勒比综合久久| 超碰91人人草人人干| 日韩福利在线| 久久精品老司机| 蜜臀久久精品久久久久| 久草视频在线播放| 性xxxxfreexxxxx欧美丶| 亚欧美无遮挡hd高清在线视频| av中文字幕不卡| 亚洲一级毛片| 精品在线一区二区三区| 五月天国产精品| 久久久久久伊人| 很污的网站在线观看| 久久在线视频精品| 可以在线观看的黄色网址| 九九色在线视频| 国产欧美91| 欧美小视频在线| 国产精品美女av| 日本黄大片一区二区三区| 成人免费一级片| 一个人看的免费网站www视频| 日韩精品久久久久久久软件91| 极品美女销魂一区二区三区| 欧美一区二区在线看| 午夜精品久久久久久久男人的天堂| 一本大道东京热无码aⅴ| 久久成人在线观看| 被弄出白浆喷水了视频| 国产人妖一区| 成人免费观看av| 国产视频精品自拍| 亚洲一区二区在| 国产精品18p| 蜜桃视频网站www| 天堂一区二区三区四区| 国产精品久久久久久户外露出 | 色佬视频在线观看| 女人丝袜激情亚洲| 中文字幕在线不卡| 97色伦亚洲国产| 亚洲精品在线视频播放| 天天操天天爱天天干| 亚洲区欧洲区| 久久久精品日韩| 精品对白一区国产伦| 黄色小网站91| 拔插拔插华人永久免费| 亚洲AV无码一区二区三区性 | 色五月激情五月| 国产精品一区二区三区www| 91性感美女视频| 欧美人在线观看| av中文字幕网址| 青青草原国产在线观看| 交100部在线观看| 国内成人免费视频| 中文字幕av一区| 国产无套内射久久久国产| 中文字幕 自拍偷拍| 免费av毛片在线看| 日本免费在线视频不卡一不卡二| 亚洲精品电影在线观看| av在线com| 国产成人精品一区二三区四区五区| 色影视在线观看| 免费美女久久99| 亚洲色图色老头| 欧美 日韩 国产在线观看| www.成人精品| 亚洲校园欧美国产另类| 一区二区中文字| 91精品国模一区二区三区| 亚洲乱码一区二区三区| 色婷婷久久综合中文久久蜜桃av| 午夜精品一区| 国产在线视频不卡二| 久久天天躁狠狠躁老女人| 在线a免费观看| 黄色网战在线观看| 不卡一区2区| 在线看日韩精品电影| 翔田千里亚洲一二三区| 日韩hmxxxx| 国产农村老头老太视频| 免费看电影在线| 91在线国产福利| 国产91精品久久久| 精品熟妇无码av免费久久| 蜜桃传媒av| 欧美日本久久| 亚洲欧美日韩中文视频| 精品久久久久久无码国产| 天堂网中文在线| 久久视频在线观看| 欧美日韩中文字幕一区二区| 亚洲一区三区视频在线观看| 在线观看不卡的av| 91超碰在线免费| 午夜在线一区| 夜夜嗨av色综合久久久综合网| 亚洲欧美日韩一级| 有没有片在线看www| 超碰在线亚洲| 欧美精品日韩综合在线| 好色先生视频污| juy有坂深雪中文字幕| 欧洲大片精品免费永久看nba| 午夜精品福利一区二区三区av| 五月天国产一区| 亚洲第一页视频| 国产香蕉精品| 日韩欧美一区在线| 国产美女无遮挡网站| 欧美妇性猛交视频| 日韩在线观看| 亚洲国产精品久久精品怡红院| 韩国日本美国免费毛片| 三年片免费观看大全| 综合一区在线| 色妞色视频一区二区三区四区| 青娱乐精品在线| 激情校园亚洲图片| 亚欧成人精品| 久久久久在线观看| 激情视频在线播放| 国产网站在线免费观看| www.成人在线| 精品免费视频123区| 一级黄色片在线播放| 欧美亚洲福利| 欧美视频三区在线播放| 久久久久久香蕉| jizz18欧美| 国产精品一级二级三级| 国产精品视频久久| 人妻中文字幕一区二区三区| 丁香婷婷久久| 日韩欧美精品在线| 制服丝袜在线第一页| 99久9在线视频| 日韩中文一区二区| 日本韩国欧美在线| 高潮一区二区三区| 日韩电影在线观看完整版| 久久久www成人免费无遮挡大片| 免费中文日韩| 卡一卡2卡三精品| 日韩一级在线| 国产精品久久91| 99国产精品欲| 欧美美女啪啪| 久久亚洲精品伦理| 国产精品激情av电影在线观看| 黄色av一区二区| 日韩精品福利一区二区三区| 亚洲大胆人体av| www.99热| 先锋欧美三级| 精品久久久三级丝袜| 91成人在线免费视频| 香蕉伊大人中文在线观看| 欧美午夜一区二区| 在线免费黄色小视频| 欧美成人综合在线| 国产精品超碰97尤物18| 精品视频在线观看一区| 青青草原av| 狠狠色伊人亚洲综合成人| αv一区二区三区| 欧美最猛性xxxxxhd| 天堂久久久久va久久久久| 99在线看视频| 亚洲av成人精品日韩在线播放| 91亚洲国产| 国产精品久久久久aaaa九色| 国产按摩一区二区三区| 欧美韩国一区| 国产精品久久久久久久av电影| 国产高潮流白浆喷水视频| 欧美一区不卡| 亚洲精品日产aⅴ| 中文字幕免费视频观看| 久久av电影| 国产做受69高潮| 精品人妻一区二区三区蜜桃| 国内精品久久久久久久97牛牛 | 欧美日韩一区自拍 | ady日本映画久久精品一区二区| 中文字幕亚洲图片| 中文字幕日韩第一页| 中文字幕一区二区av| 国产精品自产拍在线观| 综合区小说区图片区在线一区| 亚洲一区二区免费看| 国产精品久久亚洲| 国产成人精品自线拍| 岛国av在线一区| 丝袜人妻一区二区三区| 蜜桃成人在线视频| 欧美日韩精品在线观看| 亚洲av无码成人精品国产| 欧美magnet| 中文字幕精品av| 国产一区二区三区成人| 亚洲国产一区二区三区在线播放| 国产精品久久综合av爱欲tv| 先锋影音欧美官网| 国产电影精品久久禁18| 99热这里只有精品免费| 男同在线观看| 欧美日韩在线播放三区四区| 日本精品人妻无码77777| 国产一二三在线| 日韩成人中文字幕在线观看| www.国产com| 亚洲国产高清视频| 成人精品一区二区三区电影免费| 国产精品理人伦一区二区三区| 91啪九色porn原创视频在线观看| 91传媒久久久| 黄色网址视频在线观看| 亚洲国产精品人久久电影| 亚洲九九在线| 欧美一级高清免费播放| 福利视频理论电影| 国产成人精品网址| 国产又大又硬又粗| 国产亚av手机在线观看| 亚洲天堂免费视频| 在线观看中文字幕码| 亚洲精品1234| 亚洲精品天堂成人片av在线播放| 青青免费在线视频| 精品国产三级a在线观看| 久久国产乱子伦精品| 中文字幕久久精品一区二区| 99国产欧美久久久精品| 鲁一鲁一鲁一鲁一av| 欧美aaa视频| 国产91色在线免费|