基于AT89C51单片机的电机控制综合课程设计.doc
《基于AT89C51单片机的电机控制综合课程设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的电机控制综合课程设计.doc(27页珍藏版)》请在三一办公上搜索。
1、 基于AT89C51单片机的电机控制综合设计目录1 系统的设计11.1设计的目的和要求11.2系统原理12 系统的构成22.1控制器部分22.1.1控制器分析22.1.2控制器主要功能特性22.1.2控制器引脚功能描述32.2 数据显示部分42.2.1 12864液晶显示模块概述42.2.2 基本参数42.2.3模块引脚说明52.2.4 具体指令介绍:52.2.5显示坐标关系83 硬件电路设计83.1 LCD控制电路原理图83.2电机控制电路93.3速度反馈电路103.4 MCU接口113.5 按键电路114 软件设计124.1程序要求124.2 程序流程图124.3 程序清单124.3.1
2、LCD驱动程序124.3.2 主函数程序175程序的调试215.1 编程软件KEIL C51简介215.2 程序编译和调试216 结语251 系统的设计1.1设计的目的和要求基于AT89C51单片机的电机控制综合系统,以电机为被控对象,由AT89C51单片机作为控制器,结合速度反馈和LCD液晶显示模块,组成一个有较好控制性和实时性的电机控制综合系统。1.2系统原理MCU外围电路电机速度反馈LCD模块图1.1 系统原理图系统的原理如上图1.2所示,控制器AT89C51通过外围电路控制电机转动。由速度反馈电路反馈电机的速度信息,并进行伺服计算和控制。整个系统的主要信息可以在LCD显示模块上显示。2
3、 系统的构成2.1控制器部分2.1.1控制器分析AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.1.2控制器主要功能特性与
4、MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2.1.2控制器引脚功能描述AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个IO 口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲
5、方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(本文由 点梦时刻 倾情奉献)Vcc:电源电压GND:地P0口是一组8 位漏极开路型双向IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口是一
6、个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash编程和程序校验期间,P1接收低8位地址。P2口是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的
7、外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。(本文由 点梦时刻 倾情奉献)P3口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3口除了作为一般的IO口线外,更
8、重要的用途是它的第二功能,如下表2.1.2所示:表2.1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST :复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(本文由 点梦时刻 倾情奉献)ALEPROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允
9、许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指
10、令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA VPP: 外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1: 振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.2 数据显
11、示部分2.2.1 12864液晶显示模块概述12864液晶显示模块是12864 点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312 码简体中文字库(16X16 点阵)、128 个字符(8X16 点阵)及64X256 点阵显示RAM(GDRAM)。可与CPU 直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。2.2.2 基本参数 液晶屏类型 STN FSTN 模块显示效果: 黄绿底黑字 蓝底白字 白底黑字 视角 6点钟 12点钟 驱动方式 1/64 DUTY 1/9 BIAS 背光 LED白色 LED黄绿色 控制器
12、 KS0108或兼容 ST7920 T6963C 数据总线 8 位并口/6800 方式 串口 温度特性 工作温度:-20+70 储藏温度:-30+80 点阵格式 128 x 642.2.3模块引脚说明表2.2 LCD引脚说明引脚名称方向说明引脚名称方向说明1VSS-电源负极11DB4I/O数据42VDD-电源正极 (+5v)12DB5I/O数据53VO-LCD 偏压输入(悬空)13DB6I/O数据64RSH/L数据/命令选择端(片选信号输入)14DB7I/O数据75R/WH/L读/写控制信号(串行数据输入)15PSBH/LH:并行数据模式 L:串行数据模式6EH,H/L使能信号(串行移位脉冲输
13、入)16NC-空脚7DB0I/O数据017/RSTH/L复位端(L:复位)8DB1I/O数据118NC-空脚9DB2I/O数据219BLA-背光源正极10DB3I/O数据320BLK-背光源负极2.2.4 具体指令介绍:1、清除显示(指令代码为01H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLL H功能:清除显示屏幕,把DDRAM 位址计数器调整为“00H”。2、位址归位(02H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLH X功能:把DDRAM 位址计数器调整为“00H”,
14、游标回原点,该功能不影响显示DDRAM。3、点设定(07H/04H/05H/06H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLHI/D S功能:设定光标移动方向并指定整体显示是否移动。I/D=1 光标右移,I/D=0 光标左移。SH=1 且DDRAM 为写状态:整体显示移动,方向由I/D 决定(I/D=1 左移,I/D=0 右移)SH=0 或DDRAM 为读状态:整体显示不移动4、显示状态开/关(08H/0CH/0EH/0FH)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLHDC B功
15、能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON.5、游标或显示移位控制(10H/14H/18H/1CH)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLHS/CR/LX X功能:10H/14H:光标左/右移动;18H/1CH:整体显示左右移动,光标跟随移动,AC 值不变6、功能设定(36H/30H/34H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLHDL XO REX X功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作5、游标或显示移位控制(1
16、0H/14H/18H/1CH)7、设定CGRAM 位址(40H-7FH)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLH AC5AC4AC3AC2AC1 AC0功能:设定CGRAM 位址到位址计数器(AC)8、设定DDRAM 位址(80H-9FH)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLHAC6AC5AC4AC3AC2AC1 AC0功能:设定 DDRAM 位址到位址计数器(AC)9、读取忙碌状态(BF)和位址(BF=1, 状态忙)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2
17、 DB1 DB0H LBFAC6AC5AC4AC3AC2AC1 AC0功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值10、写资料到RAM(本文由 点梦时刻 倾情奉献)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LHD7D6D5D4D3D2D1 D0功能:写入资料到内部的 RAM(DDRAM/CGRAM/TRAM/GDRAM)11、读出RAM 的值CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HHD7D6D5D4D3D2D1 D0功能:从内部 RAM 读取资料(DDRAM/C
18、GRAM/TRAM/GDRAM)12、待命模式(01H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLL H功能:进入待命模式,执行其他命令都可终止待命模式13、卷动位址或IRAM 位址选择(02H/03H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLH SR功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM 位址14、反白选择(04H05H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLHR1 R0功能:选择 4 行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 电机 控制 综合 课程设计

链接地址:https://www.31ppt.com/p-4144702.html