关闭

关于C51的中断函数要注意的几个问题 -----中断中调用函数参数错误问题

关于C51的中断函数要注意的几个问题(高手绕行)     最近在虾潭逛,发现一些小虾米对C51中断函数有些不了解,今天周末,抽空发个技术帖子,希望对小虾米有所帮助,如 有错误之处,还请指正,就当抛砖引玉吧!     C51的中断函数的格式为:     void FuncIr(void) interrupt x [using y]     以下是梦游的一些分析: ...
阅读(19) 评论(0)

keil C51 模拟堆栈,可重入函数调用,参数传递

作者:xzp21st   撰文辛苦,转载请注明作者及出处 关键字:keilc51,模拟堆栈,可重入函数调用,参数传递,C?XBP,C?ADDXBP 摘要:本文较详细的介绍了keilc51可再入函数和模拟堆栈的一些概念和实现原理,通过一个简单的程序来剖析keilc51在大存储模式下可重入函数的调用过程,希望能为keilc51和在51系列单片机上移植嵌入式实时操作系统的初学者提供一些帮助。   ...
阅读(36) 评论(0)

keil使用技巧-----/*自己总结*/

1. 整段的缩进或前移:     选中整段后按Tab键-----整段缩进;     选中整段按Shift+Tab-----整段前移。...
阅读(18) 评论(0)

PID算法完全讲解

总所周知,PID算法是个很经典的东西。而做自平衡小车,飞行器PID是一个必须翻过的坎。因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂。并举出PID的形象例子来帮助理解PID。 一、首先介绍一下PID名字的由来: P:Proportion(比例),就是输入偏差乘以一个常数。 I  :Integral(积分),就是对输入偏差进行积分运算。 D:Derivative(微分)...
阅读(32) 评论(0)

直流电机PID控制例程程序注释

基本算法 本例采用了增量式PID算法,算式如下:  PIDOUT = basicValue + Kp*d_error + Ki*error + Kd*dd_error 其中:  PIDOUT:PID输出控制参数,为PWM宽度的调整量  Kp:比例调节参数  Ki:积分调节参数  Kd:微分调节参数  error:误差量(为期望速度-实际速度,可以为正数或负数)  d_...
阅读(18) 评论(0)

PID算法的理解及实现

PID的理解         关于理解PID控制算法最典型的一个例子就是一个漏水的水缸的问题。网上有很多讲解PID的帖子会讲到这个例子。这里我也把我自己对于PID的理解用这个例子阐述一遍。         有个漏水的水缸,而且漏水的速度还不是恒定的。然后我们还有个水桶,我们可以控制往水缸里面加水或者从水缸里面舀水出来。另外我们可以检测水平面。现在我们的目的就是要控制水平面稳定在我们...
阅读(22) 评论(0)

浅析PID算法

这里的PID是指控制类的比例-积分-微分算法,而不是进程ID号。 PID算法,不管是原理上,还是代码上都比较简单。主要运用在电机控制、开关电源、电源管理芯片等领域。 一般《自动控制原理》上给的是位置式算法,如下图所示。 但是工程上,用增量式算法比较多,这样可以避免积分环节饱和溢出的问题,具体公式和整定参数的口诀就不贴出来了,网上资料多如牛毛。 下面看这样的一...
阅读(13) 评论(0)

直流电机PWM调速系统中控制电压非线性研究

由于线性放大驱动方式效率和散热问题严重,目前绝大多数直流电动机采用开关驱动方式。开关驱动方式是半导体功率器件工作在开关状态,通过脉宽调制PWM控制电动机电枢电压,实现调速。本文通过实验验证,在不带电机情况下,PWM波占空比与控制输出端电压平均值之间呈线性关系;在带电机情况下,占空比与电机端电压平均值满足抛物线方程,能取得精确的控制。本文的电机闭环调速是运用Matlab拟合的关系式通过PID控制算法...
阅读(8) 评论(0)

PID控制算法的C语言实现

PID控制算法的C语言实现一 PID算法原理    最近两天在考虑一般控制算法的C语言实现问题,发现网络上尚没有一套完整的比较体系的讲解。于是总结了几天,整理一套思路分享给大家。    在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的...
阅读(23) 评论(0)

HID Firmware修改 (HIDtoUARTExample)之二

1.      上位机向HID写数据时,每个包传输的第一个byte为写数据(OUT)report ID,上、下位机必须一致。 上位机配置位置: 下位机配置位置: 2.      HID向上位机返回数据时,每个包的第一个byte也必须是读数据(IN)report ID, 在下位机中,IN report ID的定义一定要和发送包的第一个byte相一致,否则读取...
阅读(40) 评论(0)

IAR 新建项目总结 ----- /*自己编写*/

1. 如使用STM8库,除将库文件夹拷入项目文件夹内外,还要在工程中添加对应的.c文件 如没有添加,会出现Error[Li005]:no definition for错误。网上参考解决办法:http://blog.csdn.net/yueniaoshi/article/details/7844653                                        ...
阅读(35) 评论(0)

使用IAR创建库以及如何使用库

在使用STM32的固件库的时候,需要往工程中添加使用到的功能的对应源文件,比如:stm32f10x_gpio.c等等,一个个添加很麻烦不说,每次在rebuild的时候都要编译这些基本不变的文件. 而通过使用库则可以解决这些问题,首先只需添加一次库文件,第二Rebuild的时候只编译我们自己写的源文件   创建库的过程(IAR中): 新建一个DLib工程,把stm32f10x...
阅读(40) 评论(0)

Keli5 打开Cypress CY7C68013A(51单片机)官方开发包例程

1. 安装开发包文件,安装路径均选择在keil5安装目录下: 2. 安装完成后打开示例程序,如果是只读模式,右键单击工程,属性中将只读勾选掉。 3. 打开工程后,更改工程文件及器件路径,将路径更改为安装路径下对应项,如下:...
阅读(44) 评论(0)

Keil的使用方法 - 常用功能(二)

Ⅰ、概述  上一篇文章是总结关于Keil使用方法-常用功能(一),关于(文件和编译)工具栏每一个按钮的功能描述和快捷键的使用。  我将每一篇Keil使用方法的文章都汇总在一起,回顾前面的总结请点击下面的链接(微信点击阅读原文),Keil使用方法(汇总):http://blog.csdn.net/ybhuangfugui/article/details/51647893  今天总结关于工程目标(配置)...
阅读(40) 评论(0)

IAR 设置问题

1、worksplace 的设置问题:edit configuration 这样,每个工程都可以有一个workplace,方便切换。 2、文件夹包含问题 3、包含.dat文件问题   .dat 实际为宏定义一些参数,在宏定义的参数名称前加上 -D 即可 4、版本问题   5、IAR中设置Ta...
阅读(70) 评论(0)
944条 共63页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1129636次
    • 积分:14580
    • 等级:
    • 排名:第868名
    • 原创:240篇
    • 转载:704篇
    • 译文:0篇
    • 评论:75条
    最新评论