»ùÓÚµ¥Æ¬»úµÄ16X64LEDµãÕóÏÔʾÆÁÉè¼Æ - ͼÎÄ ÏÂÔØ±¾ÎÄ

·ÖÀàºÅ TP273 µ¥Î»´úÂë 10642

ÃÜ ¼¶ ¹« ¿ª ѧ ºÅ201108051018

ѧʿѧλÂÛÎÄ

ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

ÂÛ ÎÄ ×÷ Õߣº¸¶ÎÄÐÇ Ö¸ µ¼ ½Ì ʦ£ºÑÁÁ£¨½²Ê¦£© ר Òµ£ºµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõ Ìá½»ÂÛÎÄÈÕÆÚ£º2015Äê5ÔÂ11ÈÕ ÂÛÎÄ´ð±çÈÕÆÚ£º2015Äê5ÔÂ17ÈÕ Ñ§Î»ÊÚÓ赥λ£ºÖØÇìÎÄÀíѧԺ

ÖÐ ¹ú ? ÖØ Çì 2015Äê5ÔÂ

Graduation Thesis of Chongqing University of Arts and Sciences

Design of LED Matrix Screen based on MCU

Candidate: Fu Wen Xing

Supervisor: Yang Bao Liang£¨lecturer£©

Major: Electronic information Science Technology

College of Electron and Electrical Engineering Chongqing University of Arts and Sciences

05,2015

and ÖÐÎÄÕªÒª

Õª Òª

´Ë¿ÎÌâÉè¼ÆµÄÊÇ»ùÓÚµ¥Æ¬»úµÄLEDÏÔʾÆÁ£¬ÒÔSTC12C5A60S2µ¥Æ¬»úΪÕû¸öϵͳµÄ¿ØÖƺËÐÄ£¬ÓÉʱÖÓоƬDS1302¡¢Î¶ȴ«¸ÐÆ÷DS18B20ºÍµãÕóÏÔʾÆÁÇý¶¯Æ÷¹¹³ÉÕû¸öϵͳ¡£µãÕóÏÔʾÆÁ²ÉÓÃ16¿é8¡Á8µÄLEDµãÕ󺸽ӳÉ16¡Á64µãÕóÏÔʾÆÁ£¬Äܹ»ÊµÏÖÏÔʾʱ¼ä¡¢Î¶ȡ¢¼òµ¥µÄͼÏñµÈ¡£ÏÔʾ·½Ê½²ÉÓö¯Ì¬ÏÔʾ£¬ÎÄ×Ö¡¢Êý×ÖÄܹ»ÊµÏÖ¾²Ö¹¡¢¹ö¶¯ÏÔʾ·½Ê½¡£µ¥Æ¬»úSTC12C5A60S2¿ØÖƳÌÐò²ÉÓÃCÓïÑÔ½øÐбà³Ì£¬Í¨¹ý³ÌÐò¿ØÖƸ÷ÏÔʾµ¥Ôª¶ÔÓ¦LEDµãÕóÆÁµÄÑô¼«ºÍÒõ¼«¶ËµÄ¸ßµÍµçƽ£¬×¼È·µÄ¿ØÖÆÃ»Ò»¸öLEDµÆµÄÁÁÃð¡£ËùÐèÒªÏÔʾÎÄ×Ö¡¢Êý×Ö¡¢·ûºÅµÄµãÕóÊý¾ÝʹÓÃ×ÖÄ£ÌáÈ¡Èí¼þ»ñÈ¡¡£»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÆÁ±ãÓÚÐÅÏ¢¸ü¸Ä¡¢ÁÁ¶È¸ß¡¢Äܺĵ͡¢ÏÔʾÄÚÈݷḻ£¬ÔÚ¹ã¸æÐû´«ºÍʵÑé½ÌѧÖÐÓÐ׏㷺µÄÓ¦Óá£

¹Ø¼ü´Ê£ºµ¥Æ¬»ú£»LEDµãÕóÆÁ£»STC12C5A60S2£»DS1302

I

Ó¢ÎÄÕªÒª

Abstract

Design of the subject is the LED display based on single chip microcomputer, STC12C5A60S2 microcontroller as the control core of the whole system, by the clock chip DS1302, temperature sensor DS18B20 and dot matrix display screen drive the whole system.Dot matrix display screen with 16 pieces of 8 x 8 of 16 * 64 dot matrix display screen, LED lattice welding into can achieve display time, temperature, simple image and so on.Display dynamic display, text, Numbers, can achieve static, scrolling display mode.SCM STC12C5A60S2 control program using C language programming, through the program control and display unit corresponding to the LED lattice screen anode and the cathode side of high and low level, the accurate control did not destroy the light of an LED lamp.The need to display text, Numbers, symbols of lattice software for extracting data using a font.Based on single chip microcomputer of LED dot matrix screen to facilitate information changes, high brightness, low energy consumption, shows rich content, in advertising and has been widely used in the experiment teaching.

Key words: MCU; LED matrix screen; STC12C5A60S2£»DS1302

II

Ŀ¼

Ŀ¼

1 ÒýÑÔ ....................................................................................................................................................... 1 2 ϵͳ×ÜÌåÉè¼Æ ....................................................................................................................................... 1 3 ϵͳӲ¼þµç·Éè¼Æ ............................................................................................................................... 1

3.1 Ö÷¿ØÄ£¿é ................................................................................................................................. 1 3.2 µ¥Æ¬»úʱÖӵ緺͸´Î»µç· .................................................................................................. 2 3.3 ʱÖÓÄ£¿é ................................................................................................................................. 3 3.4 ζÈÄ£¿é ................................................................................................................................. 3 3.5 °´¼üÄ£¿é ................................................................................................................................. 4 3.6 µãÕóÆÁÇý¶¯Ð¾Æ¬........................................................................................................................ 4

3.6.1 74HC138оƬ¼ò½é .......................................................................................................... 4 3.6.2 74HC595 оƬ¼ò½é ......................................................................................................... 5 3.6.3 74HC245 оƬ¼ò½é ......................................................................................................... 5 3.6.4 74HC4953оƬ¼ò½é ........................................................................................................ 6 3.7 µãÕóÏÔʾÆÁÄ£¿é ...................................................................................................................... 6

3.7.1µãÕóÏÔʾԭÀí ................................................................................................................... 6 3.7.2Çý¶¯µç·Éè¼Æ ................................................................................................................... 8

4 ϵͳ×ÜÌåÉè¼Æ ....................................................................................................................................... 9 5 ϵͳµ÷ÊÔ ............................................................................................................................................. 11

5.1 Ó²¼þµ÷ÊÔ ............................................................................................................................... 11 5.2 Èí¼þµ÷ÊÔ ............................................................................................................................... 11 6 ½áÓï ..................................................................................................................................................... 13 ÖÂл ......................................................................................................................................................... 14 ²Î¿¼ÎÄÏ× ................................................................................................................................................. 15 ¸½Â¼ ......................................................................................................................................................... 16 ϵͳÕûÌåÔ­Àíͼ ..................................................................................................................................... 16 ³ÌÐòÔ´´úÂë ............................................................................................................................................. 17

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

1 ÒýÑÔ

Ëæ×ŵ±½ñÉç»á¿Æ¼¼µÄѸÃÍ·¢Õ¹£¬LEDµãÕóÏÔʾÆ÷¼þ×÷Ϊµ±ÏÂÎÒÃÇ»ñµÃÐÅÏ¢µÄÖØÒªÃ½Ì壬ÔÚ

ÖÚ¶àÁìÓòÖÐÓÐ׏㷺ӦÓá£ËùÒÔLEDµãÕóÏÔʾÆÁÔÚ21ÊÀ¼Í³õ·ÉËÙ·¢Õ¹£¬³ÉΪ¹âµç×ÓÐÐÒµµÄÐÂÐ˲úÒµ¡£LEDÏÔʾÆÁÓµÓÐÍâÐÎÃÀ¹Û´ó·½£¬ÄÜÏÔʾ´óÁ¿ÐÅÏ¢£¬ÏÔʾÀàÈݱãÓÚ¸ü¸ÄÖø³Æ¡£Ö÷ÒªÓ¦ÓÃÔÚ¹ã¸æÐû´«¡¢ÐÅÏ¢¹«²¼¡¢µÈÖÚ¶àÁìÓò¡£ÔÚ¹«¹²³¡Ëù£¬ÎÒÃÇ»ù±¾¶¼ÄÜ¿´µ½¸÷ʽ¸÷ÑùLEDÏÔʾÆÁ£¬ÔÚ²»Öª²»¾õµÄLEDÏÔʾÆÁ³ÉΪÎÒÃÇÉú»îÖлñÈ¡ÐÅÏ¢ºÜÖØÒªµÄÒ»¸öÇþµÀ¡£±¾Éè¼Æ¹ã·ºÉæ¼°µ½Á˵¥Æ¬»ú¼¼Êõ¡¢Ó²¼þ½Ó¿ÚºÍÇý¶¯¼¼Êõ¡¢CÓïÑÔ±à³ÌµÈÐí¶àרҵ֪ʶ¡£Ëæ×Åʱ¼äµÄÍÆÒÆÎÒÃÇ»ñÈ¡ÐÅÏ¢µÄÇþµÀ¡¢·½Ê½·¢ÉúÁ˾޴ó±ä»¯£¬Éú»îÖÐÎÒÃÇ´ÓLEDÏÔʾƽ̨»ñÈ¡µÄÐÅÏ¢Ô½À´Ô½¶à£¬ LEDÏÔʾÆÁÏÔʾÐÅÏ¢Á¿´ó¡¢ÊÙÃü³¤¡¢Îȶ¨ÐÔÄܸߣ¬±ãÓÚά»¤ºÍ²Ù×÷°²×°µÈÌØµã£¬ÔÚÎÒÃÇÉú»îÖге£×ÅÎÞ±ÈÖØÒªµÄÈÎÎñ¡£±¾Éè¼ÆÄÜÂú×ãÓ¦ÓÃÐèÇó¡£

2 ϵͳ×ÜÌåÉè¼Æ

±¾ÏµÍ³Ö÷ÒªÓɵ¥Æ¬»ú×îСϵͳģ¿é¡¢Ê±ÖÓÄ£¿é¡¢Î¶ÈÄ£¿é¡¢µãÕóÏÔʾÆÁÄ£¿é×é³É£¬×ÜÌåÉè¼Æ¿òͼͼ1ËùʾµÄÊÇ¡£±¾´ÎÉè¼ÆÊÇÍê³ÉÒ»¸öÄܹ»¾²Ì¬ºÍ×óÒÆ¶¯ÏÔʾÏÔʾʱ¼ä¡¢Î¶ȵÄLEDµãÕóÏÔʾÆÁ¡£µ¥Æ¬»úͨ¹ýÓëʱÖÓоƬDS1302¡¢Î¶ȴ«¸ÐÆ÷DS18B20ͨÐÅ»ñȡʱ¼äºÍζÈÐÅÏ¢¡£µ¥Æ¬»ú¶ÔLEDµãÕóÏÔʾÆÁÐÐÁÐÇý¶¯Æ÷¾«È·µÄ¿ØÖÆÀ´¿ØÖÆÃ¿Ò»¸öLED£¬´ïµ½ÏÔʾ¾²Ì¬Ê±¼ä¡¢Î¶ȣ¬Ïò×óÒÆ¶¯ÏÔʾÈÕÆÚʱ¼ä¼°Ðí¶àÎÄ×ÖÐÅÏ¢¡£Èç¹ûÖ»Äܹ»ÊµÏÖ¾²Ì¬ÏÔʾͨ¹ý£¬ÄÇôһ¸ö16*64LED ÏÔʾÆÁÄܹ»ÏÔʾµÄÄÚÈÝÊǷdz£ÓÐÏ޵ġ£Òò´Ë¿ÉÒÔÓùö¶¯ÏÔʾÀ´Ìá¸ßÄÜÏÔʾÄÚÈݵÄÈÝÁ¿£¬Èç¹ûÖ»Óùö¶¯ÏÔʾºÜ¿ÉÄÜÎÒÃÇÓÐʱ²»Äܼ°Ê±´ÓÏÔʾÆÁÖлñµÃÎÒÃÇËùÐèÒªµÄÐÅÏ¢£¬ËùÒÔÎÒÃDZ¾Éè¼Æ²ÉÓùö¶¯ÏÔʾ¼Ó¾²Ì¬ÏÔʾ£¬½«´ó²¿·Öʱ¼äÓþ²Ì¬ÏÔÊ¾ÖØÒªµÄÐÅÏ¢£¬Ð¡²¿·Öʱ¼äÓÃÓÚÏÔʾһЩÆäËûÐÅÏ¢£¬È»ºóÒÔÕâÑùµÄÖÜÆÚÑ­»·ÏÔʾ¡£ÉèÖù¦Äܰ´¼üºÍ¼Ó¼õ¹¦Äܰ´¼ü¿ÉÒÔ¶ÔÏÔʾÄÚÈÝÖÐÄê¡¢Ô¡¢ÈÕÒÔ¼°Ê±¡¢·Ö¡¢Ãë½øÐе÷Õû¡£

ÁÐ Çý ¶¯ Æ÷ µ¥ Ƭ »ú °´¼ü °´¼üµç· ÐÐÇý¶¯Æ÷ DS18B20 DS1302 ͼ1 ×ÜÌåÉè¼Æ¿òͼ

3 ϵͳӲ¼þµç·Éè¼Æ

3.1 Ö÷¿ØÄ£¿é

Ö÷¿ØÄ£¿éÔÚÕû¸öϵͳÀïÆð×ÅͳÁìÈ«¾ÖµÄÖØÈΡ£STC12C5A60S2µ¥Æ¬»úÊ×ÏÈÒª¼ì²â¼üÅÌ´¥·¢£¬µ±Óа´¼ü´¥·¢Ê±£¬µ¥Æ¬»ú»á´¦ÀíÖ¸Á½«Ö¸Áî·´À¡µ½Õû¸öϵͳµ±ÖС£Æä´ÎÒªÓëʱÖÓоƬDS1302ºÍζȴ«¸ÐÆ÷DS18B20ͨÐÅ£¬²É¼¯Ê±¼äÐÅÏ¢¡¢ÈÕÆÚÐÅÏ¢ºÍζÈÐÅÏ¢¡£ËùÒÔ±¾Éè¼ÆÑ¡ÓÃËٶȸü¿ì£¬¹¦ÄܸüÇ¿µÄSTC12C5A60S2µ¥Æ¬»ú×÷ΪÖ÷¿ØÐ¾Æ¬¡£

1

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

51ϵÁе¥Æ¬»úÊÇ»ùÓÚ8031µ¥Æ¬»ú·¢Õ¹¶øÀ´£¬×îÔçÊÇÓÉIntel ¹«Ë¾ÍƳöµÄ¡£ºóÀ´Atmel¡¢Philip¡¢SiemensµÈ¼¸´óµ¥Æ¬»úÉú²úÉÌÒ²Ïà¼ÌÍÆ³öÁË51 ϵÁеĵ¥Æ¬»ú¡£Õ⼸´óµç×ÓÉú²úÉÌÍÆ³öµÄµ¥Æ¬»ú¾ßÓÐÄÚ²¿½á¹¹Óë51µ¥Æ¬»úÏàͬµÄÓÅÊÆ£¬ÇÒÖ¸ÁîÊǼæÈÝ51µ¥Æ¬»úµÄ£¬Õâ¾ÍʹµÃ±à³Ì¹ý³Ì±äµÃ¸ü¼Ó¸ßЧ£¬¸ü¼ÓÈÝÒ×µØÓ¦ÓÃÔÚ¿ÆÑ§Ñо¿ºÍ¹¤Òµ²â¿ØÁìÓò¡£

Ö÷¿ØÄ£¿éÖеÄSTC12C5A60S2µ¥Æ¬»úÊÇÐÂÒ»´úµÄ51µ¥Æ¬»ú£¬ÊÇ51µ¥Æ¬»úµÄÉý¼¶°æ±¾£¬¸Ãµ¥Æ¬»ú±ü³ÐÁË´«Í³8051µÄÓÅÊÆµÄ»ù´¡ÉÏ£¬»¹¾ßÓй¦ºÄ¸üµÍ¡¢Ëٶȸü¿ì¡¢¿¹ÈÅÄÜÁ¦¸üÇ¿¡¢Ö¸Áî´úÂëÍêÈ«¼æÈݵÈÖÚ¶àÓŵ㡣STC12C5A60S2µ¥Æ¬»ú¹²40¸öÒý½Å£¬ÇÒÄÚ²¿¼¯³ÉMAX810רÓø´Î»µç·ºÍ1280×Ö½ÚRAM£¬¸Ãµ¥Æ¬»úÓÐ4¸ö16Ϊ¶¨Ê±Æ÷/¼ÆÊýÆ÷£¬2¸öʱÖÓÊä³ö£¬7·ÍⲿÖжÏI/O¿Ú£¬8·¸ßËÙA/Dת»»¡£±¾Éè¼Æ²ÉÓÃSTC12C5A60S2µ¥Æ¬»úÀ´¿ØÖÆÕû¸öϵͳ£¬¸ºÔð¼ì²â°´¼ü´¥·¢¡¢ÓëʱÖÓоƬºÍζȴ«¸ÐÆ÷ͨÐż°LEDµãÕóÏÔʾÆÁµÄ¿ØÖÆ¡£Í¼2ÊÇSTC12C5A60S2µ¥Æ¬»ú½á¹¹Í¼¡£

XTAL2ʱÖÓµç·XTAL1RAM128BSFR 21¸ö¶¨Ê±¸ö/¼ÆÊýÆ÷2VccCPUROM/EPROM/Flash 4KB×ÜÏß¿ØÖÆÖжÏϵͳ5¸öÖжÏÔ´2¸öÓÅÏȼ¶´®ÐпÚȫ˫¹¤1¸ö4¸ö²¢ÐпÚVssRSTEAPSENALEP0P1P2P3

ͼ2 STC12C5A60S2µ¥Æ¬»ú½á¹¹Í¼

3.2 µ¥Æ¬»úʱÖӵ緺͸´Î»µç·

ΪÁ˱£Ö¤Çý¶¯µãÕóÏÔʾÆÁûÓÐÃ÷ÏÔµÄÆµÉÁ£¬±¾Éè¼Æ²ÉÓÃÔÚµ¥Æ¬»úXTAL1ºÍXTAL2½ÓÍⲿÕñµ´µç·£¬µ¥Æ¬»úµÄʱÖÓÐźÅÓÉÍⲿÉú³É¡£ÔÚ18ºÍ19Òý½ÅÉÏÍâ½Ó¾§ÕñX1£¬µ¥Æ¬»úÄÚ²¿²úÉú×Ô¼¤Õñµ´¡£ÏµÍ³²ÉÓõĶ¨Ê±Ôª¼þΪʯӢ¾§ÌåºÍµçÈÝ×é³ÉµÄ²¢ÁªÐ³Õñ»ØÂ·¡£X1ƵÂÊΪ22.1148MHZ£¬Á½¸öÕñµ´µçÈݸ÷È¡30pF£¬µçÈÝÆðµÄ×÷ÓÃÊÇ¶ÔÆµÂʽøÐÐ΢µ÷¡£

ͼ3 ¾§Õñµç·¡¢¸´Î»µç·

2

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

µ¥Æ¬»úÓжàÖÖ¸´Î»µç·£¬±¾Éè¼Æ²ÉÓÃ×Ô¶¯¸´Î»¡£µ±Éϵçʱ£¬µçÈݳäµç£¬µçÔ´¾­¹ýµçÈÝÆ÷¼Óµ½9ºÅRSTÒý½Å£¬½øÐи´Î»¡£Ê±ÖӺ͸´Î»µç·Èçͼ3Ëùʾ£º 3.3 ʱÖÓÄ£¿é

S1302ÊÇDALLAS¹«Ë¾ÍƳöµÄ¸ßÐÔÄÜ¡¢µÍ¹¦ºÄʱÖÓоƬ£¬Ëü°üº¬Ò»¸öʵʱʱÖÓ¡¢ÈÕÀúºÍ31×Ö½Ú¾²Ì¬RAM¡£Í¨¹ý´®ÐнӿÚÓ뵥Ƭ»ú½øÐд®ÐÐͨÐÅ¡£ÊµÊ±Ê±ÖÓºÍÈÕÀúµç·¿ÉÒÔÌṩÃë¡¢·Ö¡¢Ê±¡¢ÈÕ¡¢Ô¡¢ÄêµÈʱ¼äÐÅÏ¢£¬¿ÉÒÔ×Ô¶¯¾ÀÕýÿÔµÄÌìÊýºÍÈòÄêµÄÌìÊý£¬¿ÉÒÔͨ¹ýAM/PMָʾÀ´È·¶¨Ê±ÖÓоƬ²ÉÓÃ24»òÕß12Сʱ¸ñʽ¡£DS1302Ó뵥Ƭ»úÖ®¼äͨÐŽöÐèÓõ½3 ¸öI/O£ºRST£¨¸´Î»£©¡¢I/O£¨Êý¾ÝÏߣ©¡¢SCLK£¨´®ÐÐʱÖÓ£©¡£RAMµÄ¶Á/дÊý¾Ý¿ÉÒÔÊǶà´ï31¸ö×Ö½ÚµÄ×Ö·û×éÒ²¿ÉÒÔÊÇÒ»¸ö×Ö½Ú¡£DS1302¹¤×÷ʱÄܺĵͣ¬±£³ÖÕý³£¹¤×÷µÄ¹¦ÂÊСÓÚ1mW£¬µ±ÎªÊ±ÖÓоƬ¼ÓÉϱ¸ÓõçÔ´ºó£¬ÔÚ²»ÐèҪʹÓÃÏÔʾÆÁʱ¿ÉÒԶϵôµçÔ´ÇÒ²»»áÓ°ÏìÕý³£¼ÆÊ±£¬ÔÚÏÂ´ÎÆôÓÃʱ²»ÐèÒªÖØÐµ÷Õûʱ¼ä¡£Ð¾Æ¬µÄ1Òý½ÅºÍ8Òý½ÅΪ¹©µç½Ó¿Ú£¬ 1½Å½Ó5Vµç£¬8Òý½Å½Ó3VµÄ±¸ÓõçÔ´¡£¸´Î»Òý½Å¡¢Êý¾Ý¿ÚºÍʱÖÓÏß½Óµ¥Æ¬»ú¾Í¿ÉÒÔʵÏÖͨѶ£¬2ºÍ3Òý½Å½Ó32768Hz¾§Õñ¡£

ͼ3 ʱÖÓоƬDS1302µÄµç·ͼ

3.4 ζÈÄ£¿é

DS18B20Êdz£ÓõÄζȴ«¸ÐÆ÷£¬¾ßÓÐÌå»ýС£¬Ó²¼þ¿ªÏúµÍ£¬¿¹¸ÉÈÅÄÜÁ¦Ç¿£¬¾«¶È¸ßµÄÌØµã¡£DS18B20ÄÚ²¿°üº¬ÓÐÒ»¸öζȴ«¸ÐÆ÷ºÍÄ£Êýת»»µç·£¬²»ÐèÒªÆäËû¶àÓàµÄÍâΧµç·£¬ÓëSTC12C5A60S2ͨÐÅÖ»ÐèÒªÒ»ÌõÊý¾ÝÏß¡£Î¶ȴ«¸ÐÆ÷ÖÐÓÐÓñ£´æÎ¶ÈÖµµÄÁ½¸ö8λRAM¡£ ÆäÖÐÒ»¸ö±£´æÎ¶ȵķûºÅ£¬Èç¹ûζÈΪ¸º(¡æ)£¬ÄÇôÕâôÕâ¸öRAMÿһλ¶¼Îª1£¬·ñÔòÈ«ÊÇ0¡£ÁíÒ»¸öÓÃÓÚ±£´æ²É¼¯µ½µÄζÈÊýÖµ¡£´Ë´«¸ÐÆ÷²âÁ¿·¶Î§£­55¡æ¡«+125¡æ£¬ÔÚ-10¡«+85¡æÄÚÎó²îÔÚ0.5¡æÒÔÄÚ¡£µç·ԭÀíͼÈçͼ2-4Ëùʾ¡£

3

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

ͼ4 ζȴ«¸ÐÆ÷DS18B20Ô­Àíͼ

3.5 °´¼üÄ£¿é

±¾Éè¼Æ¹²4¸ö¶ÀÁ¢°´¼ü£¬Ã¿¸ö¶ÀÁ¢°´¼üµÄÒ»¶Ë½ÓÒ»¸öI/O¿Ú£¬ÁíÍâÒ»¶Ë½ÓµØ£¬ÔÚûÓа´Ï°´¼üµÄʱºò£¬µ¥Æ¬»úʼÖÕ¼ì²âµ½µÄÊÇ¸ßµçÆ½£¬¼´Ê¶±ðΪ°´¼üûÓа´Ï£¬Òò´Ë²»×öÈκÎÓ¦´ð¡£µ±°´¼ü°´ÏÂʱ£¬´ËʱI/O¶Ì½ÓµØ£¬µ¥Æ¬»ú¼ì²âµ½°´¼üËù¶ÔÓ¦µ½µÄI/O´ËʱÓÉ¸ßµçÆ½¸Ä±äΪµÍµçƽ£¬¾Í¿ÉÒÔÅжϴËʱ´¥·¢µÄÊÇÄÄÒ»¸ö°´¼ü¡£4¸ö°´¼üµÄ¹¦ÄÜ·Ö±ðÊÇ£ºµÚÒ»°´¼üΪÉèÖð´¼ü£¬Õý³£ÏÔʾʱ£¬°´Ò»Ï½øÈëÉèÖÃÈÕÆÚµÄÄ꣬ÔÚ°´ÉèÖüü·Ö±ðÊÇÉèÖÃÔ¡¢ÈÕ¡¢Ê±¡¢·Ö¡¢Ã룻µÚ¶þ¸ö°´¼üΪÓÃÓÚµ÷Õûʱ¼äµÄµÝÔö°´¼ü£¬µÚÈý¸ö°´¼üΪÓÃÓÚµ÷Õûʱ¼äµÄµÝ¼õ°´¼ü£¬µÚËĸö°´¼üΪ·µ»Ø°´¼ü£¬ÓÃÓÚÍ˳öÉèÖýçÃæ£¬·µ»Øµ½Õý³£ÏÔʾ¡£

ͼ5¼üÅÌÄ£¿éµç·ͼ

3.6 µãÕóÆÁÇý¶¯Ð¾Æ¬

±¾Éè¼ÆÖÐÐèÒª¿ØÖƵÄledµÆÊýÁ¿´ó£¬Òò´Ë²»ÄÜÓõ¥Æ¬»úµÄÒ»¸öi/OÇý¶¯Ò»¸öledµÄ·½Ê½£¬²ÉÓÃɨÃèÇý¶¯µÄ·½Ê½¡£±¾Éè¼ÆµÄÆÁÄ»£¬ÓÉÓÚÐèÒªµÄÇý¶¯Ð¾Æ¬£¬Çý¶¯µç·½ÏΪ¸´ÔÓ£¬¹¤×÷Á¿´ó£¬±¾Éè¼Æ¼¯³ÉÁËÇý¶¯µÄµ¥Ôª°å£¬ÕâÑùÉè¼Æ¿ÉÒÔ½µµÍ³É±¾£¬Ôö¼Ó²úÆ·µÄ¹ÛÉÍÐÔ¡£ÕâÀï¼òµ¥½éÉܸ÷¸öÇý¶¯Ð¾Æ¬¡£

3.6.1 74HC138оƬ¼ò½é 74HC138ÊÇÒ»¿î¸ßËÙCMOSÆ÷¼þ£¬74HC138Òý½Å¼æÈݵ͹¦ºÄÐ¤ÌØ»ùTTL£¨LSTTL£©ÏµÁС£

74HC138Ó뵥Ƭ»úÁ¬½ÓµÄÊý¾ÝÒý½ÅÒ»¹²ÓÐÈý¸ö£¬·Ö±ðΪA0, A1¡¢A2¡£²¢ÇÒµ±138ʹÄÜʱ£¬138µÄÊä³öY0-Y7Êä³öÊÇÏ໥ÅųâµÄ£¬Y0-Y7Êä³ö×ÔÓÐÒ»¸öÊÇµÍµçÆ½ÆäÓàΪ¸ßµçƽ¡£74HC138×ܹ²ÓÐ3¸öʹÄÜÊäÈë¶Ë£¬Òª±£Ö¤138µÄÕý³£¹¤×÷£¬±ØÐëÕýÈ·µÄÅäÖÃÕâÈý¸öʹÄÜÒý½Å¡£ËûµÄʹÒý½ÅÖÐÁ½¸öµÍÓÐЧ£¨E1ºÍE2£©ºÍÒ»¸ö¸ßµçƽÓÐЧ£¨E3£©¡£ÒòΪ74HC138ÓÐÕâÐ©ÌØ¶¨µÄÐÔÄÜ£¬Òò

4

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

´ËÖ»Òª2¿é74HC138¾Í¿ÉÒԴһ¸ö4-16ÒëÂëÆ÷¡£Í¼6 Ϊ74HC138µÄÒý½Åͼ¡£ ¢ÙµÚ 4£¬5 ½Å. /(E1)¡¢/(E2) ѡͨ¶Ë£» ¢ÚµÚ 6 ½Å. E3 ѡͨ¶Ë£» ¢ÛµÚ 8 ½Å. GND µØ£»

¢ÜµÚ 7,9~15 ½Å. Y7¡«Y0 ÒëÂëÊä³ö¶Ë£» ¢ÝµÚ 16 ½Å. Vcc µçÔ´

ͼ6 74HC138Òý½Åͼ

3.6.2 74HC595 оƬ¼ò½é

74HC595ÄÚ²¿º¬ÓÐÒ»¸ö8Î»ÒÆÎ»¼Ä´æÆ÷»¹°üº¬Óд洢Æ÷£¬ËüµÄI/O¾ßÓÐÈý̬Êä³ö¹¦ÄÜ¡£ ÒÆÎ»¼Ä´æÆ÷ºÍ´æ´¢Æ÷ËüÃǵÄʱÖÓµç·ÊÇ·Ö¿ªµÄ»¥²»Ó°Ïì¡£µ±ÎÒÃÇÏëͨ¹ý595ÏòÍâÊä³öÊý¾Ýʱ£¬Êý¾ÝÊ×ÏÈÔÚSH_cpµÄÉÏÉýÑØµÄʱºò±£´æµ½ÒÆÎ»¼Ä´æÆ÷£¬Êý¾ÝÔÚST_cpµÄÉÏÉýÑØ±£´æµ½´æ´¢¼Ä´æÆ÷¡£ÆäÊäÈëÓëCMOS Êä³ö¼æÈÝ£¬ÓÐÒ»¸ö¶Ë¿Ú¿ÉÒÔ¶ÔÒÆÎ»´æÆ÷ÇåÁãºÍ¸´Î»¿ÉÒÔ¿ØÖÆÊä³ö²¿·Ö¡£74HC595×î´óµÄºÃ´¦Êǰüº¬ÓÐÊý¾Ý´æ´¢¼Ä´æÆ÷£¬ÒÆÎ»µÄʱºòÊä³ö¶ËµÄÊý¾Ý²»»á¸Ä±ä£¬Õâ¶ÔÓÚÏÔʾÆÁµÄÇý¶¯Óм«ÎªÖØÒªµÄ×÷Óá£ÆäÒý½Å˵Ã÷ÈçÏ£¬ÕæÖµ±í¼ûͼ7¡£

¢Ù Q0¡­Q7 8λ²¢ÐÐÊý¾ÝÊä³ö£» ¢Ú GND µÚ8½Å µØ£»

¢Û Q7¡¯ µÚ9½Å ´®ÐÐÊý¾ÝÊä³ö£» ¢Ü MR µÚ10½Å Ö÷¸´Î»£¨µÍµçƽ£©£» ¢Ý SHCP µÚ11½Å ÒÆÎ»¼Ä´æÆ÷ʱÖÓÊäÈ룻

¢ÞSTCP µÚ12½Å ´æ´¢¼Ä´æÆ÷ʱÖÓÊäÈ룻 ¢ßOE µÚ13½Å Êä³öÓÐЧ£¨µÍµçƽ£©£» ¢àDS µÚ14½Å ´®ÐÐÊý¾ÝÊäÈ룻 ¢áVCC µÚ16½Å µçÔ´£»

ͼ7 74HC595ÕæÖµ±í

3.6.3 74HC245 оƬ¼ò½é ÓÉÓÚµ¥Æ¬»úi/OµÄÇý¶¯ÄÜÁ¦·Ç³£µÄÓÐÏÞ£¬Í¨³£ÐèÒªÔÚµ¥Æ¬»úºÍÁíÍâµÄÄ£¿éÖмÓÇý¶¯¡£245ÊÇ¿ÉÒÔ¿ØÖÆÉÏÐл¹ÊÇÏÂÐаË·»º³åÆ÷£¬³£³£ÓÃÓÚÊý¾Ý×ÜÏßµÄË«ÏòÒ첽ͨÐÅ¡£ÔÚ½«245Êý¾ÝÊäÈë

5

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

Òý½Å½Óµ½µ¥Æ¬»úÉÏ£¬²»½ö¿ÉÒÔÏû³ýÉÏÏÂÐÐÊý¾ÝµÄÏ໥ӰÏ죬¶øÇÒ¿ÉÒÔ±£Ö¤Ð¾Æ¬µÄ²»±»Ë𻵡£µ±cpuÓëÊÜ¿ØÆ÷¼þÖ®¼äÏëҪ˫ÏòÒ첽ͨÐÅ£¬ 245¾ÍÊÇ×îºÃµÄÑ¡Ôñ¡£Í¨³£ÔÚͬ²¢¿ÚÒº¾§ÆÁ¡¢¡¢²¢¿Ú´«¸ÐÆ÷»òͨѶģ¿éµÄ½Ó¿ÚÉÏÎÒÃÇ¿ÉÒÔ¼ûµ½¡£Í¼ 8 Ϊ74HC245µÄÒý½Åͼ¡£

ͼ8 74HC245Òý½Åͼ

3.6.4 74HC4953оƬ¼ò½é

4953×÷ÓãºÐÐÇý¶¯¹Ü£»¹¦Âʹܡ£ÎÒÃdz£³£ÔÚLEDµãÕóÏÔʾÆÁµÄÇý¶¯µç·ÖÐÄܹ»·¢ÏÖ¡£µãÕóÏÔʾÆÁµÄÿһÐг£³£ÓÐÐíÐí¶à¶àµÄledµÆ£¬ÏëÒªËüÃǶ¼Õý³£¹¤×÷£¬Ã¿Ò»ÐеĵçÁ÷¾Í»áÌØ±ð´óÕâʱ¾ÍÐèҪʹÓÃÐÐÇý¶¯¹Ü¡£Ò»Æ¬4953ÄÚ²¿ÓÐÁ½¸öÐÐÇý¶¯¹Ü£¬¿ÉÒÔÇý¶¯Á½ÐС£1¡¢3½ÅVCC£»2¡¢4½Å¿ØÖƽţ»2½Å¿ØÖÆ7¡¢8½ÅµÄÊä³ö£»4½Å¿ØÖÆ5¡¢6½ÅµÄÊä³ö£»Ö»Óе±2½ÅΪ¡°0¡±Ê±£»7¡¢8²Å»áÊä³ö·ñÔòÕâ¸ö¶Ë¿ÚΪ¸ß×è̬£¬ÓëÖ®¶ÔÓ¦µÄÁíÍâÒ»×éÐÐÇý¶¯¹ÜÒ²ÓÐÏàͬµÄÌØÐÔ¡£Í¼9Ϊ74HC4953µÄÒý½ÅͼºÍÄÚ²¿½á¹¹Í¼¡£

ͼ9 74HC4953Òý½ÅͼºÍÄÚ²¿½á¹¹Í¼

3.7 µãÕóÏÔʾÆÁÄ£¿é

3.7.1µãÕóÏÔʾԭÀí

8*8LEDµãÕóÓÉ64·¢¹â¶þ¼¶¹Ü¹¹³É¡£Ã¿Ò»ÐеÄLEDÊǹ²Òõ¼«£¬Ã¿Ò»ÁеÄLEDÊǹ²Ñô¼«¡£Èç¹ûÖ»ÐèÒª×óÉϽǵĵÆÁÁ¾ÍÐèÒªµÚÒ»ÐÐΪµÍµçƽ£¬µÚÒ»ÁÐΪ¸ßµçƽ¡£Èç¹ûÏëÒªµãÕóÏÔʾһ¸ö×Ö·û£¬¾ÍÐèÒªÀûÓÃÏñÁ÷Ë®µÆÒ»ÑùµÄ¶àÌ«ÏÔʾ£¬µ±Ë¢ÐÂËÙ¶È´óÓÚÈËÑÛÊÓ¾õÔÝÁôÐÔʱ¼ä¡£

6

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

ͼ10 8¡Á8¹²ÒõµãÕóÔ­Àíͼ

±¾Éè¼ÆÐèÒªÏÔʾµÄÐÅÏ¢Á¿´ó£¬Òò´Ë±ØÐëÓõ½¶¯Ì¬ÏÔʾ¡£¶¯Ì¬ÏÔʾÊÇÖ¸½«Ò»¸öÐèÒªÏÔʾµÄ×Ö·û·Ö¸îΪһÐÐÒ»Ðеģ¬È»ºó¿ìËÙµÄÏÔʾÍê16ÐУ¬²¢Öظ´Ðí¶à´Î¡£µ«ÊÇÈç¹ûÇý¶¯µç·ºÍÇý¶¯³ÌÐòÉè¼Æ²»¹»ºÃ£¬ÈÝÒ×Ôì³ÉÁÁ¶ÈµÍ£¬ÉÁ˸µÈÎÊÌâ¡£ÊÂʵÉÏÀûÓö¯Ì¬ÏÔʾ²¢²»ÊÇÈÃÐèÒªÁÁµÄµÆ³£ÁÁ£¬¶øÊÇÒòΪ·¢¹â¶þ¼«¹ÜµÄÓàêÍЧӦºÍÈËÑÛµÄÊÓ¾õÔÝÁô£¬ÈÃÎÒÃǸоõµ½ËûÃÇÊdz£ÁÁµÄ¡£

×î¹Ø¼üµÄµÄÊÇÈçºÎÇ¡µ±µÄÌáȡÿ¸ö×Ö·ûµÄ×ÖÄ£¡£Ä¿Ç°ÓÐÐíÐí¶à¶à¿ÉÒÔÍê³ÉȡģµÄÈí¼þ£¬±¾´ÎÉè¼Æ²ÉÓõÄÊÇpc2002ȡģÈí¼þ¡£´ò¿ªÈí¼þºóÊ×ÏÈÒª×îȡģµÄ²ÎÊý½øÐÐÏêϸµÄÉèÖ㬹æ±Üȡģ²ÎÊýÓë³ÌÐò²»Ïà·ûÔì³ÉÂÒÂëµÄÏÖÏó¡£ÕâÀïÎÒ²ÉÓõÄȡģ²ÎÊýΪËÎÌå¡¢´ÖÌå¡¢×óÒÆÒ»Î»£¬È¡Ä£·½Ê½£ºÖðÐÐÊ½ÄæÏòÑôÂ룬ºº×ÓÐèÒªµÄµãÕó´óСΪ16*16¡£µ±ÎªÊý×Ö»òÕßÓ¢ÎÄȡģʱÕâ¿îÈí¼þÄÜ×Ô¶¯½«×Ö·ûµÄ¿í¶È¼õÉÙÒ»°ë¡£ÉèÖúÃȡģ²ÎÊýºó£¬ÔÚÎÄ×ÖÊäÈë¿òÄÚÊäÈë¡°µç¡±ºóÔÚÉÏÃæµÄÔ¤ÀÀ¿òÄÚÄÜ¿´µ½×Ö·ûµÄЧ¹ûÈ»ºóµãÉú³É×ÖÄ£¡£×îºó°ÑÏÂÃæµÄ×ÖÄ£¸´ÖƵ½³ÌÐòÖеÄÏàӦλÖá£

ͼ11 ×ÖģѡÏîÉèÖÃ

7

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

ͼ12 Èí¼þÌáÈ¡×Ö·û×ÖÄ£

3.7.2Çý¶¯µç·Éè¼Æ

ÐÐÇý¶¯ÎÒ²ÉÓÃ2¿é74ls138¼¶Áª×é³ÉÒ»¸ö4-16ÒëÂëÆ÷¡£±¾Éè¼ÆÏÔʾÆÁÿÐÐÓÐ64¸öledµÆ£¬Ã¿ÐеÄÏÔʾµçÁ÷½Ï´ó£¬138µÄÇý¶¯ÄÜÁ¦ÓÐÏÞ£¬Òò´ËÔÚ138Òë³öÒý½ÅºóÁ¬½ÓP_MOS¹Ü4953£¬4953ΪÐÐÇý¶¯¹Ü£¬Ã¿Æ¬4953·Ö±ð¿ÉÒÔ°ïÖúÎÒÃÇÇý¶¯Á½ÐС£8¸ö4953µÄÿһ¸öÊä³öÒý½Å¼ÓÆðÀ´Ò»¹²ÓÐ 16¸öÊä³öÒý½Å£¬Ã¿¸öÊä³öÒý½Å·Ö±ð·Ö±ð½ÓledÏÔʾÆÁÒ»¸öÐÐÇÒ½ÓÒ»¸ö33KµÄµç×èµç×èµÄÁíÒ»¶Ë½ÓµØ¡£ÓÉÓÚµ¥Æ¬»úоƬºÜ´àÈõ£¬ÎªÁ˱£Ö¤²úÆ·³¤Ê±¼äÎÞ¹ÊÕÏÔËÐУ¬ËùÒÔÔÚ74LS138µÄÊý¾ÝÑ¡Ôñ¶Ë½Óµ½Ò»¸ö74hc245µÄÊý¾ÝÒý½Å¡£74HC245ÊǰË·»º³åÆ÷£¬¿ÉÒÔʵÏÖÊý¾ÝµÄË«ÏòÒ첽ͨÐÅ¡£ÔÚ½«245Êý¾ÝÊäÈëÒý½Å½Óµ½µ¥Æ¬»úÉÏ£¬²»½ö¿ÉÒÔÏû³ýÉÏÏÂÐÐÊý¾ÝµÄÏ໥ӰÏ죬¶øÇÒ¿ÉÒÔ±£Ö¤Ð¾Æ¬µÄ²»±»Ë𻵡£ÕûÌåÇý¶¯Ô­Àí¿òͼÈçͼ13Ëùʾ£¬µç·ͼÈçͼ14Ëùʾ¡£

ͼ13 Çý¶¯µç·ԭÀíͼ

8

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

ͼ14 ÐÐÇý¶¯Æ÷µç·ͼ

ÁеÄÇý¶¯ÎÒÓÃ8Ƭ74LS595¼¶Áª£¬Ó¦Îª595¿ÉÒÔÎÞÏÞ¼¶Áª£¬Òò´ËºÜ½ÚÊ¡Êý¾Ý¿Ú¡£×ܹ²Ö»Ðè3¸öÊý¾ÝÒý½Å£¬·Ö±ðΪ´®ÐÐÊý¾ÝÒý½Å¡¢Ê±ÖÓÒý½ÅºÍËø´æÒý½Å¡£8Ƭ74LS595¹²ÓÃCLK(ʱÖÓÒý½Å)¡¢RCLK£¨Ëø´æÒý½Å£©¡£µÚÒ»¿é595µÄSER½Óµ½µ¥Æ¬»úµÄÁÐÇý¶¯Êý¾ÝÒý½Å£¬ºóÃæµÄÿ¿é595µÄSERÒý½Å½ÓÇ°ÃæµÄQH1Òý½Å¡£74LS595µÄ1 0½Å½ÓµçÔ´£¬13½ÅʹÄÜÒý½Å½ÓµØ£¬Í¼15ΪÁÐÇý¶¯Æ÷Ô­Àíͼ¡£

ͼ15 ÁÐÇý¶¯Æ÷

4 ϵͳ×ÜÌåÉè¼Æ

±¾Éè¼ÆÖ÷ÒªÊÇΪÁËʹLEDµãÕóÏÔʾÆÁÄܹ»ÏÔʾ¾²Ì¬ÏÔʾ×Ö·û£¬ºÍ¶¯Ì¬ÏÔʾ×Ö·û£¬ÎªÁËʹÏÔʾµÄÄÚÈݱäµÃ·á¸»£¬Ìí¼Ó¿ÉÒÔʵʱÏÔʾʱ¼ä¡¢ÈÕÆÚºÍζȡ£Ô´³ÌÐò²ÉÓÃKeil uVision4±àдµÄC³ÌÐò£¬ÊµÏÖÁËÓÃLEDµãÕóÏÔʾÆÁÏÔʾÏà¹Ø×Ö·û£¬ÊµÏÖÁË´ÓÏò×óÁ÷¶¯ÏÔʾÒÔ¼°¾²Ì¬ÏÔʾÎÄ×Ö¡¢Ê±¼ä¡¢ÉèÖá¢Î¶ȣ¬»¹ÊµÏÖÁËʱ¼äµÄÏòÉÏ·­Ò³ÏÔʾ¡£²ÉÓÃÁËÄ£¿é»¯±à³Ì˼Ï룬Դ³ÌÐòÖ÷Òª°üº¬Ö÷³ÌÐò¡¢ÑÓʱ³ÌÐò¡¢ÉèÖóÌÐò¡¢Ê±ÖÓ·­Ò³ÏÔʾ³ÌÐò¡¢¾²Ì¬ÏÔʾ³ÌÐò¡¢¶¯Ì¬ÏÔʾ³ÌÐò¡¢Ê±¼äÈÕÆÚ²É¼¯³ÌÐòÒÔ¼°Î¶Ȳɼ¯µ÷Õû³ÌÐòºÍ×Ö·ûµÄ×ÖÄ£Êý¾Ý¿â¡£±¾ÏµÍ³²ÉÓÃÒ»¸öSTC12C5A60S2¡¢Ò»¸öʱÖÓоƬDS18B20¡¢Ò»¸öζÈоƬDS18B20¡¢4¸ö°´¼ü¼°Ò»¸öʹÓñê×¼08½Ó¿ÚµÄ16*64ÏÔʾÆÁ¡£16*64µÄÏÔʾÆÁ²ÉÓÃÁËÁ½¸ö74LS138¡¢2¸ö74HC245¡¢8¸ö74LS595¡¢8¸öP_MOS¹Ü4953¡¢16¸ö8¡Á8LEDµãÕóÏÔʾÆÁ×é³ÉµÄµãÕóµ¥Ôª°å¡£DS1302£¬DS18B20¹Ù·½¶¼ÓÐÇý¶¯³ÌÐò£¬¿ÉÒÔÕÒµ½Ïà¹ØµÄ

9

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

Í·Îļþ£¬Òò´Ë¹¤×÷ÖØÐÄÔÚÖ÷º¯ÊýµÄ±àд¡£Ö÷º¯ÊýµÄ±à¼­ÓÐÈý¸öÖØÒªµÄ²¿·Ö£ºÆäÒ»ÊÇÈçºÎÇý¶¯ÏÔʾÆÁ¾²Ì¬ÏÔʾ¡¢Ïò×óÒÆ¶¯ÏÔʾÒÔ¼°Ê±Öӵķ­Ò³ÏÔʾ£»Æä¶þÊÇÔõô°ÑÈçºÎ²É¼¯Ê±ÖÓоƬºÍζȴ«¸ÐÆ÷µÄÊý¾ÝÒÔ¼°ÈçºÎ°Ñ²É¼¯µ½µÄÊý¾ÝºÍÏÔʾ³ÌÐòÓлúµÄ½áºÏ£»ÆäÈýÊǰ´¼ü³ÌÐòÒÔ¼°ÏàÓ¦µÄµ÷Õûʱ¼ä³ÌÐò¡£³ÌÐòÖ÷ÒªÓÉ¿ªÊ¼¡¢¸÷¸öÄ£¿éµÄ³õʼ»¯³ÌÐò¡¢ÏÔʾ³ÌÐò¡¢°´¼ü³ÌÐòµÈ¹¹³É¡£

µ±½ÓͨµçÔ´ÊÇ£¬µ¥Æ¬»ú¿ªÊ¼¹¤×÷¡£Ê×Ïȸ÷¸öÄ£¿éµÄ³õʼ»¯£¬ÏÈÊÇP0ºÍP3¿ÚµÄ³õʼ»¯£¬È»ºóÊÇʱÖÓоƬ½øÐгõʼ»¯£¬½Ó×ÅÊÇ´ÓʱÖÓоƬÖжÁÈ¡ËùÓеÄÐÅÏ¢£¬½Ó×ÅÊǶÁȡζÈÐÅÏ¢£¬×îºóÊǶ¨Ê±Æ÷ºÍÖжϵijõʼ»¯¡£³õʼ»¯Íê³Éºó½øÈëÕý³£¹¤×÷µÄϵͳѭ»·¶Á¡£Ê×ÏÈÊÇÏò×óÁ÷¶¯ÏÔʾ20**Äê*ÔÂ*ÈÕÐÇÆÚ* ʱ¼ä**£º**£º**¡£Á÷¶¯ÏÔʾÍêºó¾²Ì¬ÏÔʾʱ¼ä£¬¾²Ì¬ÏÔʾʱ¼äʱ£¬Ãë²ÉÓÃÏòÉÏ·­Ò³ÏÔʾ¡£¾²Ì¬ÏÔʾʱ¼äÒ»¶Îʱ¼äºó£¬Ïò×óÒÆÏÔʾζȣ¬µ±Î¶ÈÏÔʾ×óÒÆ¶¯µ½ÏàӦλÖÃÊǾ²Ì¬ÏÔʾζÈ4S¡£È»ºó¼ÌÐø×óÒÆÏÔʾ¡°µçÐÅÒ»°à±ÏÒµÉè¼Æ¡±¡£ÒÔÉÏΪÕû¸ö³ÌÐòµÄÑ­»·¡£°´¼üµ÷ÓÃÖжÏÅжϳÌÐò£¬½øÈëÉèÖÃÈÕÆÚʱ¼äÓÉÉèÖüü¶ÔÓ¦µÄÖжϾö¶¨£¬µ±½øÈëÉèÖúóÔÚ¼Ó¡¢¼õºÍ·µ»Ø¹¦ÄܼüµÄ°´¼ü²Ù×÷²ÅΪÓÐЧ²Ù×÷£¬·Ö±ðµ÷ÓÃ×Ô¼ºµÄ×Ó³ÌÐò¡£Í¼16ΪϵͳÕûÌåÁ÷³Ìͼ¡£

¿ªÊ¼ ³õʼ»¯ ¶Áȡʱ¼äÎÂ¶È ÉèÖÃʱ¼ä ÉèÖÃÈÕÆÚºÍʱ¼ä ×óÒÆÏÔʾÄêÔÂÈÕÐÇÆÚʱ¾²Ì¬ÏÔʾʱ·ÖÏòÉÏ·­Ò³×óÒÆÏÔʾÎÂ¶È Í¼16 ϵͳÕûÌåÁ÷³Ì 10

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

5 ϵͳµ÷ÊÔ

5.1 Ó²¼þµ÷ÊÔ

±¾ÏµÍ³µÄµç·±È½Ï¸´ÔÓ£¬Éæ¼°µÄÄ£¿é±È½Ï¶à£¬ÆäÖаüÀ¨Ê±ÖÓÄ£¿é£¬Î¶ÈÄ£¿é£¬µ¥Æ¬»ú×îСϵͳģ¿é£¬LEDµãÕóÏÔʾÆÁÄ£¿é£¬Òò´Ë¶ÔÓÚº¸½ÓÒ²ÓÐ׎ϸߵÄÒªÇó£¬Õû¸öµç·ϵͳÖÐÖ»ÒªÓÐÒ»´¦³öÏÖ´íÎ󣬾ͻá¶ÔÕû¸öϵͳÔì³ÉºÜ´óµÄÓ°Ïì¡£ÇáÔòÏÔʾÂÒÂ룬ÑÏÖØµÄ»°»áÔì³ÉÆ÷¼þµÄË𻵣¬ÉõÖÁµ¼ÖÂÕû¸öµç·¶Ì·¡£

ÔÚÖÆ×÷Ó²¼þµç·֮ǰ£¬Ê×ÏÈÒªÔÚPROTELÀïÃæ»­³öÿ¸öСϵͳµÄÓ²¼þÄ£¿éµÄÔ­Àíͼ£¬±ãÓÚº¸½ÓºÍ±à³Ìʱ²éÕҽӿں͵÷ÊÔ¾À´í¡£È·¶¨Õû¸öϵͳԭÀíͼÎÞÎóºó¿ªÊ¼½øÐк¸½Ó£¬Ã¿Ò»²½µÄÔªÆ÷¼þµÄº¸½Ó¶¼Òª°´ÕÕ˳ÐòÖ𲽵ĽøÐУ¬Ò»¶¨Òª±£Ö¤ÍêÈ«ÕýÈ·µÄǰÌáÏÂÔÙ½øÐÐÏÂÒ»²½µÄ²Ù×÷£¬¾ÍÄܹ»½«´íÎó¼¸ÂÊ¿ØÖƵ½×îµÍ±ÜÃ⺸ºÃºóÓÐÐí¶àÎÊÌ⣬ÉõÖÁµ÷ÊÔʱÉÕ»µÔªÆ÷¼þ¡£

Èçͼ 5 Ëùʾ£¬ÕâÀï²âÊÔ¿ØÖưåÊÇ·ñÄܹ»Õý³£µÄÇý¶¯±¾ÏµÍ³ÖеÄ16*64µãÕóÏÔʾÆÁ£¬ÎªÈ«²¿µãÁÁµÄÇé¿ö£¬¿ÉÒÔ¿´µ½ LED ÆÁÄ»µÄÏÔʾЧ¹û£¬²¢ÇÒ²âÊÔ³öLEDµãÕóÍêºÃÎÞ»µµã£¬ËùÓеÄledµÆ¾ùÄÜÕý³£·¢¹â£¬½á¹û±íÃ÷ÏÔʾÆÁµç·ÔËÐÐÕý³£¡¢¿É¿¿£¬¿ØÖư庸½ÓÕýÈ·ÄÜÕý³£µÄÇý¶¯ÏÔʾÆÁ¡£

ͼ17 LEDµãÕóÈ«ÆÁµãÁÁ

5.2 Èí¼þµ÷ÊÔ

±¾ÏµÍ³µÄ³ÌÐò±àдÏ൱¸´ÔÓ¶ø·±Ëö£¬ÔÚ±àд³ÌÐòµÄʱºòÓöµ½Á˺ܶàµÄÎÊÌ⣬ÔÚµ÷ÊÔʱҲ¶à´ÎÐ޸ijÌÐò£¬Ö±µ½³ÌÐòÄܹ»Õý³£Ð´Èë²¢ÔËÐС£ÎªÁ˵õ½¸üºÃµÄ²âÊÔЧ¹û£¬Ê×ÏȱàдȫÆÁµãÁÁºÍÈ«ÆÁ¹Ø±Õ³ÌÐò£¬È»ºóÊǾ²Ì¬ÏÔʾÎÄ×Ö³ÌÐò£¬È»ºóÔÚ±àд¾²Ì¬ÏÔʾ¼ÓÒÆ¶¯ÏÔʾºÍÏòÉÏ·­Ò³ÏÔʾ³ÌÐò£¬×îºóÔÚ¼ÓʱÖÓζȡ£×îºó¾­¹ýºÜ¶à´ÎÐ޸ģ¬ÓÈÆäÊÇÕë¶Ô¾²Ì¬ÏÔʾ³ÌÐòºÍÒÆ¶¯ÏÔʾ³ÌÐò£¬Ò»×ÖÒ»¾äµÄÐ޸ģ¬Ò»µãÒ»µÎµÄÕûºÏ³ÌÐò£¬²ÅÖð²½½â¾öÁËÔÚ³ÌÐòÉϳöÏÖµÄÎÊÌâ¡£

ÔÚµ÷ÊÔ³ÌÐòʱ£¬²ÉÈ¡·ÖÄ£¿éµ÷ÊÔ£¬Ê×ÏÈÊǵ÷ÊÔÄÜ·ñÕý³£ÏÔʾÎÄ×Ö¡¢Ó¢ÎÄ֮ĸ¡¢¼òµ¥µÄͼƬÒÔ¼°Êý×Ö¡£È·¶¨¾²Ì¬ÏÔʾģ¿é¡¢×óÒÆÏÔʾģ¿é¡¢ÉÏÒÆÏÔʾģ¿é¡¢Ê±¼äÏÔʾģ¿éûÓÐÎÊÌâºó¿ªÊ¼£¬½«¸÷¸öÄ£¿éÓлúµÄÈںϵ½Ò»Æð¡£ÔÚµ÷ÊÔ³ÌÐòµÄʱºò³öÏÖÁËÐíÐí¶à¶à¸÷ÖÖ¸÷ÑùµÄÎÊÌ⣬½ø¹ý²»¶ÏµÄ¸Ä½ø£¬×îÖÕµ÷ÊԳɹ¦¡£

11

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

ͼ18 ¸÷Ä£¿é³ÌÐòÏÔʾЧ¹û

ÒÔϽ«×ܽáÁ½¸öÔÚ³ÌÐòµ÷ÊÔ¹ý³ÌÖгöÏÖµÄÎÊÌâºÍ½â¾ö·½°¸£º

³öÏÖµÄÖ÷ÒªµÄÎÊÌâÊÇ£ºÐ´Èë³ÌÐòºó£¬LEDµãÕóÏÔʾÆÁÎÞ·¨Õý³£ÏÔʾ»¨ÆÁ¡£

½â¾ö·½°¸ÊÇ£ºÍ¨¹ýÐÞ¸ÄÏÔʾ³ÌÐò£¬ÐÞ¸Ä×ÖÄ££¬µ÷ÕûÑÓʱ¿ÉÒÔ½â¾ö¸ÃÎÊÌâ¡£ÒòΪ¶¯Ì¬É¨ÃèµÄÖÜÆÚ³¤¡¢ËÙ¶ÈÂý£¬É¨ÃèÆµÂÊÌ«ÂýÎÞ·¨¿´ÉÏȥƵÉÁ£¬»òÎÞ·¨Õý³£ÏÔʾ¡£

³öÏÖµÄÖ÷ÒªµÄÎÊÌâÊÇ£º°´Ï°´¼üºó£¬µ¥Æ¬»úÎÞ·¨Ê¶±ð°´¼üºÍ°´¼ü²»Áé¡£

½â¾ö·½°¸ÊÇ£º°´¼üµÄ¹¦ÄܺͳÌÐòÀﶨÒ幦ÄܵĽӿڲ»Æ¥Å䣬¿ÉÒÔÔÚ³ÌÐòÀïµ÷ÕûÏà¹Ø½Ó¿Ú¶¨Òå¡£°´¼ü²»Á飬¼ÓÈë°´¼ü·À¶¶¡£

ÏÂͼΪµ÷ÊÔÍê³ÉºóµÄʵ¼ÊÏÔʾЧ¹ûͼ£¬ÓÉÓÚÅÄÉãÉ豸±È½Ï¼òª£¬Òƶ¯ÏÔʾÉÔÏÔÄ£ºý£¬ÊµÎïÏÔʾЧ¹ûºÜºÃ£¬²»ÆµÉÁ£¬²»»¨ÆÁ¡£

12

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

6 ½áÓï

ͨ¹ý±¾´Î±ÏÒµÉè¼Æ£¬ÎÒÊÕ»ñÁ˺ܶàÔªÆ÷¼þµÄÏà¹ØÖªÊ¶£¬Ò²Ñ§Ï°ÁËºÜ¶à¿ÆÑ§Ñо¿Ë¼Â·£¬¶ÔSTC12C5A60S2оƬ¡¢8*8µÄLEDµãÕóÄ£¿é£¬ 74HC595£¬ 4953£¬ 74HC245£¬ 74HC138µÈоƬÓÐÁ˸ü½øÒ»²½µÄÁ˽⡣ͬʱ¶Ôkeil uvision4¡¢Protel99¡¢ProteusµÈÈí¼þµÄ²Ù×÷Ò²¸ü¼ÓÊìÁ·£¬ÃÖ²¹Á˺ܶàÈí¼þ²Ù×÷·½ÃæµÄÀíÂÛ֪ʶµÄ²»×㡣ͨ¹ý´Ë´ÎÀíÂÛ½áºÏʵ¼ÊµÄ¹ý³ÌµÄѵÁ·£¬ÎÒÌá¸ßÁËÀíÂÛ½áºÏʵ¼ÊµÄÄÜÁ¦¡£×ÜÖ®£¬Í¨¹ýÕâ´Î¶¯ÊÖÉè¼ÆÓë²Ù×÷£¬ÕÒµ½ÁË×Ô¼ºÔÚʵ¼ù·½ÃæµÄ²»×㣬Ҳѧµ½Á˺ܶàÀíÂÛ½áºÏʵ¼ÊµÄ֪ʶ£¬Ìá¸ßÁË×Ô¼º¶¯ÊÖ±à³ÌµÄÄÜÁ¦£¬º¸½Ó¼¼ÊõÒ²µÃµ½ÁËÌáÉý£¬Í¬Ê±ÌáÉý×Ô¼º½â¾öʵ¼ÊÎÊÌâµÄÄÜÁ¦¡£

13

ÐÕÃû£º¸¶ÎÄÐÇ ÂÛÎÄÌâÄ¿£º»ùÓÚµ¥Æ¬»úµÄLEDµãÕóÏÔʾÆÁÉè¼Æ

ÖÂл

¾­¹ý¼¸¸öÔµÄŬÁ¦Ñ§Ï°£¬ÈÏÕæ×êÑкͼá³Ö²»Ð¸Ï£¬ÎҵıÏÒµÂÛÎÄÒѾ­µ½ÁËÊÕβ½×¶Î¡£ÔÚÍê³É±ÏÒµÉè¼ÆµÄ¹ý³ÌÖУ¬ÎÒÈÏΪ×Ô¼º»¹È±·¦Êµ¼ù¾­Ñ飬ÀíÂÛÈÚºÏʵ¼ÊµÄÄÜÁ¦Ò²ÓÐËùǷȱ¡£ÔÚÑÁÁʦµÄϸÐÄÖ¸µ¼Ï£¬Ò»µãÒ»µãµÄÍê³ÉÁËÕû¸ö±ÏÒµÉè¼Æ¡£Í¬Ê±Ò²¶Ô°ïÖú¹ýÎҵĸ÷λͬѧ±íʾ¸Ðл£¬ÔÚÕâ´ÎµÄÉè¼ÆÖÐÎÒÃÇ»¥Ïà¹ÄÀø£¬¹²Í¬Ì½Ìֺͽâ¾öÉè¼ÆÖÐÓöµ½µÄÎÊÌ⣬²»µ«Ï໥µÃµ½ÁËÌá¸ß£¬Ò²ÔöÇ¿ÁËÎÒÃǵÄÍŶÓÒâʶ¡£ÔÚÀÏʦָµ¼±ÏÒµÉè¼ÆµÄ¹ý³ÌÖУ¬ÎÒÌá¸ßÁËÀíÂÛÁªÏµÊµ¼ÊµÄÄÜÁ¦£¬¸ÐÊܵ½ÁËÑϽ÷µÄѧ·çºÍ¹¤×÷×÷·ç£¬Ñ§»áÁËÀíÂÛ½áºÏʵ¼ù·½·¨£¬ÈÃÎÒÊÜÒæ·Ëdz¡£ ¸ÐлΪÆÀÔı¾Îĸ¶³öÐÁÇÚÀͶ¯µÄËùÓÐÀÏʦÆÀί! ×îºó£¬ÔÙÒ»´ÎÖÔÐĸÐлËùÓйØÐĺͰïÖú¹ýÎÒµÄÈËÃÇ¡£

14

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

²Î¿¼ÎÄÏ×

[1] ÀîÐãÖÒ.´óÆÁÄ»LEDÏÔʾÆÁ¿ØÖÆÏµÍ³Éè¼Æ[J].ÏÖ´úµç×Ó¼¼Êõ, 2012, 35(19): 135-138. [2] Îâ¹â.LEDÏÔʾÆÁµç·¼¼Êõ¸Å¿ö [J]. ÏÖ´úÏÔʾ, 2010( 1): 41- 46.

[3] º«Ížü.»ùÓÚµ¥Æ¬»úµÄ LED µãÕóÏÔʾ¿ØÖƵÄÉè¼Æ[J].µç×ÓÉè¼Æ¹¤³Ì£¬2011,19£¨5£©:180-182. [4] ·ëÔÂÇÛ.»ù²ÅP89V51RD2µ¥Æ¬»úLEDµãÕóÏÔʾÆÁµÄʵÏÖ[J].µç×ÓÉè¼Æ¹¤³Ì£¬2012,20 £¨6£©:143-145.

[5] Ö£±¦»ªµÈ.LEDͼÎÄÏÔʾÆÁµÄÉè¼ÆÓëʵÏÖ[J].¼ªÁÖ:¼ªÁÖ»¯¹¤Ñ§ÔºÑ§±¨£¬2001,18(3).44-45 [6] ɳռÓÑ.´óÆÁÄ»ÖÇÄÜÏÔʾÆÁ¸ÅÊö[M].µç²âÓëÒÇ±í£¬1991£¬£¨5£©

[7] ³Â½¨¾ü.LED´óÆÁÄ»ÏÔʾϵͳµÄVGAͬ²½¼¼Êõ[M].µç×Ó¼¼ÊõÓ¦Óã¬1997£¬£¨11£©£º29-32 [8] ÁõÊï¹â.LEDµç×ÓÏÔʾÆÁÕæ²ÊÏÔʾµÄ¼¸Öֹؼü¼¼Êõ[J].±±¾©:¹úÍâµç×Ó²âÁ¿¼¼Êõ,2001£¬6.27-31

[9] Àî¾¶´ï.»ùÓÚËø´æ·½Ê½LEDÏÔʾÆÁµÄÈí¼þÉè¼Æ[J].ÉòÑô:¼ÆËã»úÓ¦ÓÃÑо¿,1999(5).56-57 [10] Áõ´«Ç壬ÕÅÔÌÓñ£¬ºúÐÞÁÖ.LED²ÊÉ«ÆÁÊý×ÖÊÓÆµÐźŵÄÊý¾ÝÖØ¹¹Óë´æ´¢¼¼Êõ[J].½­Î÷:µç×ÓÓë×Ô¶¯»¯,1999,28(1).15-17

[11] Neiesonl,Lee JD. Conversation with Graphics£ºImplicatinons for the Design of Natural Language/Graphics Interfaces[M].Int.J.Human_ComputerStudies,1994(3).126-127 [12] Dai Yisong,ZhaoJiyin.The Recursive Realization of WINNER Filter for AR(P) Models[J].the AMSE International 1990 Chengdu Conference,8-10,1999.22-25. [13] S.M.Wu,Impact of 100 In-Process Control(spc)in Automobile Body Assembly[J].Science Magine,1999.26-29

[14] ³ÌÁ¢Ãô.VB±à³Ì»ù´¡Óë´®¿ÚͨÐż¼Êõ[M].¼ªÁÖ:¼ªÁÖ»¯¹¤Ôº,2004,04.20-85

[15] ÓÚ¹úÇ죬¸ß¿¡Á룬ÖìÓ¢½Ü.ZX-1ÐÍ´óÆÁÄ»LEDÖÇÄÜÏÔʾϵͳµÄÉè¼Æ[M].µç×Ó¼¼ÊõÓ¦Óã¬1995 [16] ½ùΦ.»ùÓÚ51ϵÁе¥Æ¬»úµÄLEDÏÔʾÆÁ¿ª·¢¼¼Êõ. ±±¾©£º±±¾©º½¿Õº½Ìì³ö°æÉç [17] Öî²ýîÔ.LEDÏÔʾÆÁϵͳԭÀí¼°¹¤³Ì¼¼Êõ. ³É¶¼£ºµç×ӿƼ¼´óѧ³ö°æÉ磬2000 [18] ¼¾Ïþ·¼.Ë«ºº×Ö16¡Á16LEDµãÕó¹ã¸æÆÁµÄÖÆ×÷[J].°²»ÕË®ÀûË®µçÖ°Òµ¼¼ÊõѧԺ±¨, 2010(10):60-61.

[19] Electrical-capacitance tomography[J].Meas.Sci.technol, 1999(10):1065-1069.

15

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

¸½Â¼

ϵͳÕûÌåÔ­Àíͼ

16

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

³ÌÐòÔ´´úÂë

#include \#include \#include \#include \#include \

#define H_PORT P0 //ABCD P0 µãÕóÏÔʾÆÁ½Ó¿Ú¶¨Òå

sbit RData = P0^4; sbit OE=P0^5; sbit L_STB = P0^6; sbit L_CLK= P0^7; sbit GData= P3^4;

sbit key_adj=P3^0; sbit key_add=P3^1; sbit key_dec=P3^6; sbit key_esc=P3^7; #define KEY_VAL 5 //¶¨Òå°´¼üÊָР#define set_row(row) {H_PORT=(row&0x0f);} SYSTEMTIME CurrentTime; unsigned char status=0; //°´¼ü״̬ unsigned char disp_mode=0; //ÏÔʾ״̬ unsigned char offset=0; //ÒÆ¶¯ÏÔʾÓõıäÁ¿ unsigned char disrow=0; //µ±Ç°É¨ÃèÐÐ unsigned char k=0; //ÍùbuffÖÐÌîµÄ×Ö unsigned int t_counter=0,stop_counter=0,stop_time=0; unsigned char f1=18,f2=18,f3=18,f4=18,f5=18,f6=18;

bit switch_flag=0, stop_bit=0; bit one_sec_flag=0, half_sec_flag; bit nongli_flag=0,nongli_change_flag=0,festival_flag=0; unsigned char temp_time[6]; //·­Ò³ÖÓÓõ½ unsigned char color = 0; unsigned int count_move; //ÑÕÉ« ÒÆ¶¯ËÙ¶È

bit add_flag=0; bit dec_flag=0; bit adj_flag=0; bit esc_flag=0; //¼Ó¡¢¼õ¡¢µ÷Õû¡¢·µ»Ø±êÖ¾ unsigned char ka=0,kb=0,kc=0,kd=0; //°´¼üÓà unsigned char date[]={

10,10,10,10,10,10,10,10, 2,0, 1,2, 49,50, 0,1, 51,52, 0,1, 53,54, 10, 55,56,57,58, 53,54, 10,0,0, 11, 0,0, 11, 0,0, 10,10,10,10,12,10,13,14, 10,10,10,10,10,10,10,10, }; unsigned char code mode[4]={0,1,7,8}; //¼¸ÖÖÏÔʾģʽµÄÅÅÁУ¬ unsigned char code moon_date[48]={

10,10,10,10,10,10,10,10,10,10,10,10,49,50,10,10,10,10,51,52,10,10,10,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, }; unsigned char code init_date[]={

10,10,10,10,10,10,10,10, 2,0, 1,2, 49,50, 0,1, 51,52, 0,1, 53,54, 10, 55,56,57,58, 53,54, 10, 0,0, 11, 0,0, 11, 0,0, 10, 10,10,10,12,10,13,14,10,10,10,10,10,10,10,10, }; unsigned char code week_data[]={0,25,27,29,31,33,35,53}; //Ò»¶þÈýËÄÎåÁùÈÕ void delay_nms(unsigned int count);

void Timer_init(void); void time_to_buff_all(void); void update_buff(void);

void key_scan(void); void display(unsigned char mode); void shutter_clock(void); void io_init() {P0M0 = 0xff; // ÍÆÍìÊä³ö P0M1 = 0x00; P3M0 = P3M0|0x38; //0011 1000 ÍÆÍìÊä³ö } void main(void)

17

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

{ io_init(); Initial_DS1302(); //³õʼ»¯ time_to_buff_all(); //¶Áȡȫ²¿Ê±¼ä ReadTemperature(&date,39); //¶ÁÈ¡ÎÂ¶È Timer_init(); while(1){

update_buff(); for(disrow=0;disrow<16;disrow++) //disrow,µ±Ç°É¨ÃèµÄÐÐ { display(disp_mode); OE=1; //¹ØÏÔʾÆÁ L_STB=1; L_STB=0; set_row(disrow);//ÐÐ138µÄÊä³ö.ÒÀ´ÎµãÁÁ1~16ÐÐ. OE=0; //¿ªÏÔʾÆÁ delay_nms(30); } if(stop_counter>stop_time) {disp_mode=0; offset++;stop_counter=0; stop_bit=0;} if(stop_bit==0) offset++; if(disp_mode==1) { if(f1<200) f1++; if(f2<200) f2++; if(f3<200) f3++;

if(f4<200) f4++; if(f5<200) f5++; if(f6<200) f6++; }

if(nongli_flag==0) key_scan(); } }

void Timer_init(void) { EA=0; ET0=1; //¿ª¶¨Ê±Æ÷ÖÐ¶Ï TMOD=0x01; //¶¨Ê±Æ÷0ģʽ1 TL0 = 0x00; TH0 = 0x4C; //ÉèÖö¨Ê±³õÖµ //25MS 22.1184M TR0=1; //¿ª¶¨Ê±Æ÷ÔËÐÐ EA=1; }

void T0_ISR(void) interrupt 1 using 3 //¶¨Ê±Æ÷ÖÐ¶Ï { TL0 = 0x00; //ÉèÖö¨Ê±³õÖµ //25MS 22.1184M TH0 = 0x4C; //ÉèÖö¨Ê±³õÖµ t_counter++; if(t_counter==20) half_sec_flag=1;

if(t_counter==40) {t_counter=0;one_sec_flag=1;} if(stop_bit==1) stop_counter++;

if(ka!=0) { ka--;if(ka==0 && key_add==0) add_flag=1; }else if(key_add==0)ka=KEY_VAL; if(kb!=0) { kb--; if(kb==0 && key_dec==0) dec_flag=1; }else if(key_dec==0)kb=KEY_VAL; if(kc!=0) {kc--; if(kc==0 && key_adj==0) adj_flag=1; } else if(key_adj==0)kc=KEY_VAL; if(kd!=0) {kd--; if(kd==0 && key_esc==0) esc_flag=1; } else if(key_esc==0)kd=KEY_VAL; }

void update_buff(void){ unsigned char i; if(nongli_change_flag==1) { if(nongli_flag==1)

{ for(i=0;i<46;i++) date[i]=moon_date[i]; DS1302_GetTime_ALL(&CurrentTime); date[8]= 59; date[9]= 60; date[10]=61; date[11]=62; //µçÐÅ date[12]=63; date[13]=64; date[14]=65; date[15]=66;//Ò»°à date[16]=10; //¿Õ¸ñ date[17]=67;date[18]=68; date[19]=69; date[20]=70; date[21]=71; date[22]=72; //¸¶ÎÄÐÇ date[23]=10; //¿Õ¸ñ date[24]=73; date[25]=74; date[26]=75; date[27]=76; //±ÏÒµ date[28]=77; date[29]=78; date[30]=79; date[31]=80; //Éè¼Æ}

18

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

else { for(i=0;i<48;i++) date[i]=init_date[i]; time_to_buff_all(); } } if(half_sec_flag==1) { half_sec_flag=0; time_to_buff_all(); switch(status){ case 0: break; case 1: date[10]=15,date[11]=15; break; case 2: date[14]=15,date[15]=15; break; case 3: date[18]=15,date[19]=15; break; case 4: date[27]=15,date[28]=15; break; case 5: date[30]=15,date[31]=15; break; case 6: date[33]=15,date[34]=15; break; case 7: date[36]=15,date[37]=15; break; default: break; } } if(one_sec_flag==1) {one_sec_flag=0; if(disp_mode==8||k==0) ReadTemperature(&date,39); date[32]=11; date[35]=11; time_to_buff_all(); } }

void display(unsigned char mode) { unsigned char i; //ËÍÏÔʾÊý¾Ý switch(mode) { case 0:if(switch_flag==1) {k=0;switch_flag=0;} //Á÷¶¯ÔÝÍ£ÏÔʾ for(i=0;i<8;i++)SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) { offset=0;k++; if(k==30&&nongli_flag==0) {stop_bit=1,stop_time=900,disp_mode=1;} if(k==39&&nongli_flag==0) {stop_bit=1,stop_time=120;} //ζÈͣһϡ£ if(k>45&&nongli_flag==0) {k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } if(k>24&&festival_flag==0&&nongli_flag==1)

{ k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } else if(k>30&&festival_flag==1&&nongli_flag==1) { k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } } break;

case 7: //È«²¿Á÷¶¯ÏÔʾ if(switch_flag==1) {k=0;switch_flag=0;} for(i=0;i<8;i++)SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) { offset=0;k++; if(nongli_flag==0&&k>45) {k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } if(k>24&&festival_flag==0&&nongli_flag==1)

{ k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } else if(k>30&&festival_flag==1&&nongli_flag==1) { k=0; nongli_flag=~nongli_flag; nongli_change_flag=1; } } break;

case 8: //¹Ì¶¨ÏÔʾζÈ

for(i=0;i<8;i++) SendByte(a[date[39+i]][disrow]); break; case 1: shutter_clock(); break; //·­Ò³ÖÓÏÔʾ case 2: //ÏÔʾʱ¼ä if(switch_flag==1) {/*k=23;*/switch_flag=0;} if(k<30){for(i=0;i<8;i++) //ËÍÍù8¸ö4094µÄÊý¾Ý. SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) {offset=0;k++;} } if(k==30) {for(i=0;i<8;i++) SendByte(a[date[30+i]][disrow]); } break;

19

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

case 3: //ÏÔʾÄê if(switch_flag==1) {k=0;switch_flag=0;} if(k<10) {for(i=0;i<8;i++) //ËÍÍù8¸ö4094µÄÊý¾Ý. SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) {offset=0;k++;} } if(k==10) { for(i=0;i<8;i++) SendByte(a[date[10+i]][disrow]); } break; case 4: //ÏÔʾÔ if(switch_flag==1) {k=10;switch_flag=0;} if(k<14) {for(i=0;i<8;i++) //ËÍÍù8¸ö4094µÄÊý¾Ý. SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) {offset=0;k++;} } if(k==14) {for(i=0;i<8;i++) SendByte(a[date[14+i]][disrow]); } break; case 5: //ÏÔʾÈÕ if(switch_flag==1) {k=14;switch_flag=0;} if(k<18) {for(i=0;i<8;i++)SendByte(a[date[k+i]][disrow]);Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) {offset=0;k++;} } if(k==18) {for(i=0;i<8;i++) SendByte(a[date[18+i]][disrow]); }break; case 6: //ÏÔʾÐÇÆÚ if(switch_flag==1) {k=18;switch_flag=0;} if(k<23) {for(i=0;i<8;i++)SendByte(a[date[k+i]][disrow]); Send2Byte(a[date[k+8]][disrow],offset); if(offset==8) {offset=0;k++;} } if(k==23) {for(i=0;i<8;i++)SendByte(a[date[23+i]][disrow]); }break; default: break; } }

void shutter_clock(void) { if(date[30]!=temp_time[0]) f1=0; //ʱʮλ if(f1<17) { if(date[30]==0) SendByte(a[17][disrow+f1]); else SendByte(a[date[30]-1][disrow+f1]); } else SendByte(a[date[30]][disrow]); if(date[31]!=temp_time[1]) f2=0; //ʱ¸öλ if(f2<17) { if(date[31]==0) SendByte(a[19][disrow+f2]); else SendByte(a[date[31]-1][disrow+f2]); } else SendByte(a[date[31]][disrow]); SendByte(a[date[32]][disrow]); //ðºÅ if(date[33]!=temp_time[2]) f3=0; //·Öʮλ if(f3<17) { if(date[33]==0) SendByte(a[21][disrow+f3]); else SendByte(a[date[33]-1][disrow+f3]); } else SendByte(a[date[33]][disrow]); if(date[34]!=temp_time[3]) f4=0; //·Ö¸öλ if(f4<17) { if(date[34]==0) SendByte(a[23][disrow+f4]); else SendByte(a[date[34]-1][disrow+f4]); }

20

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

else SendByte(a[date[34]][disrow]); SendByte(a[date[35]][disrow]); //ðºÅ if(date[36]!=temp_time[4]) f5=0; //Ãëʮλ if(f5<17) { if(date[36]==0) SendByte(a[21][disrow+f5]); else SendByte(a[date[36]-1][disrow+f5]); } else SendByte(a[date[36]][disrow]); if(date[37]!=temp_time[5]) f6=0; //Ãë¸öλ if(f6<17) { if(date[37]==0) SendByte(a[23][disrow+f6]); else SendByte(a[date[37]-1][disrow+f6]); } else SendByte(a[date[37]][disrow]); }

void delay_nms(unsigned int count){ //Èí¼þÑÓʱ unsigned int i,j; for(i=0;i

void time_to_buff_all(void) { DS1302_GetTime_ALL(&CurrentTime); //¶Áȡȫ²¿Ê±¼ä

temp_time[0]=date[30]; temp_time[1]=date[31]; temp_time[2]=date[33]; temp_time[3]=date[34]; temp_time[4]=date[36]; temp_time[5]=date[37];

date[30]=CurrentTime.Hour/10; date[31]=CurrentTime.Hour; //Сʱ date[33]=CurrentTime.Minute/10; date[34]=CurrentTime.Minute; //·ÖÖÓ date[36]=CurrentTime.Second/10; date[37]=CurrentTime.Second; //Ãë date[10]=CurrentTime.Year/10; date[11]=CurrentTime.Year; //Äê date[14]=CurrentTime.Month/10; date[15]=CurrentTime.Month; //Ô date[18]=CurrentTime.Day/10; date[19]=CurrentTime.Day; //ÈÕ

date[27]=week_data[CurrentTime.Week];date[28]=week_data[CurrentTime.Week]+1;//ÐÇÆÚ }

void key_scan(void) { //ɨÃè°´¼ü static unsigned char mode_counter=0; if(adj_flag==1) { adj_flag=0; stop_bit=0; offset=0; switch_flag=1; status++; if(status>7) status=1; time_to_buff_all(); } if(esc_flag==1) { esc_flag=0; stop_bit=0; disp_mode=0; //Í˳öʱ·½Ê½ÎªÁ÷¶¯ÏÔʾ k=0; offset=0; status=0; time_to_buff_all(); } switch(status) { case 0: //ÏÔʾģʽµ÷Õû if(add_flag==1) { add_flag=0; stop_bit=0; offset=0; switch_flag=1; mode_counter++; if(mode_counter>3) mode_counter=0; disp_mode=mode[mode_counter]; }break; case 1: //Äêµ÷Õû disp_mode=3; if(add_flag==1) { add_flag=0; CurrentTime.Year++; if(CurrentTime.Year>99) CurrentTime.Year=0; DS1302_SetTime(DS1302_YEAR,(CurrentTime.Year)); } if(dec_flag==1) { dec_flag=0; if(CurrentTime.Year>0) CurrentTime.Year--; if(CurrentTime.Year==0) CurrentTime.Year=99; DS1302_SetTime(DS1302_YEAR,(CurrentTime.Year)); }break; case 2: //Ôµ÷Õû disp_mode=4; if(add_flag==1) { add_flag=0; CurrentTime.Month++; if(CurrentTime.Month>12) CurrentTime.Month=1; DS1302_SetTime(DS1302_MONTH,(CurrentTime.Month)); }

21

2015½ìµç×ÓÐÅÏ¢¿ÆÑ§Óë¼¼Êõרҵѧʿѧλ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

if(dec_flag==1) {

dec_flag=0; if(CurrentTime.Month>0) CurrentTime.Month--; if(CurrentTime.Month==0) CurrentTime.Month=12; DS1302_SetTime(DS1302_MONTH,(CurrentTime.Month)); } break; case 3: //ÈÕµ÷Õû disp_mode=5; if(add_flag==1) {add_flag=0; CurrentTime.Day++;

if(CurrentTime.Day>31) CurrentTime.Day=1;

DS1302_SetTime(DS1302_DAY,(CurrentTime.Day)); } if(dec_flag==1) { dec_flag=0; if(CurrentTime.Day>0) CurrentTime.Day--; if(CurrentTime.Day==0) CurrentTime.Day=31; DS1302_SetTime(DS1302_DAY,(CurrentTime.Day)); } break; case 4: //ÐÇÆÚµ÷Õû disp_mode=6; if(add_flag==1){add_flag=0; CurrentTime.Week++;

if(CurrentTime.Week>7) CurrentTime.Week=1;

DS1302_SetTime(DS1302_WEEK,(CurrentTime.Week)); } if(dec_flag==1) {dec_flag=0; if(CurrentTime.Week>1) CurrentTime.Week--; if(CurrentTime.Week==1) CurrentTime.Week=7; DS1302_SetTime(DS1302_WEEK,(CurrentTime.Week)); } break; case 5: //Сʱµ÷Õû disp_mode=2; if(add_flag==1) {add_flag=0; CurrentTime.Hour++;

if(CurrentTime.Hour>23)CurrentTime.Hour=0;

DS1302_SetTime(DS1302_HOUR,(CurrentTime.Hour));}

if(dec_flag==1) { dec_flag=0; if(CurrentTime.Hour>0) CurrentTime.Hour--; if(CurrentTime.Hour==0) CurrentTime.Hour=23; DS1302_SetTime(DS1302_HOUR,(CurrentTime.Hour)); } break; case 6: //·ÖÖÓµ÷Õû disp_mode=2;

if(add_flag==1) {add_flag=0; CurrentTime.Minute++;if(CurrentTime.Minute>59) CurrentTime.Minute=0; DS1302_SetTime(DS1302_MINUTE,(CurrentTime.Minute)); } if(dec_flag==1) { dec_flag=0; if(CurrentTime.Minute>0) CurrentTime.Minute--; if(CurrentTime.Minute==0) CurrentTime.Minute=59; DS1302_SetTime(DS1302_MINUTE,(CurrentTime.Minute)); } break; case 7: //Ãëµ÷Õû disp_mode=2; if(add_flag==1){

add_flag=0;CurrentTime.Second++;if(CurrentTime.Second>59)CurrentTime.Second=0;

DS1302_SetTime(DS1302_SECOND,(CurrentTime.Second)); } if(dec_flag==1){ dec_flag=0; if(CurrentTime.Second>0) CurrentTime.Second--; if(CurrentTime.Second==0) CurrentTime.Second=59; DS1302_SetTime(DS1302_SECOND,(CurrentTime.Second)); }break;

default: break; }

}

22