#include<iom8v.h>
#include<macros.h>
#include<math.h>
#define uint unsigned int
#define uchar unsigned char
#define mclk 7372800
#define pai 3.1415926
#define step_l 0.00375
#define step_r 0.00375
uint a,b,c,d=0;
uint i,rdata,flag,num=0;
uint line_done =0,circularity_done=0;
float right_flag=0,left_flag=0; //正反转标志
uint left_number=0,right_number=0; //脉冲个数
int left_index=0,right_index=0; // 步进八相的索引
const uchar step[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
const uchar fstep[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
/*****************************************************
该模块为串口通讯
*****************************************************/
/****
void uart_init(uint baud)
{
UCSR1B|=(1<<RXEN1)|(1<<TXEN1)|(1<<RXCIE1);
baud=mclk/16/baud-1;
UBRR1L=baud;
UBRR1H=baud>>8;
UCSR1C=(1<<UCSZ11)|(1<<UCSZ10);
SEI();
}
void uart_sendbyte(uint sdata)
{
while(!UCSR1A&(1<<UDRE1));
UDR1=sdata;
while(!UCSR1A&(1<<TXC1));
UCSR1A&=~(1<<TXC1);
}
#pragma interrupt_handler uart_RX:31
void uart_RX()
{
UCSR1A&=~(1<<RXCIE1);
rdata=UDR1;
num=num+1;
switch(num)
{
case 1:a=rdata;break;
case 2:b=rdata;break;
case 3:c=rdata;break;
case 4:d=rdata;break;
default:break;
}
flag=1;
UCSR1A|=(1<<RXCIE1);
}
***/
/*********************************************************************/
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<950;j++);
}
void bujin_init(void)
{
DDRB=0XFF;
PORTB=0XFF;
DDRC=0XFF;
PORTC=0XFF;
}
/**********************************************************************
函数名称:deal_data
函数类型:void
函数功能:左边步进动
**********************************************************************/
void left_run(void)
{
if(left_flag > 0)
{
PORTB=step[left_index];
delay(2);
PORTB=0;
}
else
{
PORTB=fstep[left_index];
delay(2);
PORTB=0;
}
left_index+=1;
if(left_index==8)
{
left_index=0;
}
}
/**********************************************************************
函数名称:deal_data
函数类型:void
函数功能:右边步进动
**********************************************************************/
void right_run(void)
{
if(right_flag > 0 )
{
PORTC=fstep[right_index];
delay(1);
PORTC=0;
}
else
{
PORTC=step[right_index];
delay(1);
PORTC=0;
}
right_index+=1;
if(right_index==8)
{
right_index=0;
}
}
/*******画点*******************************************/
void drive_motor(float left_legth,float right_legth)
{
left_flag = left_legth;
right_flag = right_legth;
if(right_legth < 0)
{
right_legth = 0- right_legth;
}
if(left_legth < 0)
{
left_legth = 0 - left_legth;
}
while(1)
{
left_run();
//delay(1);
left_number++;
if(left_number >=(left_legth ))
{
left_number =0;
break;
}
}
while(1)
{
right_run();
//delay(1);
right_number++;
if(right_number >= (right_legth ) )
{
right_number =0;
break;
}
}
}
/**画直线*********************/
void draw_line(float x0,float y0,float x1,float y1) //(x0,y0):起点坐标,(x0,y0):停止点坐标
{
float ll,inc_x,inc_y,xx,yy,L_l0,L_r0,L_l,L_r,inc_Ll,inc_Lr,xxx ;
//kk:斜率 cc:初点始常数(yy=kk*xx+cc)
int count_ll,count_l,count_r,i ; //(x0,y0):画直线起点坐标
ll=sqrt((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)) ; //ll:斜边长度
count_ll=ll/0.5+0.5 ; //count_ll:步数 0.5为像素
inc_x=(x1-x0)/count_ll ; //inc_x:x方向步长
inc_y=(y1-y0)/count_ll ; //inc_y:y方向步长
L_l0=sqrt((x0)*(x0)+(y0)*(y0)) ;//L_l0为左轮绳子的初始长度
L_r0=sqrt((110-x0)*(110-x0)+(y0)*(y0)) ;//L_r0为右轮绳子的初始长度
for(i=1; i<=count_ll; i++)
{xx=inc_x*i+x0 ; //xxx=xx ;//(xx,yy)为画直线中的动态坐标
yy=inc_y*i+y0 ;
L_l=sqrt((xx)*(xx)+(yy)*(yy)) ;//L_l0为左轮绳子的最后长度
L_r=sqrt((110-xx)*(110-xx)+(yy)*(yy)) ;//L_r0为右轮绳子的最后长度
inc_Ll=L_l-L_l0 ;//左绳长度变化值(一小段弧长)
inc_Lr=L_r-L_r0 ;//右绳长度变化值(一小段弧长)
count_l=inc_Ll/step_l+(inc_Ll>=0 ?0.5:-0.5) ;//步进电机每步弧长(厘米)
count_r=inc_Lr/step_r+(inc_Lr>=0 ?0.5:-0.5) ;//右步进电机每步弧长(厘米)
drive_motor(count_l,count_r) ;
delay(50) ; //延时50ms test: x0,y0,x1,y1=10,10,40,40
L_l0=L_l ;
L_r0=L_r ;
}
line_done =1; //直线画完标志
}
/**画圆*********************/
void draw_circularity(float rr,float x0,float y0) //rr:半径,(x0,y0):圆心坐标
{
float L_l,L_r,L_l0,L_r0,inc_Ll,inc_Lr,xx,yy,xxx ;
int count_l,count_r,i ;
L_l0=sqrt((x0+rr)*(x0+rr)+(y0)*(y0)) ;//(x0+rr,y0):画圆起点坐标
L_r0=sqrt((110-x0-rr)*(110-x0-rr)+(y0)*(y0)) ;
for(i=1;i<=360;i++)
{xx=rr*cos(pai*i/180)+x0 ;
//xxx=xx;
yy=rr*sin(pai*i/180)+y0 ;
L_l=sqrt((xx)*(xx)+(yy)*(yy)) ;
L_r=sqrt((110-xx)*(110-xx)+(yy)*(yy)) ;
inc_Ll=L_l-L_l0 ;
inc_Lr=L_r-L_r0 ;
count_l=inc_Ll/step_l+(inc_Ll>=0 ?0.5:-0.5) ; // 左步进电机每步弧长(厘米)
count_r=inc_Lr/step_r+(inc_Lr>=0 ?0.5:-0.5) ; // 右步进电机每步弧长(厘米)
drive_motor(count_l,count_r) ;
delay(3) ; //延时50ms
L_l0=L_l ;
L_r0=L_r ;
}
circularity_done = 1; // 圆画完标志
}
/**********************************************************************
函数名称:deal_data
函数类型:void
函数功能:左边步进动
**********************************************************************/
void main(void)
{
//uart_init(19200);
bujin_init();
while(1)
{
/* if(line_done !=1)
{
draw_line(80,35,60,15) ; //(x0,y0):起点坐标,(x0,y0):停止点坐标
//draw_circularity( a,b,c);
//draw_line(50,45,60,35) ; //(x0,y0):起点坐标,(x0,y0):停止点坐标
//draw_line(60,15,40,35) ; //(x0,y0):起点坐标,(x0,y0):停止点坐标
//draw_line(40,35,60,55) ; //(x0,y0):起点坐标,(x0,y0):停止点坐标
//draw_line(60,55,80,35) ; //(x0,y0):起点坐标,(x0,y0):停止点坐标
}
*/
if(circularity_done != 1)
{
draw_circularity(20,80,35);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
AVR.rar_avr 异步
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共548个文件
c:19个
_c:19个
prj:17个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 68 浏览量
2022-09-24
20:58:25
上传
评论
收藏 693KB RAR 举报
温馨提示
基于avr8单片机悬挂系统,两个异步电机控制笔在平面上画图形,开发环境 iccavr
资源详情
资源评论
资源推荐
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 548 条
- 1
- 2
- 3
- 4
- 5
- 6
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar](https://profile-avatar.csdnimg.cn/dc78d2406d17417ca42db3bd43b9c72a_weixin_42652674.jpg!1)
御道御小黑
- 粉丝: 62
- 资源: 1万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- JavaScript JavaScript JavaScript
- Scratch 基础讲解背景介绍Scratch 基础讲解背景介绍
- 2.2 C#中显示控件BDPictureBox 的实现-DisplayContext说明续
- content_1713252448868.xlsx
- 通用电线杆3d模型包括多种格式,以及对应照片
- 用python编写的二分法查找排序
- PHP简单讲解 基础教程 背景介绍PHP简单 讲解 基础教程 背景介绍
- Go 基础教程 简单讲解 背景介绍 Go 基础教程 简单讲解 背景介绍
- 2023年各高校录取分数线
- python 实现 中间语言综合题利用语法制导翻译的思想产生中间语言,能做出好的图形化界面
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0