DDA插补算法C语言,DDA直线插补算法在单片机上的实现基于C.doc
DDA直线插补算法在单片机上的实现基于C
/*-------------------------------*/
/*时间2011年11月*/
/*功能:DDA 插补算法在单片机上实现*/
/*作者JC*/
/*-------------------------------*/
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define Xe 8 //定义初始点坐标
#define Ye 10
uchar code tab[]={0x03,0x09,0x0c,0x06}; //电机正传控制字
/*------------------------------*/
//定义a^b函数
/*------------------------------*/
uint pow(char a,char b)
{
uchar t=1;
while(b--)
t*=a;
return t;
}
/*------------------------------*/
//定义求绝对值函数
/*--------------------------------*/
char abs(char a )
{
returna>0?a:(-a);
}
/*------------------------------*/
//定义求最大值函数
/*--------------;
char max(char a,char b)
{
return abs(a)>abs(b)? abs(a):abs(b);
}*/
/*--------------------------*/
//定义延时函数,延时tms
/*------------------------------*/
void delay(uint t)
{
uchar i;
for(;t>0;t--)
for(i=114;i>0;i--);
}
/*------------------------------*/
/*求寄存器位数n*/
/*------------------------------*/
int res_n()
{
int m,n;
for(m=1;m<256;m++)
{
if(abs(Xe)>abs(Ye))
{
if(pow(2,m-1)<=abs(Xe)&&abs(Xe)<=pow(2,m))
{
n = m;
}
}
else
{
if(pow(2,m-1)<=abs(Ye)&&abs(Ye)<=pow(2,m))
{
n = m;
}
}
}
return n;
}
/*------------------------------*/
/*DDA直线插补算法声明*/
/*------------------------------*/
void DDALine()
{
char i,j,t;
int n;
int X=0,Y=0,FX=0,FY=0;
n=res_n();
for(i=0;i
{
if(abs(X)
{
FY=FY+abs(Ye);
FX=FX+abs(Xe);
if(FX>=pow(2,n))
{
FX=FX-pow(2,n);
X=X+1;
for(t=0;t<12;t++)
DDA插补算法C语言,DDA直线插补算法在单片机上的实现基于C.doc相关推荐
- matlab程序 直线插补,无聊写matlab仿真直线插补算法
本帖最后由 CK345 于 2016-6-24 17:16 编辑 X0 = input('请输入起点横坐标 X\n X0 = '); Y0 = input('请输入起点纵坐标 Y\n Y0 = '); ...
- rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)
原文托管在Github: https://github.com/shellhub/blog/issues/52 数据结构与算法之线性表-顺序表实现(C语言版本) 前言 数据结构与算法是一个程序员必备的 ...
- c语言代码先来先服务算法_C语言十大经典排序算法(动态演示+代码,值得收藏)...
以前也零零碎碎发过一些排序算法,但排版都不太好,又重新整理一次,排序算法是数据结构的重要部分,系统地学习很有必要. 时间.空间复杂度比较 排序算法 平均时间复杂度 最差时间复杂度 空间复杂度 数据对象 ...
- java合一算法_Prolog语言的编译原理:合一算法
Prolog语言的编译原理:合一算法 分类:软考 | 更新时间:2016-07-08| 来源:转载 Prolog是一种基于谓词演算的程序设计语言.Prolog是一种说明性语言,它的基本意思是程序员着重 ...
- c4.5算法 程序语言,决策树之C4.5算法详解-Go语言中文社区
决策树之C4.5算法详解 主要内容 C4.5算法简介 分裂属性的选择--信息增益率 连续型属性的离散化处理 剪枝--PEP(Pessimistic Error Pruning)剪枝法 缺失属性值的处理 ...
- 最坏适应算法c语言源码,首次适应算法,最佳适应算法,最坏适应算法源代码
这是一个非常完美的程序,输出显示的格式也很棒,里面包含首次适应算法,最佳适应算法,最坏适应算法 #include #include #define Free 0 //空闲状态 #define Busy ...
- 自适应对消算法c语言,LMS自适应对消算法
LMS算法最小均方误差算法,是一种自适应滤波算法.该算法通过对输入信号进行滤波输出一个信号y(n),将输出信号与期望输出信号作差得到一个误差信号,再将误差信号输入到自适应滤波器中形成一个反馈回路.LM ...
- r语言插补法_R语言用多重插补法估算相对风险
在这里,我将用R中的一个小模拟示例进行说明.首先,我们使用X1和X2双变量法线和Y模拟大型数据集,其中Y遵循给定X1和X2的逻辑模型. 首先,我们模拟一个非常大的完整数据集: #simulate完整数 ...
- 虚拟存储页面置换算法c语言,虚拟存储器管理页面置换算法模拟实验.doc
虚拟存储器管理页面置换算法模拟实验 淮海工学院计算机工程学院 实验报告书 课程名:< 操作系统原理A > 题 目: 虚拟存储器管理 页面置换算法模拟实验 班 级: 软件*** 学 号: 2 ...
最新文章
- Enterprise Architect 中文经典教程
- java logfaction_Java调试的变迁:从System.out.println到log4j
- JavaScript中getBoundingClientRect()方法详解
- BZOJ2212——线段树合并
- ubuntu16.04右键没有终端的问题
- c语言水平制表符怎么才能占16列,水平制表符是?其作用?
- 动态阈值_如何设置数据看板(大屏)数据异常报警的动态阈值
- 威刚 S102 量产成功 制作带cd-rom启动型U盘 16g USB3.0
- SpringBoot 2.0 系列003 -- 自定义Parent
- 于明:移动支付将代替电子支付?
- Numpy系列(六)常用的数组合并操作
- 计算机打印指定测试页到文件夹中,上海计算机等级一级考试复习指导.pptx
- 一位计算机牛人的心得,谈计算机和数学
- ps修改社保照片 不大于20KB
- python 爬取财经新闻_python爬取路透社财经新闻
- 什么是TF-IDF?
- 邮箱登录名身份证号码等验证
- 微信 小程序 APP 渗透测试方案
- (入门、全面、通用)树莓派Raspbian系统安装配置,篇一
- 更换NVMe SSD不用重装系统,Windows系统迁移
热门文章
- RISC-V 不定长的指令周期
- 云端图片处理工具Cloudinary强势出世 Photoshop鸭梨山大
- 3. 多层select的使用:子查询的定义、无关子查询、相关子查询
- 浅析不良资产商业性债转股法律相关问题
- 如何使用USB接口对C51单片机下载固件
- Text-Mining-DataCamp-Text Mining: Bag of Words
- Android开发学习(4)简单登录界面
- 浪潮 ClusterEngineV4.0 任意命令执行
- ajax数据库图片路径php显示,数据库+ajax方法如何实现地图界面
- 一款小程序增强开发工具 - EWA