µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

FPGAÈí¼þQuartues IIʹÓý̳Ì

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/11/23 0:14:12 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

µç×ÓÉè¼Æ×Ô¶¯»¯ÊµÑéÖ¸µ¼

cnt3=0;

else cnt3=cnt3+1'b1; end

/******************************** *ÊýÂë¹Ü¶¯Ì¬É¨Ãè

********************************/ always@(cnt3,timed) begin case(cnt3) end

/******************************** *7¶ÎÒëÂë

********************************/ always@(data) begin case(data) 0:seg7=7'b0111111; 1:seg7=7'b0000110; 2:seg7=7'b1011011; 3:seg7=7'b1001111; 4:seg7=7'b1100110; 5:seg7=7'b1101101; 6:seg7=7'b1111101; 7:seg7=7'b0000111; 8:seg7=7'b1111111; 9:seg7=7'b1101111; default:seg7=7'b0000000; endcase end endmodule

0:begin data<=timed[3:0];scan<=4'b0001;end 1:begin data<=timed[7:4];scan<=4'b0010;end 2:begin data<=timed[11:8];scan<=4'b0100;end 3:begin data<=timed[15:12];scan<=4'b1000;end default:begin data=timed[3:0];scan=4'b0000;end

endcase

±àÒë³É¹¦ºó£¬½øÐÐÒý½ÅËø¶¨²¢ÏÂÔØ£¬¹Û²ìʵÑéÏÖÏó¡£

±í4.1 Òý½ÅËø¶¨¶ÔÓ¦±í

clk 183 scan[0] scan[1] scan[2] scan[3] 170 172 173 174 39

µç×ÓÉè¼Æ×Ô¶¯»¯ÊµÑéÖ¸µ¼

ÐøÉϱí

seg7 [0] seg7 [1] seg7 [2] seg7 [3] seg7 [4] seg7 [5] seg7 [6] 175

176 177 179 180 186 187 Îå¡¢ ʵÑéÒªÇó˵Ã÷

±¾´úÂëΪ×î»ù±¾µÄ¼òÒ×ʱÖÓ¡£×öÍê´Ë»ù´¡²¿·Ö°´ÒÔÏÂÒªÇóÐ޸ĴúÂ룬²¢ÖØÐÂÏÂÔØ¡£ 1. ÒªÇó¸ø³ö³õÖµ59·Ö45Ã룬¹Û²ì15ÃëºóÊÇ·ñ±äΪ00,00. Ìáʾ£¬¿ÉÔö¼ÓÒ»¸ö¸´Î»ÐÅ

ºÅ£¬µ±¸´Î»Ê±£¬³õÖµÉèΪ59·Ö45Ã룬µ±È»Ò²¿ÉÒÔ²»Óø´Î»Ðźţ¬Ö±½Ó¸øÒ»¸ö³õʼֵ¡£

2. ¼ÓÈëСʱ£¬Í¬Ê±ÏÔʾʱ·ÖÃë¡£

3. ¼ÓÈëµ÷·Öµ÷ʱÐźţ¬¿ÉÒÔʵÏÖµ÷·Ö¼°µ÷ʱ¡£

×¢£º¼ÓÈëСʱ£¬²Î¿¼ÏÂÃæµÄÊýÂë¹ÜµÄÒý½Å¡£´ËʱÔÚÍⲿÐźÅÖÐÒªÔÙ¼ÓÈëÒ»¸ö7¶ÎÂëµÄÊä³öÐźţ¬Èçsegh7£¬Í¬ÑùÊÇ7λ¡£

SEG7¡ª¡ªSEG10µÄ¹²Òõ¹«¹²¶ËG¾­·´ÏòÆ÷·Ö±ðÓëCPLDµÄ¶ÔÓ¦¹Ü½Å 190,P191,P192,P193ÏàÁ¬£¬ÓÉÆä¿ØÖÆÊµÏÖ¸÷λ·Öʱѡͨ£¬¶¯Ì¬É¨Ãè¡£SEG7¡ª¡ªSEG10(a,b,c,d,e,f,g,p)µÄ¸÷¶ÎÓëCPLDÒý½ÅµÄ¶ÔÓ¦¹ØÏµÎª£ºP195¡¢P196¡¢P197¡¢P198¡¢P199¡¢P200¡¢P202¡¢P203¡£

Áù¡¢ ±¨¸æÒªÇó

1. ¸ø³öÊý×ÖʱÖÓÉè¼ÆµÄÔ­Àí¡£

2. ÒªÇó¸ø³ö¾ßÌåʱÖÓ¼ÇʱµÄ´úÂëºÍÒý½ÅËø¶¨¶ÔÓ¦µÄ±í¸ñ¡£ 3. д³öʵÑéÏÖÏ󣬲¢¶ÔÏÖÏó½øÐбØÒªµÄ·ÖÎö

40

µç×ÓÉè¼Æ×Ô¶¯»¯ÊµÑéÖ¸µ¼

ʵÑéÎå ¼òÒ×Ê®×Ö·¿Ú½»Í¨µÆ

Ò»¡¢

ʵÑéÄ¿µÄ

1. ѧϰ²¢ÕÆÎÕ״̬»úµÄÓ²¼þÓïÑÔÃèÊö·½·¨¡£ 2. ÕÆÎÕ×ÛºÏÐÔverilog´úÂëÉè¼Æ·½·¨¡£

¶þ¡¢ ʵÑéÒÇÆ÷É豸

1. PC»úһ̨

2. QUARTUS¢ò CPLDÈí¼þ¿ª·¢ÏµÍ³Ò»Ìס£

Èý¡¢ ʵÑéÔ­Àí

λÓÚÊ®×Ö·¿ÚµÄ½»Í¨µÆ£¬ÔÚA·½ÏòºÍB·½Ïò¸÷Óк졢»Æ¡¢ÂÌÈýÕµµÆ£¬Ã¿10Ãë±ä»»Ò»´Î¡£±ä»»Ë³ÐòÈçÏÂ±í£º

״̬ͼÈçÏ£º

ËÄ¡¢

ʵÑé²Î¿¼´úÂë

±¾´úÂëΪ״̬»úµÄºËÐÄ´úÂë

module jtd(clk,rst,out); input clk,rst; output[5:0]out;

parameter s0=0,s1=1,s2=2,s3=3;

41

µç×ÓÉè¼Æ×Ô¶¯»¯ÊµÑéÖ¸µ¼

reg[5:0]c_state,next_state,out;

always@(posedge clk, posedge rst)begin if(rst)c_state<=s0;

else //½«µÚÈý¶Î´úÂë¼ÓÈëµ½´Ë´¦£¬×¢ÒâÉÏÃæµÄÃô¸ÐÐźÅclkÒªÏàÓ¦µØ¸ÄΪclk1hz; c_state<=next_state; end

always@(c_state)begin case(c_state)

s0:begin next_state<=s1;out<=6'b010100;end s1:begin next_state<=s2;out<=6'b001100;end s2:begin next_state<=s3;out<=6'b100010;end s3:begin next_state<=s0;out<=6'b100001;end endcase end endmodule

±¾´úÂëΪ·ÖƵ´úÂë

always @ (posedge CLK_40M) begin

if(cnt1==19999999) begin cnt1<=0; clk1hz<=~clk1hz; end else

cnt1<=cnt1+1; end

±¾´úÂëΪ10Ãëµ¹¼ÆÊ±´úÂë

always @ (posedge clk1hz) begin if(cnt2==0) begin cnt2<=10; else

cnt2<=cnt2-1; end

Ìáʾ£º

¿É½«µÚÈý¶Î10Ãëµ¹¼ÆÊ±²¿·Ö¼ÓÈëµ½µÚÒ»¶Î״̬»úµÄºËÐÄ´úÂëÖУ¬¼´¼ÓÈ뵽״̬»úµÄʱÐò¹ý³ÌÖС£

±àÒë³É¹¦ºó£¬½øÐÐÒý½ÅËø¶¨²¢ÏÂÔØ£¬¹Û²ìʵÑéÏÖÏó¡£

42

ËÑË÷¸ü¶à¹ØÓÚ£º FPGAÈí¼þQuartues IIʹÓÃ½Ì³Ì µÄÎĵµ
FPGAÈí¼þQuartues IIʹÓý̳Ì.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c01q4d6nfz60088s3wppy_11.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top