欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
串口通信_遙控小車(有線)
[打印本頁]
作者:
小年添加
時間:
2014-11-23 19:25
標題:
串口通信_遙控小車(有線)
串口通信_遙控小車(有線),,蠻不錯的
帶仿真文件,主機程序 和從機程序
串口通信_遙控小車(有線).zip
2014-11-23 19:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
146.77 KB, 下載次數: 67, 下載積分: 黑幣 -5
作者:
admin
時間:
2014-11-23 22:02
主機程序:
#include "reg51.h"
#include "intrins.h"
#include<stdlib.h>
#define uchar unsigned char
#define uint unsigned int
sbit P10=P1^0; //前進
sbit P11=P1^1; //后退
sbit P12=P1^2; //左轉
sbit P13=P1^3; //右轉
uchar Temp[8]={1,2,3,4,5,6}; //運動編碼。數字型
/********************************************************************
函數功能:定時器及串口初始化函數
入口參數:
出口參數:
********************************************************************/
void Timer_init() {
TMOD = 0x20; //定時器1工作方式2(8位自動重裝定時器)
TH1 = 0xf4; //波特率2400b/s。
TL1 = 0xf4; //定時器初值必須同時裝入TH0和TL0
PCON = 0; //波特率不加倍
SCON = 0X50; //串口方式1(10位幀,其中8位數據,異步)。TI和RI清零,允許接收
TR1 = 1; //啟動T1
}
/********************************************************************
函數功能:發送一個字節
入口參數: dat
出口參數:
********************************************************************/
void Send(uchar dat)
{
SBUF=dat;
while(TI==0);
TI=0;
}
/********************************************************************
函數功能:主函數
入口參數:
出口參數:
********************************************************************/
void main()
{
Timer_init();
while(1)
{
/*P13 P12 P11 P10*/
if(P1==0xfe) Send(Temp[0]); //前進直行 1 1 1 0
if(P1==0xfd) Send(Temp[1]); //后退直行 1 1 0 1
if(P1==0xfa) Send(Temp[2]); //前進左轉 1 0 1 0
if(P1==0xf6) Send(Temp[3]); //前進右轉 0 1 1 0
if(P1==0xf9) Send(Temp[4]); //后退左轉 1 0 0 1
if(P1==0xf5) Send(Temp[5]); //后退右轉 0 1 0 1
}
}
作者:
admin
時間:
2014-11-23 22:03
從機程序:
#include<reg51.h>
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define MotorData P2 //步進電機控制接口定義
sbit P10=P1^0; //前進顯示
sbit P11=P1^1; //后退顯示
sbit P12=P1^2; //左轉顯示
sbit P13=P1^3; //右轉顯示
sbit P24=P2^4; //
sbit P25=P2^5; //
sbit P26=P2^6; //
sbit P27=P2^7; //
uchar code turn[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90}; //旋轉編碼
/********************************************************************
函數功能:延時x毫秒函數
入口參數: x
出口參數:
********************************************************************/
void delay(uchar x) //設晶體振蕩器的頻率為12MHz
{
uchar k;
while(x--) //延時大約x毫秒
for(k=0;k<125;k++){}
}
/********************************************************************
函數功能:定時器及串口初始化函數
入口參數:
出口參數:
********************************************************************/
void Timer_init() {
TMOD = 0x20; //定時器1工作方式2(8位自動重裝定時器);定時器0工作方式1(16位計數器)
TH1 = 0xf4; //波特率2400b/s。
TL1 = 0xf4; //定時器初值必須同時裝入TH0和TL0
PCON = 0; //波特率不加倍
SCON = 0X50; //串口方式1(10位幀,其中8位數據,異步)。TI和RI清零,允許接收
TR1 = 1; //啟動T1
}
/********************************************************************
函數功能:接收一個字節
入口參數:
出口參數: dat
********************************************************************/
uchar Get(void)
{
uchar dat;
while(RI==0);
RI=0;
dat=SBUF;
return dat;
}
/********************************************************************
函數功能:順時針轉動(前進)
入口參數:
出口參數:
********************************************************************/
void MotorCW(void)
{
uchar i;
for(i=0;i<8;i++)
{
MotorData=turn[i];
delay(30); //轉速調節
}
}
/********************************************************************
函數功能:逆時針轉動(后退)
入口參數:
出口參數:
********************************************************************/
void MotorCCW(void)
{
uchar i;
for(i=0;i<8;i++)
{
MotorData=turn[8-i];
delay(30); //轉速調節
}
}
/********************************************************************
函數功能:主函數
入口參數:
出口參數:
********************************************************************/
void main(void)
{
uchar Temp;
Timer_init();
while(1)
{
P1=0xff;
Temp=Get();
switch(Temp)
{
case 1: {P10=0; MotorCW();} break; //前進直行
case 2: {P11=0; MotorCCW();} break; //后退直行
case 3: {P10=0; P12=0; MotorCW();} break; //前進左轉
case 4: {P10=0; P13=0; MotorCW();} break; //前進右轉
case 5: {P11=0; P12=0; MotorCCW();} break; //后退左轉
case 6: {P11=0; P13=0; MotorCCW();} break; //后退右轉
}
}
}
作者:
騰飛的龍
時間:
2015-8-6 17:36
很好的雙機通信程序謝謝分享!贊。。!
作者:
騰飛的龍
時間:
2015-8-6 17:41
這個程序沒有中斷服務函數不知道好用不好用。
作者:
herohuang
時間:
2016-1-18 13:55
不錯學習下,呵呵
作者:
1589777657
時間:
2023-11-9 01:25
有沒有電路圖,控制通道能不能加多一些
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1