基于单片机的步进电机控制器的设计论文内容摘要:

的实时信息。 电机驱动电流检测模块主要是检测通过电机驱动芯片的电流,然后通过运放将检测到的信号放大,最后将放大后的信 号通过模数转换芯片 ADC0804处理后送给单片机。 独立按键作为一个外部中断源,和单片机端口连接,通过它设置了电机的正转,反转,加速,减速,显示电机电流等功能。 采用了中断和查询相结合的方法来调用中断服务程序,完成了对步进电机的最佳的及时的控制。 本节主要是在第一章和第二章的基础上引出了本论文将要采用的设计方哈尔滨工程大学本科生毕业论文 18 案,并详细的清楚的一条条列出了设计要实现的基本设计要求。 然后是基于我的设计方案,比较简单的但有条理的描述了系统的各个部分的组成以及其对应的基本功能。 通过这一章的内容,我们能对本设计有一个简单的总体的把握, 既是能清楚的知道本题目的设计内容,设计方法,以及最终的预期目标。 单片机最小系统 AT89S51 简介 AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可系统编程的 Flash 只读程序存储器 ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。 它集Flash 程序存储器既可在线编程( ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,功能强大。 主要性能参数 178。 与 MCS51 产品指令系统完全 兼容 178。 4k 字节在系统编程( ISP) Flash 闪速存储器 178。 1000 次擦写周期 178。 - 的工作电压范围 178。 全静态工作模式: 0Hz- 33MHz 178。 三级程序加密锁 178。 128179。 8 字节内部 RAM 178。 32 个可编程 I/ O 口线 178。 2 个 16 位定时/计数器 178。 6 个中 断源 178。 全双工串行 UART 通道 178。 低功耗空闲和掉电模式 178。 中 断可从空闲模唤醒系统 哈尔滨工程大学本科生毕业论文 19 178。 看门狗( WDT)及双数据指针 178。 掉电标识和快速编程特性 178。 灵活的在系统编程( ISP 字节或页写模式) 功能特性概述 AT89S51 提供以下标准功能: 4k 字节 Flash 闪速存储器, 128 字节内部 RAM, 32 个 I / O 口线,看门狗( WDT),两个数据指针,两个 16 位定时/计数器,一个 5 向量两级 中 断结构,一个全双工串行通信口,片内振荡器及时钟电路。 同时, AT89S51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方式停止 CPU 的工作,但允许 RAM, 定时/计数器,串行通 信口及 中断 系统继续工作。 掉电方式保存 RAM 的内容,但振荡器停止工作并禁止其它所 有 部件工作直到下一个硬件复位。 引 脚功能说明 图 AT89S51 该设计使用到的单片机芯片对应管脚名称位置等如图 的引脚功能图详细说明。 178。 VCC:电源电压 178。 GND:地 哈尔滨工程大学本科生毕业论文 20 178。 P0 口: P 0 口是一组 8 位漏极开路型双向 I/ 0 口,也即地址/数据总线复用口。 作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“ l”可作为高阻抗输入端用。 在 和数据总线复用,在访问期间激活内部上拉电阻。 在 F1ash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 访问外部数据存储器或程序 存储器 时, 这组口线分时转换地址(低 8 位)。 178。 P1 口: Pl 是一个带内部上拉电阻的 8 位双向 I / O 口, Pl 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 ( IIL )。 178。 P2 口: P2 是一个带内部上拉电阻的 8 位双向 I / O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电 平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 ( IIL )。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行MOVX@DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX@Ri 指令)时, P2 口线上的内容 (也即特殊功能寄存器( SFR)区 P2 寄存器的内容),在整个访问期间不改变。 Flash 编程或校验时, P2 亦接收高位地址和其它控制信号。 178。 P3 口: P3 口是一组带 有 内部上拉电阻的 8 位双向 I / O 口。 P3 口输出缓冲级可驱动 (吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入“ l”时,它们被内部上拉电阻拉高并可作为输入端口。 作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流 ( IIL )。 P3 口除了作为一般的 I / O口线外,更重要的用途是它的第二功能,如下表所示: P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 具体功能如表 所示 哈尔滨工程大学本科生毕业论文 21 表 P3 口的 引 脚及功能 端口引脚 第二功能 RXD(串行输入口) TXD(串 行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时 /计数器 0 外部输入) T1(定时 /计数器 1 外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通) 178。 RST:复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 WDT 溢出将使该引脚输出高电平,设置 SFR AUXR 的DISRT0 位(地址 8EH)可打开或关闭该功能。 DISRT0 位缺 为 RESET 输出高电平打开状态。 178。 ALE / PROG:当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 即使不访问外部存储器, ALE仍以时钟振荡频率的 1 / 6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 F1ash 存储器编程期间,该引脚还用于输入编程脉冲 ( PROG)。 如 必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只一条 M0VX 和 M0VC 指令 ALE 才 会被激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。 178。 PSEN:程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有 效,即输出两个脉冲。 当访问外部数据存储器,没 有 两次 有 效的 PSEN 信号。 哈尔滨工程大学本科生毕业论文 22 178。 EA / VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为0000H- FFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器中的指令。 F1ash 存储器编程时,该引脚加上 +12V 的编程电压 Vpp。 178。 XTALl:振荡器反相放大器及内部时钟发生器的输入端。 178。 XTAL2:振荡器反相放大器的输出端。 178。 存储器结构 : MCS51 单片机内核采用程序存储器和数据存储器空间分开的结构,均具 64KB 外部程序和数据的寻址空间。 178。 程序存储器 : 如果 EA 引脚接地( GND),全部程序均执行外部存储器。 在 AT89S51,假如 EA 接至 Vcc(电源 +),程序首先执行地址从 0000H- 0FFFH ( 4KB)内部程序存储器,再执行地址为 1000H- FFFFH ( 60KB)的外部程序存储器。 178。 数据存储器 : AT89S51 的具 128 字节的内部 RAM,这 128 字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行, 128 字节均可设置为堆栈区空间。 晶体振荡器特性 AT89S51 一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈 元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷 谐振器)及电容 Cl、 C2 接在放大器的反馈回路 构成并联振荡电路。 对外接电容 Cl、 C2 虽然没 十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。 如果使用石英晶体,我们推荐电容使用 30pF177。 10pF,而如使用陶瓷谐振器建议选择 40pF 177。 10pF。 用户也可以采用外部时钟。 这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端, XTAL2 则悬空。 哈尔滨工程大学本科生毕业论文 23 由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没 有 特殊 要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 Flash 闪速存储器的并行编程 AT89s51 单片机内部 4k 字节的可快速编程的 Flash 存储阵列。 编程方法可通过传统的 EPROM 编程器使用高电压( +12V)和协调的控制信号进行编程。 AT89S51 的代码是逐一字节进行编程的。 编程方法: 编程前,须设置好地址、数据及控制信号, AT89S51 编程方法如下: 1.在地址线上加上要编程单元的地址信号。 2.在数据线上加上要写入的数据字节。 3.激活相应的控制信号。 4.将 EA / Vpp 端加上 +12V 编程电压。 5.每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE / PROG 编程脉冲。 每个字节写入周期是自身定时的,大多数约为50us。 改变编程单元的地址和写入的数据,重复 1- 5 步骤,直到全部文件编程结束。 单片机最小系统设计 采用 AT89S51 单片机构成了控制系统的核心, 其基本模块就主要包括复位电路和晶体震荡电路。 在本设计当中,单片机的 P 0 口、 P 1 口、 P 2 口、 P 3 口全部参与系统工作, 单片机最小系统的接线如图 所示: 哈尔滨工程大学本科生毕业论文 24 图 单片机最小系统图 单片机端口分配及功能 其中 P 0 口用于控制数码管的具体显示功能,既是数码管的段选。 P 1 口主要用于 控制电机驱动芯片 L298 的工作,以及 ADC0804 芯片的编程的读写控制。 P 2 口主要 用于 控制数码管的公共端,既是数码管的位选。 与此同时还处理键盘扫描电路的。 P 3 口主要用于 负责处理 ADC0804 的模数转化芯片的工作。 串口通信模块 本设计 采用串口通信, 来实现计算机与单片机的通信。 其具体的电路图如图 所示。 哈尔滨工程大学本科生毕业论文 25 图 串口通信模块。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。