Î人»æÐ¾¿Æ¼¼ÓÐÏÞ¹«Ë¾»¶Ó­Äú£¡
10ÓàÄê¾­Ñé³ÁµíÕ¹ÀÀչʾÔ˶¯¿ØÖƵÄר¼Ò
È«¹ú×ÉѯÈÈÏߣº027-87052087
ÁªÏµÎÒÃÇ
Î人»æÐ¾¿Æ¼¼ÓÐÏÞ¹«Ë¾
µç»°£º027-87052087
ÊÖ»ú£º13329706647
ÓÊÏ䣺956693667@qq.com
µØÖ·£ºÎ人Êн­ÏÄÇø²ØÁúµºÌ·ºþһ·8ºÅ
ÁªÏµÈË£º»ÆÏÈÉú
֪ʶ¿â

»ùÓÚµ¥Æ¬»ú¿ØÖƵĿª¹ØµçÔ´Éè¼Æ

ÈÕÆÚ£º2016-07-28 18:05:10 À´Ô´£ºÎ´Öª µã»÷´Î

»ùÓÚµ¥Æ¬»ú¿ØÖƵĿª¹ØµçÔ´Éè¼Æ


¿ª¹ØµçÔ´Ìå»ýС¡¢Ð§Âʸߣ¬±»ÓþΪ¸ßЧ½ÚÄܵçÔ´£¬ÏÖ¼º³ÉΪÎÈѹµçÔ´µÄÖ÷µ¼²úÆ·¡£Ëæ×Å¿ª¹ØµçÔ´ÔÚ¼ÆËã»ú¡¢Í¨ÐÅ¡¢º½¿Õº½Ìì¡¢ÒÇÆ÷ÒÇ±í¼°¼ÒÓõçÆ÷µÈ·½ÃæµÄ¹ã·ºÓ¦ÓÃ, ÈËÃÇ¶ÔÆäÐèÇóÁ¿ÈÕÒæÔö³¤, ²¢ÇÒ¶ÔµçÔ´µÄЧÂÊ¡¢Ìå»ý¡¢ÖØÁ¿¼°¿É¿¿ÐԵȷ½ÃæÌá³öÁ˸ü¸ßµÄÒªÇ󡣿ª¹ØµçÔ´ÒÔÆäЧÂʸߡ¢Ìå»ýС¡¢ÖØÁ¿ÇáµÈÓÅÊÆÔÚºÜ¶à·½ÃæÖð²½È¡´úÁËЧÂʵ͡¢ÓÖ±¿ÓÖÖØµÄÏßÐÔµçÔ´¡£

±¾ÎĽéÉÜÁËÒ»¿î»ùÓÚPWM¼¼ÊõµÄDC-DC¿ª¹ØÎÈѹµçÔ´,ÓÃproteus·ÂÕæ,Êä³öÎÆ²¨Ð¡£¬µçѹÎȶ¨¿É¿¿.

 


 

Ò»¡¢Òý ÑÔ

±¾Éè¼ÆÖвÉÓõÄÊÇÂö¿íµ÷ÖÆÐÍ, Pwm¼¼ÊõÊÇÀûÓÃ΢´¦ÀíÆ÷µÄÊý×ÖÊä³öÀ´¶ÔÄ£Äâµç·½øÐпØÖƵÄÒ»Öַdz£ÓÐЧµÄ¼¼Êõ£¬¹ã·ºÓ¦ÓÃÔÚ´Ó²âÁ¿¡¢Í¨Ðŵ½¹¦ÂÊ¿ØÖÆÓë±ä»»µÄÐí¶àÁìÓòÖС£PWMµÄÒ»¸öÓŵãÊÇ´Ó´¦ÀíÆ÷µ½±»¿ØÏµÍ³ÐźŶ¼ÊÇÊý×ÖÐÎʽµÄ£¬ÎÞÐè½øÐÐÊýģת»»¡£ÈÃÐźű£³ÖΪÊý×ÖÐÎʽ¿É½«ÔëÉùÓ°Ïì½µµ½×îС¡£ÔÚÂö¿íµ÷ÖÆÖÐÒòΪƵÂʲ»±ä£¬ËùÒÔÎÞÂÛÊǶԵç·ÖеĴÅÐÔÔª¼þ¼°¾§Ìå¹ÜµÄ²âÊÔºÍÉè¼Æ¶¼ºÜ·½±ã£¬¶øÇÒ¶ÔÉ䯵¸ÉÈŵÄÒÖÖÆÒ²±äµÃ±È½ÏÈÝÒס£ÀûÓõ¥Æ¬»ú¿ÉÒÔʵÏÖ¶Ô¿ª¹ØµçÔ´µÄÖÇÄÜ¿ØÖÆ£¬ÊµÏÖÖÇÄÜ»¯¿ª¹ØµçÔ´µÄÖÆ×÷¡£¸ß¶È¼¯³É¡¢¹¦ÄÜÇ¿´óµÄ¿ª¹ØÐÍÎÈѹµçÔ´´ú±í×Å¿ª¹ØµçÔ´·¢Õ¹µÄÖ÷Á÷·½Ïò£¬Æä¼¼ÊõÒ²ÈÕÇý³ÉÊì¡£

 

¶þ¡¢×ÜÌåÉè¼Æ

±¾¿ÎÌâµÄÖ÷Ҫ˼ÏëÊÇÀûÓõ¥Æ¬»ú¿ÉÒÔʵÏÖ¶Ô¿ª¹ØµçÔ´µÄÖÇÄÜ¿ØÖÆ£¬ÊµÏÖÖÇÄÜ»¯¿ª¹ØµçÔ´µÄÖÆ×÷¡£Í¨¹ý¼üÅÌÔ¤Öõçѹ£¬¿ØÖƵ¥Æ¬»ú½øÐÐÂö¿íµ÷ÖÆ£¬Ê¹Êä³öµçѹÔÚ´ó·¶Î§Äڿɵ÷¡£Í¨¹ýµ¥Æ¬»úÈí¼þ¿ØÖÆ£¬ÊµÏÖµçÔ´µÄÖÇÄܱ£»¤£¬¿ÉÒÔÉ趨ij¸ö¹æ¶¨µÄµçѹ»òÕßµçÁ÷£¬µ±³¬¹ý¸Ãµçѹ»òÕßµçÁ÷ʱ£¬µ¥Æ¬»ú¹Ø¶Ï¿ª¹Ø¹Ü£¬µçÔ´²»ÔÙ¹¤×÷£¬ÒԱ㱣»¤µçÔ´¡£

Èý¡¢Ó²¼þÉè¼Æ

£¨Ò»£©Ó²¼þ×ÜÌåÉè¼Æ

±¾Éè¼ÆÖÐÄâ²ÉÓÃÂö¿íµ÷ÖÆÐÍ£¬ÏÈͨ¹ýµçѹ¼°¹¦Âʱ任Éè¼Æ³öÒ»¸öDC12V×óÓҵĵçѹԴ,ÔÙ¶Ô12VµÄµçѹԴ,ͨ¹ýÂö¿íµ÷ÖÆ,ʵÏÖ²½½ø0.1V¡¢Êä³öµçÁ÷500 mA¡¢LCDÏÔʾµÄÖ±Á÷µçѹ¡£ÀûÓõ¥Æ¬»ú¿ÉÒÔʵÏÖ¶Ô¿ª¹ØµçÔ´µÄÖÇÄÜ¿ØÖÆ£¬ÊµÏÖÖÇÄÜ»¯¿ª¹ØµçÔ´µÄÖÆ×÷¡£Ó²¼þ×ÜÌå¿òͼÈçͼ3-1Ëùʾ¡£

 

 

 

 

 

 

 

 

 

 

 

ͼ3-1Ó²¼þ×ÜÌå¿òͼ

 

£¨¶þ£©AT89C52µ¥Æ¬»ú¸ÅÊö

1.AT89C52µ¥Æ¬»ú×é³É

 

 

 

ͼ3-2  AT89C52µ¥Æ¬»ú×é³É½á¹¹Í¼

¡¡AT89C51ÊÇÒ»ÖÖ´ø4K×Ö½ÚFLASH´æ´¢Æ÷£¨FPEROM¡ªFlash Programmable and Erasable Read Only Memory£©µÄµÍµçѹ¡¢¸ßÐÔÄÜCMOS 8λ΢´¦ÀíÆ÷£¬Ë׳Ƶ¥Æ¬»ú¡£AT89C2051ÊÇÒ»ÖÖ´ø2K×Ö½ÚÉÁ´æ¿É±à³Ì¿É²Á³ýÖ»¶Á´æ´¢Æ÷µÄµ¥Æ¬»ú¡£µ¥Æ¬»úµÄ¿É²Á³ýÖ»¶Á´æ´¢Æ÷¿ÉÒÔ·´¸´²Á³ý1000´Î¡£¸ÃÆ÷¼þ²ÉÓÃATMEL¸ßÃܶȷÇÒ×ʧ´æ´¢Æ÷ÖÆÔì¼¼ÊõÖÆÔ죬Ó빤ҵ±ê×¼µÄMCS-51Ö¸ÁºÍÊä³ö¹Ü½ÅÏà¼æÈÝ¡£ÓÉÓÚ½«¶à¹¦ÄÜ8λCPUºÍÉÁ˸´æ´¢Æ÷×éºÏÔÚµ¥¸öоƬÖУ¬ATMELµÄAT89C51ÊÇÒ»ÖÖ¸ßЧ΢¿ØÖÆÆ÷£¬AT89C2051ÊÇËüµÄÒ»ÖÖ¾«¼ò°æ±¾¡£AT89C51µ¥Æ¬»úΪºÜ¶àǶÈëʽ¿ØÖÆÏµÍ³ÌṩÁËÒ»ÖÖÁé»îÐÔ¸ßÇÒ¼ÛÁ®µÄ·½°¸¡£

 

2£®AT89C52µ¥Æ¬»úÒý½Å½á¹¹

(1)89C51ÍⲿÒý½Åͼ£º

 
;        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òý½Å˵Ã÷£º

£¨1£©µçÔ´Òý½Å

  Vcc£¨40½Å£©£ºµäÐÍÖµ£«5V¡£

  Vss£¨20½Å£©£º½ÓµÍµçƽ¡£

 £¨2£©Íⲿ¾§Õñ

  X1¡¢X2·Ö±ðÓë¾§ÌåÁ½¶ËÏàÁ¬½Ó¡£µ±²ÉÓÃÍⲿʱÖÓÐźÅʱ£¬X2½ÓÕñµ´Ðźţ¬X1½ÓµØ¡£

  £¨3£©ÊäÈëÊä³ö¿ÚÒý½Å£º

   P0¿Ú£ºI/OË«Ïò¿Ú¡£×÷ÊäÈë¿Úʱ£¬Ó¦ÏÈÈí¼þÖá° 1¡±¡£

   P1¿Ú£ºI/OË«Ïò¿Ú¡£×÷ÊäÈë¿Úʱ£¬Ó¦ÏÈÈí¼þÖá° 1¡±¡£

   P2¿Ú£ºI/OË«Ïò¿Ú¡£×÷ÊäÈë¿Úʱ£¬Ó¦ÏÈÈí¼þÖá° 1¡±¡£

   P3¿Ú£ºI/OË«Ïò¿Ú¡£×÷ÊäÈë¿Úʱ£¬Ó¦ÏÈÈí¼þÖá° 1¡±¡£

   

£¨4£©¿ØÖÆÒý½Å

 RST£¨9Òý½Å£©£º¸´Î»ÊäÈë¡£µ±ÊäÈëÁ¬ÐøÁ½¸ö»úÆ÷ÖÜÆÚÒÔÉÏ¸ßµçÆ½Ê±ÎªÓÐЧ£¬ÓÃÀ´Íê³Éµ¥Æ¬»úµÄ¸´Î»³õʼ»¯²Ù×÷¡¢¼ÆÊ±Íê³Éºó£¬RSTÒý½ÅÊä³ö96¸ö¾§ÕñÖÜÆÚµÄ¸ßµçÆ½¡£DISROTĬÈÏ״̬Ï£¬¸´Î»¸ßµçƽÓÐЧ¡£

¢Ù        ALE/PROG£¨30Òý½Å£©£ºÒ»°ãÇé¿öÏ£¬ALEÒÔ¾§ÕñÁù·ÖÖ®Ò»µÄ¹Ì¶¨ÆµÂÊÊä³öÂö³å£¬¿ÉÓÃÀ´×÷ΪÍⲿ¶¨Ê±Æ÷»òʱÖÓʹÓá£

¢Ú        PSEN£¨29Òý½Å£©£ºÍⲿ³ÌÐò´æ´¢ÐźÅʱÍⲿ³ÌÐò´æ´¢Æ÷ѡͨÐźš£µ±AT89C51RC´ÓÍⲿ³ÌÐò´æ´¢Æ÷Ö´ÐÐÍⲿ´úÂëʱ£¬PSENÔÚÿ¸ö»úÆ÷ÖÜÆÚ±»¼¤»îÁ½´Î¡£

¢Û        EA/VPP£¨31Òý½Å£©£º·ÃÎÊÍⲿ³ÌÐò´æ´¢Æ÷¿ØÖÆÐźţ¬ÎªÊ¹ÄÜ´Ó0000Hµ½FFFFHµÄÍⲿ³ÌÐò´æ´¢Æ÷¶ÁȡָÁ±ØÐë½ÓEND¡£

¢Ü        XTAL1£¨19Òý½Å£©£ºÕñµ´Æ÷·´Ïà·Å´óÆ÷ºÍÄÚ²¿Ê±ÖÓ·¢Éúµç·µÄÊäÈë¶Ë¡£

¢Ý        XTAL2£¨18Òý½Å£©£ºÕñµ´Æ÷·´Ïà·Å´óÆ÷µÄÊäÈë¶Ë¡£

P1¿Ú×÷ΪLCDÒº¾§ÆÁµÄÊý¾Ý¿Ú£¬²ÉÓò¢¿ÚÊý¾Ý´«Êäģʽ£¬P2¿ÚÖеÄP2.0¡¢P2.1¡¢P2.2¡¢×÷Ϊ¿ØÖÆÐźÅÊä³ö¿Ú£¬·Ö±ð½ÓRS¡¢R/W¡¢E¿ØÖƶˣ¬P2.3¡¢P2.4·Ö±ð½Óʪζȴ«¸ÐÆ÷µÄSCKºÍDATA£¬P2.5.¡¢P2.6¡¢P2.7½Ó°´¼üµç·£¬P1¿ÚµÄP1.0¡¢P1.1¡¢P1.2·Ö±ð½ÓADC0831µÄ¿ØÖƶˣ¬P1.4½Ó±¨¾¯µÄ·äÃùÆ÷¡£

     3£®AT89C52µ¥Æ¬»úµÄ×îСϵͳ

                                       

ͼ3-4 AT89C52µ¥Æ¬»ú×é³É½á¹¹Í¼

 

£¨1£©¸´Î»µç·:

ÓɵçÈÝ´®Áªµç×è¹¹³É£¬ÓÉͼ²¢½áºÏ"µçÈݵçѹ²»ÄÜÍ»±ä"µÄÐÔÖÊ£¬¿ÉÒÔÖªµÀ£¬µ±ÏµÍ³Ò»Éϵ磬RST½Å½«»á³öÏÖ¸ßµçÆ½£¬²¢ÇÒ£¬Õâ¸ö¸ßµçƽ³ÖÐøµÄʱ¼äÓɵç·µÄRCÖµÀ´¾ö¶¨¡£µäÐ͵Ä51µ¥Æ¬»úµ±RST½ÅµÄ¸ßµçƽ³ÖÐøÁ½¸ö»úÆ÷ÖÜÆÚÒÔÉϾͽ«¸´Î»£¬ËùÒÔ£¬Êʵ±×éºÏRCµÄȡֵ¾Í¿ÉÒÔ±£Ö¤¿É¿¿µÄ¸´Î»¡£Ò»°ã½Ì¿ÆÊéÍÆ¼öÈ¡10u£¬RÈ¡10K¡£Ô­Ôò¾ÍÊÇÒªÈÃRC×éºÏ¿ÉÒÔÔÚRST½ÅÉϲúÉú²»ÉÙÓÚ2¸ö»úÖÜÆÚµÄ¸ßµçÆ½¡£ÖÁÓÚÈçºÎ¾ßÌ嶨Á¿¼ÆË㣬¿ÉÒԲο¼µç··ÖÎöÏà¹ØÊé¼®¡£

 

£¨2£© ¾§Õñµç·£ºµäÐ͵ľ§ÕñÈ¡11.0592MHz(ÒòΪ¿ÉÒÔ׼ȷµØµÃµ½9600²¨ÌØÂʺÍ19200²¨ÌØÂÊ,ÓÃÓÚÓд®¿ÚͨѶµÄ³¡ºÏ)/12MHz(²úÉú¾«È·µÄuS¼¶Ê±Ðª,·½±ã¶¨Ê±²Ù×÷)£¬ÔÚ±¾µç·ÖУ¬È¡12M¡£

 
 

 

 

 

 

 

 

 

 

 

 


£¨Èý£©¿ª¹ØµçԴϵͳӲ¼þÉè¼Æ

1.        

¿ª¹ØµçÔ´µç·Éè¼Æ

 

 

ͼ3-3¿ª¹ØµçÔ´µç·

Èçͼ3-3¿É¿´³ö,DC50VÊäÈë,¾­Q1,Q2,Q3,½øÐн»Á÷±ä»»£¬ÊäÈë¸ø´¢ÄÜÐÔÔª¼þL1,µ±Êä³öµçѹÓв¨¶¯Ê±,µ÷Õû¹ÜQ4µ÷ÕûÊäÈëµçѹ£¬·´¹ýÀ´ÒÖÖÆÊä³öµçѹµÄ²¨¶¯¡£

 

2.        µçѹ·´À¡µç·

   µçѹ·´À¡²¿·Ö£¬µ±µçѹ´ïµ½12Vʱ£¬µçÁ÷Á÷¾­ÎÈѹ¶þ¼«¹ÜD4¡¢Èý¼«¹ÜQ2 B£¬E¼«¡¢µç×èR8  ʹQ2µ¼Í¨£¬Q2µ¼Í¨½«Ê¹Èý¼«¹Ü13003Ìáǰ½øÈë¹Ø¶ÏÇø£¬´Ó¶øÊ¹Êä³öµçѹÎȶ¨ÔÚ12V×óÓÒ¡£

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.        ÏÞÁ÷µç·

  µ±R11ÉÏÁ÷¾­µÄµçÁ÷µ½´ïÒ»¶¨Öµ£¬ÔÚR11ÉϽ«²úÉúѹ½µ£¬µ±Ñ¹½µ³¬¹ý0.7V£¬Èý¼«¹ÜQ3±¥ºÍµ¼Í¨£®Q3¼¯µç¼«µçѹΪ0£¬×Ô¼¤Ê½Õñµ´»ØÂ·ÖÕÖ¹£¬Êä³öµçÁ÷±äС£¬µ±R11ÉϵĵçÁ÷Сµ½×ã¹»µÄÖµ£¬R11Á½¶ËµÄµçѹµÍÓÚ0.7V£¬Q3ÓÖ½ØÖ¹£¬×Ô¼¤Õñµ´»ØÂ·ÓÖ¼ÌÐøÕñµ´¡£

 

 

 

 

ͼ

 

 

 

 

 

 

 

 





Èý¡¢Èí¼þÉè¼Æ

£¨Ò»£©×ܵÄÈí¼þÉè¼ÆË¼Ïë

ϵͳµÄÈí¼þÉè¼Æ²ÉÓÃCÓïÑÔ£¬¶Ôµ¥Æ¬»ú½øÐбà³ÌʵÏÖ¸÷ÏÄÜ¡£

³ÌÐòÊDzÉÓÃkeil c51Èí¼þ±àдµÄ,¿ÉÒÔʹҺ¾§ÏÔʾÆÁ¶ÔÌØ¶¨Êý×Ö¡¢Ó¢ÎÄ×ÖĸÒÔ¼°ºº×Ö×é³ÉµÄ¾ä×Ó½øÐÐÏÔʾ£¬²¢Í¨¹ý°´¼ü¶ÔÏÔʾÄÚÈÝʵÏÖ¿ØÖÆ¡¢×ª»»µÈ¹¦ÄÜ¡£

Ö÷³ÌÐòÖ÷ÒªÆðµ½Ò»¸öµ¼ÏòºÍ¾ö²ß¹¦ÄÜ£¬¾ö¶¨Òº¾§ÏÔʾÆÁ¸ÃÏÔʾʲôÄÚÈÝ£¬¸ÃÈçºÎÏÔʾ¡£Òº¾§ÏÔʾÆÁ¸÷ÖÖ¹¦ÄܵÄʵÏÖÖ÷Ҫͨ¹ýµ÷ÓþßÌåµÄ×Ó³ÌÐò¡£

£¨¶þ£©¸÷²¿·ÖµÄÈí¼þ¿òͼºÍ³ÌÐò

1.Ö÷³ÌÐòÉè¼Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÎÄ×ÖÃèÊöÏ  ÀýÈ磨ͨµçÖ®ºó£¬ÏµÍ³¿ªÊ¼¹¤×÷£¬ÈôÊÇÓмü°´Ï£¬¾Í¸ù¾Ý°´¼ü³ÌÐò½øÐй¤×÷£¬²¢°Ñ½á¹ûÏÔʾµ½LCDÒº¾§ÏÔʾÆÁÉÏ£¬ÈôÊÇûÓа´¼ü£¬¶¨Ê±Ê±¼äÒ»µ½£¬ÆøÌå´«¸Ð£©

 

 

 

 

 

 

 

 

2£®Êý¾ÝÏÔʾ×Ó³ÌÐò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.¼üÅÌɨÃè×Ó³ÌÐò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.¼üÖµ´¦Àí×Ó³ÌÐòÁ÷³Ìͼ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ËÄ¡¢³ÌÐòÇåµ¥

//*************************************************************************************************

//*                                                                                      *

//*           ******************************Í·Îļþ¼°ºê¶¨Òå**************************                *

//*                                                                                      *

//*************************************************************************************************

#include<reg52.h>

#include"includes.h"

#define uchar unsigned char

#define uint unsigned int

#define SCANPORT P2    

#define TIME1H 80

#define TIME1L 80                     //¶¨Ê±Æ÷1Òç³öʱ¼ä//

sbit wr=P3^1;

sbit rd=P3^0;

sbit P27=P2^7;

unsigned long int shuchu=500;       //ĬÈϵĿª»úµçѹ//

uint zhuhuandata;

unsigned  long int ch=0;

uchar i=0;                              //°´¼ü±ê¼Ç//

uchar uca_LineScan[3]={0xEF,0xDF,0xBF};

void chuli();                           //º¯Êý¶¨Òå//

uchar getkey();                         //º¯Êý¶¨Òå//

//*************************************************************************************************

//*                                                                                      *

//*             ********************************½«¼üÖµÀÛ¼Ó²¢ËÍÏÔʾ******************************    *

//*                                                                                      *

//*************************************************************************************************

void qiuhe(uchar t)

  {

   if(i==1)

   {

   ch=t;

   vShowOneChar(6,89,uca[t]);

   }

   if(i==2)

   {

   ch=ch*10+t;

   vShowOneChar(6,103,uca[t]);

   }

   if(i==3)

   {

   ch=ch*10+t;

   vShowOneChar(6,111,uca[t]);

   }

   }

//*************************************************************************************************

//*                                                                                      *

//*             ********************************°´¼ü¹¦Äܺ¯Êý******************************      *

//*                                                                                      *

//*************************************************************************************************

void key_chuli(uchar x)

 {   

        uchar t;

       switch(x)

       {

       case 42: t=0;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'0'

       case 31: t=1;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                     //'1'

       case 32: t=2;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'2'

       case 33: t=3;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'3'

       case 21: t=4;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'4'

       case 22: t=5;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                     //'5'

       case 23: t=6;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'6'

       case 11: t=7;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'7'

       case 12: t=8;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                       //'8'

       case 13: t=9;

                i++;

                 qiuhe(t);

               if(i==3)

                {

                vShowOneChin(2,49,uca_que);

                vShowOneChin(2,64,uca_ding);

                vShowOneChin(4,59,uca_wenhao);

                   }

               break;                     //'9'

       case 41:  if(i==3)                   //'ok'

                {

                ch=ch*256/512;

                shuchu=ch;

                  ch=0;

                  TH0=65200;

                 TL0=65200;

                vShowOneChin(2,49,uca_0);

                vShowOneChin(2,64,uca_0);

                vShowOneChin(4,48,uca_SHU);

                 vShowOneChin(4,64,uca_CHU);

                vShowOneChar(6,88,uca_HEN);

                 vShowOneChar(6,104,uca_HEN);

                 vShowOneChar(6,112,uca_HEN);

                }

                i=0;

                break;  

       }           

}

 

void vTimer0(void) interrupt 1 using 2

{

    uchar a,d;

   unsigned  long int c=0;

   uchar data tab[3];

   a=(((zhuhuandata&0xf0)>>4)*100/16);

    d=((zhuhuandata&0x0f)*100/256);

    c=(a+d)*5.12;

    tab[0]=c%10;

    tab[1]=c/10%10;

    tab[2]=c/100%10;

   vShowOneChar(2,89,uca[tab[2]]);

   vShowOneChar(2,103,uca[tab[1]]);

   vShowOneChar(2,111,uca[tab[0]]);

    TH0=TIME1H;

   TL0=TIME1L;

  

}

 

void main(void)

{

    SCANPORT=0x8F;  

   ClearLCD(0x00);

   vShowOneChar(2,89,uca[5]);

   vShowOneChar(2,96,uca_XIAOSHU);

   vShowOneChar(2,103,uca[0]);

   vShowOneChar(2,111,uca[0]);

   vShowOneChar(2,120,uca_V);

    vShowOneChin(0,0,uca_DANG);

   vShowOneChin(0,16,uca_QIAN);

   vShowOneChin(0,32,uca_GONG);

   vShowOneChin(0,48,uca_ZUO);

   vShowOneChin(0,64,uca_DIAN);

   vShowOneChin(0,80,uca_YA);

   vShowOneChin(0,96,uca_MAOHAO);

   vShowOneChin(4,0,uca_QING);

   vShowOneChin(4,16,uca_SHE);

   vShowOneChin(4,32,uca_ZHI);

   vShowOneChin(4,48,uca_SHU);

   vShowOneChin(4,64,uca_CHU);

   vShowOneChin(4,80,uca_DIAN);

   vShowOneChin(4,96,uca_YA);

   vShowOneChin(4,112,uca_MAOHAO);

   vShowOneChar(6,96,uca_XIAOSHU);

   vShowOneChar(6,88,uca_HEN);

   vShowOneChar(6,104,uca_HEN);

   vShowOneChar(6,113,uca_HEN);

   vShowOneChar(6,119,uca_V);

  

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ÍⲿÖжÏ0£¬ÓÃÓÚ¿ªÆô¼üÅÌɨÃè¼°¼üÂë´¦Àí±êÖ¾>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

   TMOD=0X01;

    TH0=TIME1H;

   TL0=TIME1L;

   ET0=1;        //T/C0¿ªÖжÏ

   TR0=1;         //¿ª¶¨Ê±Æ÷0ÖжÏ

   IT0=1;        //ÍâÖжϷ½Ê½£ºÏ½µÑØ¡£

   EX0=1;        //¿ªÆôÍⲿÖжϡ£

    EA=1;

 

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ÍⲿÖжÏ0£¬ÓÃÓÚ¿ªÆô¼üÅÌɨÃè¼°¼üÂë´¦Àí±êÖ¾>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

   

while(1)

 {

     wr=0;

     wr=1;

     chuli();

       if(zhuhuandata<=shuchu)P27=0;

   if(zhuhuandata>shuchu)P27=1;

    if(zhuhuandata<=shuchu)P27=0;

  }

 }

 

void chuli()

{

 rd=0;

 zhuhuandata=P0;

}

 

//*************************************************************************************************

//*                                                                                      *

//*             ********************************º¯ÊýʵÏÖ******************************           *

//*                                                                                      *

//*************************************************************************************************

unsigned char getkey()

{  

    uchar ucTemp=0;             //ɨÃè״̬ÔÝ´æ¡£

   uchar ucRow=0,ucLine=0;      //Ðкţ¬Áкš£

 

     for(ucLine=0;ucLine<3;ucLine++)      //ÁÐɨÃè

       {

          SCANPORT=uca_LineScan[ucLine];            //Êä³öɨÃèµçλ¡£

          ucTemp=SCANPORT&0x8F;                     //ÊäÈëɨÃèµç룬²¢ÆÁ±Î¸ß4λ¡£

          if(ucTemp!=0x8F)    

            {                           //ÅжϸÃÁÐÊÇ·ñÓа´¼ü°´Ï¡£

              switch(ucTemp)

                 {

                 case 0x8E: ucRow=10;break;        //Èç¹ûÓУ¬ÔòÅжÏÐкš£

                 case 0x8D: ucRow=20;break;

                 case 0x8B: ucRow=30;break;

                 case 0x87: ucRow=40;break;

                 default: P2=~P2;  break;

                  }

                  break;

             }

        } 

 

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<»Ö¸´¼üɨÃè´¦Àíǰ³õʼ״̬>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

   SCANPORT=0x8F;                      //»Ö¸´P2¿Ú

   return (ucRow+ucLine+1);//·µ»Ø°´¼ü±àÂë¡£¸ñʽΪ2λÊý£¬¸ßλΪÐкţ¬µÍλΪÁкš£

  }

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<»Ö¸´¼üɨÃè´¦Àíǰ³õʼ״̬>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

void vINT0(void) interrupt 0

{

  EX0=0;

  key_chuli(getkey());

  while((SCANPORT&0x8F)!=0x8f)   //µÈ´ý°´¼üËÉ¿ª//

  {

  };

  EX0=1;

 }

 

//*************************************************************************************************

//*                                                                                      *

//*           ******************************LCD12864Çý¶¯³ÌÐò**************************             *

//*                                                                                      *

//*************************************************************************************************

 

//*************************************************************************************************

//*                                                                                      *

//*           ******************************Í·Îļþ¼°ºê¶¨Òå**************************                *

//*                                                                                      *

//*************************************************************************************************

#include <reg52.h>

#define   LCDPORT P1

sbit   E= P3^7;

sbit   RW= P3^6;

sbit   DI= P3^5;

sbit   CS1= P3^3;

sbit   CS2= P3^4;

sbit BUSYSTATUS= P1^7;               //æ״̬λ¡£

//#define DISONSTATUS P0_5           //ÏÔʾ¿ª¹Ø×´Ì¬Î»¡£

//#define RSTSTATUS P0_4             //¸´Î»×´Ì¬Î»¡£

#define LCDSTARTROW 0xC0             //ÉèÖÃÆðʼÐÐÖ¸Áî¡£

#define LCDPAGE 0xB8             //ÉèÖÃÒ³Ö¸Áî¡£

#define LCDLINE 0x40             //ÉèÖÃÁÐÖ¸Áî¡£

 

 

 

 

//*************************************************************************************************

//*                                                                                      *

//*           ********************************¶Áæ±ê־λ*********************************         *

//*                                                                                      *

//*************************************************************************************************

bit bCheckBusy()

{

   LCDPORT=0x00;

   RW=1;

   DI=0;

   E=1;

   E=0;

   return BUSYSTATUS;

}

 

//*************************************************************************************************

//*                                                                                      *

//*           ********************************дÊý¾Ý*********************************           *

//*                                                                                      *

//*************************************************************************************************

void vWriteData(unsigned char ucData)

{

   while(bCheckBusy());

   LCDPORT=0x00;

 

   RW=0;

   DI=1;

   LCDPORT=ucData;

   E=1;

   E=0;

}

 

//*************************************************************************************************

//*                                                                                      *

//*           ********************************дָÁî*********************************           *

//*                                                                                      *

//*************************************************************************************************

void vWriteCMD(unsigned char ucCMD)

{

   while(bCheckBusy());

   LCDPORT=0x00;

    RW=0;

   DI=0;

   LCDPORT=ucCMD;

   E=1;

   E=0;

}

 

//*************************************************************************************************

//*                                                                                      *

//*           ********************************LCD³õʼ»¯º¯Êý*******************************      *

//*                                                                                      *

//*************************************************************************************************

/*void vLCDInitialize()

{

   CS1=1;

   CS2=1;

   vWriteCMD(0x38);     //8λÐÎʽ£¬Á½ÐÐ×Ö·û¡£

   vWriteCMD(0x0F);     //¿ªÏÔʾ¡£

   vWriteCMD(0x01);     //ÇåÆÁ¡£

   vWriteCMD(0x06);     //»­Ãæ²»¶¯£¬¹â±êÓÒÒÆ¡£

   vWriteCMD(LCDSTARTROW);  //ÉèÖÃÆðʼÐС£

}

*/

//*************************************************************************************************

//*                                                                                      *

//*           ******************************ÏÔʾ×Ô¶¨ÒåÐÐ*********************************         *

//*                                                                                      *

//*************************************************************************************************

//ÔÚ8¡Á128µÄ¸ñ×ÓÀïÏÔʾ×Ô¶¨Ò峤¶ÈµÄÒ»ÐÐ

void vShowCustomRow(unsigned char ucPage,unsigned char ucLine,unsigned char ucWidth,unsigned char *ucaRow)

{

   unsigned char ucCount;                //ȡֵ·¶Î§£ºucPage:0¡«7£»ucLine:0¡«127£»

   if(ucLine<64)                      //ucWidth:0¡«127£»ucLine+ucWidth<1128¡£

       {

       CS1=1;

       CS2=0;

       vWriteCMD(LCDPAGE+ucPage);

       vWriteCMD(LCDLINE+ucLine);

       if((ucLine+ucWidth)<64)

          {

          for(ucCount=0;ucCount<ucWidth;ucCount++)

              vWriteData(*(ucaRow+ucCount));

          }

       else

          {

          for(ucCount=0;ucCount<64-ucLine;ucCount++)

              vWriteData(*(ucaRow+ucCount));

 

          CS1=0;

          CS2=1;

          vWriteCMD(LCDPAGE+ucPage);

          vWriteCMD(LCDLINE);

          for(ucCount=64-ucLine;ucCount<ucWidth;ucCount++)

              vWriteData(*(ucaRow+ucCount));

          }

       }

   else

       {

       CS1=0;

       CS2=1;

       vWriteCMD(LCDPAGE+ucPage);

       vWriteCMD(LCDLINE+ucLine-64);

       for(ucCount=0;ucCount<ucWidth;ucCount++)

          vWriteData(*(ucaRow+ucCount));

       }

}

//*************************************************************************************************

//*                                                                                      *

//*           *****************************ºº×ÖÏÔʾº¯Êý***********************************         *

//*                                                                                      *

//*************************************************************************************************

//´Ëº¯Êý½«16¡Á16ºº×ÖÏÔʾÔÚ8¡Á128µÄ¸ñ×ÓÀï¡£

void vShowOneChin(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaChinMap)

{

   vShowCustomRow(ucPage,ucLine,16,ucaChinMap);

   vShowCustomRow(ucPage+1,ucLine,16,ucaChinMap+16);

 

}

//*************************************************************************************************

//*                                                                                      *

//*           *****************************×Ö·ûÏÔʾº¯Êý***********************************         *

//*                                                                                      *

//*************************************************************************************************

//´Ëº¯Êý½«8¡Á16×Ö·ûÏÔʾÔÚ8¡Á128µÄ¸ñ×ÓÀï¡£

void vShowOneChar(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaCharMap)

{

   vShowCustomRow(ucPage,ucLine,8,ucaCharMap);

   vShowCustomRow(ucPage+1,ucLine,8,ucaCharMap+8);

 

}

//*************************************************************************************************

//*                                                                                      *

//*           *****************************ÇåÆÁº¯Êý***********************************           *

//*                                                                                      *

//*************************************************************************************************//´Ëº¯Êý½«Çå¿ÕÏÔʾÆÁ¡£

void ClearLCD(unsigned char date)

{

   unsigned char page,column;

    CS1=1;

   CS2=0;

   vWriteCMD(LCDSTARTROW);

   for(page=0;page<8;page++)

   {

    vWriteCMD(page+LCDPAGE);

      vWriteCMD(LCDLINE);

     for(column=0;column<64;column++)

     {    

       vWriteData(date);               //Çå×óÆÁ

      }  

   }

   CS1=0;

   CS2=1;

   vWriteCMD(LCDSTARTROW);

   for(page=0;page<8;page++)

   {

     vWriteCMD(page+LCDPAGE);

      vWriteCMD(LCDLINE);

     for(column=0;column<64;column++)

     {    

       vWriteData(date);               //ÇåÓÒÆÁ

      }  

   }

}

   unsigned char code uca_DANG[]=

{0x00,0x40,0x42,0x44,0x4C,0x40,0x40,0x7F,0x40,0x40,0x48,0x44,0xE6,0x40,0x00,0x00,

 0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00}; /*"µ±",0*/

 

unsigned char code uca_QIAN[]=

{0x08,0x08,0xE8,0x29,0x2A,0x2E,0xE8,0x08,0x08,0xCC,0x0A,0x0B,0xE8,0x0C,0x08,0x00,

 0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00}; /*"ǰ",0*/

 

 unsigned char code uca_GONG[]=

{0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,

 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00}; /*"¹¤",0*/

 

unsigned char code uca_ZUO[]=

{0x80,0x40,0x20,0xF8,0x87,0x40,0x30,0x0F,0xF8,0x88,0x88,0xC8,0x88,0x0C,0x08,0x00,

 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x0C,0x08,0x00,0x00}; /*"×÷",0*/

 

unsigned char code uca_DIAN[]=

{0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,

 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00}; /*"µç",0*/

 

unsigned char code uca_YA[]=

{0x00,0x00,0xFE,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC3,0x82,0x00,0x00,

 0x40,0x30,0x0F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x42,0x44,0x4C,0x60,0x40,0x00}; /*"ѹ",0*/

 

unsigned char code uca_QING[]=

{0x20,0x22,0xEC,0x00,0x20,0x22,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xEB,0xA2,0x20,0x00,

 0x00,0x00,0x7F,0x20,0x10,0x00,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};/*"Çë",*/

 

unsigned char code uca_SHE[]=

{0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9F,0x81,0x81,0x81,0x9F,0xA0,0x20,0x20,0x00,

 0x00,0x00,0x00,0x7F,0xA0,0x90,0x40,0x43,0x2C,0x10,0x28,0x26,0x41,0xC0,0x40,0x00};/*"Éè"*/

 

unsigned char code uca_ZHI[]=

{0x00,0x10,0x17,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x17,0x10,0x00,0x00,

 0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x60,0x40,0x00};/*"ÖÃ"*/

 

unsigned char code uca_SHU[]=

{0x44,0xF4,0x4F,0xE4,0x44,0x64,0x90,0x98,0x94,0x93,0x14,0x98,0x08,0xD0,0x10,0x00,

0x04,0x04,0x04,0xFF,0x02,0x02,0xFF,0x4A,0x8A,0x7F,0x00,0x3F,0x80,0xFF,0x00,0x00};/*"Êä"*/

 

unsigned char code uca_CHU[]=

{0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0xFC,0x00,0x00,0x00,

 0x00,0xFE,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0xFE,0x00,0x00};/*"³ö"*/

 

 

 

unsigned char code uca_MAOHAO[]=

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*";*/

 

 unsigned char code uca_0[]=

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*";*/

 

unsigned char code uca_HEN[]=

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00};/*"_"_*/

 

unsigned char code uca_XIAOSHU[]=

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00};/*".".*/

 

 unsigned char code uca_V[]=

{0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00};/*"V"*/

 

unsigned char code uca[][16]=

{

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",0*/

 

{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"1",1*/

 

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",2*/

 

{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},/*"3",3*/

 

{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},/*"4",4*/

 

{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},/*"5",5*/

 

{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"6",6*/

 

{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},/*"7",7*/

 

{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"8",8*/

 

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00}/*"9",9*/

};

unsigned char code uca_que[]=

{0xFF,0x7B,0x1B,0xA3,0xBB,0x3B,0xEF,0x07,0x68,0x6D,0x0D,0x65,0x69,0x0D,0xFF,0xFF,

0xFE,0xFF,0xC0,0xF7,0x77,0xB0,0xCF,0xF0,0xFB,0xFB,0xC0,0xBB,0x7B,0x80,0xFF,0xFF};/*" È·",11*/

 

unsigned char code uca_ding[]=

{0xFF,0xEF,0xF3,0x5B,0xDB,0xDB,0xDA,0x19,0xDB,0xDB,0xDB,0xDB,0xEB,0xF3,0xFB,0xFF,

0xBF,0xDF,0xE7,0xF8,0xF7,0xEF,0xDF,0x80,0xBD,0xBD,0xBD,0xBD,0xBF,0xBF,0xFF,0xFF};/*"¶¨",12*/

 

unsigned char code uca_wenhao[]=

{0xff,0xff,0xff,0xFF,0x9F,0xEF,0xF7,0xF7,0x6F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};/*"£¿",13*/

 

 

 

 


ÔÚÏ߿ͷþ
ÁªÏµ·½Ê½

ÈÈÏߵ绰

13329706647

Éϰàʱ¼ä

ÖÜÒ»µ½ÖÜÎå

¹«Ë¾µç»°

027-87052087

¶þάÂë
ÔÚÏ߿ͷþ