基于mcs-51单片机控制直流无刷电动机毕业设计(论文内容摘要:

4 个 LS 型 TTL 负载。 P2 口: ~ P2 口 8 位双向口线(在引脚的 21~ 28 号端子) ,是一个带内部上拉电阻的 8 位双向 I/O 口,系 统扩展时,作为高 8 位地址线使用,不做扩展系统时,可作为一般 I/O 口使用,可以驱动 4 个 LS 型TTL 负载。 P3 口: ~ P3 口 8 位双向口线(在引脚的 10~ 17 号端子 ),是一个带内部上拉电阻的 8 位双向 I/O 口,双功能复用口。 ( 2) 控制引脚 ALE/ PROG :ALE 为地址锁存允许信号,工作时输出一正脉冲; PROG 为此引脚的第二功能,在对片内 EPROM 型单片机编程写入时,此引脚为编程脉冲输入端。 PSEN :为外部程序存储器的读选通信号,低电平有效。 每个机器内,PSEN 激发两次,从片内程序存储器存取时,不激发 PSEN。 EA / ppV : EA 为内外程序存储器控制端,当引脚为高电平时, CPU 先执行片内程序存储器指令,除非程序计数器 PC 超过 0FFFH(即 4K 地址范围),将自动转向执行 外部程序存储器内的程序指令。 RST/ pdV : RST 为复位信号输入端,高电平有效。 pdV 为此引脚的第二功能,即备用电源输入端。 10 PSEN 和 ALE 输出端是否有信号可以判断出单片机是否在工作。 ( 3) 时钟引脚 两个时钟引脚 XTAL XTAL2 外接晶体与片内的反相放大器构成了一个振荡器,为单片机提供时钟控制信号。 XTAL1:此引脚内部是一个片内振荡器的反向输入端。 图 22 所示为 MCS51 系列单片机双列直插引脚图。 图 22 MCS51 系列 单片机双列直插封装方式的引脚 XTAL2:此引脚内部接至内部反相放大器的输出和内部时钟发生器的输入 ( 4) 电源引脚 电源引脚用来接入单片机的工作电源。 ccV :正常运行时的电源,接 +5V。 ssV :电源地线,接地端。 一般在 ccV 和 ssV 之间接有高频和低频滤波电容。 11 MCS51 单片机的工作方式 MCS51 系列单片机的工作方式有:复位方式,程序执行方式,节电工作方式,低功耗方式以及 EPROM 编程和校验方式。 单片机不同的工作方式,代表单片机处于不同的状态。 单片机工作方式的多少是衡量单片机性能的一项重要标准。 ( 1) 复位方式:复位是单片机进入状态的初始化操作,是使 CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。 另外,当程序运行错误或由于错误操作而使单片机进入死锁状 态时,可以通过复位进行重新启动。 复位后,单片机内部寄存器的值被初始化。 MCS51 系列单片机的 RST 引脚是复位信号的引入端,复位信号高电平有效,单片机在时钟电路工作以后,只是在 RST 端持续给出两个机器周期( 24 个振荡周期)以上的高电平就可以完成复位操作。 MCS51 系列单片机的复位是由外部的复位电路来实现的,复位方式有:上电自动复位和按键手动复位。 上电自动复位是通过电容充电来实现的,通过选择适当的电容和电阻,就能够使 RST 引脚上的高电平保持两个振荡周期以上,以实现上电的同时完成单片机的复位;按键手动复位分 为按键电平复位和按键脉冲复位两种方式。 ( 2) 程序执行方式:程序执行方式是单片机的基本工作方式,也就是执行用户编好放在程序存储器中的程序。 程序执行方式有两种:连续执行和单步执行。 连续执行方式是所有单片机都需要的一种基本工作方式,用户编写好的被执行程序放在片内或片外 ROM 中;单步运行方式是用户调试程序的一种工作方式,在单片机的开发系统上有一个专用的单步执行按键,每按下一次,单片机就顺序执行一条指令(仅仅执行一条),单片机的单步运行方式通常只在用户调试程序时使用,用于观察每条指令的执行情况。 ( 3) 节电工作方式 : MCS51 系列单片机中有 HMOS(高密度沟道金属氧化物半导体)和 CHMOS(互补高密度沟道金属氧化物半导体)两种工艺芯片。 HMOS 单片机的节电工作方式只有掉电工作方式; CHMOS 单片机的节电工作方式有掉电工作方式和空闲工作方式两种。 12 单片机的节电工作方式是由其内部的电源控制寄存器 PCON 中的相关位来实现控制的,该特殊功能寄存器的地址为 87H, MCS51 系列单片机的节电工作方式有空闲工作方式和掉电工作方式两种情况,其中在掉电工作方式中,单片机的内部振荡器停止工作, PCON 的各位定义如表 21 所示。 表 21 PCON 寄存器的位定义 位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD —— —— —— —— GF1 GF0 IDL SMOD:串行口波特率倍率控制位,用于串行口通信; GF GF0:通用标志位; PD:掉电方式控制位, PD=1 进入掉电工作方式; IDL:空闲方式控制位, IDL=1 进入空闲工作方式。 其中退出空闲方式的方法有两种,一种是中断推出,另一种是按键复位退出;退出掉电方式的唯一方法是由硬件复位,复位时将所有的特殊功能寄存器的内容初始化,但不改变内部 PAM 区的 数据。 ( 4) EPROM 编程和校验方式:编程是指利用特殊手段对单片机内部的 EPROM 进行写入的过程,校验则是对刚刚写入的程序代码读出校验的过程。 内部 EPROM 编程:编程的主要操作是将原始程序、数据写入到内部EPROM 中,为了对片内 EPROM 编程, MCS51 系列单片机的时钟频率应在 4~ 6MHz 的范围内,要用专门的单片机开发系统,编程时各引脚的用法如下所示: P1 口和 P2 口的 ~ 为 EPROM 的 4K 地址输入, P1 口为低 8位地址; P0 口为编程数据输入; ~ 以及 PSEN 应为低电平 , 和 RST 为高电平; 以上除 RST 的逻辑电平为 外,其余均为 TTL 电平。 应当注意的是 EA/ ppV 上编程电压 不能大于 ,因此要求该电压非常稳定。 EPROM 校验程序:校验的主要操作是在向片内程序存储器 EPROM 写 13 入信息时或写入信息后,可将片内 EPROM 的内容读出校验,以保证写入信息的正确性。 MCS51 单片机的最小应用系统 最小应用系统是指能维持单片机运行的最简单配置系统,常构成一些简单的控制系统,如开关状态的输入 /输出控制等。 对于片内有ROM/EPROM 的芯片来说,构成最小应用系统时,只要将单片机接上时钟电路、复位电路和电源即可。 对于片内无 ROM/或者 EPROM 的 8031 芯片来说,其做小应用系统除了外部配置时钟电路、复位电路和电源外,还应在片外扩展 EPROM 作为程序存储器用。 MCS51 系列中含有片内程序存储器的单片机,如 8051/8751 仅一块芯片就可以构成最小应用系统,而无片内程序存储器的单片机,如 8031必须外接扩展程序存储器才能构成最小应用系统。 如图 23 所示为单片机的 应用系统。 图 23 单片机的应用系统 14 由于集成度的限制,这种最小应用系统只能起到作一些小型的控制单元,其应用特点有以下几个:  全部 I/O 口线均可提供用户使用;  内部存储器容量有限(只有 4KB 地址空间);  应用系统开发具有特殊性。 MCS51 单片机的指令系统 指令系统概述 一个单片机所需执行指令的集合即为单片机的指令系统。 单片机使用的机器语言、汇编语言及高级语言,但不管使用是何种语言,最终还是要“ 翻译 ” 成为机器码,单片机才能执行之。 现在有很多半导体厂商都推出了自己的单片机,单片机种 类繁多,品种数不胜数,值得注意的是不同的单片机它们的指令系统不一定相同,或不完全相同。 但不管是使用机器语言、汇编语言还是高级语言都是使用指令编写程序的。 计算机的指令一般是采用汇编语言指令来表示。 指令系统简介 MCS51 系列单片机 的指令系统按功能可以分为数据传送、算术操作、逻辑操作和控制转移四大类。 以下分别介绍这几类指令。 数据传送指令可分为通用的、累加器专用的目标地址用的三种: ( 1) 通用的传送 MOV 执行第二操作数到第一操作数地位、字节 字的传送。 PUSH 把 SP 寄存器加 1,然后从第二操作数传送一个字节到当前 SP寻址的堆栈单元中。 POP 把有 SP 寄存器寻址的栈单元中传送一个字节到第一操作数,然后把 SP 减 1。 (2)累加器专用传送 XCH 第二操作数的字节于 A 累加器的字节交换。 15 XCHD 第二操作数的地半字节于 A 累加器的地半字节交换。 MOVX 外部数据存储器和 A 累加器之间传送一个字节。 外部抵制可由 DPTR 寄存器( 16 位)或 R R0(各 8 位)来指定。 MOVC 从程序集存器传送一个字节到 A 寄存器中。 (3)目标地址传送 MOV DPTR, data 把 16 位立即数装入一对目的寄存器 DPH 和 DPL中。 MCS51 系列单片机的 指令系统的特点是除了加、减法外,还有乘法和除法功能,因而加快了运算速度,增强了运算功能,减少了编程工作量。 此外还有一种调整操作,它可以允许对压缩的十进制数( BCD) 直接执行算术操作。 ( 1) 加法(四种) INC (加 1)执行源操作数和 1 的加法,结果回送到源操作数中。 ADD 执行 A 累加器与第二操作数之间的加法,结果送回 A 累加其中。 ADDC (带进位加) 执行 A 累加器和第二操作数之间的加法,若以前 C 标志置 位则加 1,把结果送到 A 累加器中。 DA ( BCD 加法的使劲违法调整) 对两个 2 位十进制操作数的二进制加法结果进行调整。 由 DA 所形成的压缩十进制数之间和回送到 A 累 加器中。 如果 BCD 结果大于 99 则进位标志位置位,否则清 0。 ( 2) 减 法 (两种) SUBB (连借位减) 执行从第一操作数(累加器)中间去第二操作数, 如果 C 标志位置位则再减 1,把结果回送到 A 寄存器。 DEC (减 1) 执行从操作数减 1,结果送到操作数中。 ( 3) 乘法 MUL 执行 A 累加器与 B 寄存器的无符号乘法。 双字节乘法的高位字接送 B 寄存 器,低位字节送 A 累加器。 如果乘积的高位字节为 0 则 0V 清零,若非 0 则 0V 置位。 C 清零, AC 保持不变。 16 ( 4) 除法 DIV 执行 A 累加器与 B 寄存器的无符号数除法,把上送到累加器 A;余数送到 B 寄存器。 若除数为 0,则累加器 A 和寄存器 B 内容不定,并置位 0V,否则 0V 清 0。 C 清 0, AC 保持不变。 MCS51 系列单片机除了能执行一般操作数的基本逻辑操作数外,还能对位进行逻辑操作,有较强的布尔处理功能。 ( 1)单操作数逻辑操作 CLR 用于 A 累加器和 C 进位标志或任何直接寻址为清 0。 SETB C 进 位标志或任何直接寻址的位置 1。 CPL 把 A 累加器中的操作数取反,并把结果回送到 A 累加器中,不影响标志位;或者将 C 进位标志或任何直接寻址位取反。 ( 2)双操作数逻辑操作 ANL 对两个操作执行按为逻辑“与”操作,并把结果回送到第一个操作数中。 ORL 对两个操作数(字节)执行按位逻辑“或”操作,并把结果回送到第一个操作数中。 XRL 对两个操作数(字节)执行按位逻辑“异或”操作并把结果回送到第一个操作数中。 ACALL 绝对调用指令、无条件地调用指定地址的子程序。 所调用的子程序的起始地址必须在与 ACALL后面指令的第一字节在同一 2K区间的程序存储器中,并不影响标志。 LCALL 长调用指令。 它调用指定地址的子程序。 所调用的子程序可以从全部 64K字节程序存储器地址空间的任何地方开始。 不影响任何标志。 RET 转移控制到前一次调用操作时保存在堆栈中的地址,一般为ACALL 或者是 LCALL 所调用的子程序结束语句。 AJMP 转移控制到目标操作数。 AJMP 和 LJMP 操作类似于 ACALL和 LCALL。 SJMP 指令提供了一下一条指令的起始地址为中心的 256 字节范围的转移( 128~ +127)。 JMP 间接转移指令。 把累加器 A 的无符号内容与数据指针的 16 位数 17 据相加,然后把结果送到程序计数器。 这样转移的实际目的可以是程序储存空间中的任何单元。 这种间接转移对程序中实现 N 路散转很方便。 1)有条件转移 J Z 如果累加器 A 为 0 则执行一次转移。 JNZ 如果是累加器 A 部委 0,则执行一次转移。 J C 如果仅为标志 Cy 为 1,则执行转移。 JNC 如果仅为标志 Cy 为 0,则执行转移。 2)无条件转移 J B 如果直接寻址位为 1,则执行转移。 JNB。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。