EDN首页   博客首页 用户登陆  |  注册

最新日志

发表于:2006/12/27 14:15:12
标签:PID控制算法  

1

标准的PID处理例程(转载自“漫漫人生路”)

/*==================================================================================================== 这是从网上找来的一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体的PID 参数必须由具体对象通过实验确定。由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算, 而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可 大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注…

系统分类: 单片机   |    用户分类: 无分类    |    来源: 转贴

点击查看原文

阅读(884)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2006/12/16 23:42:04
标签:无标签

0

和你们在一起真的很开心

一个偶尔的机会进入了vc++开发原地,可以说这里面的人都是初学者,虽然是初学,但是我们彼此享受着开发程序代给我们的快乐。我们不知道“高手”这个词代表着什么,也许对我们来说有点遥远,然而在这个漫长的道路上,我们点点滴滴的幸福是否能够积累成雄伟的高峰,这也是说不定的事。 记得幼儿园时,阿姨就教育我,有了苹果要分给其他的小朋友。这是最简单也是最成功的交朋友的方法了吧。在VC++开发源地的这些日子里。认识了聪明的“海绵”,酷酷的“叶不落”,谦虚的“♂永远有多远”,有“依赖症”…

系统分类: 自由话题   |    用户分类: 无分类    |    来源: 无分类

点击查看原文

阅读(788)  |  评论(1)  |   收藏 (0)  |    举报

发表于:2006/12/11 20:50:03
标签:无标签

0

学习系统开发之一“建立引导式的窗口”

这个窗口是引导式的,所以,我们在这个窗口里不会添加任何的菜单选项,在进入窗口时,应该提示“现在开始吗”选项如果是“是”,那么就进入我们的系统。 显示你上次的问题,你所在的开发小组,小组成员,你的积分,小组的等级。如果你有问题,单击选项“我有问题”,那么开始问问题。以及上次的问题有那些人可以回答,如果他在线,系统会提示你:“要不要现在视频询问?”,如果“是”,那么就开始在可以回答的人里面选择一个,开始视频询问。 以上牵扯到网络方面的东西,我们现在只要求做一个窗口,…

系统分类: 资源共享   |    用户分类:    |    来源: 无分类

点击查看原文

阅读(908)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2006/12/5 12:09:49
标签:单片机  开发  C语言  汇编  合集  

2

单片机开发程序大全

我这里有单片机试验,带原理图,带C语言,汇编语言的(这里只是很少一部分,如果想要全的,请吧PID控制算法的C语言程序发给我,我会把余下的文件发给你,谢谢) 发到这个邮箱:jianmin5xin@163.com

系统分类: 单片机   |    用户分类:    |    来源: 无分类

点击查看原文

阅读(1943)  |  评论(17)  |   收藏 (0)  |    举报

发表于:2006/11/16 14:00:31
标签:库函数  

2

一个关于单片机库函数编写的问题(原创)

当你调用一些函数时,为了避免反复复制和粘贴(在这个过程中经常还会导致拷贝错误,并且难以发现错误所在)的问题,我们最好是将经常用的一些函数或者协议编写成库函数,然后在主函数声明一下,就可以随便提取运用了。 但是,当你用的时候,却频频提示错误,为什么? 首先,你的库函数中肯定要用一些其他的库函数,然后在主程序中,你又调用了这些库函数。KEIL 51编辑器,只允许调用一次库函数,这样你当然会遇到提示错误 另外,我们知道库函数的一些参数对于我们能够灵活运用单片机开发,…

系统分类: 单片机   |    用户分类:    |    来源: 无分类

点击查看原文

阅读(1180)  |  评论(1)  |   收藏 (0)  |    举报

发表于:2006/11/16 13:55:32
标签:寄存器  库函数  

2

关于一个提高效的执行代码(原创)

这么一个问题,假设有两个寄存器m和n(有可能地址不相邻),分别存放着一个16位数值的,高八位和低八位的数值。那么让你将这个十六位数值打印出来,该如何操作?我们通常的做法是: int a; a="m"; a+=n*256;大家可以汇编运行一下,他的汇编结果大概在20行左右。不过这个是个通用做法,简单,然而代价是低效。如果地址是相邻的,那么我们可以这么写: float a; a="m";这个汇编结果是3行,它是巧妙的运用了float数据类型的16位的特点,给它高八位便能将相邻的余下八位自动导出。注意,M必须存放的是高八…

系统分类: 单片机   |    用户分类:    |    来源: 无分类

点击查看原文

阅读(960)  |  评论(1)  |   收藏 (0)  |    举报

发表于:2006/11/16 13:39:54
标签:指针  指向函数的  

2

结构化编程--指向函数的指针(初稿)

1.对一个DA转换器进行传递数值,DA转换的地址在0x2000,如果用MOVX对其操作,如何操作? 用MOVX操作的话,将数据类型定义为xdata,然后_at_即可方法有三种:(1) void DAchange(unsigned char i) { xdata m_at_0x2000; m="i"; }(2)include "absacc.h"void DAchange(unsigned char i){ XBYTE[0x2000]=i; }(3)void DAchange(unsigned char i){ xdata unsigned char *p; p=(xdata unsigned char *)0x2000; *p="i"; } 2.利用指向函数的指针,可以进行结构化编程。int max(int a,int b) { return(a>=b?a:b); } int min(int c,int d) { return(a>=b?b:a); } int process(int m,int n,int(*f)()) { return (f(…

系统分类: 单片机   |    用户分类:    |    来源: 无分类

点击查看原文

阅读(1065)  |  评论(2)  |   收藏 (0)  |    举报

Total , Page /