久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2683|回復: 2
打印 上一主題 下一主題
收起左側

電子時鐘源程序零錯誤 用quartus可以運行出來的

[復制鏈接]
跳轉到指定樓層
樓主
ID:365585 發表于 2018-7-5 14:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
module F50M_1(reset,clk_in,f1hz_out);
      input reset,clk_in;
      output f1hz_out;
      reg f1hz_out;
      reg[31:0]count;

          always@(posedge clk_in or negedge reset)
               if(!reset)
                 begin
                      f1hz_out<=0;
                      count<=0;

                  end
                  else
                     begin
                      if(count==24999999)//0.5s
                         begin
                           count<=0;
                           f1hz_out<=~f1hz_out;
                           end
                           else
                              count<=count+1;
                              end
     endmodule
///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////   
//頂層模塊
module SEG(k1,k2,k3,stop,clr,clk_in,sec1,sec2,min1,min2,hou1,hou2);
      input stop,clr,clk_in,k1,k2,k3;
      output   sec1,sec2,min1,min2,hou1,hou2;
      reg [7:0]sec1,sec2,min1,min2,hou1,hou2;

      reg[3:0] second1;
      reg[3:0]minute1;
      reg[3:0]hour1;
      reg[2:0]second2;
      reg[2:0]minute2;
      reg[1:0]hour2;


      wire f1hz_out;
      F50M_1(stop,clk_in,f1hz_out);//調用一個元件,上面的分頻器,例化語句



       always@(posedge f1hz_out or negedge clr )
           begin
           if(!clr)
                 begin
                     second1<=0 ;
                     second2<=0 ;
                     minute1<=0 ;
                     minute2<=0 ;
                     hour1<=0 ;
                     hour2<=0 ;      
                    // sec<=8'hc0;  //0
                 end
                 else if(!k1)
                      begin
                               if(second1==9)//0.5s
                                    begin
                                    second1<=0  ;
                                               if(second2==5)
                                                  begin
                                                   second2<=0  ;
                                                   end
                                                  else
                                                 begin

                                                  second2<=second2+1;
                                                    end

                                    end
                                    else
                                    begin
                                    second1<=second1+1;
                                    end

                      end
                  else if(!k2)
                      begin
                         if(minute1==9)//0.5s
                                    begin
                                    minute1<=0  ;
                                               if(minute2==5)
                                                  begin
                                                   minute2<=0  ;
                                                   end
                                                  else
                                                 begin

                                                  minute2<=minute2+1;
                                                    end

                                    end
                                    else
                                    begin
                                    minute1<=minute1+1;
                                    end



                      end
                   else if(!k3)
                      begin
                                                           if(hour1==9)
                                                            begin
                                                            hour1<=0;
                                                            hour2<=hour2+1;
                                                            end
                                                            else
                                                            begin
                                                            hour1<=hour1+1;
                                                            end
                                                            if((hour2==2)&&(hour1==3))
                                                            begin
                                                            hour1<=0;
                                                            hour2<=0;
                                                            end


                      end



                 else
                  begin
                  if(second1==9)//0.5s
                       begin
                           second1<=0  ;
                          if(second2==5)
                            begin
                           second2<=0  ;  
                                  if(minute1==9)
                                   begin
                                   minute1<=0;

                                              if(minute2==5)
                                                    begin
                                                    minute2<=0;
                                                           if(hour1==9)
                                                            begin
                                                            hour1<=0;
                                                            hour2<=hour2+1;
                                                            end
                                                            else
                                                            begin
                                                            hour1<=hour1+1;
                                                            end
                                                            if((hour2==2)&&(hour1==3))
                                                            begin
                                                            hour1<=0;
                                                            hour2<=0;
                                                            end
                                                    end
                                                    else
                                                    begin
                                                    minute2<=minute2+1;
                                                    end
                                   end
                                   else
                                   begin
                                   minute1<=minute1+1;
                                   end
                           end
                           else
                           begin

                           second2<=second2+1;
                           end

                       end
                  else
                  begin
                  second1<=second1+1;
                  end
                  end
               end


///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
        always
        begin
           case(second1)
          4'b0000: sec1<=8'hc0;  //0
          4'b0001: sec1<=8'hf9;  //1
          4'b0010: sec1<=8'ha4;  //2
          4'b0011: sec1<=8'hb0;  //3
          4'b0100: sec1<=8'h99;  //4
          4'b0101: sec1<=8'h92;  //5
          4'b0110: sec1<=8'h82;  //6
          4'b0111: sec1<=8'hf8;  //7
          4'b1000: sec1<=8'h80;  //8
          4'b1001: sec1<=8'h90;  //9
          default: sec1<=8'hc0;

          endcase
          end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
        always
        begin
           case(second2)
          4'b0000: sec2<=8'hc0;  //0
          4'b0001: sec2<=8'hf9;  //1
          4'b0010: sec2<=8'ha4;  //2
          4'b0011: sec2<=8'hb0;  //3
          4'b0100: sec2<=8'h99;  //4
          4'b0101: sec2<=8'h92;  //5

          default: sec2<=8'hc0;

          endcase
          end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
    always
        begin
           case(minute1)
          4'b0000: min1<=8'h40;  //0
          4'b0001: min1<=8'h79;  //1
          4'b0010: min1<=8'h24;  //2
          4'b0011: min1<=8'h30;  //3
          4'b0100: min1<=8'h19;  //4
          4'b0101: min1<=8'h12;  //5
          4'b0110: min1<=8'h02;  //6
          4'b0111: min1<=8'h78;  //7
          4'b1000: min1<=8'h00;  //8
          4'b1001: min1<=8'h10;  //9
          default: min1<=8'h40;

          endcase
          end
////////////////////////////////////////////////////////////////////  
/////////////////////////////////////////////////////////////
        always
        begin
           case(minute2)
          4'b0000: min2<=8'hc0;  //0
          4'b0001: min2<=8'hf9;  //1
          4'b0010: min2<=8'ha4;  //2
          4'b0011: min2<=8'hb0;  //3
          4'b0100: min2<=8'h99;  //4
          4'b0101: min2<=8'h92;  //5

          default: min2<=8'hc0;

          endcase
          end
////////////////////////////////////////////////////////////////////   
/////////////////////////////////////////////////////////////
        always
        begin
           case(hour1)
          4'b0000: hou1<=8'h40;  //0
          4'b0001: hou1<=8'h79;  //1
          4'b0010: hou1<=8'h24;  //2
          4'b0011: hou1<=8'h30;  //3
          4'b0100: hou1<=8'h19;  //4
          4'b0101: hou1<=8'h12;  //5
          4'b0110: hou1<=8'h02;  //6
          4'b0111: hou1<=8'h78;  //7
          4'b1000: hou1<=8'h00;  //8
          4'b1001: hou1<=8'h10;  //9
          default: hou1<=8'h40;

          endcase
          end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
        always
        begin
           case(hour2)
          4'b0000: hou2<=8'hc0;  //0
          4'b0001: hou2<=8'hf9;  //1
          4'b0010: hou2<=8'ha4;  //2


          default: hou2<=8'hc0;

          endcase
          end
////////////////////////////////////////////////////////////////////        
     endmodule

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:365585 發表于 2018-7-5 14:29 | 只看該作者
接下來就可以用仿真程序仿真了
回復

使用道具 舉報

板凳
ID:430837 發表于 2018-11-22 12:47 | 只看該作者
很感謝很實用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91 在线播放 | 亚洲视频在线观看 | 国产高清免费 | 久久99精品久久久久子伦 | 91在线精品一区二区 | 污视频免费在线观看 | 999免费观看视频 | 成人免费观看视频 | 国产精品99久久久久久人 | 国产精品中文字幕在线 | 中文字幕一区在线观看视频 | 国产一区二区 | 国产精品中文字幕在线 | 国产精品国产亚洲精品看不卡15 | 2018天天干天天操 | 啪视频在线 | 精品久久久久久久久久久久久久 | 欧洲一区二区在线 | 自拍偷拍第一页 | 欧美精品一区二区三区四区 | 久久噜 | 色嗨嗨| 久久久久国色av免费观看性色 | 久久久国产一区二区三区 | 国产一区二区三区久久久久久久久 | 国产色在线 | 在线视频日韩 | 日韩精品一区二区三区中文在线 | 欧美精品一区二区蜜桃 | 日韩国产精品一区二区三区 | 秋霞a级毛片在线看 | 欧美一区2区三区3区公司 | 亚洲高清久久 | 国产免费黄网 | 中文字幕一区二区三区四区 | 亚洲色图综合 | 精品一区精品二区 | 亚洲成年在线 | 高清国产一区二区 | 国产一区二区三区四区 | 国产一级精品毛片 |