È«µºÍøÂ纣ÄÏ»°Í³Ò»¿¼ÊÔ


È«µºÍøÂ纣ÄÏ»°Í³Ò»¿¼ÊÔ

1 ¿¼ÊÔ½øÐÐ15Ãëºó²»µÃ½øÈ뿼³¡¡¡

2 ¿¼ÊÔÆÚ¼ä´øÈ뿼³¡µÄÒûÁÏÒ»ÂɵÃÓɱ¾µºÆóÒµÉú²ú£¨ÀýÈçÒ¬Ê÷Ò¬Ö­£¬»ðɽÑÒË®£©¡¡ ·ñÔòÒ»ÂÉÈ¡Ïû¿¼ÊÔ×ʸñ£¬²¢ÍϽø²ÞËù´ò£¡¡¡

3 ½ÓËÍ¿¼ÉúµÄ³µÁ¾Ò²Ò»ÂÉÏàÓ¦µÄÓɱ¾µºÆóÒµÉú²ú£¨ÀýÈç 323 ÆÕÁ¦Âí £©¡¡ÔòÒ»ÂÉÈ¡Ïû¿¼ÊÔ×ʸñ£¬²¢Ã»ÊÕÏà¹Ø³µÁ¾£¡

4 ËùÓп¼ÉúÒ»ÂÉ´©ÍÏЬ½øÈ뿼³¡£¬Ã»ÓÐÍÏЬµÄÈ¡Ïû¿¼ÊÔ×ʸñ£¡¡¡¡¡

5 ¿¼Éú²»±Ø×Ô´øÑÀÇ©£¬¿¼ÊÔÆÚ¼ä½«Óɺ£ÄÏ´å¹â¼¯ÍÅÃâ·Ñ¸ø¸÷¿¼Éú·¢Ò»°ü¡¡

6 ¿¼ÊÔÆÚ¼ä²»Ðí½»Í·½Ó¶ú£¬²»Ðí͵¿´ËûÈËÊÔ¾í£¬µ«¿ÉÒԽӵ绰3´Î£¡¡¡

2005ÄêÈ«µºÍøÂ纣ÄÏ»°Í³Ò»¿¼ÊÔ

A¾í¡¡

ÐÕÃû____ ÄêÁä___ÐÔ±ð_____ ¼Ò²ú___ ¼ÒÍ¥³ÉÔ±ÓÐÎÞ´¦¼¶ÒÔÉϸɲ¿____ ÍøÁä___?<wbr>?<wbr> QQºÅ____ ×¼¿¼Ö¤ºÅ _____¡¡

Ò» ÌýÁ¦²¿·Ö 20·Ö

¶þ ÔĶÁÀí½â 40 ·ÖÒ»

?<wbr>?<wbr>?<wbr> ×ö¶¬Ñ©À­~~£¬ÎÝÅÔÎݱߵIJ®µù²®ÆÅ¶¼É±¼¦ÖóѼ£¡°¡¹·¸çÈ¥²¥Ìï»ØÀ´£¬ÒÁ¿ª¿Ú¾ÍºÍÒÁÀÏÆÅ½²¡°ÈÕÍ·ÕæµÄ¶¾À×¶¾À×°¡£¬Â³É±ÄÇô¼¦ºÃ¿ßÁËô£¿ÎÒҪȥÊдò½±À­£¬¹«ÆÅÄã¾Í×Ô¼º×öÀ­£¬ÎÒ×òÌìÃÎÁ˸ö´óÍ·½±£¬ÈýÍ·Áùβ¶þÎåÖжǣ¬ÎÒÒª´ò¶þÊ®¿éÀ­¡±

1 ×ö¶¬Ñ©ÊǺ£ÄϵÄʲô½ÚÈÕ

A À°Ô B ¶ËÎç C ÇåÃ÷ D ¶¬ÖÁ¡¡

2 ÈÕÍ·¶¾À×¶¾À×µÄÒâ˼ÊÇ

A¸É»îºÜÀÛ B ³öÌ«Ñô CºÜÈÈ D ³ö´óÌ«ÑôÓÖÈÈÓÖɹ

3 ¡°¹«ÆÅÄã¾Í×Ô¼º×ö¡±µÄÒâ˼ÊÇA ¸øÒ¯Ò¯ÄÌÄÌ×ö·¹ Bµ±ºÃ¼Ò³¤ C×Ô¼ºÒ»¸öÈ˰Ý׿ÏÈ D ½ÐÒ¯Ò¯ÄÌÄ̳Է¹¡¡

4 °¡¹·ÕâÆÚÒª´òµÄ½±ÊÇ¡¡

A 3526 B 3562 C 2365 D 3256?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>?<wbr>

5 ¡°ÎÒÒª´ò20¿éµÄ½±¡±´òµÄÒâ˼ÊÇ¡¡

A¶¯´Ê´òÈ˵ÄÒâ˼ BÂòµÄÒâ˼ CÓïÆøÖú´ÊÎÞÒâ D Ãû´Ê»îÓÃΪ¶¯´Ê¡¡

¶þ

Ò»¸öÄêÇáá̲ȹ·á̵½ÏçÏÂÃÔ·ÁË£¬Ëû¿´µ½Â·±ßÓÐÒ»¸öÀϲ®µùÔÚÒ¬×ÓÊ÷ÏÂ˯¾õ.ÄêÇáá̾ÍÎÊ¡°²®µù°¡£¬ÄãÔÚ×öʲô¡± ²®µù»Ø´ð ¡°ÑøÅ£Ã»¼ûÂ𣿡± ÄêÇááÌÓÖÎÊ ¡°ÌïÍ·ÔõôÑùÈ¥Áù£¿¡±²®µù»Ø´ð¡°ÄãÖ±Ö±¿ª£¬¿´µ½Ò»¸öÆÌáÌÁ˾ÍÍùÓÒ¿ª£¬ÔÙ¿ªµ½¿´µ½Ò»¸ö¾®Í·¾Íµ½ÁË¡±

1 ÄêÇááÌÊÇÄÄÀïÈË

A ¶¨°² Bº£¿Ú C Çíº£ D ÈýÑÇ

2 ²®µùÊÇÄÄÀïÈË

A ¶¨°² Bº£¿Ú C Çíº£ D ÈýÑÇ

3 ÔÚ±¾ÎÄÖÐÆÌá̵ÄÒâ˼ÊÇ

A µØÃû BСÂô²¿ C Ò»¸öÈ˵ÄÃû×Ö D Ò»ÖÖ½»Í¨¹¤¾ß

4 ¾®Í·µÄÒâ˼ÊÇ

AË®¹Ü BË®ÁúÍ· CË®Ëþ D Ë®¾®

5 ÄêÇáá̲ȹ·áÌ..µÄ¹·á̵ÄÒâ˼ÊÇ

AС¹· B ÔËС¹· CÒ»ÖÖºÜÀÃµÄÆû³µ D Ò»ÖÖºÜÀõÄĦÍгµ

Èý

°¡¹·µÄ¸Â´µÉϳ¤ÁËÒ»¸ö´ó¾ÆÍᣬËû×øÈý½Å¼¦È¥Ò½Ôº¿´Ò½Éú£¡°¡¹·ÎÊÒ½Éú£¬¸Â´µÉϳ¤Á˸ö´ó¾ÆÍáÔõô×ö°¡£¬»á²»»á¹ý¸øÎÒÀÏÆÅ°¡?Ò½Éú˵:"¸Â´µÉϳ¤ÅÂʲô£¬²»³¤Ôڸ´µ¿µÀï¾Í²»Å£¡"

1 ¸Â´µÔÚµÄÒâ˼ÊÇ

AÊÖ B ½Å C ƨ¹É D Í·

2 ¸Â´µ¿µµÄÒâ˼ÊÇ

AÊÖÍó B ½ÅÍó C ¸ØÃÅ D Í··¢

3 Èý½Å¼¦µÄÒâ˼ÊÇ

AÈýÖ»½ÅµÄ¼¦ BÆû³µ C×ÔÐгµ D Å©ÓÃÈýÂÖ³µ

4 ´ó¾ÆÍáÊÇʲô

A ´ó¾Æ±­ B ºÈ¾Æ×íÁË C ´óƿơ¾Æ D Ƥ·ô²¡

5 »á²»»á¹ý¸øÎÒÀÏÆÅ ÖеĹýµÄÒâ˼ÊÇ

AÅÜ B´«È¾ C´ò D ÌÛ

ËÄ

°¡¹·¿ª³µ¿ÇÈ¥Íø°ÉѹÇò£¬ËûÀÏÆÅ´òµç»°À´ÎÊ¡°²¨¹·°¡£¬ÄãÔÚ×öÃܰ¡¡±¡°Ã»×öÃܰ¡£¬ÎÒÔÚ¸çµÜ¼Ò×öÁî°¡¡±°¡¹·»Ø´ð¡°ÄÇÄãÔçµã»ØÀ´°¡...¡±

1 ¿ª³µ¿ÇÒâ˼ÊÇ

A ¿ªÅܳµ B ¿ªÄ¦Íгµ C ¿ªÆ´×°³µ D¿ªÆ´×°contraband³µ

2 ѹÇòÒâ˼ÊÇ

A ¶ÂÇò B ´òÇò C ¿´Çò DÍæ×ãÇòÓÎÏ·

3 ×öÃܵÄÒâ˼ÊÇ¡¡

A ¸Éʲô B È¥ÄÄÀï C ¿´Ê²Ã´ D ÍæÊ²Ã´

4 ¸çµÜµÄÒâ˼

A ÐÖµÜ B ͬÊ C Ò»°ãÅóÓÑ D ͬѧ

5 ×öÁîµÄÒâ˼ÊÇ

¡¡A ´òÆË¿Ë B ´òÅÆ C´òÅÆ¾Å D´òÂ齫

Èý µ¥ÏîÑ¡Ôñ 10·Ö¡¡

1 º£ÄÏ»°·¢Ô´ÓÚʲô»°

AÃöÄÏ»° BÔÁÓï CÆÕͨ»° D¿Í¼Ò¡¡

2 º£ÄÏ»°µÄ·¢ÒôÌØµã²¿Î»ÊÇ¡¡¡¡

AСÉà B ÐØÇ» C ±Ç D ÇÌÉà¡¡

3 È¥Êп´Âó ÂóµÄÒâ˼ÊÇ¡¡

A Å®ÈË B Å®º¢ CƯÁÁÅ®º¢ DÀÏÅ®ÈË¡¡¡¡

4 ÅÁ³µ× Ö±Òë¹ýÀ´¾ÍÊÇ¡°´òÄãËÀ¡°Õâ¾ä»°ÊÇ¡¡

A ±öÓïǰÖà B¶¨ÓïºóÖà C±öÓïºóÖà D¶¨ÓïǰÖÃ

5 ¡°·¬¶¹ÌǷ⡱Òâ˼ÊÇ

A ³´¶¹×Ó B ³´»¨Éú C »¨ÉúÌÇ D ÃÞ»¨ÌÇ

ËÄ ·­ÒëÌâ 10 ·Ö

º£ÒëÆÕ

1 Í߸Õ³¹¯£¬Â³Ã´¸Â´µÕæ´ó£¡

2 ô½±ÖоÍÊÇÊǹ»Á¦£¡×ö×ÅÍ·½±À­£¡

ÆÕÒ뺣

3 ÈÕ±¾ÈËÕæ²»ÊǶ«Î÷

4 JJÔÚץĦÍÐ

Îå ×÷ÎÄ 20

Óú£Äϵط½·½ÑÔдһ¼þÈÃÄãÌØ±ð¸ßÐ˵ÄÖÕÉúÄÑÍüµÄÊ£¬ÀýÈçÀÏÆÅÉúÁ˹«µùáÌ£¬ÖÐÁË50¿é¶¨Î»ÒÔ¼°¹ýÁËÆßÁª£¬µÈµÈ£¡

ÒªÇó×ÖÊýÒª200×Ö£¬ÄÚÈݽ¡¿µÏòÉÏ£¬·´Ó³º£ÄÏÈË¿ìÐÒ¸£µÄÉú»î£¡ÌâÄ¿×ÔÄ⣡

?

º£ÄÏ»°¿¼ÊÔ(B¾í)

µ¥ÏîÑ¡Ôñ(10·Ö)

¡¡¡¡Ò»£®°ëÖ´¹ÌÊÇʲôÒâ˼£¿1£¬ºÜ´ÏÃ÷ 2£¬ºÜÀ÷º¦ 3£¬ºÜËÀ°å 4£¬ºÜƯÁÁ

¡¡¡¡¶þ£®Âä¹ÄÊÇʲô¶«Î÷£¿1£¬´ò»÷ÀÖÆ÷ 2£¬¸ßÑÅÒÕÊõ 3£¬Ãñ¼ä´«Ëµ 4£¬ÄÔÓÐÎÊÌâ

¡¡¡¡Èý£®¾ÅËá¿´¼ûÒ»¸ö¾ÅËᣬ½²£º¡°ßÞѽ£¬Â³±ÈÎÒÑø¾ÅËᣡ¡±ÇëÎʾÅËáΪºÎÎ

¡¡¡¡ 1£¬Éµ×Ó 2£¬ÎÄä 3£¬Ð¡ÈË 4£¬ºï×Ó

¡¡¡¡ËÄ£®°¡¹·Ã´Å£µùÊÒÆÅ¸öв¿Íâ¼Òô¹ÃÇ¿¸ö¹öÉó¸öԲǿ×Ó¶ÔËê¡£ÎÄÕÂÀï³öÏÖÁ˼¸¸öÈË£¿

¡¡¡¡ 1£¬4¸ö 2£¬5¸ö 3£¬6¸ö 4£¬7¸ö

¡¡¡¡Î壮¡°ßÞѽ£¬ÄãôС×ÐʺҲÀ´ÉÜÄÎÒÁù´ò³ô¼ô´µ±Ê¸ç£¡¡±¼ô´µÎªºÎÒ⣿

¡¡¡¡ 1£¬Àí·¢ 2£¬´µÅ£ 3£¬³Ô·¹ 4£¬PP

¡¡¡¡ÔĶÁÀí½â(40·Ö)

¡¡¡¡Ò»£® ¼×£º¡°Â³Á½¸öÈ¥´¦Á´ò½±ÎÞÁ¡±ÒÒ£º¡°ÎÒÄÜÎÞÈ¥¡£¡±±û£º¡°ÎÞÏà¸É£¬³öÀÏÀñÌóԲ衣¡±

¡¡¡¡£¨1£© ¼×ÊÇÄÄÀïÈË£¿ 1£¬º£¿Ú 2£¬ÎIJý 3£¬Çíº£ 4£¬¶¨°²

¡¡¡¡£¨2£© ÒÒÊÇÄÄÀïÈË£¿ 1£¬º£¿Ú 2£¬ÎIJý 3£¬Çíº£ 4£¬¶¨°²

¡¡¡¡£¨3£© ±ûÊÇÄÄÀïÈË£¿ 1£¬º£¿Ú 2£¬ÎIJý 3£¬Çíº£ 4£¬¶¨°²

¡¡¡¡£¨4£© ÈýÈËÏÖÔÚÔÚÄÄÀï? 1£¬º£¿Ú 2£¬ÍͲý 3£¬Çíº£ 4£¬¶¨°²

¡¡¡¡¶þ£® °¡ÊݸոçµÜÈ¥º£¿Ú¼¦·Åʺ·Ðдң¬°¡Ã´Æ¤Õ³½²£º¡°°¡ÊåÒ©´øÎÞ£¿¡±Ëû½²£º¡°Õâ¿ÕÕæÊÇÏÕÏÌ´øÀ²£¬ÎÞÖªÓÐζÎÞßÖ£¿¡±¸çµÜ½²£º¡°ÎÞÓÃÂò£¬Ì̶àßä×ÜÊÇɬʺ¸ö£¬Î޺ÿ´ÎÞÏÊ¡£¡±

¡¡¡¡(1) °¡ÊÝÏÖÔں䦣¿A£®½â·Å¶«Â· B.½â·ÅÎ÷· C.½â·ÅÄÏ· D.½â·Å±±Â·

¡¡¡¡(2) ËûÓöµ½Ê²Ã´ÈË£¿A£®Ç¿µÁ B.Æ­×Ó C.³Ç¹Ü D.С··

¡¡¡¡(3) ËûÒªÂòʲô£¿A£®º£´ø B.ÏÌÓã C.´ÅÅÌ D.ÒûÁÏ

¡¡¡¡(4) ¸çµÜʲôÒâ¼û£¿A.²»ºÃ³Ô B.²»ºÃ¿´ C.Ì«¹ó D.ÅÂÊÜÆ­

¡¡¡¡Èý£¬¼×£º¡°ßÞѽ£¬ÔÚÕâ¹ù¿­ôÎôµ¨Ì̴󣿡±ÒÒ£º¡°ÎÒÁùÄó·ôÄѶäÁ÷Ë®¸ç°¡Å£¡¡±

¡¡¡¡¼×£º¡°Îҽзôţµù´ò³£¡¡±ÒÒ£º¡°Ã¨Ã´Å£µù×öׯÌ̹ùÌÌ£¡¡±

¡¡¡¡(1) ¿­ôÎÊÇʲôÒâ˼£¿A.³ÔÃæB.´ò¼ÜC.·¿ÊÂD.³³¼Ü

¡¡¡¡(2) ÄѶäÊÇʲô¶«Î÷£¿A.Ò»ÖÖ»¨B.ÒÕÊõÆ·C.ÉúÖ³Æ÷D.µØ·½Ãû

¡¡¡¡(3) Å£µùÊÇË­£¿A.°Ö°ÖB.ÊåÊåC.¾Ë¾ËD.Ò¯Ò¯

¡¡¡¡(4) Å£µùÔÚ×öʲô£¿A.˯¾õB.×ö·¹C.Ï´ÔèD.´òÂ齫

¡¡¡¡·­Òë(10·Ö)

¡¡¡¡1. ³ôÈËÎÞÊÇßä,·ÅÊ»ÎÞÆß¼ô´µ!

¡¡¡¡2. ³Ô²è,½ïÆÚÖжǺÏßä,ͬÉÏ´òßäÊý?

¡¡¡¡3. ÎÞÓòñËûôţÂð!

¡¡¡¡4. ßäßäËþ,ÎÒÁùÍÆÂ³Â乫·¿¿Õ¸ç.

¡¡¡¡5. ôÈýÍÁ×ÓÕæÊÇÊÇÏñÑùÀ²!

¡¡¡¡Ãû´Ê½âÊÍ(40·Ö)

¡¡¡¡??£¨º£ÄÏ»°ÒëÆÕͨ»°£©

??????1. Òò×Ðβ

¡¡?? 2??¼ÓÃÀ

¡¡?? 3??Ò§´å

¡¡?? 4. Âä¹ÄÂä¼¼??

??

??????????£¨ÆÕͨ»°Ò뺣ÄÏ»°£©

??????5??ÃÀÅ®°¡£¡È¥¹ä½ÖÂð£¿

??????6??ÄÇÀïµÄÒ¹ÏüºÃ³Ô°¡£¿

??????7??¸Éʲô£¿¸Éʲô£¿Ïë´ò¼ÜÂð£¿

??????8??ÄãÂèÂèºÍÄã°Ö°Ö¡£

b.gif

#include <reg52.h> //------------------------- Òý½Å¶¨Òå --------------------------// sbit BEEP = P2^0; //·äÃùÆ÷¿ØÖÆÒý½Å£¬?µçƽÓÐЧ sbit LED1 = P2^3; //LED1£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ sbit LED2 = P2^2; //LED2£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ sbit LED3 = P2^1; //LED3£¬¿ØÖÆÒý½Å£¬µÍµçƽÓÐЧ //ÊýÂë¹ÜÒý½Å¶¨Òå #define duanPore P0 //ÊýÂë¹Ü¶Î¿ØÖƶ˿ڣ¬¸ßµçƽÓÐЧ sbit DIG1 = P2^4; //ÊýÂë¹ÜµÚ1λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG2 = P2^5; //ÊýÂë¹ÜµÚ2λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG3 = P2^6; //ÊýÂë¹ÜµÚ3λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ sbit DIG4 = P2^7; //ÊýÂë¹ÜµÚ4λλѡ¿ØÖƶ˿ڣ¬µÍµçƽÓÐЧ //°´¼üÒý½Å¶¨Òå sbit KEY1 = P1^0; //1ºÅÑ¡ÊÖ sbit KEY2 = P1^1; //2ºÅÑ¡ÊÖ sbit KEY3 = P1^2; //3ºÅÑ¡ÊÖ sbit KEY4 = P1^3; //4ºÅÑ¡ÊÖ sbit KEY5 = P1^4; //5ºÅÑ¡ÊÖ sbit KEY6 = P1^5; //6ºÅÑ¡ÊÖ sbit KEY7 = P3^2; //Ö÷&sup3;ÖÈ˼ü sbit KEY8 = P3^3; //ÉèÖüü //---------------------- È«&frac34;Ö±äÁ¿¶¨Òå --------------------// //ÊýÂë¹Ü¶ÎÂë±í£¬ÊÊÓÃÓÚ¹²ÒõÊýÂë¹Ü unsigned char code tab_duan[19] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, //0~9 0x77,0x7c,0x39,0x5e,0x79,0x71, //A~F 0x40,0x00,0x48 //&#39;-&#39;£¬¹Ø±ÕÏÔÊ&frac34;£¬&#39;=&#39; }; unsigned char dat_buf[4] = {17, 17, 0, 5}; //ÏÔÊ&frac34;Êý&frac34;Ý»º´æÇø£¬Ä¬ÈÏÉϵçÏÔÊ&frac34;" 05" int time = 5, time1 = 5, time2 = 20; //µ¹¼ÆÊ±Ê±¼ä£¬time1£ºÇÀ´ðµ¹¼ÆÊ±Ê±¼ä£¬time2£º»Ø´ðµ¹¼ÆÊ±Ê±¼ä unsigned char i = 0; unsigned int count = 0; //¼ÆÊý»º´æ±äÁ¿ bit flag_lock = 1; //¼üÅÌËø¶¨±êÖ&frac34;£¬1£º²»Ëø¶¨£¬0£ºËø¶¨ //------------------------------- º¯ÊýÉùÃ÷ ------------------------------------// void DelayMs(unsigned int ms); //ÑÓʱº¯Êý£¬µ¥Î»£ºms void dig_scan(unsigned char *dat); unsigned char KeyScan(void); //¶ÀÁ¢°´¼üɨÃè void InitTimer0(void); //¶¨Ê±Æ÷0&sup3;õʼ»¯ void alarm(void); //±¨&frac34;¯º¯Êý void AnswerTask(void); //ÇÀ´ðÈÎÎñ void SetTime(void); //ÉèÖõ¹¼ÆÊ±Ê±¼ä /* Ö÷º¯Êý */ void main(void) { BEEP = 0; //ÉϵçĬÈϹرշäÃùÆ÷ LED1 = 1; InitTimer0(); //¶¨Ê±Æ÷0&sup3;õʼ»¯ time = time1; //ÉϵçĬÈÏÇÀ´ðµ¹¼ÆÊ± while(1) { if(KeyScan() == 7) //Èç¹ûÖ÷&sup3;ÖÈ˼ü°´Ï£¬Ôò½øÐÐÇÀ´ð { alarm(); //·äÃùÆ÷ÏìÒ»Éù AnswerTask(); //½øÐÐÇÀ´ðÈÎÎñ } if(KeyScan() == 8) //Èç¹ûÉèÖüü°´Ï£¬½øÈëÉèÖõ¹¼ÆÊ±Ê±¼ä { alarm(); //·äÃùÆ÷ÏìÒ»Éù SetTime(); //½øÈëÉè¼Æµ¹¼ÆÊ±Ê±¼ä } dat_buf[0] = 17; dat_buf[1] = 17; dat_buf[2] = time / 10; //È¡&sup3;öµ¹¼ÆÊ±µÄʮλÊý dat_buf[3] = time % 10; //È¡&sup3;öµ¹¼ÆÊ±µÄ¸öλÊý dig_scan(dat_buf); //²âÊÔÊýÂë¹ÜÏÔÊ&frac34; } } /* ÑÓʱº¯Êý£¬µ¥Î»£ºms */ void DelayMs(unsigned int ms) { unsigned char a,b,c; while(--ms) { for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--); } } /* ÊýÂë¹ÜÏÔÊ&frac34;ɨÃè */ void dig_scan(unsigned char *dat) { /* ¶¯Ì¬É¨Ãè´¦Àí */ switch(i) { case 0: { duanPore = tab_duan[dat[0]]; //ÏÔÊ&frac34;µÚ1λÊýÂë¹ÜÄÚÈÝ DIG1 = 0; break; } case 1: { duanPore = tab_duan[dat[1]]; //ÏÔÊ&frac34;µÚ2λÊýÂë¹ÜÄÚÈÝ DIG2 = 0; //ѡͨµÚ2λÊýÂë¹Ü break; } case 2: { duanPore = tab_duan[dat[2]]; //ÏÔÊ&frac34;µÚ3λÊýÂë¹ÜÄÚÈÝ DIG3 = 0; //ѡͨµÚ3λÊýÂë¹Ü break; } case 3: { duanPore = tab_duan[dat[3]]; //ÏÔÊ&frac34;µÚ4λÊýÂë¹ÜÄÚÈÝ DIG4 = 0; //ѡͨµÚ4λÊýÂë¹Ü break; } default: break; } DelayMs(5); //ɨÃèÑÓʱ10ms£¬¸ù&frac34;Ýʵ¼ÊÇé¿öÊʵ±Ð޸ĸÄÑÓʱʱ¼ä DIG1 = 1; //ÏûÒþ DIG2 = 1; DIG3 = 1; DIG4 = 1; ++i; //ɨÃè±äÁ¿Ñ­»· if(i > 3) i = 0; } /* ¶ÀÁ¢°´¼üɨÃè */ unsigned char KeyScan(void) { if(KEY1 == 0) //Èç¹û°´¼ü1°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY1 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 1; //Êä&sup3;ö°´¼üÖµ1 } if(KEY2 == 0) //Èç¹û°´¼ü2°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY2 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 2; //Êä&sup3;ö°´¼üÖµ2 } if(KEY3 == 0) //Èç¹û°´¼ü3°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY3 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 3; //Êä&sup3;ö°´¼üÖµ3 } if(KEY4 == 0) //Èç¹û°´¼ü4°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY4 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 4; //Êä&sup3;ö°´¼üÖµ4 } if(KEY5 == 0) //Èç¹û°´¼ü5°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY5 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 5; //Êä&sup3;ö°´¼üÖµ5 } if(KEY6 == 0) //Èç¹û°´¼ü6°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY6 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 6; //Êä&sup3;ö°´¼üÖµ6 } if(KEY7 == 0) //Èç¹û°´¼ü7°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY7 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 7; //Êä&sup3;ö°´¼üÖµ7 } if(KEY8 == 0) //Èç¹û°´¼ü8°´Ï { DelayMs(10); //ÑÓʱ10msÈ¥&sup3;ý°´¼ü¶¶¶¯ if(KEY8 == 0) //ÔÙÈ·ÈÏÒ»´Î°´¼ü°´Ï£¬±íÊ&frac34;µ½Õâ°´¼üÒÑ&frac34;­Îȶ¨ÁË return 8; //Êä&sup3;ö°´¼üÖµ8 } return 0; //ÎÞ°´¼ü°´ÏÂÊä&sup30 } /* ¶¨Ê±Æ÷0&sup3;õʼ»¯ */ void InitTimer0(void) { TMOD = 0x01; //ÅäÖö¨Ê±Æ÷0Ϊ¹¤×÷ģʽ1£¬16λ¶¨Ê±Æ÷ TH0 = (65536 - 10000) / 256; //¶¨Ê±10ms TL0 = (65536 - 10000) % 256; EA = 1; //´ò¿ª×ÜÖÐ¶Ï ET0 = 1; //´ò¿ª¶¨Ê±Æ÷0ÖÐ¶Ï TR0 = 0; //ÉϵçĬÈϹرն¨Ê±Æ÷0 } /* ¶¨Ê±Æ÷0ÖжϷþÎñº¯Êý£¬10ms½øÒ»´ÎÖÐ¶Ï */ void Timer0Interrupt(void) interrupt 1 { TH0 = (65536 - 10000) / 256; //¶¨Ê±10ms£¬ÖØÐÂ×°ÔØ¼ÆÊýÖµ TL0 = (65536 - 10000) % 256; ++count; if(count > 100) //1sʱ¼ä¼ÆË㣺10ms * 100 = 1s { count = 0; //¼ÆÊýÖµÇåÁã --time; //µ¹¼ÆÊ±Ê±¼ä¼õÒ»´Î if(time <= 0) //Èç¹ûµ¹¼ÆÊ±½áÊø£¬Ôò¹Ø±Õ¶¨Ê±Æ÷0£¬Í£Ö¹µ¹¼ÆÊ±£¬²¢Éù¹â±¨&frac34;¯ºÍËø¶¨¼üÅÌ { TR0 = 0; //¹Ø±Õ¶¨Ê±Æ÷0 BEEP = 1; //Éù¹â±¨&frac34;¯ LED1 = 0; flag_lock = 0; //Ëø¶¨¼üÅÌ } } } /* ±¨&frac34;¯º¯Êý */ void alarm(void) { BEEP = 1; //·äÃùÆ÷ÏìһϠDelayMs(300); //ÑÓʱ300ms BEEP = 0; } /* ʵÏÖÇÀ´ðÈÎÎñ */ void AnswerTask(void) { unsigned char key_val; //°´¼üÖµ»º´æ TR0 = 1; //Æô¶¯¶¨Ê±Æ÷0£¬¿ªÊ¼µ¹¼ÆÊ± while(1) { if(flag_lock == 1) { key_val = KeyScan(); //»ñÈ¡°´¼üÖµ switch(key_val) { case 1: { dat_buf[0] = key_val; //µÚ1λÊýÂë¹ÜÏÔÊ&frac34;1ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; //»Ø´ðµ¹¼ÆÊ±£¬Ñ¡Êֻشðʱ¼ä alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; //Ëø¶¨¼üÅÌ break; } case 2: { dat_buf[0] = key_val; //µÚ2λÊýÂë¹ÜÏÔÊ&frac34;2ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; //»Ø´ðµ¹¼ÆÊ±£¬Ñ¡Êֻشðʱ¼ä alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 3: { dat_buf[0] = key_val; //µÚ3λÊýÂë¹ÜÏÔÊ&frac34;3ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 4: { dat_buf[0] = key_val; //µÚ4λÊýÂë¹ÜÏÔÊ&frac34;4ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 5: { dat_buf[0] = key_val; //µÚ5λÊýÂë¹ÜÏÔÊ&frac34;5ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } case 6: { dat_buf[0] = key_val; //µÚ6λÊýÂë¹ÜÏÔÊ&frac34;6ºÅ dat_buf[1] = 16; //ÏÔÊ&frac34;&#39;-&#39; time = time2; alarm(); //·äÃùÆ÷ÏìһϠflag_lock = 0; break; } default: break; } } dat_buf[2] = time / 10; //È¡&sup3;öµ¹¼ÆÊ±µÄʮλÊý dat_buf[3] = time % 10; //È¡&sup3;öµ¹¼ÆÊ±µÄ¸öλÊý dig_scan(dat_buf); //ÊýÂë¹ÜÏÔÊ&frac34;ÄÚÈÝ } } /* ÉèÖõ¹¼ÆÊ±Ê±¼ä */ void SetTime(void) { unsigned char mode = 0; //0£ºµ÷½ÚÇÀ´ðµ¹¼ÆÊ±£¬1£ºµ÷½Ú»Ø´ðµ¹¼ÆÊ±£¬2£ºÍË&sup3;ö while(1) { if(KeyScan() == 8) //Èç¹ûÔٴΰ´ÏÂÉèÖüü£¬ÔòÍË&sup3;öÉèÖù¦ÄÜ { alarm(); //·äÃùÆ÷ÏìÒ»Éù ++mode; if(mode >= 2) break; //Ìø&sup3;öµ±Ç°ËÀÑ­»· } if(KeyScan() == 7) //Èç¹û°´Ï¼Ӽü£¬½øÐе÷ʱ { alarm(); //·äÃùÆ÷ÏìÒ»Éù if(mode == 0) //µ÷½ÚÇÀ´ðµ¹¼ÆÊ± { ++time1; //µ¹¼ÆÊ±Ê±¼ä¼ÓÒ»´Î if(time1 > 30) //µ÷ʱ·¶Î§£º5s~30s time1 = 5; } if(mode == 1) //µ÷½Ú»Ø´ðµ¹¼ÆÊ± { ++time2; //µ¹¼ÆÊ±Ê±¼ä¼ÓÒ»´Î if(time2 > 30) //µ÷ʱ·¶Î§£º5s~30s time2 = 5; } } /* µ÷ʱÏÔÊ&frac34;´¦Àí */ if(mode == 0) { dat_buf[0] = 16; //ÏÔÊ&frac34;&#39;-&#39; dat_buf[1] = time1 / 10; //È¡&sup3;öµ¹¼ÆÊ±µÄʮλÊý dat_buf[2] = time1 % 10; //È¡&sup3;öµ¹¼ÆÊ±µÄ¸öλÊý dat_buf[3] = 16; //ÏÔÊ&frac34;&#39;-&#39; } if(mode == 1) { dat_buf[0] = 18; //ÏÔÊ&frac34;&#39;=&#39; dat_buf[1] = time2 / 10; //È¡&sup3;öµ¹¼ÆÊ±µÄʮλÊý dat_buf[2] = time2 % 10; //È¡&sup3;öµ¹¼ÆÊ±µÄ¸öλÊý dat_buf[3] = 18; //ÏÔÊ&frac34;&#39;=&#39; } dig_scan(dat_buf); //ÊýÂë¹ÜÏÔÊ&frac34;ÄÚÈÝ } time = time1; //»Øµ½Ö÷½çÃæÏÔÊ&frac34;ÇÀ´ðµ¹¼ÆÊ± }写出一个这样的代码,主持人是1.0,时间调节是1.1,选手1.2-1.7,蜂鸣器是3.3,LED是3.4,数码管1234是2.0-2.3
09-19
#include "sys.h" #include "delay.h" #include "usart.h" #include "includes.h" #include "led.h" /************************************************ ALIENTEK &frac34;«Ó¢°æSTM32¿ª·¢°åUCOSʵÑé Àý6-1 UCOSIII ÈÎÎñ´´½¨ÓÚÉ&frac34;&sup3;ý ¼¼ÊõÖ§&sup3;Ö£ºwww.openedv.com ÌÔ±¦µêÆÌ£ºhttp://eboard.taobao.com ¹Ø×¢Î¢ÐŹ«ÖÚÆ½Ì¨Î¢Ðźţº"ÕýµãÔ­×Ó"£¬Ãâ·Ñ»ñÈ¡STM32×ÊÁÏ¡£ ¹ãÖÝÊÐÐÇÒíµç×ӿƼ¼ÓÐÏÞ¹«Ë&frac34; ×÷ÕߣºÕýµãÔ­×Ó @ALIENTEK ************************************************/ //UCOSIIIÖÐÒÔÏÂÓÅÏȼ¶Óû§&sup3;ÌÐò²»ÄÜʹÓã¬ALIENTEK //½«ÕâЩÓÅÏȼ¶·ÖÅ䏸ÁËUCOSIIIµÄ5¸öϵÍ&sup3;ÄÚ²¿ÈÎÎñ //ÓÅÏȼ¶0£ºÖжϷþÎñ·þÎñ¹ÜÀíÈÎÎñ OS_IntQTask() //ÓÅÏȼ¶1£ºÊ±ÖÓ½ÚÅÄÈÎÎñ OS_TickTask() //ÓÅÏȼ¶2£º¶¨Ê±ÈÎÎñ OS_TmrTask() //ÓÅÏȼ¶OS_CFG_PRIO_MAX-2£ºÍ&sup3;¼ÆÈÎÎñ OS_StatTask() //ÓÅÏȼ¶OS_CFG_PRIO_MAX-1£º¿ÕÏÐÈÎÎñ OS_IdleTask() /* ΪÁËʵÏÖÁÙ½çÇøµÄ±£»¤£¬UCOSIIIÌṩÁËÁ½¸öºê£ºOS_CRITICAL_ENTER() ºÍOS_CRITICAL_EXIT()¡£ µ±Ò»¸öÈÎÎñ»òÖжϽøÈëÁÙ½çÇøÊ±£¬Ëü±ØÐëµ÷ÓÃOS_CRITICAL_ENTER()ºêÒÔ»ñµÃÁÙ½çÇøµÄ±£»¤¡£ Õâ¸öºê½«½ûÓÃÖжϣ¬ÒÔÈ·±£Ö´ÐÐÁÙ½çÇøµÄ´úÂë²»»á±»ÖжϻòÇÀÕ¼£¬´Ó¶ø±£Ö¤ÁËÁÙ½çÇøµÄÔ­×ÓÐÔ¡£ µ±´úÂëÖ´ÐÐÍê±Ïʱ£¬ÈÎÎñ»òÖжϱØÐëµ÷ÓÃOS_CRITICAL_EXIT()ºêÀ´»Ö¸´Öжϣ¬ÒÔ±ãÆäËûÈÎÎñºÍÖжϿÉÒÔ·ÃÎʹ²Ïí×ÊÔ´²¢Ö´ÐÐËüÃǵĴúÂë¡£ ʹÓÃOS_CRITICAL_ENTER()ºÍOS_CRITICAL_EXIT()ºêÀ´±£»¤ÁÙ½çÇø£¬ ÄÇôÔÚÈÎÎñT1Ö´ÐеÄÕû¸öʱ¼äÄÚ£¬ÖжϽ«±»½ûÓ㬠ÆäËûÈÎÎñ½«²»ÄÜ·ÃÎʹ²Ïí×ÊÔ´²¢ÇÒÁÙ½çÇøµÄ´úÂ뽫ÒÔÔ­×Ó·½Ê½Ö´ÐÐÍê±Ï¡£ ÕâÑù¿ÉÒÔÈ·±£ÁÙ½çÇø´úÂëµÄÕýÈ·ÐÔ£¬±ÜÃâ&frac34;ºÕùÌõ¼þºÍÆäËûͬ²½ÎÊÌâ¡£ */ /* ÔÚUCOS IIIÖУ¬ÈÎÎñµÄÖ´ÐÐË&sup3;ÐòÊÇ»ùÓÚÓÅÏȼ¶µ÷¶ÈËã·¨¡£ ÿ¸öÈÎÎñ¶¼ÓÐÒ»¸öÓÅÏȼ¶£¨0µ½255£©£¬&frac34;ßÓиü¸ßÓÅÏȼ¶µÄÈÎÎñ±ÈµÍÓÅÏȼ¶µÄÈÎÎñ¸ü¿ÉÄܵõ½µ÷¶È¡£ UCOS IIIʹÓÃÇÀռʽµ÷¶È£¬ÕâÒâζ×ŵ±ÓÐÒ»¸ö¸ßÓÅÏȼ¶µÄÈÎÎñ&frac34;ÍÐ÷ʱ£¬µ±Ç°ÕýÔÚÖ´ÐеÄÈÎÎñ½«±»Öжϲ¢ÇÒ¸ßÓÅÏȼ¶ÈÎÎñ½«±»Ö´ÐС£ ÕâÈ·±£ÁË&frac34;ßÓиü¸ßÓÅÏȼ¶µÄÈÎÎñ¿ÉÒÔ¼°Ê±»ñµÃÖ´ÐУ¬±ÜÃâ&sup3;¤Ê±¼ä±»µÍÓÅÏȼ¶ÈÎÎñÕ¼Óô¦ÀíÆ÷µÄÇé¿ö·¢Éú¡£ UCOS IIIÈÎÎñµÄÖ´ÐÐÊÇͨ¹ýÉÏÏÂÎÄÇл»ÊµÏֵġ£ ÉÏÏÂÎÄÇл»ÊÇÖ¸½«´¦ÀíÆ÷µÄ״̬´ÓÒ»¸öÈÎÎñ±£´æµ½Äڴ棬Ȼºó½«ÁíÒ»¸öÈÎÎñµÄ×´Ì¬×°ÔØµ½´¦ÀíÆ÷ÖУ¬ÒÔÔÚ²»¼ä¶ÏµÄÇé¿öÏÂת»»ÈÎÎñÖ´ÐС£ µ±Ò»¸öÈÎÎñÐèÒª±»ÖÐֹʱ£¬¼´Ö´ÐÐOS_TaskSuspend()º¯Êýʱ£¬UCOS III´¦ÀíÆ÷»áÖ´ÐÐÒ»¸öÈÎÎñÇл»Öжϲ¢½«¿ØÖÆÈ¨×ªÒƵ½ÁíÒ»¸öÈÎÎñ¡£ ÈÎÎñÇл»Í¨&sup3;£·¢ÉúÔÚÒÔÏÂÇé¿öÏ£º µ±ÈÎÎñÖ÷¶¯µ÷ÓÃÁËÈÎÎñ¿ØÖƺ¯Êý£¨ÀýÈ磬OS_Delay()¡¢OS_EventWait()¡¢OS_TaskSuspend()µÈ£©²¢ÍËÈÃCPUʱ£» µ±Ä&sup3;¸öÖжϷþÎñ&sup3;ÌÐò(ISR)ÔڹؼüÈÎÎñÖ´ÐÐÆÚ¼äÖ´ÐУ¨¼´ÖжÏÓÅÏȼ¶¸ßÓڹؼüÈÎÎñµÄÓÅÏȼ¶£©¡£ */ //¿ªÊ¼ÈÎÎñ£¬´´½¨ÍêÈÎÎñ¶þºÍÈÎÎñÈý&frac34;ÍÉ&frac34;&sup3;ý×Ô¼º //ÈÎÎñÓÅÏȼ¶ #define START_TASK_PRIO 3 //ÈÎÎñ¶ÑÕ»´óС #define START_STK_SIZE 128 //ÈÎÎñ¿ØÖÆ¿é OS_TCB StartTaskTCB; //ÈÎÎñ¶ÑÕ» CPU_STK START_TASK_STK[START_STK_SIZE]; //ÈÎÎñº¯Êý void start_task(void *p_arg); ///ÈÎÎñ¶þÁÁµÆ£¬²¢´òÓ¡&sup3;öÐÅÏ¢ //ÈÎÎñÓÅÏȼ¶ #define TASK1_TASK_PRIO 4 //ÈÎÎñ¶ÑÕ»´óС #define TASK1_STK_SIZE 128 //ÈÎÎñ¿ØÖÆ¿é OS_TCB Task1_TaskTCB; //ÈÎÎñ¶ÑÕ» CPU_STK TASK1_TASK_STK[TASK1_STK_SIZE]; void task1_task(void *p_arg); ///ÈÎÎñÈý£¬´òÓ¡ÈÎÎñÈýÖ´ÐÐÐÅÏ¢ //ÈÎÎñÓÅÏȼ¶ #define TASK2_TASK_PRIO 5 //ÈÎÎñ¶ÑÕ»´óС #define TASK2_STK_SIZE 128 //ÈÎÎñ¿ØÖÆ¿é OS_TCB Task2_TaskTCB; //ÈÎÎñ¶ÑÕ» CPU_STK TASK2_TASK_STK[TASK2_STK_SIZE]; //ÈÎÎñº¯Êý void task2_task(void *p_arg); volatile u8 key_pressed = 0; volatile u8 current_task = 1; void KEY_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // ???? GPIO_Init(GPIOA, &GPIO_InitStructure); } void Key_Scan(void) { static u8 key_up = 1; if (key_up && GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) { delay_ms(20); // ?? if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) { key_up = 0; key_pressed = 1; // ?????? } } else if (!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) { key_up = 1; } } //Ö÷º¯Êý int main(void) { OS_ERR err; CPU_SR_ALLOC(); SystemInit();//ÓÉÓÚ±&frac34;¹¤&sup3;ÌÊÇÓÉstm32f103zet6ÒÆÖ²ËùÀ´£¬Òò´ËÕâÀïÒò¼ÓÈë±&frac34;º¯ÊýÈ·±£delayº¯ÊýÕý&sup3;£Ê¹Óà delay_init(); //ʱÖÓ&sup3;õʼ»¯ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÖжϷÖ×éÅäÖà uart_init(115200); //´®¿Ú&sup3;õʼ»¯ LED_Init(); KEY_Init(); // ??????? OSInit(&err); //&sup3;õʼ»¯UCOSIII OS_CRITICAL_ENTER(); //½øÈëÁÙ½çÇø //´´½¨¿ªÊ¼ÈÎÎñ OSTaskCreate((OS_TCB * )&StartTaskTCB, //ÈÎÎñ¿ØÖÆ¿é (CPU_CHAR * )"start task", //ÈÎÎñÃû×Ö (OS_TASK_PTR )start_task, //ÈÎÎñº¯Êý (void * )0, //´«µÝ¸øÈÎÎñº¯ÊýµÄ²ÎÊý (OS_PRIO )START_TASK_PRIO, //ÈÎÎñÓÅÏȼ¶ (CPU_STK * )&START_TASK_STK[0], //ÈÎÎñ¶ÑÕ»»ùµØÖ· (CPU_STK_SIZE)START_STK_SIZE/10, //ÈÎÎñ¶ÑÕ»Éî¶ÈÏÞλ (CPU_STK_SIZE)START_STK_SIZE, //ÈÎÎñ¶ÑÕ»´óС (OS_MSG_QTY )0, //ÈÎÎñÄÚ²¿ÏûÏ¢¶ÓÁÐÄܹ»½ÓÊÕµÄ×î´óÏûÏ¢ÊýÄ¿,Ϊ0ʱ½ûÖ¹½ÓÊÕÏûÏ¢ (OS_TICK )0, //µ±Ê¹ÄÜʱ¼äƬÂÖתʱµÄʱ¼äƬ&sup3;¤¶È£¬Îª0ʱΪĬÈÏ&sup3;¤¶È£¬ (void * )0, //Óû§²¹&sup3;äµÄ´æ´¢Çø (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, //ÈÎÎñÑ¡Ïî (OS_ERR * )&err); //´æ·Å¸Ãº¯Êý´íÎóʱµÄ·µ»ØÖµ OS_CRITICAL_EXIT(); //ÍË&sup3;öÁÙ½çÇø OSStart(&err); //¿ªÆôUCOSIII } //¿ªÊ¼ÈÎÎñÈÎÎñº¯Êý void start_task(void *p_arg) { OS_ERR err; CPU_SR_ALLOC(); p_arg = p_arg; CPU_Init(); #if OS_CFG_STAT_TASK_EN > 0u OSStatTaskCPUUsageInit(&err); //Í&sup3;¼ÆÈÎÎñ #endif #ifdef CPU_CFG_INT_DIS_MEAS_EN //Èç¹ûʹÄÜÁ˲âÁ¿ÖжϹرÕʱ¼ä CPU_IntDisMeasMaxCurReset(); #endif #if OS_CFG_SCHED_ROUND_ROBIN_EN //µ±Ê¹ÓÃʱ¼äƬÂÖתµÄʱºò //ʹÄÜʱ¼äƬÂÖתµ÷¶È¹¦ÄÜ,ʱ¼äƬ&sup3;¤¶ÈΪ1¸öϵÍ&sup3;ʱÖÓ½ÚÅÄ£¬¼È1*5=5ms OSSchedRoundRobinCfg(DEF_ENABLED,1,&err); #endif OS_CRITICAL_ENTER(); //½øÈëÁÙ½çÇø //´´½¨TASK1ÈÎÎñ OSTaskCreate((OS_TCB * )&Task1_TaskTCB, (CPU_CHAR * )"Task1 task", (OS_TASK_PTR )task1_task, (void * )0, (OS_PRIO )TASK1_TASK_PRIO, (CPU_STK * )&TASK1_TASK_STK[0], (CPU_STK_SIZE)TASK1_STK_SIZE/10, (CPU_STK_SIZE)TASK1_STK_SIZE, (OS_MSG_QTY )0, (OS_TICK )0, (void * )0, (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, (OS_ERR * )&err); //´´½¨TASK2ÈÎÎñ OSTaskCreate((OS_TCB * )&Task2_TaskTCB, (CPU_CHAR * )"task2 task", (OS_TASK_PTR )task2_task, (void * )0, (OS_PRIO )TASK2_TASK_PRIO, (CPU_STK * )&TASK2_TASK_STK[0], (CPU_STK_SIZE)TASK2_STK_SIZE/10, (CPU_STK_SIZE)TASK2_STK_SIZE, (OS_MSG_QTY )0, (OS_TICK )0, (void * )0, (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, (OS_ERR * )&err); OS_CRITICAL_EXIT(); //ÍË&sup3;öÁÙ½çÇø OSTaskDel((OS_TCB*)0,&err); //É&frac34;&sup3;ýstart_taskÈÎÎñ×ÔÉí } // ??1:??PB0(LED0) void task1_task(void *p_arg) { OS_ERR err; while (1) { Key_Scan(); if (key_pressed) { current_task = 2; // ?????2 key_pressed = 0; printf("Switch to Task2\n"); } else { // LED0?? GPIO_SetBits(GPIOB, GPIO_Pin_0); // LED0? OSTimeDlyHMSM(0, 0, 0, 5000, OS_OPT_TIME_HMSM_STRICT, &err); // 500ms GPIO_ResetBits(GPIOB, GPIO_Pin_0); // LED0? OSTimeDlyHMSM(0, 0, 0, 5000, OS_OPT_TIME_HMSM_STRICT, &err); // 500ms } } } void task2_task(void *p_arg) { OS_ERR err; while (1) { Key_Scan(); if (key_pressed) { current_task = 1; // ?????1 key_pressed = 0; printf("Switch back to Task1\n"); } else { // ????2??? // ??:LED1?? GPIO_SetBits(GPIOB, GPIO_Pin_1); // LED1? OSTimeDlyHMSM(0, 0, 0, 5000, OS_OPT_TIME_HMSM_STRICT, &err); // 500ms GPIO_ResetBits(GPIOB, GPIO_Pin_1); // LED1? OSTimeDlyHMSM(0, 0, 0, 5000, OS_OPT_TIME_HMSM_STRICT, &err); // 500ms } } }我现在需要刚开始时B0(任务一)LED闪烁,当按下按键后(A0)给予信息量,使得代码进入(任务二),再次摁下按键,两个任务均不执行
06-06
#include <reg52.h> //°üº¬51µ¥Æ¬»úÏà¹ØµÄÍ·Îļþ #include <intrins.h> #define uint unsigned int //ÖØ¶¨ÒåÎÞ·ûºÅÕûÊýÀàÐÍ #define uchar unsigned char //ÖØ¶¨ÒåÎÞ·ûºÅ×Ö·ûÀàÐÍ uchar code LedShowData[]={0x03,0x9F,0x25,0x0D,0x99, //¶¨ÒåÊýÂë¹ÜÏÔÊ&frac34;Êý&frac34;Ý 0x49,0x41,0x1F,0x01,0x19};//0,1,2,3,4,5,6,7,8,9 uchar code RecvData[]={0x19,0x46,0x15,0x44,0x43,0x40,0x0D,0x0E,0x00,0x0F}; uchar IRCOM[7]; static unsigned int LedFlash; //¶¨ÒåÉÁ¶¯ÆµÂʼÆÊý±äÁ¿ unsigned char RunFlag=0; //¶¨ÒåÔËÐбêÖ&frac34;λ bit EnableLight=0; //¶¨ÒåÖ¸Ê&frac34;µÆÊ¹ÄÜλ /*************Íê&sup3;É״ָ̬Ê&frac34;µÆ¶¨Òå*************/ sbit S1=P3^2; //¶¨ÒåS1°´¼ü¶Ë¿Ú /*************Íê&sup3;ɵç»ú¿ØÖƶ˿ڶ¨Òå***********/ sbit M1A=P1^2; //¶¨Òåµç»ú1ÕýÏò¶Ë¿Ú sbit M1B=P1^3; //¶¨Òåµç»ú1·´Ïò¶Ë¿Ú sbit M2A=P1^4; //¶¨Òåµç»ú2ÕýÏò¶Ë¿Ú sbit M2B=P1^5; //¶¨Òåµç»ú2·´Ïò¶Ë¿Ú sbit IRIN=P3^3; //¶¨ÒåºìÍâ½ÓÊÕ¶Ë¿Ú /*********Íê&sup3;ɺìÍâ½ÓÊն˿ڵ͍Òå*************/ #define ShowPort P0 //¶¨ÒåÊýÂë¹ÜÏÔÊ&frac34;¶Ë¿Ú extern void ControlCar(uchar CarType); //ÉùÃ÷С&sup3;µ¿ØÖÆ×Ó&sup3;ÌÐò void delayms(unsigned char x) //0.14mSÑÓʱ&sup3;ÌÐò { unsigned char i; //¶¨ÒåÁÙʱ±äÁ¿ while(x--) //ÑÓʱʱ¼äÑ­»· { for (i = 0; i<13; i++) {} //14mSÑÓʱ } } void Delay1ms(unsigned int i) { unsigned char j,k; do{ j = 10; do{ k = 50; do{ _nop_(); }while(--k); }while(--j); }while(--i); } void Delay() //¶¨ÒåÑÓʱ×Ó&sup3;ÌÐò { uint DelayTime=30000; //¶¨ÒåÑÓʱʱ¼ä±äÁ¿ while(DelayTime--); //¿ªÊ¼½øÐÐÑÓʱѭ»· return; //×Ó&sup3;ÌÐò·µ»Ø } void tingzhi() { M1A=0; //½«M1µç»úA¶Ë&sup3;õʼ»¯Îª0 M1B=0; //½«M1µç»úB¶Ë&sup3;õʼ»¯Îª0 M2A=0; //½«M2µç»úA¶Ë&sup3;õʼ»¯Îª0 M2B=0; } void qianjin() { M1A=1; M1B=0; M2A=1; M2B=0; } void houtui() { M1A=0; M1B=1; M2A=0; M2B=1; } void youzhuan() { M1A=1; M1B=0; M2A=0; M2B=1; } void zuozhuan() { M1A=0; M1B=1; M2A=1; M2B=0; } void ControlCar(unsigned char ConType) //¶¨Òåµç»ú¿ØÖÆ×Ó&sup3;ÌÐò { tingzhi(); switch(ConType) //ÅжÏÓû§É趨µç»úÐÎʽ { case 1: //ǰ½ø //ÅжÏÓû§ÊÇ·ñÑ¡ÔñÐÎʽ1 { tingzhi(); //½øÈëǰ½øÖ®Ç° ÏÈÍ£Ö¹Ò»¶Îʱ¼ä ·ÀÖ¹µç»ú·´Ïòµçѹ&sup3;å»÷Ö÷°å µ¼ÖÂϵÍ&sup3;¸´Î» Delay1ms(240); qianjin(); ShowPort=LedShowData[1]; break; } case 2: //ºóÍË //ÅжÏÓû§ÊÇ·ñÑ¡ÔñÐÎʽ2 { tingzhi(); //½øÈëºóÍË֮ǰ ÏÈÍ£Ö¹Ò»¶Îʱ¼ä ·ÀÖ¹µç»ú·´Ïòµçѹ&sup3;å»÷Ö÷°å µ¼ÖÂϵÍ&sup3;¸´Î» Delay1ms(240); // LeftLed = 1 ; houtui(); ShowPort=LedShowData[2]; //M2µç»ú·´×ª break; } case 3: //×óת //ÅжÏÓû§ÊÇ·ñÑ¡ÔñÐÎʽ3 { tingzhi(); //½øÈë×óת֮ǰ ÏÈÍ£Ö¹Ò»¶Îʱ¼ä ·ÀÖ¹µç»ú·´Ïòµçѹ&sup3;å»÷Ö÷°å µ¼ÖÂϵÍ&sup3;¸´Î» Delay1ms(240); zuozhuan(); ShowPort=LedShowData[3]; //M2µç»úÕýת break; } case 4: //ÓÒת //ÅжÏÓû§ÊÇ·ñÑ¡ÔñÐÎʽ4 { tingzhi(); //½øÈëÓÒת֮ǰ ÏÈÍ£Ö¹Ò»¶Îʱ¼ä ·ÀÖ¹µç»ú·´Ïòµçѹ&sup3;å»÷Ö÷°å µ¼ÖÂϵÍ&sup3;¸´Î» Delay1ms(240); youzhuan(); //M1µç»úÕýת ShowPort=LedShowData[4]; //M2µç»ú·´×ª break; } case 5: //Í£Ö¹ //ÅжÏÓû§ÊÇ·ñÑ¡ÔñÐÎʽ8 { tingzhi(); ShowPort=LedShowData[0]; break; //ÍË&sup3;öµ±Ç°Ñ¡Ôñ } } } void IR_IN() interrupt 2 using 0 //¶¨ÒåINT2ÍⲿÖжϺ¯Êý { unsigned char j,k,N=0; //¶¨ÒåÁÙʱ½ÓÊÕ±äÁ¿ EX1 = 0; //¹Ø±ÕÍⲿÖжÏ,·ÀÖ¹ÔÙÓÐÐźŵ½´ï delayms(15); //ÑÓʱʱ¼ä£¬½øÐкìÍâÏû¶¶ if (IRIN==1) //ÅжϺìÍâÐźÅÊÇ·ñÏûʧ { EX1 =1; //ÍⲿÖжϿª return; //·µ»Ø } while (!IRIN) //µÈIR±äΪ¸ßµçƽ£¬Ìø¹ý9msµÄǰµ¼µÍµçƽÐźš£ { delayms(1); //ÑÓʱµÈ´ý } for (j=0;j<4;j++) //²É¼¯ºìÍâÒ£¿ØÆ÷Êý&frac34;Ý { for (k=0;k<8;k++) //·Ö´Î²É¼¯8λÊý&frac34;Ý { while (IRIN) //µÈ IR ±äΪµÍµçƽ£¬Ìø¹ý4.5msµÄǰµ¼¸ßµçƽÐźš£ { delayms(1); //ÑÓʱµÈ´ý } while (!IRIN) //µÈ IR ±äΪ¸ßµçƽ { delayms(1); //ÑÓʱµÈ´ý } while (IRIN) //¼ÆËãIR¸ßµçƽʱ&sup3;¤ { delayms(1); //ÑÓʱµÈ´ý N++; //¼ÆÊýÆ÷¼Ó¼Ó if (N>=30) //ÅжϼÆÊýÆ÷ÀÛ¼ÓÖµ { EX1=1; //´ò¿ªÍⲿÖжϹ¦ÄÜ return; //·µ»Ø } } IRCOM[j]=IRCOM[j] >> 1; //½øÐÐÊý&frac34;ÝÎ»ÒÆ²Ù×÷²¢×Ô¶¯²¹Áã if (N>=8) //ÅжÏÊý&frac34;Ý&sup3;¤¶È { IRCOM[j] = IRCOM[j] | 0x80; //Êý&frac34;Ý×î¸ßλ²¹1 } N=0; //ÇåÁãλÊý¼ÆÂ¼Æ÷ } } if (IRCOM[2]!=~IRCOM[3]) //ÅжϵØÖ·ÂëÊÇ·ñÏàͬ { EX1=1; //´ò¿ªÍⲿÖÐ¶Ï return; //·µ»Ø } for(j=0;j<10;j++) //Ñ­»·½øÐмüÂë½âÎö { if(IRCOM[2]==RecvData[j]) //½øÐмüλ¶ÔÓ¦ { ControlCar(j); //ÊýÂë¹ÜÏÔÊ&frac34;ÏàÓ¦ÊýÂë } } EX1 = 1; //ÍⲿÖжϿª } void main(void) //Ö÷&sup3;ÌÐòÈë¿Ú { bit ExeFlag=0; //¶¨Òå¿ÉÖ´ÐÐλ±äÁ¿ LedFlash=3000; //¶ÔÉÁµÆÊý&frac34;ݽøÐÐ&sup3;õʼ»¯ EX1=1; //ͬÒ⿪ÆôÍⲿÖжÏ1 IT1=1; //É趨ÍⲿÖжÏ1ΪµÍ±ßÔµ´¥·¢ÀàÐÍ EA=1; //×ÜÖжϿªÆô ShowPort=LedShowData[0]; //ÊýÂë¹ÜÏÔÊ&frac34;Êý×Ö0 while(1) //&sup3;ÌÐòÖ÷Ñ­»· { Delay(); //ÑÓʱ // RunStopState=~RunStopState; //ÔËÐÐÖ¸Ê&frac34;µÆ×´Ì¬×ª±ä } }详细解释
06-01
/*ÌâÄ¿ÃèÊö ÊäÈëÄ&sup3;λͬѧ¸÷ÃſεÄ&sup3;ɼ¨£¬Êä&sup3;öƽ&frac34;ù&sup3;ɼ¨¡£ÊäÈëµÄ&sup3;ɼ¨&frac34;ùΪÎå¼¶ÖÆ&sup3;ɼ¨£¬Îå¼¶ÖÆ&sup3;ɼ¨×ª»»Îª°Ù·ÖÖÆ&sup3;ɼ¨µÄ¹æÔòÈçÏ£º &#39;A¡¯×ª»»Îª°Ù·ÖÖ®&sup3;ɼ¨Îª95·Ö£¬&#39;B¡¯¶ÔÓ¦85·Ö£¬C¶ÔÓ¦75·Ö£¬&#39;D¡¯¶ÔÓ¦65·Ö£¬&#39;E¡¯¶ÔÓ¦40·Ö¡£ Êä&sup3;öµÄƽ&frac34;ù&sup3;ɼ¨ÎªÒ»¸öʵÊý£¬±£Áô1λСÊý¡£ ÒªÇó&sup3;ÌÐò¶¨ÒåÒ»¸ögetScore()º¯ÊýºÍÒ»¸ömain()º¯Êý£¬getScore()º¯Êý·µ»ØÒ»¸öµÈ¼¶¶ÔÓ¦µÄ·ÖÊý£¬ÆäÓ๦ÄÜÔÚmain()º¯ÊýÖÐʵÏÖ¡£ int getScore(char g) { //°ÑµÈ¼¶gת»»&sup3;ɶÔÓ¦µÄ·ÖÊý²¢·µ»ØÕâ¸ö·ÖÊý¡£ } ÊäÈë¸ñʽ ÊäÈëΪһÐÐÖ»°üº¬¡¯A¡¯~&#39;E¡¯µÄ×Öĸ£¬Ã¿¸ö×Öĸ±íÊ&frac34;Ò»ÃſεÄ&sup3;ɼ¨£¬ÒÔ»Ø&sup3;µ¼ü±íÊ&frac34;½áÊø¡£ Êä&sup3;ö¸ñʽ Êä&sup3;öƽ&frac34;ù&sup3;ɼ¨£¬ÎªÒ»¸öʵÊý£¬±£ÁôһλСÊý¡£ ÑùÀýÊäÈë AABB ÑùÀýÊä&sup3;ö 90.0 */ #include<stdio.h> int getScore(char g) { int fenshu; char A,B,C,D,E; //°ÑµÈ¼¶gת»»&sup3;ɶÔÓ¦µÄ·ÖÊý²¢·µ»ØÕâ¸ö·ÖÊý¡£ if(g==A){ fenshu=95; }else if(g==B){ fenshu=85; }else if(g==C){ fenshu=75; }else if(g==D){ fenshu=65; }else if(g==E){ fenshu=40; } return fenshu; } int main(){ char dj,fen=0,sum=0; for(int i=1;i<=4;i++){ scanf("%s",&dj); int fen=getScore(dj); sum+=fen; } double pj=0; pj=sum/4.0; printf("%.1f",pj); return 0; } 修改代码
最新发布
11-27
#include "stm32f10x.h" #include "delay.h" #include "gpio.h" #include "moto.h" #include "pwm.h" #include "adc.h" #include "usart.h" #include "encoder.h" #include "timer.h" int TargetVelocity_A=20; //Aµç»ú±Õ»·¿ØÖÆÄ¿±êËÙ¶È int TargetVelocity_B=20; //Bµç»ú±Õ»·¿ØÖÆÄ¿±êËÙ¶È float Velcity_Kp=1, Velcity_Ki=3, Velcity_Kd; //PID²ÎÊý int encoder_A,encoder_B; //±àÂëÆ÷¶ÁÈ¡±äÁ¿ int Velocity_PWMA=0,Velocity_PWMB=0; //pwmÉèÖñäÁ¿ u16 adcx; //adc¼Ä´æÆ÷Öµ float vcc; //µçÔ´µçѹֵ int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÖжÏÓÅÏȼ¶·Ö×é SystemInit(); //ÅäÖÃϵÍ&sup3;ʱÖÓΪ72M delay_init(); //ÑÓʱº¯Êý&sup3;õʼ»¯ uart_init(115200); //´®¿Ú&sup3;õʼ»¯ adc_Init(); //ADC1-PA6 &sup3;õʼ»¯ Ö»ÓÐTB6612´øÎÈѹģ¿é°æ²ÅÓлñÈ¡µç&sup3;صçѹµÄ¹¦ÄÜ£¬TB6612FNG&frac34;«¼ò°æÃ»ÓÐÕâ¸ö¹¦ÄÜ Gpio_Init(); //&sup3;õʼ»¯µç»ú·½Ïò¿ØÖÆÒý½Å Aµç»ú AIN1-PB14 AIN2-PB15 , Bµç»ú BIN1-PB13 BIN2-PB12 PWM_Int(7199,0); //&sup3;õʼ»¯pwmÊä&sup3;ö 72000 000 /7199+1=10000HZ Aµç»ú ¶¨Ê±Æ÷3ͨµÀ4 PB1 , Bµç»ú ¶¨Ê±Æ÷3ͨµÀ3 PB0 Encoder_Init_Tim4();//Aµç»ú±àÂëÆ÷Òý½Å&sup3;õʼ»¯ AÏà-PB6 BÏà-PB7 Encoder_Init_Tim2();//Bµç»ú±àÂëÆ÷Òý½Å&sup3;õʼ»¯ AÏà-PA0 BÏà-PA1 TIM1_10ms_Init();//10ms¶¨Ê±Æ÷1Öжϣ¬±àÂëÆ÷¶ÁÈ¡ÊýÖµºÍ¿ØÖÆÊ±ºòʹÓã¬ÖжϺ¯ÊýÔÚtimer.c while(1) { adcx=Get_adc_Average(ADC_Channel_6,10); //»ñÈ¡adcµÄÖµ vcc=(float)adcx*(3.3*11/4096); //Çóµ±Ç°µçѹ µçÔ´µçѹÊÇadcÒý½ÅµçѹµÄ11±¶ } }
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值