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

標題: 電子時鐘源程序零錯誤 用quartus可以運行出來的 [打印本頁]

作者: 岸芷汀蘭樂琪    時間: 2018-7-5 14:28
標題: 電子時鐘源程序零錯誤 用quartus可以運行出來的
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


作者: 岸芷汀蘭樂琪    時間: 2018-7-5 14:29
接下來就可以用仿真程序仿真了
作者: 開封彭于晏    時間: 2018-11-22 12:47
很感謝很實用




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: av中文字幕网站 | 国产精品久久久久久亚洲调教 | 蜜臀久久99精品久久久久野外 | 91.色| 亚洲在线一区二区 | 欧美一级二级在线观看 | 精品一区二区三区av | 成人免费看片 | 人妖videosex高潮另类 | 在线国产一区二区 | 国产精品福利视频 | 国产精品国产精品国产专区不卡 | 久久精品青青大伊人av | 国产国语精品 | 日韩av一区二区在线观看 | 一级黄色在线 | 国产精品影视 | 中文字幕亚洲在线 | av天天看 | 亚洲毛片在线观看 | 欧美一卡二卡在线 | 国产成人免费视频网站高清观看视频 | 国产va| 男女网站免费观看 | 日本电影免费完整观看 | 国产欧美在线观看 | 中文字幕成人 | 一区二区中文 | 国产精品 亚洲一区 | 免费的一级视频 | 亚洲人成人一区二区在线观看 | 亚洲国产激情 | 91色在线| 久久精品视频12 | 国产99久久久国产精品 | 99精品一区二区 | 91偷拍精品一区二区三区 | 日本国产欧美 | 久久美女网 | 中文在线一区二区 | 国产一区三区在线 |