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

»ùÓÚLCD1602µÄ¼òÒ×Ãë±íµÄÉè¼ÆÓëʵÏÖ

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

Éè¼ÆË¼Â·£ºÕý³£µÄ¼ÆÊý״̬ÊÇ0->1->2->3->4->5->0->1¡­¡­£» µ±¼ÆÊýµ½5ʱ£¬½øÎ»ÐźűäΪ¡®1¡¯£»·ñÔò״̬×ÔÔö£¬½øÎ»Ðźű£³Ö

ÔÚ¡®0¡¯

Ö÷Òª´úÂ룺£¨ÍêÕû´úÂëÇë¼ûÔ´³ÌÐò£©

SIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL ca :STD_LOGIC;

BEGIN

PROCESS(clk)

begin

IF(reset='1')THEN qs<=\ELSIF(clk'EVENT AND clk='1')THEN IF(en='0') THEN

IF(qs=\¼ÆÊýµ½5 qs<= \ca<='1'; ELSE

qs<=qs+1; ca<='0'; END IF;

END IF; END IF;

END PROCESS;

PROCESS(ca,en) BEGIN q<=qs; carry<=ca; END PROCESS;

¢Ü10½øÖƼÆÊýÆ÷Ä£¿écnt10£º

ÊäÈë¶Ë¿Ú£ºreset,en,clk:IN STD_LOGIC; Êä³ö¶Ë¿Ú£ºcarry :OUT STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

Éú³É·ûºÅ£º

µÚ 5 Ò³ ¹² 37 Ò³

Éè¼ÆË¼Â·£ºÕý³£µÄ¼ÆÊý״̬ÊÇ£»

0->1->2->3->4->5->6->7->8->9->0->1¡­¡­

µ±¼ÆÊýµ½9ʱ£¬½øÎ»ÐźűäΪ¡®1¡¯£»·ñÔò״̬×ÔÔö£¬½øÎ»Ðźű£³Ö

ÔÚ¡®0¡¯

Ö÷Òª´úÂ룺£¨ÍêÕû´úÂëÇë¼ûÔ´³ÌÐò£©

SIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL ca :STD_LOGIC;

BEGIN

PROCESS(clk)

begin

IF(reset='1')THEN qs<=\ELSIF(clk'EVENT AND clk='1')THEN IF(en='0') THEN

IF(qs=\¼ÆÊýµ½9 qs<= \ca<='1'; ELSE

qs<=qs+1; ca<='0'; END IF;

END IF; END IF;

END PROCESS;

PROCESS(ca) BEGIN q<=qs; carry<=ca; END PROCESS;

¢Ý24½øÖƼÆÊýÆ÷Ä£¿écnt24£º

ÊäÈë¶Ë¿Úen,Reset,clk: in STD_LOGIC; Êä³ö¶Ë¿Úcarry: out STD_LOGIC;

qa: out STD_LOGIC_VECTOR(3 DOWNTO 0); qb: out STD_LOGIC_VECTOR(3 DOWNTO 0);

Éú³É·ûºÅ£º

µÚ 6 Ò³ ¹² 37 Ò³

Éè¼ÆË¼Â·£ºÕý³£µÄ¼ÆÊý״̬ÊÇ£»

µÍλqa״̬±ä»¯£º

0->1->2->3->4->5->6->7->8->9->0->1¡­¡­

¸ßλqb״̬±ä»¯£º

0->1->2->0->1¡­¡­

µ±µÍλqa¼ÆÊýµ½9ʱ£¬qb×ÔÔö£¬½øÎ»Ðźű£³ÖÔÚ¡®0¡¯ µ±µÍλqaΪ3ÇÒ¸ßλqbΪ2ʱ£¬½øÎ»ÐźűäΪ¡®1¡¯£¬ ͬʱqa±äΪ0¡¢qb±äΪ0 Ö÷Òª´úÂ룺£¨ÍêÕû´úÂëÇë¼ûÔ´³ÌÐò£© SIGNAL ca :STD_LOGIC;

BEGIN

process(clk,Reset,en)

variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0); variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0); begin

If Reset = '1' then tma:=\

if clk'event and clk='1' then

IF(en='0') THEN

--µ±BTN0¼üûÓеÚÒ»´Î°´ÏÂʱ£¬Õý³£¼ÆÊý

if tma=\elsif tmb=\--¼ÆÊýµ½23

tma:=\ ca<='1'; else tma:=tma+1; end if; end if; end if; end if;

qa<=tma;qb<=tmb; carry<=ca; end process;

¢ÞÒëÂëÄ£¿éyima£º

ÊäÈë¶Ë¿Ú£ºcarry: in STD_LOGIC;

data: in std_logic_vector(3 downto 0);

µÚ 7 Ò³ ¹² 37 Ò³

Êä³ö¶Ë¿Ú£ºdataout:out std_logic_vector(7 downto 0)); Éú³É·ûºÅ£º

Éè¼ÆË¼Â·:¸ù¾ÝÊäÈëÐźŵIJ»Í¬£¬Ê¹ÓÃcaseÓï¾ä½øÐв»Í¬µÄÒëÂë²Ù×÷¼´¿É¡£¾ßÌå

À´Ëµ£º

'0'£¨ËÄλ¶þ½øÖÆ£©ÒëΪ\£¨°Ëλ¶þ½øÖÆ£©

'1'£¨ËÄλ¶þ½øÖÆ£©ÒëΪ\£¨°Ëλ¶þ½øÖÆ£© '2'£¨ËÄλ¶þ½øÖÆ£©ÒëΪ\£¨°Ëλ¶þ½øÖÆ£© '3'£¨ËÄλ¶þ½øÖÆ£©ÒëΪ\£¨°Ëλ¶þ½øÖÆ£©

µÚ 8 Ò³ ¹² 37 Ò³

ËÑË÷¸ü¶à¹ØÓÚ£º »ùÓÚLCD1602µÄ¼òÒ×Ãë±íµÄÉè¼ÆÓëʵÏÖ µÄÎĵµ
»ùÓÚLCD1602µÄ¼òÒ×Ãë±íµÄÉè¼ÆÓëʵÏÖ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c633nc8pp940ne2d1fovz9epjx24qp9012t6_2.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top