89c52c 串口通讯编程怎么通讯?步进电机

单片机串口通信控制步进电机
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
单片机串口通信控制步进电机
这是一个来自单片机开发板的源程序,原理图的下载地址: &
下面是源代码:
& *************************************************************************************************
& * @file&&&& main.c
& * @author&& xr
& * @date&&&& 日20:00:03
& * @note&&&& 步进电机的参数:减速比:1:64& 步进角:5.625/64& 启动频率:&=550& 启动时间最小:1.08ms
& * @brief&&& 串口通信控制步进电机&&&& 单片机STC89C52RC MCU& 晶振 11.0592MHZ
& *************************************************************************************************
#include &reg52.h&
//步进电机八拍模式相值编码 A-AB-B-BC-C-CD-D-DA
uchar code table[] = {
0xE, 0xC, 0xD, 0x9, 0xB, 0x3, 0x7, 0x6
uint tmp = 0;
bit dir = 0;
ulong beats = 0;//拍数
uchar angle = 0;//圈数
void timer0_Config();
void motor_Config(ulong angle);
void Uart_Config(uint baud);
void main()
timer0_Config();//启动时间设定为2ms
Uart_Config(9600);
switch (angle)
motor_Config(2*360);
angle = 0;
motor_Config(3*360);
angle = 0;
motor_Config(4*360);
angle = 0;
motor_Config(5*360);
angle = 0;
motor_Config(6*360);
angle = 0;
motor_Config(7*360);
angle = 0;
motor_Config(8*360);
angle = 0;
P1 |= 0x0F;
beats = 0;
angle = 0;
& * @brief&&& 步进电机配置(根据输出轴转的圈数来确定转子的拍数beats)
& * @param&&& 无
& * @retval&& 无
void motor_Config(ulong angle)
//在计算之前先关闭中断
beats = (angle*64*8*8)/360;
& * @brief&&& 定时器T0定时配置
& * @param&&& uint xms
& * @retval&& 无
void timer0_Config()
TMOD &= 0xF0;//清零T0控制位
TMOD |= 0x01;//T1方式1
TH0 = 0xF8;
TL0 = 0xCC;//2ms
& * @brief&&& 串口通信配置
& * @param&&& 无
& * @retval&& 无
void Uart_Config(uint baud)
SCON |= 0x50;//SM0-SM2 REN TB8 RB8 TI RI
TMOD &= 0x0F;//清零T1控制位
TMOD |= 0x20;//设定定时器T1八位自动重装模式,计数设定串口波特率
TH1 = 256-(/32/baud);//波特率 = 2^SMOD/32 * T1(溢出率) T1(溢出率) = 1/[(256-X)*(12/)]
TL1 = TH1;
ET1 = 0;//关闭T1的定时中断
ES = 1;//打开串口中断
EA = 1;//开总中断
& * @brief&&& T0中断服务子程序
& * @param&&& 无
& * @retval&& 无
void timer0_Int() interrupt 1 using 3
static uchar step = 0;
uchar buf = 0;//存放相值
TH0 = 0xF8;
TL0 = 0xCC;
if (beats)
buf = (P1 & 0xF0);//buf暂存P1的高字节,清零低字节
buf |= table[step++];//将相值存入buf
step &= 0x07;//与方式实现到8归零
buf = (P1 & 0xF0);
buf |= table[step--];
if (step &= 0)
P1 |= 0x0F;//关闭所有的相,即步进电机停止转动
& * @brief&&& 串口中断服务子程序
& * @param&&& 无
& * @retval&& 无
void Uart_Int() interrupt 4 using 0
if (SBUF & 1)
angle = SBUF;
dir = SBUF;
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved89C52单片机串行通信编程两则
> 89C52单片机串行通信编程两则
89C52单片机串行通信编程两则
1.当串行口按工作方式1进行串行数据通信时,假定波特率为1 200b/s,以中断方式传送数据,请编写全双工通信程序。#include at89x52.h&unsiunsivoid main(){SCON=0x50;TMOD=0x20;TH1=0xE8;TL1=0xE8;TR1=1;ES=1;EA=1;}void comre(){ rebuf=SBUF;} void comtx(){ SBUF=} void serial_server() interrupt 4 { if(TI)
TI=0; else
{ RI=0; comre();
}}2.当串行口按工作方式3进行串行数据通信时,假定波特率为1 200b/s,第9位数据作奇偶校验位,以中断方式传送数据,请编写通信程序。#include at89x52.h&unsiunsi
光电开关相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一用AT89C52控制步进电机及及LCD
用AT89C52控制步进电机及及LCD
此运动控制器技术特点是:采用了单片机技术、LCD显示、232串口通讯、按钮复用、光隔离等控制技术,具有精度高、体积小、重量轻、抗干扰能力强,并且操作简单,成本低廉,现已广泛应用于简易的单轴点胶机,模具控制器,IC测量机等设备。    1.主要功能:    ●可手动设定位置参数:    ●LCD显示:    ●有专用及通用I/O。    ●可扩展串行通讯.以实现上位PC控制。    2.控制器系统结
  此运动控制器技术特点是:采用了单片机技术、LCD显示、232串口通讯、按钮复用、光隔离等控制技术,具有精度高、体积小、重量轻、抗干扰能力强,并且操作简单,成本低廉,现已广泛应用于简易的单轴点胶机,模具控制器,IC测量机等设备。    1.主要功能:    ●可手动设定位置参数:    ●LCD显示:    ●有专用及通用I/O。    ●可扩展串行通讯.以实现上位PC控制。    2.控制器系统结构框图:
  3.单片机(AT89C52)管脚功能如下图所示:
    4.LED显示模块(NT-1624A1    此控制器采用的LCD显示模块为2&16的字符型显示模块,由单片机直接驱动。当选中该LCD模块工作时,写入要显示数据的地址,再在数据总线上写入需要显示的数据后.即可在LCD模块上显示你需要显示的字符。在需要更新屏幕时需先清除屏幕.否则当更新的屏幕显示的字符少于上次显示的字符时.上次显示的部分字符会没被清除。
  5.串行通讯功能    系统扩展一块两通道的串行通讯芯片MAX232E,用来与上位PC通讯,发送数据及返回状态。引脚如下图所示:    MAX232E主要引脚功能:
  数据发送T1IN(11脚):用于向上位PC发送数据。    数据接收R10UT(12脚):用于接收上位PC发送过来的数据。
  6.I/O定义及其工作原理:    这些I/O接口在单轴点胶机中作用定义如下:    1)LCD显示模块接口:    P00-P07:用作LCD显示模块数据总线接口。    P20-P22:用作LCD显示模块操作接口。    2)通用输入接口:P10-P13:    用作按钮输入接口。    P10:GO_UP键;P11:GO_DOWN键;P12:SHIFT键;P13:ENTER键。    P14-P17:用作外部通用输入接口。    P14:点胶头下位;P15:点胶头上位。P16、P17:备用。    3)通用输出接口:P24-P27:用作外部通用输出接口。
  P27:点胶头上、下;P15:点胶阀打开、关闭。P16、P17:备用。    4)专用输入输出接口:P32、P33:用作步进电机的限位输入。    P33、P34:用作步进电机的脉冲及方向输出。
  的方法完成位置参数设置。当完成位置参数设置后,系统又回到待机
  7、印刷电路PCB板图如下图所示
    8、实物图如下图所示
    9、实际接线图如下图所示
型号/产品名
鸿鑫久电子
深圳市新信利电子经营部
深圳市新信利电子经营部
深圳市新信利电子经营部
深圳市新信利电子经营部【图文】第7章 STC89C52单片机串行通信_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第7章 STC89C52单片机串行通信
大小:5.46MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 c 串口通讯只能一次 的文章

 

随机推荐