±ÏÒµÉè¼Æ»ùÓÚµ¥Æ¬»úµÄÖÇÄÜÑ­¼£Ð¡³µ ÏÂÔر¾ÎÄ

word¸ñʽÎĵµ

ͼ4-1 Keil for 51 ¿ª·¢Æ½Ì¨½Øͼ

KEIL for C51 ±àÒëƽ̨¶Ô51µ¥Æ¬»úµÄÆ÷¼þÑ¡ÐÍÉèÖá£Èçͼ4-2Ëùʾ¡£

ͼ4-2 MCUÑ¡ÐÍÉèÖÃ

4.2 ϵͳÈí¼þÁ÷³Ì

ϵͳÈí¼þÁ÷³ÌͼÈçͼ4-3Ëùʾ¡£

רҵÕûÀí

word¸ñʽÎĵµ

ͼ4-3 ϵͳÁ÷³Ìͼ

4.3 ϵͳÈí¼þ³ÌÐò

#include //°üº¬µ¥Æ¬»ú¼Ä´æÆ÷µÄÍ·Îļþ #include //°üº¬ÑÓʱ×Ó³ÌÐòµÄÍ·Îļþ

//ºê¶¨Òå

#define uchar unsigned char //ÎÞ·ûºÅ°Ëλ×Ö·ûÐÍÊý¾Ý #define uint unsigned int //ÎÞ·ûºÅ16λÕûÐÎÊý¾Ý #define ulong unsigned long //ÎÞ·ûºÅÈýÊ®¶þ볤ÕûÐÍ

//״̬¶¨Òå

uchar go=0xFA; //1111_1010 Ç°½ø uchar back=0xF5; //1111_0101 ºóÍË uchar left=0xFE; //1111_1110 ×óת uchar right=0xFB; //1111_1011 ÓÒת //ÑÓʱº¯Êý void delay() { uint i,j;

for(i=0;i<500;i++) for(j=0;j<800;j++); }

רҵÕûÀí

word¸ñʽÎĵµ

//Æô¶¯Èí¼þ¿´ÃŹ·WDTRST ·ÀÖ¹³ÌÐòÅÜ·ÉÔö¼ÓϵͳµÄÎȶ¨ÐÔ sfr WDTRST=0xA6; //¿´ÃŹ·¼Ä´æÆ÷0xA6

//ι¹·³ÌÐò void FeedDog() {

WDTRST=0x1e; //¸ø¼Ä´æÆ÷×°Öµ WDTRST=0xe1; }

//¶¨Ê±Æ÷³õʼ»¯³ÌÐò void Initial() {

TMOD=0x01; //¶¨Ê±Æ÷0¹¤×÷ÔÚ·½Ê½1 TH0=0xf0; //¸ß°Ëλװֵ1111¡ª¡ª0000 TL0=0xf0; //µÚ°Ëλװֵ1111_0000 TR0=1; //Æô¶¯¶¨Ê±Æ÷ ET0=1; // ¶¨Ê±Æ÷ÖжÏÔÊÐí EA=1 ; //¿ª·Å×ÜÖÐ¶Ï }

//Ö÷³ÌÐò

//¶Ô´«¸ÐÆ÷ÊäÈëÐźŽøÐÐÂÖѯ²¢¾ö¶¨µ±Ç°Ð¡³µÐÐÊ»·½Ê½

רҵÕûÀí

word¸ñʽÎĵµ

void main() {

FeedDog(); //¸ÕÈëÖ÷³ÌÐòιһ´Î¹·

Initial(); //¶¨Ê±Æ÷³õʼ»¯

P1=0xFF; //¶Ë¿Ú³õʼ»¯ÓÃÓÚ¿ØÖƵç»ú P3=0xFF; //´«¸ÐÆ÷״̬½ÓÊÕ

while(1) //¶Ô´«¸ÐÆ÷ÊäÈëÐźŲ»¶ÏµØ½øÐвéѯ

{

if(P3 == 0x7F)//0111_1111

P1=left; //Ö´ÐÐ×óתָÁî else if(P3 == 0xBF)//1011_1111 P1=right; //Ö´ÐÐÓÒתָÁî

else

P1=go; //·ñÔò¾ÍÏòÇ°ÐÐÊ» } }

//¶¨Ê±Æ÷ÖжϺ¯ÊýÖ´ÐÐι¹·¶¨Ê±Æ÷ÖØ×°³õÖµ void timer0() interrupt 1 //ʹÓÃÖÐ¶Ï {

TH0=0xf0;

TL0=0xf0; //¶¨Ê±Æ÷ÖØÔسõÖµ¸ß°ËλµÚ°Ëλ

רҵÕûÀí

word¸ñʽÎĵµ

FeedDog();//ÿ¹ýÒ»¶¨Ê±¼äιϹ·£¬²»È»³ÌÐò»á×Ô¶¯¸´Î»

4.4 Ñ­¼£´¦ÀíÈí¼þÁ÷³Ì

ÔÚ°×É«±³¾°ÖÐÓÐÒ»ÌõºÚÉ«µÄÏߣ¬Ð¡³µ¾ÍÊÇÒªÑØ×ÅÕâÌõºÚÏßÐÐ×ߣ¬Í¨¹ýÅжϷ´Éäʽ¹âµç´«¸ÐÆ÷Ëù½ÓÊÕµ½µÄ·´Éä¹âÀ´ÅжÏС³µËùÓ¦ÐÐ×ߵķ½Ïò¡£ÒÔÈý¸ö·´Éäʽ¹âµç´«¸ÐÆ÷ΪÀý½øÐÐ˵Ã÷Ñ­ÏßµÄÔ­Àí¡£¹âµç´«¸ÐÆ÷ÓëºÚÏßλÖùØϵʾÒâͼÈçͼ4-4Ëùʾ¡£

ͼ4-4 ¹âµç´«¸ÐÆ÷ÓëºÚÏßλÖùØϵʾÒâͼ

¼ì²â»·½ÚÖÐÒ»¹²ÓÐ6¸öÕâÑùµÄ´«¸ÐµÄºìÍâ¼ì²âµ¥Ôª£¬ÊµÏÖ×éºÏʽµÄ¿ØÖÆ·½ÏòµÄ¼ì²â¡£6¸ö¹âÃô´«¸Ðµç·×éºÏ¹¦Äܼû±í4-1¡£

±í4-1 ¹âÃô´«¸ÐÆ÷״̬ÕæÖµ±í

С ³µ ´« ¸Ð ×óX Æ÷ ºÅ ÓÒY 2ºÅ 1 1 0 0 ×´ 1ºÅ 1 0 1 0 ̬ Õý³£ÐÐÊ» ÓÒת ×óת ÍÑÀëÒýµ¼Ïß Í¨¹ýÑ­»·¼ì²âÊäÈë¶Ë¿ÚµÄ¼ì²âÖµ£¬ÅжÏĿǰѲÏßËù´¦µÄλÖ㬲¢ÇÒͨ¹ý¿ØÖƵç»úÊä³öÀ´ÊµÏÖ×óת¡¢ÓÒת¡¢Ö±ÐÐÔ˶¯¡£¼ì²â²¿·Öº¯Êý˵Ã÷

while(1) //¶Ô´«¸ÐÆ÷ÊäÈëÐźŲ»¶ÏµØ½øÐвéѯ

{

if(P3 == 0x7F)//0111_1111

P1=left; //Ö´ÐÐ×óתָÁî

רҵÕûÀí