[LinuxFocus-icon]
Ê×Ò³  |  Õ¾µãµØÍ¼  |  Ë÷Òý  |  ËÑË÷

ÐÂÎÅ | ¹ýÍùÆÚ¿¯ | Á´½Ó | ¹ØÓÚLF
[an error occurred while processing this directive]
[Photo of the Author]
by Guido Socher (homepage)

¹ØÓÚ×÷Õß:

Guidoϲ»¶linux²»½öÒòΪ´ÓÕâ¸öϵͳ¿ÉÒÔÕÒµ½×î´ó¿ÉÄܵÄÀÖȤ»¹ÒòΪÈËÃÇDZÐÄÓÚËüµÄÉè¼Æ


Ŀ¼:

 

´øLCDÏÔʾ¼°RS232½Ó¿ÚµÄ1Hz-100Mhz ƵÂʼÆ

[Illustration]

ÕªÒª:

±¾ÎļÌÐø½²ÊöAT90S4433ϵÁС£ÎÒ½¨ÒéÄúÃÇÏÈÔĶÁÒ»ÏÂÇ°ÃæÄÇÆª¹ØÓÚAtmel ΢´¦ÀíÆ÷±à³ÌÉè¼Æ£¬²¢×¢ÒâÒÔÏÂÁ½µã£º:

  1. ÔõÑù°²×°ºÍʹÓÃLinux AVR ¿ª·¢»·¾³ÒÔ¼°ÈçºÎ½¨Á¢Óû§Ó²¼þÄ¿±êϵͳ£º
    2002 µÚÎåÆÚ, AVRµ¥Æ¬»úGCC±à³Ì
  2. ÈçºÎÖÆ×÷Äã×Ô¼ºµÄÓ¡ÖÆÏß·°å
    2002 µÚÎåÆÚ, ¸øÄãµÄLinux·þÎñÆ÷¼ÓÒ»¸öLCDǰ¿ØÖÆÃæ°å
ÕâÒ»´ÎÎÒÃÇÉè¼ÆÒ»¸ö¿ÉÒÔ´Ó²âÁ¿1Hzµ½100MHzµÄƵÂʼơ£ÄúÒ²¿ÉÒÔÓÃËüÀ´¼Ç¼Ê¼þ£¬Èç¶àÉÙÈË´©¹ýÂí·µÈ £¨Ö»ÒªÊÇÒ»¸öÓÐЧµÄÊý×ÖÂö³å£©¡£Õâ¸öƵÂʼÆÓÐÒ»¸öLCDÏÔʾÆÁ£¬´øÓÐRS232½Ó¿Ú£¬ÓÃÀ´ÏÔʾÓÉlinuxϵͳ µÃ³öµÄÊý¾Ý¡£



 

Ð÷ÂÛ

ÕýÏÒ²¨»ò·½²¨ÐÅºÅµÄÆµÂÊÊÇÓÉÿÃëÖÓÕñµ´µÄ´ÎÊýÀ´±íʾµÄ¡£ÎªÁ˼ì²âÒ»¸ö³ÖÐøµÄÐÅºÅµÄÆµÂÊ£¬ ÎÒÃǽö½öÖ»ÐèÊýËüµÄÕñµ´´ÎÊý¾Í¿ÉÒÔÁË¡£ÕâÖÖ·½·¨ÎÒÃÇÐèÒª¼ì²âÕâ¸ö³ÖÐøÕñµ´ÐźŵĵÚÒ»¸ö г²¨µÄƵÂÊ¡£ÎªÁ˲âÁ¿·ÇÁ¬ÐøÒôƵÐźţ¬Äã±ØÐëÒªÓÐÒ»¸öƵÆ×·ÖÎöÒDzÅÄÜ×öµ½¡£ ¿ÉÊÇ£¬¶ÔÓÚÓ²¼þÀ´Ëµ£¬ÕâÊÇÒ»¸öºÜÄѵIJ¿·Ö¡£ÏÖÔÚ£¬ÎÒÃÇÒªÉè¼ÆÒ»¸öÓÃÀ´²âÁ¿³ÖÐøÕñµ´ÐźŠµÄƵÂʼơ£¼ÙÉèÎÒÃÇËùÈ¡ÑùµÄÐźÅÔÚij¸öʱ¼ä¶ÎÄÚÆµÂÊÊDz»±äµÄ¡£

ÎÒÃÇµÄÆµÂʼƷÖÁ½²½¹¤×÷:
  1. ͨ¹ýÒ»¸ö±È½ÏµçѹÀ´¼õСһЩÐźŵÄÖ±Á÷·ÖÁ¿²¢°ÑËüת»»³É·½²¨Ðźš£
  2. ÔÚÿ¸öʱ¼ä¶ÎÄÚÊý³öÂö³åÊý£¬²¢°´Ò»¹Ì¶¨µÄʱ¼ä¶ÎÀ´»®·Ö¡£
 

ËùÐèÆ÷¼þ

Òª´î½¨Õâ¸öƵÂʼÆÄãÐèÒªÒÔÏÂÆ÷¼þ:

1 x Atmel At90S4433 Microcontroller
1 x 28pin 7,25 mm IC socket
2 x 16pin IC socket
1 x 1pin IC socket
1 x 14pin IC socket
No IC sockets for the MAX903 and the 74F74. Solder them directly to the board!
1 x MAX232
1 x 4,194304MHz crystal
1 x LEDs (green)
1 x BC557 PNP transistor
4 x 1uF capacitor (biased)
2 x 27pF ceramic capacitor
4 x 10nF mini ceramic capacitor
3 x 100nF mini ceramic capacitor
1 x 200nF mini ceramic capacitor
1 x 0,47uF mini ceramic capacitor
2 x resistor 470 Ohm
1 x resistor 470K
2 x resistor 100 Ohm
3 x resistor 1k
5 x resistor 10k
3 x resistor 47K
1 x resistor 220 Ohm
3 x resistor 4K7
1 x resistor 3k3
1 x resistor 2k2
1 x resistor 47 Ohm
1 x 4K7 potentiometer (as small as possible), if you want you can replace this potentiometer by a pair of resistors. This potentiometer is used to set the LCD contrast. For my LCD displays 100Ohm together with 1K gives a good contrast.
1 x Z-diode 4.3V
2 x small touch buttons
1 x 470uF capacitor (biased)
1 x 4,7uF capacitor (biased)
1 x 1N4001 diode
1 x 74HC02 TTL IC
1 x 74F74 fast TTL IC
1 x 74HC390 TTL IC
1 x LM393 voltage comparator
1 x MAX903 high speed voltage comparator, 8 Pin plastic DIP package, you can order it directly from www.maxim-ic.com in case your local dealer does not have it in stock.
1 x 7805 5V regulator
1 x 2 line 20 character LCD display with HD44780 compatible interface. With our without backlight (16 pin or 14 pin)

All LCD displays that I have ever seen with 14 or 16 pins on the connector were HD44780 compatible. You can also use a 3 or 4 line display but then you will need to modify the software a bit.

ÁíÍ⣬Äú»¹ÐèҪһЩÏß¡¢Á¬½ÓÍ·£¨BCD¡¢µçÔ´¡¢RS232£©¼°¼°Ò»¸ö9VµÄ±äѹÆ÷»òÕß½»¡¢ Ö±Á÷¹©µçÔ´£¨150mA)¡£ÓÐʱºòÄúÒ²¿ÉÒÔͨ¹ýÖ±½Ó²åÔÚǽ±ÚÉϵÄÓÃÓÚ¸ø¸÷ÖÖµçÆ÷Ìṩµç Ô´µÄ¹©µçºÐÀ´µÃµ½µçÔ´¡£  

Ô­ÀíͼºÍÏß·°åͼ

ÎÒʹÓÃÔËÐÐÔÚlinuxÏ嵀 eagle À´Éè¼ÆÔ­ÀíͼºÍÏß·°å. Õâ¸öÈí¼þÓÐһЩÈÃÈ˲»Ò×Àí½âµÄµØ·½:ËùÓеÄоƬµçÔ´ÊäÈë¶¼ÊÇ5V¡£¿ÉÊÇÔÚ½øÐÐµçÆø¹æÔò ¼ì²éµÄʱºò»á·¢ÏÖһЩ´íÎó£¬ÊÂʵÉÏ£¬Éè¼ÆÊÇÍêÈ«ÕýÈ·µÄ
Ô­Àíͼ (µã»÷·Å´ó):
[Schematic]

Ïß·°åͼ (µã»÷·Å´ó):
[board]


Ïß·ͼÊÇÌØ±ðΪһЩµç×Ó°®ºÃÕßÉè¼ÆµÄ¡£Ö»ÓÐÀ¶É«ÄDzã²ÅÊÇ×îÖÕÒª±»×ö³É Ïß·°åµÄ¡£ºìÉ«µÄÏßÊǵ¼Ïß¡£ÖÆ×÷Ò»¿éµ¥ÃæÓ¡ÖưåÊǷdz£ÈÝÒ×¶øÇÒ²¢²»ÐèÒª·Ç ³£¾«È·¡£Äú¿ÉÒÔ°´ÕÕ×î¶ÌµÄÏß·À´ÉèÖÃÌøÏß(ºìÉ«)¡£ÓÃEagleÎÒ²»ÓÃÕâô×ö¡£
×îÖÕµÄÃæ°åͼÒÔ°×É«×÷Ϊ±³¾°±ãÓÚ´òÓ¡: °×É«±³¾°µÄÓ¡ÖÆ°å (×¢: Õâ²¢²»ÊÇÄúÓÃÀ´ÖÆ×÷Ó¡ÖÆ°åµÄÎļþ¡£ .)

ËùÓÐµÄ Eagle Îļþ¶¼°üº¬ÔÚ(linuxfreqcount-0.4)Èí¼þ°üÖУ¬Äú¿ÉÒÔ´Ó±¾ÎÄ×î ºóµÄÏà¹ØÁ´½ÓÖÐÏÂÔØ.  

¹¤×÷Ô­Àí

AT90S4433ÓÐÁ½¸öÄÚ²¿¼ÆÊýÆ÷¡£Ò»¸öÊÇ16룬ÁíÒ»¸öÊÇ8λµÄ¡£ÔÚÕâÀÎÒÃÇÓõ½ 8λµÄ¼ÆÊýÆ÷,ͨ¹ýAT90S4433ʱÖÓ¾§ÕñÀ´²úÉúÒ»¸ö¾«È·Ê±»ù¡£ÎªÁË´ïµ½Õâ¸öÄ¿µÄ£¬ ÎÒÃÇÓÃÒ»¸ö4.194304MHzµÄ¾§Õñ,ͨ¹ý256ÄÚ²¿·ÖƵÀ´´¥·¢8λ¼ÆÊýÆ÷¼ÆÊý£¨²é¿´A T90S4433µÄÊý¾ÝÊֲᣬÔÚ±¾ÎÄĩβÏà¹ØÁ´½Ó¿ÉÏÂÔØ£©¡£ÅäÖÃ8λ¼ÆÊýÆ÷ÿ´ÎÒç³öʱ²úÉúÒ»¸ö Öжϡ£Ò²¾ÍÊÇ˵£¬ÎÒÃǵõ½ÁËÒ»¸ö4.194304MHz/(256¡Á256)=64HzµÄʱ»ù¡£Í¨¹ýʹ ÓÃÒ»¸öÑ­»·±äÁ¿,ÎÒÃÇ¿ÉÒԵõ½Ò»¸ö1Hz¼ä¸ô»ò64Hz¼ä¸ôµÄ¹¦Äܵ÷Óá£

ÏÖÔÚ£¬ÎÒÃÇÒѾ­ÓµÓÐÒ»¸ö¿ÉÒÔͨ¹ýÈí¼þģʽÀ´ÉèÖõÄ1Hz»òÕß64Hz¼ä¸ôµÄ¹¦ÄÜÄ£¿é¡£ÏÖÔÚÎÒ ÃÇËùÒª×öµÄÊÇ£¬Í¨¹ýÕâ¸ö¹¦ÄÜÀ´¶Á³ö16λ¼ÆÊýÆ÷²¢ÏÔʾ³ö½á¹û¡£Õâ¸ö16λµÄ¼ÆÊýÆ÷£¨AT 90S4433µÚ5½Å£©µÄÂö³åÐźÅÓɱ»²âÐźÅÌṩ¡£

AT90S4433¶ÔÊäÈëÐźŽøÐвÉÑù£¬Ê¹ÆäÓëÄÚ²¿Ê±ÖÓ±£³Öͬ²½¡£¸ù¾Ý²ÉÑù¹æÔò£¬ÎÒÃÇ¿ÉÒÔ×î´ó Ï޶ȵIJâ³ö½Ó½ü1/2ÄÚ²¿¾§ÕñµÄÐÅºÅÆµÂÊ¡£ÕâÊÇÀíÂÛ¼«ÏÞ¡£Êµ¼ÊÉÏ£¬ÎÒÃÇ¿ÉÒÔÓÃAT90S4433 À´²âÁ¿´ïµ½1.5MHzµÄÐźš£

ÎÒÃÇÐèҪͨ¹ýÖð¼¶Çý¶¯À´²âÁ¿¸ßƵÂÊ¡£Õâ¾ÍÊÇΪʲôÕâÀﻹÐèÒª74f74ºÍ74HC390ÁË¡£74F74 ÊÇÓÃ×÷¿ìËÙ1/4Òì²½·ÖƵ£¬74HC390×÷Ϊ1/25·ÖƵ¡£ÎÒÃDz»ÄÜÖ±½ÓÓÃ74HC390À´×÷1/100 ·ÖƵ£¬ÒòΪËü×î¸ß¹¤×÷ƵÂÊÊÇ25MHz¡£

Ïß·ÌṩÁ½¸öÐźÅÊäÈë¡£Ò»¸öÊǾ­¹ý1/100·ÖƵ£¬ÁíÒ»¸öÊÇÖ±½ÓÊäÈëµÄ¡£¸ù¾ÝÄúËùÒª²âµÄ ÐÅºÅµÄÆµÂÊÀ´Ñ¡ÓÃÆäÖеÄÒ»¸öÊäÈë¶Ë(²»ÄÜͬʱÊäÈë)¡£

Èç¹ûÄãÖ»¶Ô½Ó½ü1£¬5MHz¸ÐÐËȤ£¨ÀýÈçÉèÖóɲâÁ¿ÒôƵ·Å´óÆ÷µÄƵÂÊÏìÓ¦£©£¬ÄãÒ²¿ÉÒÔ¹¹¼Ü Ò»¸ö¼òÒ×°æ±¾µÄ¼ÆÊýÆ÷£¬·ÅÆúʹÓÃMAX903£¬74f74¼°74hc390¡£ÄãÈÔ¿ÉÒÔʹÓÃͬһ¸öÈí ¼þ¼°Ïß·°å¡£

ʹÓÃ2¸öµçѹ±È½ÏÆ÷£¨¸ßËÙµÄMAX903ºÍLM393£©µÄÄ¿µÄÊÇΪÁË·Å´óÐźŲ¢ÀûÓÃÕýÏÒÐźŲúÉú·½²¨Ðźš£

ÔÚÉè¼ÆÏß·°å¼°²¼ÏßÊ±ÒªÌØ±ð×¢Òâ±ÜÃâ±È½ÏÆ÷²úÉú×Ô¼¤Õñµ´¡£Äã±ØÐë×¢Òâµ½MAX903ÊÇÒ»¸ö ³¬¸ßËÙ±È½ÏÆ÷¡£Èç¹ûÄãʹÓÃÒ»¸öÔëÒôÊäÈëÐźţ¬ÏëÏóÒ»ÏÂÒ»¸ö100KHz±»Ò»¸ö1MHzÐźŵ÷ÖÆ£¬ Äã¾Í»áÔÚ100KHzÐźŹýÁãʱ£¬²âµÃһЩ¸½¼ÓµÄ1MHzÂö³åÐźš£
¼ÓÔÚMAX903ÉϵÄ220Kµç×èÊÇÓÃÀ´±ÜÃâÓÉÓÚÔëÒô²úÉúµÄÒ»¶¨³Ì¶ÈÕý·´À¡ÒýÆð×Ô¼¤¡£ ¾Í²»»á³öÏÖÔëÒôÐźű»¼ÆÊý¡£

ͨ¹ýRS232ºÍ2¸öÇá´¥¿ª¹Ø£¨Çå³ý¿ª¹Ø¼°Ä£Ê½¿ª¹Ø£©À´¿ØÖÆ´¦ÀíÆ÷µÄ¹¤×÷¹ý³Ì¡£

2¸öÊäÈëͨµÀͨ¹ýÒ»¸ö»òÃÅ£¨74hc02)Êä³ö¡£ÔÚ74hc390Êä³ö¿ÚÉÏËäÈ»ÊÇ Âß¼­µçƽ¡°1¡±£¬Èç¹ûÄãûÓÐÁª½Ó1/100ÊäÈë¶Ë£¬»òÃŶ¼»á½ûÖ¹ÐźÅÊäÈë¡£Òò´Ëµ± Äã¸Ä±ä¼ÆÊýģʽ»ò°´ÏÂÇå³ý°´Å¥Ê±£¬74hc390¾Í»á±»Çå³ý(pin2)¡£  

Èí¼þ

´¦ÀíÆ÷Èí¼þÔÚÖжÏģʽÏÂÉèÖÃÁË2¸ö¼ÆÊýÆ÷¡£¹ØÓÚÕâÁ½¸ö¼ÆÊýÆ÷µÄÈçºÎÔËÓ㬠ÔÚAT90S4433Êý¾ÝÊÖ²áÖÐÃèÊöµÃ·Ç³£Ïêϸ£¨²Î¼û²Î¿¼Îļþ£©¡£Äã±ØÐë¸ø¼Ä´æÆ÷ÉèÖà һ¸öÖµ£¬ÕâÊǷdz£ÖØÒªµ«Öظ´ÌáÒ²ÊǷdz£·¦Î¶µÄ£¬ÎÒÔÚÕâÀï²»»áÔÙÌáµ½ÕâÒ»µã¡£Æµ ÂʼÆÂß¼­µÄ¾ø´ó²¿·ÖÔÚ linuxfreqcount.c Õâ¸öÎļþÖÐʵÏÖ¡£ÆäËüËùÓеijÌÐòÈçLCD¡¢ UART£¬µÈµÈ¶¼×÷Ϊ¿âÎļþ´æÔÚ¡£ÔÚдAT90S4433Èí¼þʱÄã±ØÐë×¢Òâ³ÌÐò³¤¶È²»Äܳ¬¹ý 128B RAM¡£ÕâЩ¶¼ÊÇÎÒÃDZØÐë×öµ½µÄ¡£Òò´Ë£¬Äã×îºÃÔÚǶÌ×¹¦Äܵ÷ÓÃʱ²»ÒªÓõ½Ì«¶à µÄ²ÎÊý¡£ÓÅÏÈ¿¼ÂÇʹÓñêʶ·û¼°È«¾Ö±äÁ¿×÷Ϊ´«µÝ²ÎÊý¡£

µ±¼ÆÊýÆ÷±»ÕýÈ·ÅäÖú󣬳ÌÐòSIGNAL(SIG_OVERFLOW0)°´ÕÕ64HzƵ·±µ÷Óá£ÎÒÃǽ«¶Á ³ö16λ¼ÆÊýÆ÷²¢ÉèÖÃÒ»¸öÐźÅÁ¿(hflag)¸ø½øÒ»²½´¦Àí¼ÆÊý½á¹ûµÄº¯Êýhandlecounterresult() ¡£ÔÚ1HzÃÅ¿ª¹Ø×÷ÓÃÏÂÎÒÃÇ¿ÉÒÔÖ±½ÓÔËÓüÆÊýÆ÷µÄÖµ£¬µ«Êǵ±ÔÚ1/64ÃÅ¿ª¹Ø×÷ÓÃʱ£¬ÎÒÃDZØÐ뽫¼ÆÊý Æ÷µÄÖµ³ËÒÔ64¡£¶ÔÓÚ΢´¦ÀíÆ÷ÎÒÃDz»ÄÜ×öÌ«¶àµÄÊýѧÔËË㣨ÎÒÃÇûÓÐ32λ±¼ÌÚ´¦ÀíÆ÷£©¡£ÐÒÔ˵ÄÊÇ£¬ ³ËÒÔ64Ö»ÐèÒª×óÒÆ6´Î¡£ÎÒÃÇÓÃ3¸ö8λ±äÁ¿±£´æ×îÖÕ½á¹û(counterval[3]).

ÏÖÔÚÎÒÃÇ¿ÉÒԵõ½Ò»¸ö24λµÄ¼ÆÊý½á¹û¡£ÎªÁËÄÜÏÔʾËü£¬±ØÐ뽫Ëûת±ä³ÉÊ®½øÖƵÄASCIIÂë¡£ PrintfÓõÄÊÇ×î³£Óõ쬵«ÎÒÃDz»»áÓÃÕâ¸ö·½·¨£¬ÒòΪËû»á³¬³öÎÒÃǵĴ洢·¶Î§¡£ ÎÒÃǽ«24λÊý×Ö³ýÒÔ10µÃµ½½á¹û£¬°Ñ¶þ½øÖÆÊýת»»³ÉÊ®½øÖÆÊý¡£½á¹û¶¼ÊÇÊ®½øÖÆÊý¡£AT90S4433²»Äܽø ÐÐ24λÔËË㣬Òò´ËÎÒÃÇÖ»ÄÜÓÃ8λ´¦ÀíÄ£¿é£¨function divby10())À´´¦Àí¡£¶¼ÒÔÁãÓÐЧֵµÄASCIIÂëÔö¼Ó µÄÿ¸ö°¢À­²®Êý×Ö×îºó¶¼Ìṩһ¸öÒÔASCII±í´ïµÄÊý×Ö£¨function longtoascii())¡£

ת»»¹ýµÄASCII×Ö·ûͨ¹ýRS232½Ó¿Ú±»´«Ë͵½LCDÏÔʾÆÁÏÔʾ³öÀ´¡£  

ÖÆ×÷Ó¡Ë¢Ïß·°å

ÔÚÈí¼þ°üÖаüº¬ÁËÒ»¸ö¸½¼þ£¨linuxfcount.ps)ÀïÃæÊǵç·ͼ¡£ÎÒ¸öÈ˾õµÃº¸ÅÌÓÐ̫СÁË¡£Òò´Ë£¬ ÎÒÇ¿Á¦ÍƼöÔÚÄ㶯ÊÖÊ´¿ÌÏß·°åǰÓÃÓÍÆáÔÚÕâЩµØ·½×÷¼ÇºÅ½«ËûÃÇÀ©´ó¡£¹ØÓÚÈçºÎ×Ô¼º¶¯ÊÖ×öÏß·°åµÄ ³ÌÐòÔÚÏÂÃæÎĵµÖÐÏêϸÃèÊöÁË£º2002µÚ5ÆÚ, ¸øÄãµÄLinux·þÎñÆ÷¼ÓÒ»¸öLCDǰ¿ØÖÆÃæ°å ÓÐЩ¶ÁÕ߸úÎÒ˵£¬Kontakt Pausklar-21 ÓÍÁϺÜÄÑÕÒµ½¡£ÄãÒ²¿ÉÒÔÓÃúÓÍÌæ´ú£¬ ¾ÍÏóÓÃÓ͵ÆÒ»Ñù¡£ÔÚÄ㽫°å×Ó½øÐÐÊ´¿Ì֮ǰ±ØÐëÓ÷ÊÔí½«ÃºÓͲÁÏ´¸É¾»¡£  

ÈçºÎΪƵÂʼÆÖÆ×÷Ò»¸öÍâ¿Ç?

[final case, open] [wooden frame] ¶ÔÓÚÊÇÒ»¸öÒµÓàµç×Ó°®ºÃÕߣ¬Ò»¸öºÜÖ÷ÒªµÄÄÑÌâ¾ÍÊÇΪ×Ô¼ºÉè¼ÆÖÆ×÷µÄµÄÏß·°åÅäÉÏÒ»¸öÍâ¿Ç¡£ ͨ³£Öƶ©Ò»¸öÂÁºÏ½ðµÄºÐ×ÓÊǺܰº¹óµÄ£¬¶øÇÒ×Ô¼º¶¯ÊÖÏ뾫ȷµÄÍäÇúһƬ½ðÊôƬÊDz»ÈÝÒ׵ġ£ ÎÒÒѾ­ÕÒµ½ÁËÒ»ÖÖ¼´±ãÒËÓÖ¿´ÉÏÈ¥ÓÐרҵˮ׼µÄ·½·¨¡£ÎÒÓÃɼľÀ´×ö±ßºÍ½Ç£¬Äú¿ÉÒÔ¸øËüÉϵãÓÍÆá£¬ ʹ¿´ÉÏÏԵûª¹óÒ»µã¡£ÓÃË®ÈÜÐÔÓÍÆáÀ´ÆáÄÚ±Ú¡£ºÐ×ÓµÄǰ²¿¡¢¶¥²¿¼°µ×²¿£¬ÎÒÓÃһЩ½ðÊôƬ£¬ ÎÒ²»ÐèÒªÍäÇúËüÃÇ¡£Ö»Òª½«ËüÃǰ´ÕýÈ·µÄ³ß´ç²ÃºÃ¾Í¿ÉÒÔÁË¡£Äã¿ÉÒÔÔÚͼƬÖп´µ½ºÐ×ÓÓÒ²àľ¿ò¼Ü µÄÑù×Ó¡£ÔÚ×ó²àÄã¿ÉÒÔ¿´µ½Íê³ÉºóµÄÑù×Ó£¨¶¥ÉϵĸDz»ÔÚ£©¡£  

×°Åä°å×Ó

[circuit] ÔÚº¸½Ó°å×ÓµÄʱºò£¬ÒªÌرð×¢Òâ¸ßÆµÇøÓò£¨MAX903ºÍ74F74¼°Æäµç×è¡¢µçÈÝ£©¡£Ò»°ãÇé¿öÏ£¬ ÎÒ¶¼ÍƼöʹÓü¯³É²å×ù£¬ÕâÑùÔÚ·¢Éú´íÎóʱ£¬¸ü»»±È½ÏÈÝÒס£µ«ÕâÁ½¸ö¼¯³ÉоƬ²»ÄÜʹÓü¯³É²å×ù£¬ ¾¡Á¿¼õÉÙ²úÉú¼ÄÉúÕðµ´¸ÉÈÅ¡£ÔÚµØÓëµçÔ´Ö®¼äµÄÂ˲¨µçÈݱØÐëʹÓÃСһµã´ÉƬµçÈÝ¡£Õâ¸öµçÈݵĴóС ¿ÉÒÔÊÇ10nFÖÁ100nFÖ®¼ä¡£

ÕâÊÇÎÒÃÇĿǰΪֹÔÚLinuxFocusϵͳÏÂÉè¼ÆµÄ×ÔÓµÄÒ»¿éµç·°å¡£ÎÒ½¨Ò⣬±ßº¸½Ó±ß½øÐвâÊÔ ²»Í¬µÄÆ÷¼þÊÇ·ñÕý³£¹¤×÷£¬È磺
  1. Ê×ÏȽ«ÊǵçÔ´²¿·Ö£¨Èç7805µÈ£©º¸µ½°å×ÓÉϲ¢²âÊÔÊÇ·ñ¹¤×÷¡£
  2. º¸½ÓÉÏËùÓеÄÔªÆ÷¼þ£¬µ«ÊÇ£¬ÎÒÃÇֻΪ´¦ÀíÆ÷ʹÓòå×ù£¡
  3. LinuxFocus 0.4°æ±¾Èí¼þ°üÖаüº¬ÁËÒ»¸ö²âÊÔ³ÌÐò£¬avr_led_lcd_test.c£¬ÓÃÀ´²âÊÔ΢´¦ÀíÆ÷ ¼°LED¡¢LCD£¬½«Ëü°²×°µ½ÄãµÄµçÄÔÉÏ¡£½«±à³ÌµçÀ°´ÕÕµÚһƪ¹ØÓÚAVRµÄÎÄÕ (2002 µÚÎåÆÚ, AVRµ¥Æ¬»úGCC±à³Ì) ËùÃèÊöµÄÄÇÑù½ÓºÃ£¬È»ºó¼üÈë"make testload"´Ó linuxfreqcount-0.4Èí¼þ°üÖа²×° avr_led_lcd_testÈí¼þ¡£LEDÓ¦¸ÃÔÚÉÁ˸£¬LCDÓ¦¸ÃÏÔʾ¡°HELLO¡±¡£
  4. Íê³ÉÒÔÉÏËùÓй¤×÷ºó£¬½«ËùÓеÉоƬ²åµ½²å×ùÉÏ¡£µ÷ÓÃ×îºóÒ»¸öÈí¼þ¡£½øÒ»²½×÷²âÊÔ£¬ Ê×ÏÈ£¬²âÊÔµÍÆµ²¿·Ö£¬Æä´ÎÊÇ¸ßÆµ²¿·Ö¡£ÄãÐèҪһЩ¸÷ÖÖÀàÐ͵ÄÕñµ´À´×÷ƵÂÊÔ´£¨Èç·½²¨ÐźÅ×÷ ΪÊ×Ñ¡µÄÊä³öÐźţ©¡£
 

ʹÓüÆÊýÆ÷

¼ÆÊýÆ÷¿ÉÒÔÔËÐÐÔÚ²»Í¬Ä£Ê½ÏÂ:
  1. 1.Á¬Ðø¼ÆÊý
  2. ÀûÓÃ1HzÃÅ¿ª¹Ø×÷ΪƵÂʲâÁ¿¡£ÔÚÕâÖÖģʽÏ£¬Í¨¹ý1/100·ÖƵ£¬Äã¿ÉÒÔ²âÁ¿µÄƵÂÊ×î´ó¿É´ï16룬 65535Hz»ò6553500Hz
  3. ÀûÓÃ64HzÃÅ¿ª¹Ø×÷ΪƵÂʲâÁ¿¡£ÔÚÕâÖÖģʽÏ£¬Äã¿ÉÒÔ²âÁ¿µÄƵÂÊ×î´ó¿É´ï1.5M,»òÕßͨ¹ý1/100·ÖƵ£¬ Äú¿ÉÒÔ²âÁ¿Æ·ÂÊ´ïµ½100M¡£
[RS232 ASCII ÃüÁî½Ó¿Ú]
RS232 ASCII ÃüÁî½Ó¿Ú.
Äã¿ÉÒÔͨ¹ý¸Ä±äģʽѡÔñ°´Å¥À´¸Ä±äģʽ£¬Ò²¿ÉÒÔͨ¹ýASCIIÃüÁî¿ØÖÆRS232¶Ë¿ÚÀ´¸Ä±ä¡£ RS232 ASCII¿ØÖƶ˿ÚÈçºÎ¹¤×÷ÔÚ2002Äê5ÔµÄÄÇÆªÎÄÕ AVRµ¥Æ¬»úGCC±à³Ì ÖÐÓÐÏêϸÃèÊö¡£Ò»Ð©ÃüÁîÓï¾ä¶¼ÔÚ README.commandsÕâÆªÎÄÕÂÖÐÓÐÃèÊö¡£

µ±ÃÅ´ò¿ªÊ±£¬Â̵ÄLED±»µãÁÁ£¬Õâʱ±íʾ£¬Âö³åÄܹ»½øÈë¼ÆÊýÆ÷²¢±»¼ÆÊý¡£

µÚ¶þ¸ö°´Å¥ÊÇÇå³ý°´Å¥¡£Õâ¸ö°´Å¥¿ÉÒÔÓÃÀ´Çå³ý¼ÆÊýÆ÷£¨Ö÷ÒªÕë¶Ô¼ÆÊýģʽ£©²¢½«Ëü³ËÒÔ100ºóÕý³£ÏÔʾ¡£ ³ËÒÔ100½«ÒýÆðÏÔʾ½á¹ûÒ²³ËÒÔ100¡£ÕâÖÖ·½·¨Äã²»±Ø¾­¹ýºÜ¸´ÔӵļÆËã¡£µ±ÄãʹÓÃ1/100Çý¶¯Ê±£¬ ÕâÊǷdz£ÓÐÓõġ£  

ÈçºÎÌá¸ß¾«¶È?

ÈκÎÒ»¸öÊý×Öʽ¼ÆÊýÆ÷¶¼ÓÐÒ»¸ö¡À1µÄ¾«¶È¡£¾¡¹ÜÄãʹÓÃÒ»¸ö·Ç³£Îȶ¨µÄÊäÈëÐźţ¬×îºóµÄÊý×Ö×Ü ÊÇ»áÓÐÒ»µãµãµÄÎó²î¡£Èç¹ûƵÂÊÃÅÊÇ64Hz£¬ÄÇô½á¹û¾ÍÔÚ¼ÆÊýÆ÷ÄÚ²¿³ËÒÔ64£¬Õâ¾ÍÒâζמ«¶È ÊÇ¡À64¡£Í¬ÑùµÄ£¬1/100Çý¶¯Ò²»áÓ°Ïì²âÁ¿¾«¶È¡£ÎÞÂÛÔõô˵£¬Õâ¸ö¼ÆÊýÆ÷»¹ÊǷdz£²»´íµÄ¡£ ¹Ø¼üÎÊÌâ³öÔÚ4194304Hz¾§ÕñµÄÎÂ¶ÈÆ®ÒÆÉÏ¡£ÔÚζȽϸßʱ£¬¾§ÕñËÙ¶È»á±È½ÏÂýһЩ¡£ ÕâÊÇÒ»¸öÎïÀíÏÖÏó£¬ÄãΨһÄÜ×öµÄ¾ÍÊÇͨ¹ý¾«È·µÄ¿ØÖÆÎ¶ÈÀ´Ïû³ýËü¡£

Èç¹ûÓкܺõIJο¼Ðźţ¬ÄãÒ²¿ÉÄÜУ׼¼ÆÊýÆ÷¡£Äã¿ÉÒÔͨ¹ýÈí¼þУ׼£¬ÔÚº¯Êýhandlecounterresult() ÖмÓÈëÒ»¸öССµÄÑÓʱ¡£ÎÒÔø½«ÎҵļÆÊýÆ÷ÓëÒ»¸ö²Î¿¼ÐźÅ×öÁ˱Ƚϣ¬·¢ÏÖÎÒÃǼÆÊýÆ÷ÊǼ¸ºõûÓÐÎó²î¡£ Òò´Ë£¬Ð£×¼ÑÓʱÆÕ±éµØ³öÏÖÔÚÔ´´úÂëµ±ÖС£Äã¿ÉÒÔͨ¹ý¸Ä±äÆäÖеÄÒ»¸ö27pFµÄµçÈÝÀ´Î¢µ÷¾§ÕñµÄƵÂÊ £¨Äã²»µÃ²»ÓÃ10pF¡¢50pFµÈµÄµçÈÝÒ»¸ö¸öµÄ×öʵÑ飩¡£

ÔÚ³£¹æÇé¿öÏÂʹÓÃʱ£¬²»±ØÒªÈ¥Ð£×¼¡£±ê×¼µÄ4194304Hz¾§ÕñÊǷdz£¾«È·µÄ¡£  

¹¤×÷ÖеļÆÊýÆ÷

ÕâÊÇÒ»ÕżÆÊýÆ÷ÔËÐÐÖеÄÕÕÆ¬:
[ƵÂʼÆÕÕÆ¬]

 

ÉîÈëѧϰ

ÔÚÕâÆªÎÄÕÂÖв¢Ã»ÓÐÌṩLinuxϵͳϵÄÓ¦ÓóÌÐòÀ´×Ô¶¯µÄ²â³ö½á¹ûµÄÖµ¡£ ÓÐÒ»µã¿ÉÒÔ Ïëµ½µÄÊÇÄã¿ÉÒÔÓÃÕâ¸öƵÂʼÆÀ´²âÁ¿Æ«Ô¶ÇøÓòµÄ·çËÙ»òÁíÍâÈκÎÒ»ÖÖ¿ÉÒÔ±»×ª±ä³ÉÊý×Ö ÐźŵÄʼþ¡£ÔÚLinuxϵͳÏÂдһ¸ö³¤Ê±¼ä²âÁ¿µÄÈí¼þ²¢²»ÊÇÒ»¼þºÜÂé·³µÄÊ¡£Äã¿ÉÒÔÐÞ¸Ä 2002 µÚ5ÆÚ, ¸øÄãµÄLinux·þÎñÆ÷¼ÓÒ»¸öLCDǰ¿ØÖÆÃæ°å ÕâÆªÎÄÕÂÖÐÌṩµÄ³ÌÐò£¬Èç¹ûÄãÖ»Ïë°Ñ²âÁ¿µÄ½á¹û´¢´æµ½Ò»¸öÎļþÖУ¬Ö»ÒªÓÃÒÔÏÂÁ½¸öÃüÁî¾Í¿ÉÒÔÁË£º

ttydevinit /dev/ttyS0
cat /dev/ttyS0 > your_logfile.txt

¼ÙÉèÆµÂʼƱ»Á¬½ÓÔÚµçÄ﵀ COM1 ¶Ë¿Ú (=ttyS0).
Õâ¸öºÜÈÝÒײ»ÊÇÂð :-)?  

²Î¿¼ÎÄÏ×

   

¶ÔÕâÆªÎÄÕ·¢±íÆÀÂÛ

ÿƪÎÄÕ¶¼Óи÷×Եķ´À¡Ò³Ãæ¡£ÔÚÕâ¸öÒ³ÃæÀÄú¿ÉÒÔÌá½»ÆÀÂÛ£¬Ò²¿ÉÒԲ鿴ÆäËû¶ÁÕߵįÀÂÛ£º
 ·´À¡Ò³Ãæ 

Ö÷Ò³ÓÉLinuxFocus±à¼­×éά»¤
© Guido Socher, FDL
LinuxFocus.org

µã»÷ÕâÀïÏòLinuxFocus±¨¸æ´íÎó»òÌá³öÒâ¼û
·­ÒëÐÅÏ¢:
en --> -- : Guido Socher (homepage)
en --> zh: hejoin <tech(at)hejoin.com>

2002-03-13, generated by lfparser version 2.27