毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
AT89S51单片机全地形八足机器人机械手的设计(15)
下位机通过串口中断接收上位机传来的控制命令,其程序如下:
com_interrupt(void) interrupt 4 using 3//接收
{
if(RI)
RI=0; //软件复位RI
buffer[point]=SBUF;
point++ ;
}
3.下位机串行口波特率
串行口的通信波特率恰到好处地反映了串行传输数据的速率。通信波特率的选用,不仅和所选通信设备、传输距离和MODEM型号有关,还受传输线状况所制约。用户应根据实际需要加以正确选用。
本设计主要用串口方式1,下面简单介绍一下其波特率的产生和计算方法,方式1下串行口波特率是由定时器的溢出率决定的,本设计中主要用到了定时器T1。
波特率= x定时器T1溢出率
定时器T1溢出率=
波特率= x
式中:K为定时器T1的位数,它和定时器T1的设定方式有关。即:
若定时T1为方式0,则K=13
若定时器T1为方式1,则K=16
若定时器T1为方式2或方式3,则K=8
其实,定时器T1通常采用方式2,因为定时器T1在方式2下工作,THl和TLl分别设定为两个8位重装计数器(当TLl从全“1”变为全“0”时,THl重装TLl)。这种方式,不仅可以使操作方便,也可避免因重装初值(时间常数初值)而带来的定时误差。由公式可知,方式1所选波特率常常可通过计算来确定初值。
下位机串口初始化程序如下:
/*****************初始化串行端口函数*********/
void UART_init()
{
SCON= 0x50; //串口方式1 允许接收
PCON=0; //SMOD=0
TMOD= 0x20; //定时器1定时方式2
TH1= 0xfd; //11.0592M 9600波特率
TL1= 0xfd;
TR1= 1; //启动定时器
ES= 1;
EA= 1;
}
4.2.2 下位机步进电机程序实现
下位机接收到上位机的命令后就开始执行相关程序控制电机运行,单片机此时的任务就是产生一定频率的环形脉冲信号,这里主要用到了单片机的P0口、P1口、P2口、P3口,其中P0口控制腰部回转关节的步进电机,P1口控制肩关节的步进电机、P2口控制肘关节的步进电机,P3口控制手爪步进电机。
电机的转动方向是通过环形脉冲信号的变化顺序来实现的,本设计所用的步进电机为两相八拍型,其正反转环形脉冲为[20]
uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
电机的转动速度主要是通过控制环型脉冲信号的切换频率,电机每收到一个脉冲信号,就转动一个角度,通过控制脉冲频率可以使电机加减速,由于电机为两相八拍型,步进角为0.9,假如上位机要求电机速度为a步/S,则每个脉冲之间应该延时1/a秒,延时可以通过定时器实现,也可已通过延时函数实现,本设计中为了简化程序,直接调用延时函数(晶振11.0592MHZ),具体程序如下:
/*****************************延时1ms函数*******************/
void delay(uint p)
{
共19页:
上一页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
下一页
上一篇:
三通管拉制仪材料分配系数精确控制系统设计+PCB+源程序
下一篇:
HyperWorks模拟实验炮支撑架优化设计与分析
起重机械安全隐患与缺陷...
起重机械产品制造過程安...
谈机械制造系统中的安全控制系统【3099字】
解析电梯定期检验中限速...
电站锅炉机械未完全燃烧...
电子车速里程表的单片机实现方案【1277字】
现代电梯的机械构造及安...
医院财务风险因素分析及管理措施【2367字】
中国学术生态细节考察《...
志愿者活动的调查问卷表
承德市事业单位档案管理...
国内外图像分割技术研究现状
10万元能开儿童乐园吗,我...
C#学校科研管理系统的设计
公寓空调设计任务书
AT89C52单片机的超声波测距...
神经外科重症监护病房患...