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

»ùÓÚµ¥Æ¬»ú²½½øµç»úµ÷ËÙ¿ØÖÆÏµÍ³Éè¼ÆÂÛÎÄ003 - ͼÎÄ

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

³£ÖÝÐÅÏ¢Ö°Òµ¼¼ÊõѧԺµç×ÓÓëµçÆø¹¤³ÌѧԺ ±ÏÒµÉè¼ÆÂÛÎÄ

ͼ3.8 Èí¼þµÄÄ£¿é½á¹¹Í¼

3.2.1Ö÷³ÌÐòµÄÉè¼Æ

²½½øµç»úËÅ·þ¿ØÖÆÆ÷ÉϵçÖ®ºó, ʼ½øÐÐϵͳµÄ³õʼ»¯,Ò»µ©Óû§°´Ï¿ØÖÆÌ¨µÄÏàÓ¦°´¼ü,·¢³öÖжÏÇëÇó,ÏìÓ¦ÖжÏÇëÇó,µ÷ÓÃÏàÓ¦µÄÏÔʾ×Ó³ÌÐò,ͬʱÔÚÒº¾§ÏÔʾÆ÷ʵʱÏÔʾ²½½øµç»úµÄÔËÐÐ״̬(RUN STATE),¼°ÔËÐеÄËÙ¶ÈÖµ(SPEED),µç»ú³õʼËÙ¶ÈÉ趨Ϊ120n/niin.ϵͳÖ÷Á÷³ÌͼÈçͼ3.9Ëùʾ¡£²½½øµç»úËÅ·þ¿ØÖÆÆ÷²¿·ÖCÓïÑÔ³ÌÐòÈçÏÂ

ͼ3.9 ϵͳÖ÷Á÷Á÷³Ìͼ

²½½øµç»úËÅ·þ¿ØÖÆÆ÷²¿·ÖCÓïÑÔ³ÌÐò£º

#include int delay ();

18

³£ÖÝÐÅÏ¢Ö°Òµ¼¼ÊõѧԺµç×ÓÓëµçÆø¹¤³ÌѧԺ ±ÏÒµÉè¼ÆÂÛÎÄ

void delay.nms (unsigned int n);//ÑÓʱº¯Êý void int i-led (); void show.led (int); void cmd-wr (); void ShowState ();

void clock (unsigned int Delay); void DoSpeed 0 ; //¼ÆËãËÙ¶È //Õýתֵ,

#define RIGHT-RUN 1 //·´×ªÖµ

#define LEFT-RUN 0 #define LCD.DATA PI sbit RS=P0A0; sbit RW=P0A1; sbit E=P0A2; sbit P2.1=P2A1; sbit P2.0-P2A0; sbit P1_7=P1A7; sbit aO=P2A2; sbit al=P2A3; sbit a2=P2A4; sbit a3=P2A5; sbit a4=P2A6; sbit a5=P2A7;

char SpeedChar [] = {\(n/min): char StateChar[] = {\STATE:\char STATE¡ªCW[] = {\char STATE-CCW[]?(\char SPEED [3] = {%unsigned int RunSpeed=50; //ËÙ¶È

unsigned char RunState-RIGHT_RUN; //ÔËÐÐ״̬ ¡°oid main () { EA=1;

//¿ªÖжÏ

19

³£ÖÝÐÅÏ¢Ö°Òµ¼¼ÊõѧԺµç×ÓÓëµçÆø¹¤³ÌѧԺ ±ÏÒµÉè¼ÆÂÛÎÄ

IT0=1;

//Âö³å·½Ê½

EXO^l;

//¿ªÍⲿÖжÏ0:¼ÓËÙ

IT1=1;

//Âö³å·½Ê½

EX1 = 1;

//¿ªÍⲿÖжÏ1:¼õËÙ

inti-lcd (); DoSpeed (); ShowState (); whi le (1) {

P2_l=P2_lA0x01; clock (RunSpeed); }}

//ÖжÏ0:¼ÓËÙ³ÌÐò void INT_0 () interrupt 0 { }

void INT_1 () interrupt 2 { }

int delay () //ÅжÏLCDÊÇ·ñæ

{ int a; start: RS=0; RW-1; E=0;

for (a=0; a<2; a++); E=l; Pl=0xff;

20

³£ÖÝÐÅÏ¢Ö°Òµ¼¼ÊõѧԺµç×ÓÓëµçÆø¹¤³ÌѧԺ ±ÏÒµÉè¼ÆÂÛÎÄ

if (Pl_7==0) return 0; else goto start;}

void clock (unsigned int Delay) //1ms ÑÓʱ³ÌÐò { unsigned int i; for (; Delav>0; DelayÒ») for (i=0; i <124; i++); }

void DoSpeed () {

SPEED[0]=(1000*6/RunSpeed/100)+48; SPEED[l]=1000*6/RunSpeed%l 00/10+48; SPEED[2]=1000*6/RunSpeed%l0+48; }

3.2.2ϵͳµ÷ËÙÄ£¿éµÄÉè¼Æ

ϵͳµ÷ËÙÄ£¿éÖ÷ÒªÊÇͨ¹ý¸Ä±äÊäÈëµ½²½½øµç»úÇý¶¯Æ÷µÄÂö³åƵÂʵĿìÂýÀ´ÊµÏÖ¡£µ¥Æ¬»ú¿ØÖƲ½½øµç»ú¼Ó¼õËÙÔËתµÄ·½·¨ÓÐÓ²¼þ·¨ºÍÈí¼þ·¨Á½ÖÖ,Èí¼þ·¨ÊÇÖ¸ÓÃÑÓʱ³ÌÐòÀ´¸Ä±äÊä³öÂö³åƵÂÊ¡£Ó²¼þ·¨ÊÇÓÃÒ»¸ö¶¨Ê±Æ÷À´ÊµÏÖ,ÔÚÿ´Î½øÈ붨ʱÖжϺó,¸Ä±ä¶¨Ê±Æ÷µÄ¶¨Ê±³£Êý¡£´Ó¶øÊµÏÖ±äËÙ¿ØÖÆ¡£ÔÚ²½½øµç»úËÅ·þϵͳÖÐ,²ÉÓÃÈí¼þ·¨½øÐмӼõËٵĿØÖÆ¡£¸ù¾Ý²½½øµç»úµÄÆô¶¯ÆµÂÊΪ3000PPS,ϵͳ±à³ÌʱÉ趨µÄƵÂÊֵΪ2000PPS,ͨ¹ý¸Ä±äÈí¼þ³ÌÐòÖÐÑÓʱ³ÌÐòµÄÖµ,À´¿ØÖƲ½½øµç»úµÄÂö³å.ƵÂÊÖµ,ʵÏÖ²½½øµç»úµÄ¼ÓËÙ¡¢¼õËٵĿØÖÆ¡£ 3.2.3°´¼üÏÔʾģ¿éµÄÉè¼Æ

°´¼ü´¦Àí³ÌÐòʵʱɨÃèP2. 2-P2. 7¶Ë¿ÚµÄµçƽֵµÄ±ä»¯,µ±Óû§°´ÏÂÏàÓ¦°´¼ü,°´¼üÖµ±äΪµÍµçƽ,³ÌÐòɨÃèµ½µÍµçƽÐźÅ,¾Í»á·¢³öÏàÓ¦µÄÍⲿÖжÏÇëÇó,ÔòÖ´ÐÐÏàÓ¦µÄÄ£¿é×Ó³ÌÐò,ͬʱÔÚL¢ÇÉÏʵʱÏÔʾϵͳµÄËÙ¶ÈÓë״̬ÐÅÏ¢,Ö±µ½°´ÏÂͣϰ´¼üºó,ϵͳ½«´¦ÓÚֹͣ״̬¡£°´¼üÏÔʾģ¿éÁ÷³ÌͼÈçͼ3.10Ëùʾ¡£ LCDÏÔʾ³ÌÐò²¿·Ö´úÂëÈçÏÂ: void ShowState() //ÏÔʾ״̬ÓëËÙ¶È { int i=0;

while(SpeedChar[i]!=¡®\\0¡¯) {delay ();

show_lcd(SpeedChar Li):

21

»ùÓÚµ¥Æ¬»ú²½½øµç»úµ÷ËÙ¿ØÖÆÏµÍ³Éè¼ÆÂÛÎÄ003 - ͼÎÄ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c7fgqp5o9s597tl37ll9s_7.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

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