µ¥Æ¬»úʵÑ鱨¸æ(2)

2019-03-03 14:04

2¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Options for TargetÑ¡Ïî¡£ÔÚµ¯³öµÄ´°¿ÚÖУ¬Ñ¡ÔñoutputÑ¡ÏÔÚCreat HEX FileµÄ¹´Ñ¡ÏîÖУ¬¹´Ñ¡¡£ÕâÑù²ÅÄÜÉú³ÉHEXÎļþ¡£

3¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Build targetÑ¡Ïî,ÈçÎÞ´íÎó»òÌØ±ð¾¯¸æ£¬±àÒëÁ´½ÓÍê³Éºó¾Í»á²úÉúÏàÓ¦¹¤³ÌµÄHEXÎļþÁË¡£

4¡¢Èç¹ûÎÞ·ÂÕæ¹¤³Ìʱ£¬¿ÉÌø¹ýÏÂÁв½Öè¡£ÓÐÏàÓ¦µÄ·ÂÕæ¹¤³ÌÎļþʱ£¬¿É½øÐÐÏÂÁв½Ö裺

a¡¢Ë«»÷´ò¿ªP_PROTEUSÎļþ¼ÐÖеĺó׺ΪDSNµÄ·ÂÕæ¹¤³ÌÎļþ¡£

b¡¢ÔÚ´¦ÀíÆ÷оƬAT89C52Æ÷¼þÉÏ£¬Êó±êÓÒ¼üµ¥»÷£¬Ñ¡ÔñEdit PropertiesÑ¡Ï»òÕßË«»÷AT89C52оƬ£¬ÔÚProgram FileµÄä¯ÀÀÑ¡ÏîÖÐÌí¼ÓÉÏÃæ²½ÖèÖÐÉú³ÉµÄHEXÎļþ¡£µã»÷OK£¬Íê³ÉHEXÎļþÌí¼Ó¡£

c¡¢Ñ¡Ôñ²Ëµ¥DebugµÄÏÂÀ­²Ëµ¥Start/Restart DebuggingÑ¡Ïî¡£´Ëʱ³ÌÐòÒÑ´¦ÓÚµ÷ÊÔ״̬£¬Í¬ÑùÔÙ´ÎÑ¡Ôñ²Ëµ¥Debug,Ñ¡ÔñExecuteÑ¡Ï³ÌÐò¿ªÊ¼ÔËÐС£¿Éͨ¹ýÈË»ú½Ó¿Ú¹Û²ì³ÌÐòµÄЧ¹û¡£

5¡¢Á¬½ÓISPÏÂÔØÆ÷Ò»¶Ëµ½USB½Ó¿Ú£¬ÁíÒ»¶ËÁ¬µ½Ä¿±ê°å¡£´ò¿ªÊµÑę́µçÔ´£¬²Î¿¼²úƷ˵Ã÷ÊéÖеÄISPÏÂÔØÈí¼þʹÓ÷½·¨¶Ô³ÌÐò½øÐÐÏÂÔØ¡£

[³ÌÐò¼°×¢ÊÍ]

#include #include

#define uchar unsigned char //Êý¾ÝÀàÐͺ궨Òå #define uint unsigned int

/*********************Òý½Å¶¨Òå********************/ #define LED P0

/*********************ÑÓʱº¯Êý********************/ void delayms(uchar ms) // ÑÓʱ×Ó³ÌÐò { unsigned char i; while(ms--) { for(i = 0; i < 120; i++); } }

/*********************Ö÷º¯Êý**********************/ void main(void) { LED = 0xfe; //³õʼ»¯P0¿Ú while(1) { //ÑÓʱ delayms(250); LED = _crol_(LED,1); //Ñ­»·ÓÒÒÆ1룬µãÁÁÏÂÒ»¸öLED

}

}

[ʵÑéÏÖÏó¼°½á¹û]

ʵÏÖLEDÁ÷Ë®µÆ

ʵÑéÈý

ÍⲿÖжϼÆÊýʵÑé

[ʵÑéÄ¿µÄ]

ÕÆÎÕµ¥Æ¬»úÍⲿÖжϵÄÉèÖã¬ÖжϺ¯ÊýµÄ´¦Àí¡£

[ʵÑéÄÚÈÝ]

MCU-AT89S52 P00~P07 P10~P13 P32 8λ¹²ÑôÊýÂë¹Ü SA~SH C0~C3 8λ¶ÀÁ¢°´¼ü K1

[ʵÑéÒªÇó]

ÔÚµ¥Æ¬»ú½ÓÒ»¸ö°´¼ü×÷ΪÍⲿµÄÖжÏÊäÈëÐźţ¬Í¨¹ýÊýÂë¹ÜÏÔʾÖжϴÎÊý¡£

[ʵÑé²½Öè]

1¡¢´ò¿ªUv4 IDE»·¾³£¬Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Open ProjectÑ¡Ïî, ¼ÓÔØºó׺ÃûΪuvprojµÄ¹¤³ÌÎļþ¡£

2¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Options for TargetÑ¡Ïî¡£ÔÚµ¯³öµÄ´°¿ÚÖУ¬Ñ¡ÔñoutputÑ¡ÏÔÚCreat HEX FileµÄ¹´Ñ¡ÏîÖУ¬¹´Ñ¡¡£ÕâÑù²ÅÄÜÉú³ÉHEXÎļþ¡£

3¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Build targetÑ¡Ïî,ÈçÎÞ´íÎó»òÌØ±ð¾¯¸æ£¬±àÒëÁ´½ÓÍê³Éºó¾Í»á²úÉúÏàÓ¦¹¤³ÌµÄHEXÎļþÁË¡£

[³ÌÐò¼°×¢ÊÍ]

#include #include

#define uchar unsigned char #define uint unsigned int

/**********************¹²ÑôÊýÂë¹Ü±àÂë±í***************************/ unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3

0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off

unsigned char dis_buf[4]; // ÏÔʾ»º³åÇø uint int0_cnt=0; //¼ÆÊý³õʼ»¯

/**********************º¯Êý¶¨Òå***********************************/ void update_disbuf(); void delayms(uint j);

/**********************Ö÷º¯Êý*************************************/ void main(void) { IE=0X81; //¿ª×ÜÖжϺÍÍâÖжÏ0 IT0=1; //ϽµÑØ´¥·¢ P0=0x00; //³õʼ»¯io¿Ú P1=1; dis_buf[0]=dis_code[0]; //»º³åÆ÷³õʼ»¯ dis_buf[1]=dis_code[0]; dis_buf[2]=dis_code[0]; dis_buf[3]=dis_code[0]; while(1) { P0=dis_buf[3]; P1=0x01; // ÏÔʾǧλ delayms(5); P0=0xff;

P0=dis_buf[2]; // ÏÔʾ°Ùλ P1=0x02; delayms(5); P0=0xff; P0=dis_buf[1]; // ÏÔʾʮλ P1=0x04; delayms(5); P0=0xff;

P0=dis_buf[0]; // ÏÔʾ¸öλ P1=0x08; delayms(5); P0=0xff; } }

/*********************INT0Öжϴ¦Àíº¯Êý*****************************/ void ex_int0()interrupt 0 { EX0=0; //¹Ø±ÕÖÐ¶Ï int0_cnt++; //¼ÆÊýÆ÷¼Ó1

if(int0_cnt>9999) //ÅÐ¶Ï int0_cnt=0; dis_buf[3]=dis_code[int0_cnt/1000]; //·ÖÀë³öǧλÊý dis_buf[2]=dis_code[int0_cnt00/100]; //·ÖÀë³ö°ÙλÊý dis_buf[1]=dis_code[int0_cnt0/10]; //·ÖÀë³öʮλÊý dis_buf[0]=dis_code[int0_cnt]; //·ÖÀë³ö¸öλÊý EX0=1; //¿ªÖÐ¶Ï }

/*********************ÑÓʱº¯Êý*************************************/ void delayms(uint j) { uchar i; for(;j>0;j--) { i=250; while(--i); i=249; while(--i); }

}

[ʵÑéÏÖÏó¼°½á¹û]

ͨ¹ýÒ»¸ö°´¼üÀ´ÌṩÖжÏÐźţ¬µ«ÊÇÓÉÓÚ°´¼üÓж¶¶¯ÏÖÏó£¬ËùÒÔÿ°´Ò»´ÎÓпÉÄܲúÉú¶à´Î¼ÆÊýÂö³å£¬µ±ÓÐÍⲿÖжÏʱ£¨Óð´¼üK1Ä£ÄâÍⲿÖжϣ©£¬¼ÆÊýÆ÷¼Ó1.

ʵÑéËÄ

¼ÆÊýÆ÷ʵÑé

[ʵÑéÄ¿µÄ]

1.ÕÆÎÕ¶¨Ê±Æ÷£¬¼ÆÊýÆ÷µÄ¼Ä´æÆ÷ÉèÖᣠ2.ѧ»á¶¨Ê±Æ÷ÖжϺ¯ÊýµÄ´¦Àí¡£

[ʵÑéÄÚÈÝ]

MCU-AT89S52 P00~P07 P20~P23 P34-ƵÂÊÊäÈë 8λ¹²ÑôÊýÂë¹Ü SA~SH C0~C3 [ʵÑéÒªÇó]

ÀûÓö¨Ê±Æ÷ºÍ¼ÆÊýÆ÷×é³ÉÒ»¸ö²âƵµç·¡£Í¨¹ýÊýÂë¹ÜÏÔʾ¡£

[ʵÑé²½Öè]

1¡¢´ò¿ªUv4 IDE»·¾³£¬Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Open ProjectÑ¡Ïî, ¼ÓÔØºó׺ÃûΪuvprojµÄ¹¤³ÌÎļþ¡£

2¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Options for TargetÑ¡Ïî¡£ÔÚµ¯³öµÄ´°¿ÚÖУ¬Ñ¡ÔñoutputÑ¡ÏÔÚCreat HEX FileµÄ¹´Ñ¡ÏîÖУ¬¹´Ñ¡¡£ÕâÑù²ÅÄÜÉú³ÉHEXÎļþ¡£ 3¡¢Ñ¡Ôñ²Ëµ¥ProjectµÄÏÂÀ­²Ëµ¥Build targetÑ¡Ïî,ÈçÎÞ´íÎó»òÌØ±ð¾¯¸æ£¬±àÒëÁ´½ÓÍê³Éºó¾Í»á²úÉúÏàÓ¦¹¤³ÌµÄHEXÎļþÁË¡£

[³ÌÐò¼°×¢ÊÍ]

#include #include

#define uchar unsigned char //Êý¾ÝÀàÐͺ궨Òå #define uint unsigned int #define out P0 //IO¶Ë¿Ú¶¨Òå

/*******¹²ÑôÊýÂë¹Ü 0 £¬ 1 £¬2 £¬3 £¬ 4 £¬5 £¬6 £¬ 7£¬ 8 £¬9 ******/ uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x01};

uint i = 0; //È«¾Ö±äÁ¿ uint cnt=0;

/***********Ö÷º¯Êý*******************************************************/ void main(void) { int j; TMOD=0x15; // ¶¨Ê±Æ÷0¹¤×÷ÓÚ¼ÆÊý·½Ê½£¬¹¤×÷·½Ê½1£¬16λ¼ÆÊý // ¶¨Ê±Æ÷1¹¤×÷ÓÚ¶¨Ê±·½Ê½£¬¹¤×÷·½Ê½1£¬16λ¶¨Ê± TH0=0; // ÇåÁã¼ÆÊýÆ÷ TL0=0; TH1=0x4C; // 12M¾§Õñ¹¤×÷Ï£¬¶¨Ê±50ms TL1=0x00; TR0=1; // Æô¶¯¶¨Ê±Æ÷0 TR1=1; // Æô¶¯¶¨Ê±Æ÷1 IE=0x88; // ´ò¿ª¶¨Ê±ÖжÏ1ºÍ×ÜÖÐ¶Ï while(1) { P2=0x00; // Êä³ö°Ùλ


µ¥Æ¬»úʵÑ鱨¸æ(2).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£ºËÄ·çÎÊÌâÇåµ¥

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º