µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µ¥Æ¬»úƵÂʼÆÊýÆ÷ ºþÄϹ¤³ÌѧԺ¿ÎÉè

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2026/1/3 23:53:33 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

µÚ4Õ Èí¼þ²¿·ÖµÄÉè¼Æ

4.1 Èí¼þÉè¼ÆË¼Â·

ÔÚ¼ÆÊýÆ÷¹¤×÷·½Ê½Ï£¬¼ÓÖÁÍⲿÒý½ÅµÄ´ý²âÐźŷ¢Éú´Ó1µ½0µÄÌø±äʱ¼ÆÊýÆ÷¼Ó1¡£ÍⲿÊäÈëÔÚÿ¸ö»úÆ÷ÖÜÆÚ±»²ÉÑùÒ»´Î£¬ÕâÑù¼ì²âÒ»´Î´Ó1µ½0µÄÌø±äÖÁÉÙÐèÒª2¸ö»úÆ÷ÖÜÆÚ£¨24¸öÕñµ´ÖÜÆÚ£©£¬ËùÒÔ×î´ó¼ÆÊýËÙÂÊΪʱÖÓÆµÂʵÄ1/24£¨Ê¹ÓÃ12MHzʱÖÓ£¬×î´ó¼ÆÊýËÙÂÊΪ500kHz£©,Ò²¾ÍÊÇ˵£¬Ê¹ÓÃ12MHzʱÖÓµÄAT89C51µ¥Æ¬»úÉè¼ÆµÄƵÂʼÆÊýÆ÷ϵͳ£¬Ëù²âÐÅºÅµÄÆµÂʲ»ÄÜ´óÓÚ500kHz£¬Èô´óÓÚÔò±ØÐëͨ¹ý·ÖƵÆ÷·ÖƵ²ÅÄܲâÊÔ£¬¶ø±¾´ÎÈÎÎñµÄÒªÇóÊǶÔ0-300kHzµÄÐźŽøÐвâÁ¿£¬ËùÒÔ¿ÉÒÔÖ±½Ó½øÐС£

ÀûÓÃAT89C51µ¥Æ¬»úµÄTO£¬T1µÄ¶¨Ê±/¼ÆÊýÆ÷¹¦ÄÜ£¬À´Íê³É¶ÔÊäÈëµÄÐźŽøÐÐÆµÂʼÆÊý¡£ÉèÖö¨Ê±Æ÷0¹¤×÷·½Ê½1£¬¶¨Ê±1s,²¢²úÉú·½²¨ÐźŴÓP1.1Òý½ÅÊä³ö¡£ÉèÖö¨Ê±Æ÷1¹¤×÷ÔÚ¼ÆÊý·½Ê½1£¬¶ÔÊäÈëÂö³å½øÐмÆÊý£¬Òç³ö²úÉúÖжϡ£½«¶¨Ê±Æ÷1Öж϶¨ÒåΪÓÅÏÈ¡£ÓÉÓÚ16λ¶þ½øÖƼӷ¨¼ÆÊýÆ÷µÄ×î´ó¼ÆÊýֵΪ65535,1sÖ®ÄÚ¿ÉÄÜ»á²úÉú¶à´ÎÒç³ö£¬ËùÒÔÐèÒªÔÚÖжϴ¦Àí³ÌÐòÀï¶ÔÖжϴÎÊý½øÐмÆÊý¡£1sµ½ºó£¬½«ÖжϴÎÊýºÍ¼ÆÊýÆ÷ÀïµÄÊýֵȡ³ö½øÐÐ×ۺϴ¦Àí£¬´¦ÀíºóµÄÊý¾ÝËÍÏÔʾ¡£

¶¨Ê±Æ÷T0µÄ¼ÆÊý³õÖµ£ºÓÉÓÚ¶¨Ê±Æ÷T0¹¤×÷ÔÚ¶¨Ê±·½Ê½Ê±×î´óµÄ¶¨Ê±Ê±¼ä´óԼΪ65ms£¬ÈôÒª¶¨Ê±1s,¿ÉÒÔ²ÉÓö¨Ê±10ms,ÖжÏ100´ÎÀ´Íê³É1sµÄ¶¨Ê±¡£¶ÔÓÚ¶¨Ê±10msÀ´Ëµ£¬Óö¨Ê±Æ÷·½Ê½1¿ÉʵÏÖ¡£

»úÆ÷ÖÜÆÚΪ£º

Tp=12/¾§ÕñƵÂÊ=12/12MHz=1¦Ìs ¼ÆÊý³õֵΪ£º

X=2^n-Tc=2^16-50000=15536=3CB0H ¹ÊTHO=3CH,TL0=E0H¡£

ÐÅºÅÆµÂʵļÆË㣺T1¹¤×÷ÔÚ¼ÆÊý·½Ê½Ê±×î´óµÄ¼ÆÊýֵΪ2^16£¬¼ÙÉè1sÄÚÒç³öC1´Î£¬×îºóδÒç³öµÄ¼ÆÊýֵΪC2£¬F=C1*2^16+C2=C1*65536 +(TH1*256+TL1)¡£

8

4.2 Èí¼þÉè¼ÆÁ÷³Ìͼ

¿ªÊ¼ÉèÖÃÊäÈëÐÅºÅÆµÂÊÖµÊǸ´Î»£¿·ñ¼ÆÊýÆ÷¡¢¶¨Ê±Æ÷¹¤×÷ÊýÂë¹ÜÏÔʾƵÂÊÖµ½áÊø

Èí¼þÉè¼ÆÁ÷³Ìͼ

4.3 Ô´³ÌÐò±àд

#include

unsigned long g_iCnt=0,g_CntLock; unsigned char g_cdisnum[6];

code unsigned char g_cDistable[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char cnt10ms=0; //ÑÓʱ

9

void delay(unsigned int cnt) {

while(--cnt); }

/*------------------------------------------------ ¶¨Ê±Æ÷³õʼ»¯×Ó³ÌÐò

------------------------------------------------*/ void Init_Timer0(void) {

TMOD |= 0x01; //ʹÓÃģʽ1£¬16λ¶¨Ê±Æ÷£¬Ê¹ÓÃ\·ûºÅ¿ÉÒÔÔÚʹÓöà¸ö¶¨Ê±

Æ÷ʱ²»ÊÜÓ°Ïì

TH0=0x3C; //¸ø¶¨³õÖµ£¬ÕâÀïʹÓö¨Ê±Æ÷×î´óÖµ´Ó0¿ªÊ¼¼ÆÊýÒ»Ö±µ½10msÒç³ö TL0=0xB0;

EA=1; //×ÜÖжϴò¿ª ET0=1; //¶¨Ê±Æ÷Öжϴò¿ª TR0=1; //¶¨Ê±Æ÷¿ª¹Ø´ò¿ª }

void ShowToSeg(unsigned long uiNumber) {

static unsigned long PreuiNumber; if(PreuiNumber != uiNumber) {

g_cdisnum[0]=uiNumber/100000; //°Ñ¼ÆËãÊý×ÖµÄÿ¸öλ´æÈëÊý×é¡£ g_cdisnum[1]=(uiNumber/10000); g_cdisnum[2]=(uiNumber/1000); g_cdisnum[3]=(uiNumber/100); g_cdisnum[4]=(uiNumber/10); g_cdisnum[5]=(uiNumber); }

PreuiNumber = uiNumber; }

void Show() {

static char num=0;

ShowToSeg(g_CntLock); P1 = num;

P0=g_cDistable[g_cdisnum[num]]; num++; if(num>5) num=0; delay(40); }

char flag=0;

10

void main() {

EX0=1; //ÍⲿÖжÏ0¿ª IT0=1; //±ßÑØ´¥·¢ Init_Timer0();

EA=1; //È«¾ÖÖжϿª while(1) {

//ÔÚ´ËÌí¼ÓÆäËû³ÌÐò Show(); } }

/*------------------------------------------------ ÍⲿÖжϳÌÐò

------------------------------------------------*/ void ISR_Key(void) interrupt 0 using 1 {

g_iCnt++; }

void Timer0_isr(void) interrupt 1 using 1 {

TH0=0x3C; //¸ø¶¨³õÖµ£¬ TL0=0xB0;

cnt10ms++; P2^=0x01; if(20==cnt10ms) {

cnt10ms=0;

g_CntLock=g_iCnt; g_iCnt=0; } }

11

µ¥Æ¬»úƵÂʼÆÊýÆ÷ ºþÄϹ¤³ÌѧԺ¿ÎÉè.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c05doq5n0iq7wp9920sxj_3.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top