- #include <reg52.h>
- typedef unsigned char u8;
- typedef unsigned int u16;
- u8 r_buf; //À¶ÑÀ½ÓÊÕµ½µÄ×Ö·û´æ´¢»º³åÇø
- sbit M1 = P0^1;
- sbit M2 = P0^2;
- sbit M3 = P0^4;
- sbit M4 = P0^5;
- sbit state = P3^6; //À¶ÑÀÁ¬Í¨µÄ״̬±ê־λ
- void delay(u16 z) //ÑÓ³Ùº¯Êý
- {
- u16 x,y;
- for(x=z;x>0;x--)
- for(y=125;y>0;y--);
- }
- void InitUART() //´®¿Ú³õʼ»¯9600
- {
- //³õʼ»¯´®¿Ú¶¨Ê±Æ÷9600
- TMOD = 0x20;
- PCON = 0x00;
- SCON = 0x50;
- TH1 = 0xFD;
- TL1 = 0xFD;
- TR1 = 1;
- ES = 1;
- EA = 1;
- }
- void SendOneByte(unsigned char c) //·¢ËÍ×Ö·ûº¯Êý
- {
- SBUF = c;
- while(!TI);
- TI = 0;
- }
- void main(void) //³õʼ»¯µç»ú
- {
- InitUART();
- M1 = 0;
- M2 = 0;
- M3 = 0;
- M4 = 0;
- r_buf = '2';
- }
- void UARTInterrupt(void) interrupt 4 //´®¿Ú½ÓÊÕ×Ö·û
- {
- if(RI)
- {
- RI = 0;
- //add your code here!
- r_buf = SBUF;
- if(r_buf == '1')//Èç¹ûΪ×Ö·û¡®0¡¯£¬ÔòÖÇÕÏС³µÇ°½ø
- {
- M1=1;
- M2=0;
- M3=1;
- M4=0;
- delay(1000);
- }
- if(r_buf == '2')//Èç¹ûΪ×Ö·û¡®2¡¯£¬ÔòÖÇÕÏС³µ×óת
- {
- M1=0;
- M2=0;
- M3=1;
- M4=0;
- delay(1000);
- }
- if(r_buf == '3')//Èç¹ûΪ×Ö·û¡®3¡¯£¬ÔòÖÇÕÏС³µÓÒת
- {
- M1=1;
- M2=0;
- M3=0;
- M4=0;
- delay(1000);
- }
- if(r_buf == '4')//Èç¹ûΪ×Ö·û¡®1¡¯£¬ÔòÖÇÕÏС³µºóÍË
- {
- M1=0;
- M2=1;
- M3=0;
- M4=1;
- delay(1000);
- }
- SendOneByte(r_buf);//»Ø·¢¸Ã×Ö·û
- }
- }
复制代码 |