虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

无源<b>蜂鸣器</b>

  • 无位置传感器无刷直流电动机运行理论和控制系统研究.rar

    v无刷直流电动机具有结构简单、可靠性高、维护方便、运行效率高和调速性能好等优点,随着微处理器技术、电力电子技术、控制理论,以及低成本、高磁能积永磁材料的发展,得到越来越广泛的应用。无刷直流电动机采用无位置传感器控制,电动机结构更加简单,应用范围扩大,相对于有位置传感器控制优势明显。本论文围绕无刷直流电动机的无位置传感器控制进行较为系统和深入的研究。 首先,论文从基本电磁定律出发,在分析无刷直流电动机结构和工作原理的基础上,建立了无刷直流电动机的数学模型,为分析无刷直流电动机无位置传感器控制奠定基础。 其次,根据无刷直流电动机反电势过零检测原理,对反电势过零检测法的各种实现方法进行研究,比较各种实现方法的优缺点,指出它们的适用范围。在此基础上,给出带通滤波法及其简化电路形式,提出使用带通滤波器获取反电势三次谐波的方法。论文将直流电源负端电压作为带通滤波法和带通滤波三次谐波法的参考电平。 论文对无刷直流电动机无位置传感器控制中的关键问题-起动方法进行研究,在详细分析“三段式”起动方法的实现过程的基础上,给出了从外同步到自同步平稳切换的条件。论文在研究无刷直流电动机无位置传感器控制换相方法的基础上,提出了一种新的换相方法,提高了电动机运行平稳性和系统稳定性。在带通滤波三次谐波法中使用该换相方法,无需对三次谐波积分即可得到换相时刻。 滤波器是反电势法中反电势过零检测电路的重要组成部分。论文在分析无刷直流电动机端电压信号特点的基础上,给出滤波电路的技术要求,根据滤波器基本设计原理,分别对一阶RC无源带通滤波器和二阶RC有源低通滤波器进行电路设计和参数计算,并通过实验验证理论分析和仿真结果。这些为通过检测反电势过零点获得可靠的换相信号创造了条件。 论文还分析了无刷直流电动机无位置传感器控制中产生转子位置检测误差的原因,提出了相应的校正方法。通过分析无刷直流电动机的换相过程,建立了换相状态的等效电路和数学模型,研究了转子位置误差引起的电动机超前、滞后换相现象,及其由此产生的非导通相环流,在理论分析的基础上,进行了仿真计算,并与实验结果对照分析。 功率器件的功率损耗分析在逆变器设计和提高控制系统的可靠性方面具有重要作用。论文构建了由IGBT组成的简化逆变器模型,并进行仿真研究。针对不同的开关频率和栅极电阻,定量计算了IGBT开关过程中各阶段的功率损耗,给出了变化规律,对逆变器的设计具有重要的指导意义。最后,论文研制了基于反电势过零检测法的无位置传感器无刷直流电动机控制系统,控制系统由硬件和控制软件两部分组成。硬件部分包括主电源整流滤波电路、控制电源电路、反电势过零检测电路、驱动和逆变电路以及保护电路等,控制软件包括电动机起动模块(包括定位、加速、切换)、电动机运行控制模块(包括过零检测及校正、换相)和各保护功能模块。对系统进行了调试,并对论文中所分析和提出的各种方法进行了相关的实验研究,给出了实验结果。

    标签: 无位置传感器 控制 无刷直流电动机

    上传时间: 2013-06-06

    上传用户:yezhihao

  • 基于有源电力滤波器谐波与无功补偿电流的控制算法研究.rar

    随着电力电子装置越加广泛的投入使用,电能得到了更加充分的应用,但是伴随而来的是越来越多的非线性、冲击性负载的投入使用,电网中谐波污染日益严重,在针对此类谐波抑制和无功补偿装置的研究中,电力有源滤波器APF得到了广泛应用. 与传统无源滤波器比较,有源电力滤波器具有动态响应特性好,滤波特性不受系统阻抗的影响等优势.而APF所采用的谐波电流检测方法,直接决定了谐波的检测精度和跟踪速度,是决定谐波补偿特性的关键.本论文重点研究了谐波电流检测方法. 在众多有源滤波器的谐波及无功电流检测算法中,基于三相瞬时无功功率理论的应用最为广泛.应用此理论的i<,p>-i<,q>岛检测方法计算简单,具有较好实时性,适合电流快速检测的优点;但同时也存在很多局限性. 本文首先通过分析、比较总结出各类APF的优缺点和适用性,系统地研究了有源电力滤波器的两个关键技术:谐波电流检测和PWM信号发生器的控制策略;在此基础上,针对在负载电流有较大突变时补偿电路会产生较大畸变影响补偿效果的问题,以及三相电压畸变时i<,p>-i<,q>检测法存在的误差等问题,从基于DSP控制的三相四线制并联型有源电力滤波器的结构出发进行优化设计,提出了一种改进的i<,p>-i<,q>检测法,在该检测法中增加了平衡.APF直流侧电容总电压和上下电容电压的闭环控制,以消除负载电流突变时产生的畸变;并采用一种新颖的基于低通滤波的A相正序电压提取单元来代替原始的i<,p>-i<,q>检测法的PLL锁相环,在三相电压畸变情况下仍可以正确提取A相正序电压,以精确检测出谐波和无功电流. 最后通过MATLAB6.5对系统进行了仿真验证,仿真结果表明该算法能有效保证检测效果的实时性和精确性,证明了该算法的可行性.

    标签: 有源电力滤波器 无功补偿 控制

    上传时间: 2013-04-24

    上传用户:jackgao

  • 基于平均功率和RLS自适应算法的并联型有源滤波器.rar

    随着电力电子技术的飞速发展,越来越多的电力电子装置被广泛应用到各个领域,其中相当一部分负荷具有非线性或具有时变特性,使电网中暂态冲击、无功功率、高次谐波及三相不平衡问题日趋严重,给电网的供电质量造成严重的污染和损耗.因此,对电力系统进行谐波抑制和无功补偿,提高电网供电质量变得十分重要.电力有源滤波器(Active Power Filter,简称APF)与无源滤波器相比,APF具有高度可控制和快速响应特性,并且能跟踪补偿各次谐波、自动产生所需变化的无功功率和谐波功率,其特性不受系统影响,无谐波放大威胁.并联型电力有源滤波器(Shunt Active Power Filter,简称SAPF)更是得到了广泛的应用. 近年来,自适应算法中的递推最小二乘法(简称RLS)应用越来越广泛,该算法简单,收敛速度快.应用基于RLS自适应算法的滤波器(简称RLS滤波器),可以快速有效的滤除杂波,同时自动调整滤波器参数,不断改进滤波性能,最终得到所需的信号. 本文研究了基于平均功率和RLS自适应算法的并联型有源滤波器.它的参考电流是一个同电网相电压同相位的三相平衡的有功电流,它包含两个分量:一个是由实测的三相负载瞬时功率计算得到的,基于平均功率算法的电网应该为负载各相提供的有功电流瞬时参考值;另一个是为了维持有源滤波器中逆变器的直流母线电压基本恒定,主要通过RLS滤波器计算得出的电网各相应该提供的有功电流瞬时参考值.两个分量的计算共同构成了该有源滤波器参考电流的计算.补偿电流指令值与实际补偿电流比较生成控制逆变桥工作的PWM脉冲,生成补偿电流,达到补偿负载无功和抑制谐波的目的. 应用RLS滤波器得到维持直流母线电压恒定的直流侧有功系数A<,dc>,克服了传统PI控制中参数难以得到且由于参数过于敏感而导致补偿后电流纹波太大的问题.使得当稳态时SAPF自身的功率损耗和暂态负载变化时因为直流侧电容提供电网和负载之间的有功功率差而引起的电压的波动迅速反馈到指令电流的计算中.RLS算法收敛快,SAPF实时性大大提高.基于该方法的SAPF结构简单,无需锁相器. 根据本文的算法应用MATAB建立了仿真系统,仿真结果表明基于该算法的SAPF的可行性和实时性.

    标签: RLS 功率 自适应算法

    上传时间: 2013-04-24

    上传用户:mfhe2005

  • 绕组励磁同步电机无传感器矢量控制的研究.rar

    绕组励磁同步电机具有功率因数可调、效率高等优点,在工业大功率场合获得了广泛应用,因此研究和开发高性能的绕组励磁同步电机驱动系统具有重大的经济价值和社会效益。目前开发高性能绕组励磁同步电机驱动系统所采用的控制方案主要有两种:一种是直接转矩控制(DTFC);另一种是磁场定向矢量控制(FOC)。绕组励磁同步电机的矢量控制策略具有控制结构简单,物理概念清晰,电流、转矩波动小,转速响应迅速,易实现数字控制等优点。因此,在交流传动领域中,越来越受到学者的关注。但是,无论在国内还是国外,交直交型绕组励磁同步电机矢量控制系统的研究还缺乏全面深入的理论研究,还没有建造起矢量控制系统的理论体系构架。本文对绕组励磁同步电机矢量控制系统进行了初步的理论探讨,并进行了详细的实践研究,为以后更深入、广泛地研究此系统,打好坚实的基础。本论文主要研究内容如下: @@ 通过广泛的查找文献,对几种常见的同步电机传动系统进行了综述,分析了同步电机变频调速原理,在此基础上,讲述了无传感器技术在同步电机中的应用现状。无传感器技术主要有两大类:基于基波量的检测方法和基于外加信号的激励法。随后,对转子初始位置的估计进行了综述,其方法有:基于电机定子铁芯饱和效应的转子位置估计,高频信号注入法,基于定子绕组感应电压的估计法和基于相电感计算法等。绕组励磁同步电机转子初始位置估计的研究还很少。 @@ 对绕组励磁同步电机矢量控制的理论进行了全面深入地研究,建立起矢量控制的理论体系构架。 @@ 首先,基于磁势等效原理,将三相静止交流信号等效变换为两相旋转直流信号,将交流电机等效为直流电机进行控制。在Clarke变换和Park变换的基础上,得到凸极同步电机转子磁场定向的电压矩阵方程、功率方程和运动方程。根据上述方程,绘出dq轴的等值电路及矢量图,得到状态空间描述的dq轴数学模型。 @@ 其次,根据模型参考自适应原理,对同步电机转速进行估计。忽略同步电机d轴阻尼绕组的作用,取同步转速为零,得到同步电机αβ静止坐标系下 的数学模型。将不含有转子转速信息的方程作为参考模型,将含有转速参数的方程作为可调模型,根据波波夫超稳定性和正性原理,对转子转速进行估计。@@ 最后,根据模型参考自适应估计的转子转速,设计磁通观测器来估计转子磁通,实现磁通反馈闭环控制。磁通观测器采用降维观测器,仅对转子磁通分量进行重构,并通过极点配置算法,合理配置观测器的极点,使观测器满足系统的性能指标,达到磁通观测的目的。 @@ 新颖的空间矢量脉宽调制算法。从空间矢量的基本概念入手,深入分析了定子三相对称电压与空间电压矢量之间的关系。由三相电压源型逆变器输出电压波形得到六个有效开关状态矢量,这六个开关矢量和两个零矢量合成一组等幅不同相的电压空间矢量,去逼近圆形旋转磁场。其次,根据空间电压矢量所在的扇区,选择相邻有效开关矢量,在伏秒平衡的法则下,计算各有效开关矢量的作用时间。并且,探讨了扇区判断和扇区过渡问题,定性分析了空间矢量脉宽调制(SVPWM)的性能。最后,根据每个扇区中开关矢量作用时间,采用软件构造法,在TMS320LF2407A硬件上实现了SVPWM。实验结果表明,该算法简单易实现,能够有效的提高直流母线的电压利用率,具有在低频运行稳定,逆变器输出电流正弦度好等优点。 @@ 空间矢量过调制算法的研究。在上述线性调制的基础上,提出一种基于电压空间矢量的过调制方法。过调制区域根据调制度分成两种不同的模式,分别为模式Ⅰ(0.907

    标签: 绕组 励磁 同步电机

    上传时间: 2013-07-25

    上传用户:gaorxchina

  • 基于模块化多电平换流器结构的HVDCLight系统的研究.rar

    轻型高压直流输电系统在解决交流系统非同步互联、向偏远地区的无源负荷供电、满足保护环境要求等方面具有很大的优势。在传统的基于两电平或三电平电压源型换流器的轻型高压直流输电系统中,换流器交流侧需要使用体积庞大和笨重的滤波装置,桥臂的高电压需要功率开关器件直接串联来实现等,增大了换流站的占地空间,降低了换流器的工作效率。 本文针对传统轻型高压直流输电系统所存在的缺点,采用一种新的模块化多电平换流器作为轻型高压直流输电系统的换流器。分析了模块化多电平换流器的工作原理,并提出将其应用于轻型高压直流输电系统的调制算法和控制策略。最后对控制系统的具体实现方案进行一定的探讨。通过仿真验证所提出的调制算法和控制策略的正确性。具体说来,全文的主要工作体现在以下几个方面: 1、详细讲述模块化多电平换流器的拓扑结构、子模块的具体实现形式及工作原理,并提出适合该换流器的调制算法。 2、详细介绍组成轻型高压直流输电系统的电压源型换流器的工作原理,分析电压源型换流器的间接电流和直接电流控制策略。 3、对基于模块化多电平换流器的轻型高压直流输电系统进行仿真,验证所提出控制策略的正确性。 4、探讨解决模块化多电平换流器子模块直流侧电容电压的均衡问题,提出一种较为简单有效的控制方法。 5、提出基于模块化多电平换流器结构的轻型高压直流输电控制系统的实现方法,并重点讲述子模块的数字逻辑电路的实现方法。

    标签: HVDCLight 模块化 换流器

    上传时间: 2013-04-24

    上传用户:huangzr5

  • 基于UC3854的两级有源功率因数校正电路的研究.rar

    近几十年来,由于大功率电力电子装置的广泛应用,使公用电网受到谐波电流和谐波电压的污染日益严重,功率因数低,电能利用率低。为了抑制电网的谐波,提高功率因数,人们通常采用无功补偿、有源、无源滤波器等对电网环境进行改善。近年来,功率因数校正技术作为抑制谐波电流,提高功率因数的行之有效的方法,备受人们的关注。 本文在参阅国内外大量文献的基础上,综述了近年来国内外功率因数校正的发展状况,简要分析了无源功率因数与有源功率因数的优、缺点,并详细分析了有源功率因数校正的基本原理和控制方法。在通过对主电路拓扑与控制方法的优、缺点比较后,选择BOOST变换器作为主电路拓扑,采用基于平均电流控制的UC3854控制器,设计了容量为300W的两级有源功率因数校正电路的前一级电路,计算了主电路与控制电路的元件参数。根据此参数,基于MATLAB环境下对功率因数校正前、后的电路进行了仿真,通过仿真波形的分析。最后搭建实验电路进行实验,采集实验波形,对实验结果进行分析,进-步验证了本设计参数的正确性与准确性。 本文功率因数校正电路的设计,使电路的功率因数得到了明显的改善,达到了设计要求,同时电路的总谐波畸变因数控制在了一定的范围,减少了对电网的污染。并且电路的输出电压稳定,为后一级的电路设计奠定了基础。

    标签: 3854 UC 有源功率因数

    上传时间: 2013-05-22

    上传用户:源码3

  • 基于MATLAB的B样条小波程序的实现

    · 摘要:  MATLAB是一种建立在向量、数组、矩阵基础上,面向科学和工程计算的高级语言,为科学研究和工程计算提供了一个方便有效的工具.该文简要介绍了B样条和B样条小波的构成,并利用MATLAB语言编写了绘制任意阶B样条和B样条小波图形的程序.  

    标签: MATLAB 程序

    上传时间: 2013-04-24

    上传用户:sqq

  • 选择降压转换器的无源组件

     电源设计往往是系统最后一个考虑因素。这时,大部分用户可选择一个有效模块——输入一个DC电压生成另一个电压。这个模块可以有不同规格,以步降方式生成低电压,或以步升方式生成高电压。同时,还有大量专用方案,如步升/步降、反激式和单端初级电感转换器(sepic),这种DC-DC 转换器可生成大于、小于或等于输入电压的输出电压。对于基于AC 电源工作的系统,可能首先需要采用AC-DC 模块生成系统所需的最高DC 电压。因此,步降转换器,也称降压转换器,是使用最为广泛的设备。下面,我们先介绍如何选择基础步降电压转换器,提高轻负载效率,然后讨论选择外周器件的考虑因素。

    标签: 降压转换器 无源组件

    上传时间: 2013-12-29

    上传用户:pei5

  • 8阶开关电容滤波器MAX29X系列的应用设计

    MAX29X是美国MAXIM公司生瓣的8阶开关电容低通滤波器,由于价格便宜、使用方便、设计简单,在通讯、信号自理等领域得到了广泛的应用。本文就其工作原理、电气参数、设计注意事项等问题作了讨论,具有一定的实用参考价值。关键词:开关电容、滤波器、设计 1 引言     开关电容滤波器在近些年得到了迅速的发展,世界上一些知名的半导体厂家相继推出了自己的开头电容滤波器集成电路,使形状电容滤波器的发展上了一个新台阶。     MAXIM公司在模拟器件生产领域颇具影响,它生产MAX291/292/293/294/295/296/297系列8阶低通开关电容滤波器由于使用方便(基本上不需外接元件)、设计简单(频率响应函数是固定的,只需确定其拐角频率即截止频率)、尺寸小(有8-pin    DIP封装)等优点,在ADC的反混叠滤波、噪声分析、电源噪声抑制等领域得到了广泛的应用。     MAX219/295为巴特活思(型滤波器,在通频带内,它的增益最稳定,波动小,主要用于仪表测量等要求整个通频带内增益恒定的场合。MAX292/296为贝塞尔(Bessel)滤波器,在通频带内它的群时延时恒定的,相位对频率呈线性关系,因此脉冲信号通过MAX292/296之后尖峰幅度小,稳定速度快。由于脉冲信号通过贝塞尔滤波器之后所有频率分量的延迟时间是相同的,故可保证波形基本不变。关于巴特活和贝塞尔滤波器的特性可能图1来说明。图1的踪迹A为加到滤波器输入端的3kHz的脉冲,这里我们把滤波器的截止频率设为10kHZ。踪迹B通过MAX292/296后的波形。从图中可以看出,由于MAX292/296在通带内具有线性相位特性,输出波形基本上保持了方波形状,只是边沿处变圆了一些。方波通过MAX291/295之后,由于不同频率的信号产生的时延不同,输出波形中就出现了尖峰(overshoot)和铃流(ringing)。     MAX293/294/297为8阶圆型(Elliptic)滤波器,它的滚降速度快,从通频带到阻带的过渡带可以作得很窄。在椭圆型滤波器中,第一个传输零点后输出将随频率的变高而增大,直到第二个零点处。这样几番重复就使阻事宾频响呈现波浪形,如图2所示。阻带从fS起算起,高于频率fS处的增益不会超过fS处的增益。在椭圆型滤波中,通频带内的增益存在一定范围的波动。椭圆型滤波器的一个重要参数就是过渡比。过渡比定义为阻带频率fS与拐角频率(有时也等同为截止频率)由时钟频率确定。时钟既可以是外接的时钟,也可以是自己的内部时钟。使用内部时钟时只需外接一个定时用的电容既可。     在MAX29X系列滤波器集成电路中,除了滤波器电路外还有一个独立的运算放大器(其反相输入端已在内部接地)。用这个运算放大器可以组成配合MAX29X系列滤波器使用后的滤波、反混滤波等连续时间低通滤波器。     下面归纳一下它们的特点:     ●全部为8阶低通滤波器。MAX291/MAX295为巴特沃思滤波器;MAX292/296为贝塞尔滤波器;MAX293/294/297为椭圆滤波器。     ●通过调整时钟,截止频率的调整范围为:0.1Hz~25kHz(MAX291/292/293*294);0.1Hz~kHz(MAX295/296/297)。     ●既可用外部时钟也可用内部时钟作为截止频率的控制时钟。     ●时钟频率和截止频率的比率:10∶1(MAX291/292/293/294);50∶1(MAX295/296/297)。     ●既可用单+5V电源供电也可用±5V双电源供电。     ●有一个独立的运算放大器可用于其它应用目的。     ●8-pin DIP、8-pin SO和宽SO-16多种封装。2 管脚排列和主要电气参数     MAX29X系列开头电容滤波器的管脚排列如图3所示。     管脚功能定义如下:     CLK:时钟输入。     OP OUT:独立运放的输出端。     OP INT:独立运放的同相输入端。     OUT:滤波器输出。     IN:滤波器输入。     V-:负电源 。双电源供电时搛-2.375~-5.5V之间的电压,单电源供电时V--=-V。     V+:正电源。双电源供电时V+=+2.35~+5.5V,单电源供电时V+=+4.75~+11.0V。     GND:地线。单电源工作时GND端必须用电源电压的一半作偏置电压。     NC:空脚,无连线。     MAX29X的极限电气参数如下:     电源(V+~V-):12V     输入电压(任意脚):V--0.3V≤VIN≤V++0.3V     连续工作时的功耗:8脚塑封DIP:727mW;8脚SO:471mW;16脚宽SO:762mW;8脚瓷封DIP:640mW。     工作温度范围:MAX29-C-:0℃~+70℃;MAX29-E-:-40℃~+85℃;MAX29-MJA:-55℃~+125℃;保存温度范围:-65℃~+160℃;焊接温度(10秒):+300℃;     大多数的形状电容滤波器都采用四节级连结构,每一节包含两个滤波器极点。这种方法的特点就是易于设计。但采用这种方法设计出来的滤波器的特性对所用元件的元件值偏差很敏感。基于以上考虑,MAX29X系列用带有相加和比例功能的开关电容持了梯形无源滤波器,这种方法保持了梯形无源滤波器的优点,在这种结构中每个元件的影响作用是对于整个频率响应曲线的,某元件值的误差将会分散到所有的极点,因此不值像四节级连结构那样对某一个极点特别明显的影响。3 MAX29X的频率特性     MAX29X的频率特性如图4所示。图中的fs都假定为1kHz。4 设计考虑     下面对MAX29X系列形状电容滤波器的使用做些讨论。4.1 时钟信号     MAX29X系列开头电容滤波器推荐使用的时钟信号最高频率为2.5MHz。根据对应的时钟频率和拐角频率的比值,MAX291/MAX292/MAX293/MAX294的拐角频率最高为25kHz.MAX295/MAX296/MAX297的拐角频率最高为50kHz 。     MAX29X系列开关电容滤波器的时钟信号既可幅外部时钟直接驱动也可由内部振荡器产生。使用外部时钟时,无论是采用单电源供电还是双电源供电,CLK可直接和采用+5V供电的CMOS时钟信号发生器的输出相连。通过调整外部时钟的频率,可完成滤波器拐角的实时调整。     当使用内部时钟时,振荡器的频率由接在CLK端上的电容VCOSC决定:     fCOSC (kHz)=105/3COSC (pF) 4.2 供电     MAX29X系列开关电容滤波器既可用单电源工作也可用双电源工作。双电源供电时的电源电压范围为±2.375~±5.5V。在实际电路中一般要在正负电源和GND之间接一旁路电容。     当采用单电源供电时,V-端接地,而GND端要通过电阻分压获得一个电压参考,该电压参考的电压值为1/2的电源电压,参见图5。4.3 输入信号幅度范围限制     MAX29X允许的输入信号的最大范围为V--0.3V~V++0.3V。一般情况下在+5V单电源供电时输入信号范围取1V~4V,±5V双电源供电时,输入信号幅度范围取±4V。如果输入信号超过此范围,总谐波失真THD和噪声就大大增加;同样如果输入信号幅度过小(VP-P<1V),也会造成THD和噪声的增加。4.4 独立运算放大器的用法     MAX29X中都设计有一个独立的运算放大器,这个放大器和滤波器的实现无直接关系,用这个放大器可组成一个一阶和二阶滤波器,用于实现MAX29X之前的反混叠滤波功能鄞MAX29X之后的时钟噪声抑制功能。这个运算放大器的反相端已在内部和GND相连。     图6是用该独立运放组成的2阶低通滤波器的电路,它的拐角频率为10kHz,输入阻抗为22Ω,可满足MAX29X形状电容滤波器的最小负载要求(MAX29X的输出负载要求不小于20kΩ)可以通过改变R1、R2、R3、C1、C2的元件值改变拐角频率。具体的元件值和拐角频率的对应关系参见表1。

    标签: 29X MAX 29 8阶

    上传时间: 2013-10-18

    上传用户:macarco

  • 单片机指令系统原理

    单片机指令系统原理 51单片机的寻址方式 学习汇编程序设计,要先了解CPU的各种寻址法,才能有效的掌握各个命令的用途,寻址法是命令运算码找操作数的方法。在我们学习的8051单片机中,有6种寻址方法,下面我们将逐一进行分析。 立即寻址 在这种寻址方式中,指令多是双字节的,一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以又称立即数,有“#”号表示。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如:MOV  A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV  DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。这里也特别说明一下:在80C51单片机的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。 直接寻址 直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV  A,30H  这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV  IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是这条指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 关于数据存储器RAM的内部情况,请查看我们课程的第十二课。 直接寻址是唯一能访问特殊功能寄存器的寻址方式! 大家来分析下面几条指令:MOV  65H,A       ;将A的内容送入内部RAM的65H单元地址中MOV  A,direct    ;将直接地址单元的内容送入A中MOV  direct,direct;将直接地址单元的内容送直接地址单元MOV  IE,#85H      ;将立即数85H送入中断允许寄存器IE 前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV 65H,A这条指令的65H就是一个单元地址)。 寄存器寻址 寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部份专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。 寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOV A,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INC R3这条指令的意思是把寄存器R3中的内容加1 从前面的学习中我产应可以理解到,其实寄存器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。 寄存器间接寻址 寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。 MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV  R0,#30H  ;将值30H加载到R0中    MOV  A,@R0    ;把内部RAM地址30H内的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H内的值放到累加器A中 大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV   DPTR,#1234H  ;将DPTR值设为1234H(16位)    MOVX  A,@DPTR      ;将外部RAM或I/O地址1234H内的值放到累加器A中 在执行PUSH(压栈)和POP(出栈)指令时,采用堆栈指针SP作寄存器间接寻址。例:PUSH  30H    ;把内部RAM地址30H内的值放到堆栈区中堆栈区是由SP寄存器指定的,如果执行上面这条命令前,SP为60H,命令执行后会把内部RAM地址30H内的值放到RAM的61H内。 那么做为寄存器间接寻址用的寄存器主要有哪些呢?我们前面提到的有四个,R0、R1、DPTR、SP 寄存器间接寻址范围总结:1、内部RAM低128单元。对内部RAM低128单元的间接寻址,应使用R0或R1作间址寄存器,其通用形式为@Ri(i=0或1)。 2、外部RAM 64KB。对外部RAM64KB的间接寻址,应使用@DPTR作间址寻址寄存器,其形式为:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的单元的内容送入累加器A中。外部RAM的低256单元是一个特殊的寻址区,除可以用DPTR作间址寄存器寻址外,还可以用R0或R1作间址寄存器寻址。例如MOVX  A,@R0;这条指令的意思是,把R0指定的外部RAM单元的内容送入累加器A。 堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针SP作间址寄存器的间接寻址方式。 寄存器间接寻址方式不可以访问特殊功能寄存器!! 寄存器间接寻址也须以寄存器符号的形式表示,为了区别寄存器寻址我寄存器间接寻址的区别,在寄存器间接寻址方式式中,寄存器的名称前面加前缀标志“@”。 基址寄存器加变址寄存器的变址寻址 这种寻址方式以程序计数器PC或DPTR为基址寄存器,累加器A为变址寄存器,变址寻址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于访问程序存储器ROM中的数据表格,即查表操作。变址寻址只能读出程序内存入的值,而不能写入,也就是说变址寻址这种方式只能对程序存储器进行寻址,或者说它是专门针对程序存储器的寻址方式。例:MOVC  A,@A+DPTR这条指令的功能是把DPTR和A的内容相加,再把所得到的程序存储器地址单元的内容送A假若指令执行前A=54H,DPTR=3F21H,则这条指令变址寻址形成的操作数地址就是54H+3F21H=3F75H。如果3F75H单元中的内容是7FH,则执行这条指令后,累加器A中的内容就是7FH。 变址寻址的指令只有三条,分别如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一条指令JMP @A+DPTR这是一条无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令是,程序就转移到A+DPTR指定的地址去执行。 第二、三条指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令这两条指令的通常用于查表操作,功能完全一样,但使用起来却有一定的差别,现详细说明如下。我们知道,PC是程序指针,是十六位的。DPTR是一个16位的数据指针寄存器,按理,它们的寻址范围都应是64K。我们在学习特殊功能寄存器时已知道,程序计数器PC是始终跟踪着程序的执行的。也就是说,PC的值是随程序的执行情况自动改变的,我们不可以随便的给PC赋值。而DPTR是一个数据指针,我们就可以给空上数据指针DPTR进行赋值。我们再看指令MOVC   A,@A+PC这条指令的意思是将PC的值与累加器A的值相加作为一个地址,而PC是固定的,累加器A是一个8位的寄存器,它的寻址范围是256个地址单元。讲到这里,大家应可明白,MOVC   A,@A+PC这条指令的寻址范围其实就是只能在当前指令下256个地址单元。所在,这在我们实际应用中,可能就会有一个问题,如果我们需要查询的数据表在256个地址单元之内,则可以用MOVC   A,@A+PC这条指令进行查表操作,如果超过了256个单元,则不能用这条指令进行查表操作。刚才我们已说到,DPTR是一个数据指针,这个数据指针我们可以给它赋值操作的。通过赋值操作。我们可以使MOVC   A,@A+DPTR这条指令的寻址范围达到64K。这就是这两条指令在实际应用当中要注意的问题。 变址寻址方式是MCS-51单片机所独有的一种寻址方式。 位寻址 80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。 2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。 专用寄存器的位寻址表示方法: 下面我们以程序状态字PSW来进行说明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H   MOV  C,D5H 2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5    MOV  C,D0H.5 4、专用寄存器符号加位表示:例如PSW.5    MOV C,PSW.5 这四种方法实现的功能都是相同的,只是表述的方式不同而已。 例题:   1. 说明下列指令中源操作数采用的寻址方式。   MOV R5,R7 答案:寄存器寻址方式   MOV A,55H 直接寻址方式   MOV A,#55H 立即寻址方式   JMP @A+DPTR 变址寻址方式   MOV 30H,C 位寻址方式   MOV A,@R0 间接寻址方式   MOVX A,@R0 间接寻址方式 改错题   请判断下列的MCS-51单片机指令的书写格式是否有错,若有,请说明错误原因。   MOV R0,@R3 答案:间址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 变址寻址方式中的间址寄存器不可使用R0,只可使用A。   ADD R0,R1 运算指令中目的操作数必须为累加器A,不可为R0。   MUL AR0 乘法指令中的乘数应在B寄存器中,即乘法指令只可使用AB寄存器组合。

    标签: 单片机指令 系统原理

    上传时间: 2013-11-11

    上传用户:caozhizhi