|
下位機程序:
- #include
- #define uchar unsigned char
- #define uint unsigned int
- uchar a;
- void init()
- {
- TMOD=0X20; //設置定時器1為方式2
- TH1=0xfd ;
- TL1=0xfd ; //裝初值
- TR1=1; //啟動定時器1
- REN=1; // 使能接收
- SM0=0;
- SM1=1; //設置串口為工作方式1
-
- EA=1; // 打開總中斷開關
- ES=1; // 打開串口中斷開關
- }
-
- void main()
- {
- init();
- while(1);
- }
- void ser() interrupt 4
- {
- ES=0;
- RI=0; //將接受中斷標志位清0;
-
- a=SBUF; //將接受到的數(shù)據(jù)賦值給a
-
- switch(a)
- {
- case 65: P1=0Xa5; break; // 發(fā)送的是A 前進指令
- case 66: P1=0X55; break; // 發(fā)送的是B 右轉指令
- case 67: P1=0Xaa; break; // 發(fā)送的是C 左轉指令
- case 68: P1=0X5a; break; // 發(fā)送的是D 后退指令
-
- case 97: P1=0X00; break; //發(fā)送的是a 停止指令
- case 98: P1=0X00; break; //發(fā)送的是b 停止指令
- case 99: P1=0X00; break; //發(fā)送的是c 停止指令
- case 100: P1=0X00; break; //發(fā)送的是d 停止指令
- //P2口是我的電機驅動的控制端
-
- default: break;
- }
- ES=1;
- }
復制代碼
|
|