基于单片机的步进电机_ 霍尔测速

上传人:xmg****18 文档编号:120481911 上传时间:2020-02-06 格式:DOC 页数:39 大小:7.47MB
返回 下载 相关 举报
基于单片机的步进电机_ 霍尔测速_第1页
第1页 / 共39页
基于单片机的步进电机_ 霍尔测速_第2页
第2页 / 共39页
基于单片机的步进电机_ 霍尔测速_第3页
第3页 / 共39页
基于单片机的步进电机_ 霍尔测速_第4页
第4页 / 共39页
基于单片机的步进电机_ 霍尔测速_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于单片机的步进电机_ 霍尔测速》由会员分享,可在线阅读,更多相关《基于单片机的步进电机_ 霍尔测速(39页珍藏版)》请在金锄头文库上搜索。

1、. . . . .分数: 评语: 自动化系专业综合实验报告(Part )题目:基于单片机的步进电机霍尔测速实验学 生 姓 名:学 号:指 导 教 师: 二一六年一月. 专业.专注 .目 录1实验所用各元件介绍1 1.1 STC89C51简介1 1.2 定时器3 1.2.1 定时器原理3 1.2.2 51定时器4 1.2.3 本实验定时器简介5 1.3 串口通信模块5 1.4 MAX232芯片62 组态王8 2.1 组态王简介8 2.1.1 概述8 2.1.2 组态王与I/O 设备9 2.1.3 组态王的开放性9 2.2 本实验组态王使用说明9 2.2.1 工程管理器的使用9 2.2.2 工程浏

2、览器的使用12 2.2.2.1 定义外部设备12 2.2.2.2 定义外部设备变量17 2.2.2.3 建立画面19 2.2.2.4 动画连接21 2.2.3运行系统233单片机程序设计23 3.1 单片机程序说明23 3.1.1 常量、变量说明23 3.1.2 函数功能说明24 3.2单片机完整程序254 实验总结30附录:实验原理图321实验所用各元件介绍1.1 STC89C51简介STC89C51RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,

3、器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载到单片机内部,省去了购买通用编程器,且速度更快。STC89C52RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。图1.1 STC89C51RC实物图本实验用板提供USB2.0和串口两种通信方式,USB实现供电、编程、仿真、通信多种功能,另外还提供了Atmel单片机的ISP接口。此板

4、兼容STC、SST、Atmel、Philips等51家族的所有单片机。如果使用ISP编程建议使用开发板自带的单片机,整机包含以下资源:单片机采用STC90c516 1280 SRAM 64K Flash;2.1寸彩色液晶屏;SD卡接口;1602液晶屏接口;12864液晶屏接口;温度传感器DS18B20;EEPROM 24C02 存储器;8位动态数码管;AD/DA转换 PCF8951;DS1302实时时钟;4*4矩阵键盘;4个独立键盘;2*8路led灯;可更换晶振座;USB 接口,实现下载,供电,串行通信。通过USB转串口芯片CH340T转换;IR红外接收头,红外数据传输;板载继电器;蜂鸣器;步

5、进电机 ULN2003达林顿管驱动;图1.2 实验板实物图1.2 定时器1.2.1 定时器原理加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。1.2.2 51定时器89c51 单片机内有两个可编程的定时/

6、计数器T0、T1。定时/计数器的实质是加1 计数器(16 位),由高8 位和低8 位两个寄存器组成。TMOD 是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制寄存器,控制T0、T1 的启动、停止和设置溢出标志。图1.351定时器89c51计时器有四种工作方式:方式0 为13 位计数,由TL0 的低5 位(高3 位未用)和TH0 的8 位组成。TL0 的低5 位溢出时向TH0 进位,TH0 溢出时,置位TCON 中的TF0 标志,向CPU 发出中断请求。方式1 的计数位数是16 位,由TL0 作为低8 位、TH0 作为高8 位,组成了16 位加1 计数器 。图1.4 方式1工

7、作原理图方式2 为自动重装初值的8 位计数方式。工作方式2 特别适合于用作较精确的脉冲信号发生器。图1.5 方式2工作原理图方式3 只适用于定时/计数器T0,定时器T1 处于方式3 时相当于TR1=0,停止计数。工作方式3 将T0 分成为两个独立的8 位计数器TL0 和TH0 。图1.6 方式3工作原理图1.2.3 本实验定时器简介在本实验中,定时器T0主要用于步进电机转速计时,工作在方式1;而定时器T1主要用于产生串口通信所需波特率,工作在方式2;1.3 串口通信模块单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,通信有并行和串行两种方式。在单片机系统以及现代单片机测控系统中,信

8、息的交换多采用串行通信方式。串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。因为一次只能传送一位,所以对于一个字节的数据,至少要分S位才能传送完毕。串行通信的必要过程是:发送时,要把并行数据变成串行数据发送到线路上去,接收时,要把串行信号再变成并行数据,这样才能被计算机及其他设备处理。串行通信传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。串行通信的制式可分为单工、半双工、全双工。1)单工:单工是指数据传输仅能沿一个方向,不能实现反向传输。2)半双工:半双工是指数据传输可以沿

9、两个方向,但需要分时进行。3)全双工:全双工是指数据可以同时进行双向传输。1.4 MAX232芯片MAX232芯片是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,它的内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232输出电平所需的+1OV电压。所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。对于没有+12V电源的场合,其适应性更强,加之其价格适中,硬件接口简单,所以被广泛采用。图1.7 max232引脚结构图图1.7所示max232上半部分,电容Cl, C2, C3, C4及V+, V-是电源变换电路部分。在实际应用中,器件对电源噪声很敏感,因此

10、Vcc必须要对地加去祸电容C5,其值为0.1uF。按芯片手册中介绍,电容Cl, C2, C3, C4应取10uF/16V的电解电容,经大量实验及实际应用,这4个电容都可以选用0.1uF的非极性瓷片电容代替10uF/16V的电解电容,在具体设计电路时,这4个电容要尽量靠近MAX232芯片,以提高抗干扰能力。下半部分为发送和接收部分。实际应用中,T1IN,T2IN可直接连接TTL/CMOS电平的51单片机串行发送端TXD; R1OUT,R20UT可直接连接TTL/CMOS电平的51单片机的串行接收端RXD;T1OUT,T2OUT可直接连接代机的RS-232串口的接收端RXD;R1IN,R2IN可直

11、接连接PC机的RS-232串口的发送端TXD。图1.8max232模块原理图单片机或计算机在串口通信时的速率用波特率表示,它定义为每秒传输二进制代码的位数,即1波特=1位/秒,单位是bps(位/秒)。如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的波特率为10位X 240个/秒=2400bps.串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性也有关。当传输线使用每0.3m(约1英尺)有50pF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当比特率超过1000 bps时,最大传输距离迅速下降,如9600 bps时

12、最大距离下降到只有76m(约250英尺)。因此我们在做串口通信实验选择较高速率传输数据时,尽量缩短数据线的长度,为了能使数据安全传输,即使是在较低传输速率下也不要使用太长的数据线。另外,标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以选择12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的单片机),而本实验板采用的是12M晶振。而有的51单片机采用11.0592M是因为在进行通信时,12M频率进行串行通信不容易实现标准的波特率,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.

13、0592M。假设我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。这里TH1为串口通信波特率产生所用计时器高8位数值。公式计算如下: 使用12M晶振的:解得:TH1249.49。同理可以计算得出当使用11.0592M晶振时,TH1=250。上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但

14、晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。考虑到,通信速率越高,误码率越大,所以决定将通信的波特率设为4800bps。2 组态王122.1 组态王简介2.1.1 概述组态王软件是一种通用的工业监控软件,它融过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理。它基于Microsoft Windows XP/NT/2000/7 操作系统,用户可以在企业网络的所有层次的各个位置上都可以及时获得系统的实时信息。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号