ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:5.57MB ,
资源ID:10610131      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10610131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机控制技术实验指导书研究生部分V60剖析.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机控制技术实验指导书研究生部分V60剖析.docx

1、计算机控制技术实验指导书研究生部分V60剖析计算机控制系统实验指导书编者 赵文龙 彭洁南昌航空大学信息工程学院前 言计算机由于具有强大的算术运算、逻辑判断、记忆等信息加工能力,使得它一诞生就被应用到控制领域。随着计算机科学技术的发展,使60年代控制理论得到应用,而现代控制理论的发展,又为计算机控制的发展奠定了广阔的理论基础。特别是微电子技术的发展给计算机控制提供了物质基础。现在在工业生产等领域中,计算机控制正广泛深入地的得到应用,并取得了可喜的经济效益和社会效益。本实验指导书是计算机控制系统课程的配套教材。是理工科院校电类专业研究生学习计算机控制系统及自动化专业本科生计算机控制系统课程的实验教

2、程,也是研究生计算机控制系统的实验教程(主要掌握12位A/D和12位D/A)。通过实验可使学生进一步了解和掌握计算机控制理论的基本概念、控制系统的分析方法和设计方法以及控制算法的编程实现,学习和掌握系统模拟电路的构成和测试技术,提高应用计算机的能力及水平。本书分为三章,第一章硬件资源,主要介绍实验的硬件组成。第二章软件使用,主要介绍系统软件的操作以及计算机和实验箱的通讯设置。第三章单片机实验部分,主要介绍围绕单片机控制系统开展的各个实验的电路组成,实验原理、实验步骤和控制程序。在编写过程中,承蒙王长坤、吴国辉、邱玉兰老师的帮助和支持。在此,向他们表示衷心的感谢。由于时间仓促,且编者水平有限,书

3、中难免有不足之处,敬请读者批评指正。编 者2016年10月目 录第一章 硬件资源1第二章 软件使用10第三章 单片机系统实验24 实验一 基于定时器定时中断的扫描显示与异步通信实验24 实验二 12位DA转换实验34 实验三 12位AD转换实验40 实验四 数字PID控制实验 51 实验五 数字PID参数整定及控制算法改进实验 56第一章 硬件资源一、基于8位A/D、D/A的单片机控制系统实验的硬件原理图基于8位A/D、D/A的单片机控制系统实验的硬件原理图如图1-1所示。二、基于12位A/D、D/A的单片机控制系统实验的硬件原理图基于12位A/D、D/A的单片机控制系统实验的硬件原理图如图1

4、-2到如图1-7所示。其中图1-2是单片机模块原理图,图1-3是12位A/D模块原理图,图1-4是D/A模块原理图,图1-5是显示模块原理图,图1-6是电源及信号转接模块原理图,图1-7是被控对象模块原理图。图1-1 基于8位A/D、D/A的单片机控制系统实验的硬件原理图图1-2 单片机模块原理图图1-3 12位A/D模块原理图图1-4 D/A模块原理图图1-5 显示模块原理图图1-6 电源及信号转接模块原理图1-7 被控对象模块原理图第二章 软件使用第1节 Keil C软件使用本书后文的所有教学项目例程都是在Keil C51软件下开发和调试的,因此有必要对Keil C51的使用进行简要介绍。

5、Keil C51是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM 语言和C语言的程序设计,界面友好,易学易用。2.1.1 启动Keil C51软件下面介绍Keil C51软件(以版本6.12为例)的使用方法,启动Keil C51时的屏幕如图2-1所示。图2-1 启动KeilC51时的屏幕几秒钟后出现编辑界面,屏幕如图2-2所示。图2-2 进入KeilC51时的编辑界面2.1.2 简单程序的调试下面通过简单的编程、调试操作和演示,引导读者学习和掌握Keil C51软件的基本使用方法和基本调试技巧。 (1)、单击“Project”菜单准备建立一个新工程,在弹出的下拉

6、菜单中选中“New Project”选项(见图2-3)。图2-3 在KeilC51中建立一个新工程(2)、选择要保存的路径,输入工程文件的名字,比如保存到d:STCproject目录下,项目名为P_STCproject,单击“保存”按钮即可,见图2-4。图2-4 将新工程保存到指定目录(3)、系统弹出一个对话框要求选择单片机的型号,可以根据所使用的单片机来选择。Keil C51几乎支持所有的MCS-51内核的单片机,虽然这里没有STC的单片机选项,但是选中Atmel中的89C52即可默认是STC89C52RC单片机。如图2-5所示,选择89C52之后,右边栏是对这个单片机的基本的说明,然后单击

7、“确定”按钮。图2-5 单片机的选型 (4)、完成上一步骤后界面如图2-6所示,到目前为止,在建好的项目中还没有编写一句程序,下面开始编写第一个程序。图2-6 KeilC51中的一个空项目界面(5)、在图2-7中,单击“File”菜单再在下拉菜单中单击“New”选项;图2-7 准备新建一个文件新建文件后屏幕如图2-8所示图2-8 新建文件界面此时光标在编辑窗口中闪烁,这时可以键入用户编写的源程序了,此处建议保存该空白文件及其类型,单击菜单上的“File”,在下拉菜单中选中“Save as” 项者单击,屏幕如图2-9所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展

8、名。注意,如果用语言编写程序则扩展名为.c;如果用汇编语言编写程序,则扩展名必须为.asm。然后,单击“保存”按钮。图2-9 保存新建文件及其类型界面 (6)、回到编辑界面后,单击“Target1”前面的“”号,然后在“SourceGroup1”上单击右键弹出如图2-10所示菜单项;图2-10 在KeilC51中的一个空项目里加入文件然后单击“AddFiletoGroupSourceGroup1”屏幕如图2-11所示图2-11 C源程序被加入空项目里选中Text1.c,然后单击“Add”屏幕如图2-12所示,图2-12 C源程序被加入空项目后的界面此时Source Group1 文件夹中多了一

9、个子项“Text1.c”,子项的多少与所增加的源程序的多少相同。 (7)、在光标闪烁的代码编辑区输入如下C语言源程序;#include#includevoid main(void)SCON = 0x52; /串口方式1,允许接收TMOD = 0x20; /定时器T1工作在方式2TH1 = 0xF3; / 选定波特率TR1 = 1; /启动定时器,此行及以上3行为printf函数所必须printf(Hello I am KEIL.n) ;printf(I will be your friend.n) ;while(1); 在输入上述程序时,Keil c51会自动识别关键字,并以不同的颜色提示用户

10、加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如图2-13所示图2-13 C源程序在项目中被编辑的效果(8)、在图6-13所示界面中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Debug”菜单,在下拉菜单中单击“Start/stop Debug Session”选项(或者使用快捷键Ctrl+F5),界面如图2-14所示图2-14 C源程序在执行Ctrl+F5后的效果(9)、键调试程序,在图2-14中,单击“Debug”菜单,在下拉菜单中单击“go”选项(或者使用快捷键F5),然后再单击“Deb

11、ug”菜单,在下拉菜单中单击“Stop Runing”选项(或者使用快捷键Esc);再单击“View”菜单,在下拉菜单中单击“Serial Windows#1”选项,就可以看到程序运行后的结果,其结果如图2-15所示图2-15 C源程序最后的执行结果至此,在KeilC51中做了一个完整工程的全过程,但这只是纯软件的开发过程,必须在KeilC51中进行进一步设置才能将已编译好的程序下载到STC单片机中供其运行。 (10)、单击“Project”菜单,再在下拉菜单中单击“options for Target Target1”选项,在图2-16所示对话框中,在“Output”选项卡中选中“Creat

12、eHEXFile”前的复选框,再编译一次程序,在项目目录中就会产生HEX代码,本例会产生P_STCproject.hex供下载器软件使用。下载器软件会把程序下载到STC89C52RC单片机中。图2-16 HEX代码产生的设置第2节 STC单片机的烧写1.打开STC单片机的烧写软件,如图2-17所示。这个界面中已经给出了操作步骤:选择单片机型号(选择STC89C52RC即可)点击Open File按钮出现open .hex or bin file 窗口,如图2-18所示选择已经编译成功的shiyan.hex文件,点击打开按钮,出现图2-19的界面选择使用的微机串口选择倍速、增益等(使用STC89

13、C52RC单片机采用默认选项即可)点击Download/下载出现图2-20的界面后给单片机上电开始烧写,烧写进行中如图2-21所示,烧写完成如图2-22所示。图2-17 STC单片机烧写界面图2-18 选择hex文件图2-19 打开hex文件图2-20 开始上电图2-21 烧写进行中图2-22 烧写成功第三章 基于12位A/D、D/A的单片机控制系统实验本套实验系统一共提供了6个围绕单片机系统开展的实验:基于定时器定时中断的扫描显示与异步通信实验、12位D/A转换实验、12位A/D转换实验、数字滞后-超前校正实验、数字PID控制实验、数字PID参数整定及控制算法改进实验、模糊控制实验。该单片机

14、系统如图1-1到图1-7所示。本系统算法完全开放,系统结构组合灵活,可以自行修改和添加新的实验。实验一基于定时器定时中断的扫描显示与异步通信实验一、实验目的1. 掌握单片机内部定时器的使用和C51编程方法;2. 掌握异步通信的工作原理和C51编程方法;3. 掌握扫描显示的工作原理和C51编程方法。二、实验仪器1. 51SKJXSJ单板实验板1块(附12V1A的AC/DC开关型电源模块1个,RS232标准串行通信电缆1根),做步骤9、步骤10和步骤11时还要实验盒1个。2. 带DB9串口的台式PC机1台(装有Keil Vision3编译软件、STC-ISP V29 Beta5下载软件、DOSBO

15、X软件)。3. 如果不用截屏,还要具有照相功能的手机或数码照相机(自备)。实验一图1 扫描显示电路原理图实验一图2 单片机部分原理图三、实验内容利用定时器定时中断,在中断服务程序中完成八段数码管的显示,在主程序中实现有限范围的秒的加、减计数,并且根据加、减计数值更新显示缓冲区的数据,秒的加法计数从-100100周期性计数,秒的减法计数从100-100周期性计数。秒加法计数值在左边4位数码管显示,秒加法计数值在右边4位数码管显示。通过改变SW3SW2SW1拨码开关位置改变时间常数,从而可以改变扫描显示周期,并且关注没有闪烁感的最大扫描显示周期是多少?规定每次秒计数值更新时,要把秒的加、减计数值通

16、过异步串行通信口COM1发送给PC机进行显示,PC机运行shiyan1a.exe,则PC机屏幕上会显示当前通信数据的帧信息图和具体数据,包括空闲、1个起始位、8个数据位、1个停止位、空闲、1个起始位、8个数据位、1个停止位、空闲,其中8个数据位是从D0开始,到D7结束。为了提高通信效率,采用最简单的2字节报文包通信方式,命名秒的加计数值为奇字节,秒的减计数值为偶字节。在秒计数值更新时发送奇字节,利用奇字节发送结束申请串行中断,在串行中断服务程序中发送偶字节,并且偶字节发送结束不申请串行中断。规定波特率为19200bps,当晶体频率11.0592MHz时,用定时器T1产生波特率为方式1和方式3波

17、特率=(T1溢出率)/32 (1-1)注意定时器T1应禁止溢出中断。T1的溢出率又和它的工作方式有关,为确保波特率准确,选择T1工作在方式2即8位时间常数自动重装,波特率的计算公式为19200= fosc/32*12(256-(TH1) (1-2)则计算结果为(TH1)=253=0xfd。要实现STC89C52与PC机串行通信,还要求电平转换,转换后的电平要符合RS232标准,因此需要扩展电平转换电路,如图实验一图3所示。实验一图3 TTL与RS232电平转换电路四、实验电路连线和实验原理本实验连线实验板无需另外接线,扫描显示电路原理图如图实验一图1所示,单片机部分原理图如图实验一图2所示,R

18、S232通信电平转换电路原理图如图实验一图3所示,只须将通信线接到PC机的COM1口。地址译码采用线选法译码,显示段码端口地址由写信号/WR和地址线A15,显示位码端口地址由写信号/WR和地址线A14,其余地址线无效,我们假设为1。故显示段码端口地址为0111,1111,1111,1111B,即0x7FFF,进行写操作,即可输出显示段码,锁存于U4这个8位锁存器中。显示位码端口地址为1011,1111,1111,1111B,即0xBFFF,进行写操作,即可输出显示段码,锁存于U5这个8位锁存器中。采用8段共阴数码管,则扫描显示需要锁存8位段码,选用74HC273芯片能够实现,其中段码的LSB位

19、对应段A,段码的MSB位对应段H,则小数点不亮时数符09的段码如实验一表1所示。程序中可以用如下方法定义端口:#define Displaydata XBYTE 0x7FFF /数码管段码锁存器端口地址实验一表1 小数点不亮时共阴数码管段码表数符0123456789段码0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f可以考虑用查表的方法实现数字到段码的查表法,具体表格定义如下:uchar code Disptab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;涉及到符号时,+号段码为0x00;-号段码为0

20、x40;小数点单独控制,需要小数点的位,对应段码获得后,再或上0x80即可。为了显示两个数,其中一个-100100,另外一个100-100,这里包括符号位,共计需要8个数码管,则扫描显示需要1个8位锁存器锁存8位数码公共端信息,选用SN74ABT273芯片能够实现,其中位码的LSB位对8号数码管,段码的MSB位对1号数码管,编号从1到8对应功能和位码如实验一表2所示。实验一表2 编号从1到8数码管对应功能和位码数码管编号显示内容二进制位码十六进制M1加法符号位01111111B0x7f72加法百位10111111B0xbf63加法十位11011111B0xdf54加法个位11101111B0x

21、ef45减法符号位11110111B0xf736减法百位11111011B0xfb27减法十位11111101B0xfd18减法个位11111110B0xfe0程序中可以用如下方法定义端口#define Displaybit XBYTE 0xBFFF/数码管位码锁存器端口地址可以考虑用查表的方法实现扫描位控到位码的查表法,具体表格定义如下。uchar code Dispbit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /共阴位码表扫描显示中经常需要考虑每位要显示一定的时间,经常使用软件延时的方法,但这种方法不好,我们采用定时器定时的方法,在中断服务程序

22、中执行显示操作,具体方法如下。Displaydata=dispbufM; /查段码表送数显的段端口Displaybit=DispbitM; /查位码表送数显的位端口M+; /修改下一次的显示位当晶体频率11.0592MHz时,用定时器T0并且使用方式1定时中断,每中断一次,显示1位,如果扫描显示周期为T,则8位数码管全不显示一遍,时间为T,显示一位的时间为T/8,则T0时间常数的计算方法如下: (1-3)当T=5ms=0.005s时,即时间常数高字节为0xfd,低字节位0xc0,1秒需要中断次数为 (1-4)当T=5ms=0.005s时,n=200,T为其它数据时,采用上述方法计算时间常数和中

23、断次数。时间常数高字节表、低字节表和1秒对应中断次数均采用表格提供,目前定义的拨码开关SW3SW2SW1无论在什么位置,均是扫描周期5ms。uchar code tHtab8=0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd; /定时器计数初值高字节表uchar code tLtab8=0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0; /定时器计数初值低字节表uchar code secondtab8=200,200,200,200,200,200,200,200; /1秒中断次数计数值表实验装置异步串行通信发送的数据是秒加计数值和

24、秒减计数值,PC机屏幕绘图的截屏如实验一图4所示。其中K表示空闲,Q表示起始,D表示数据,T表示停止。实验一图4 数据为帧信息五、实验步骤1. 计算时间常数和中断次数,扫描周期分别为22ms、23ms、24ms、25ms、26ms、27ms、500ms,求出时间常数和1秒对应中断次数,填入实验一表3中。实验一表3 时间常数和1秒对应中断次数扫描周期5ms22 ms23 ms24 ms25 ms26ms27 ms500 msT0定时周期0.625ms时间常数0xfdc01秒对应中断次数2002. 编辑源程序,参考程序中的时间常数高字节表、低字节表和1秒对应中断次数均是5ms扫描周期的数据,利用计

25、算好的实验一表3的数据,修改参考程序中的时间常数高字节表、低字节表和1秒对应中断次数。3. 用Keil集成开发环境建工程,然后编译该程序,得后缀名.HEX的可执行程序。4. 利用标准串行通信电缆从微机的COM1口连接到51SKJXSJ单板线路板的DB9插座,运行Ver:2.9 Beta5测试版STC-ISP.EXE,选择单片机型号:STC89C52RC,打开你编译产生的HEX后缀名的文件,由于是晶体是24MHz,点击full gain,点击下载按钮再MCU上电复位-冷启动(插上AC/DC开关型模块电源),这时会在下面窗口显示一些提示信息,正常在编程结束时在51SKJXSJ单板上扫描显示2个秒计

26、数值,并且每秒钟会改变秒计时。5. PC机上运行shiyan1a.exe。6. 给实验装置断电,依次设置SW3SW2SW1拨码开关位置,具体如实验一表4,其中首次OFF、OFF、OFF,每次设置后通电。实验一表4 SW3SW2SW1拨码开关与扫描周期的关系查表偏移量SW3SW2SW1扫描周期(s)有无闪烁感7OFFOFFOFF0.56OFFOFFON0.0275OFFONOFF0.0264OFFONON0.0253ONOFFOFF0.0242ONOFFON0.0231ONONOFF0.0220ONONON0.0057. 观察实验装置数码管有无闪烁感,并且记录在实验一表4中。8. 观察PC机屏幕

27、绘制的串行通信帧信息,用手机照两幅照片。9. 根据控制盒硬件平台(参考原理图1-2和图1-5,注意晶体是24MHz),利用8个数码管显示即2个四位1组的数码管扫描显示,2个单独的数码管不显示,且实验一表3中的500ms改为250ms,设计程序,重做步骤2-步骤8。10. 如果改为10个数码管,2个单独的数码管仅做符号显示,2个四位1组的数码管各显示3位整数1位小数,每0.1秒进行一次加法计数和减法计数,实验一表3中扫描周期500ms改成50ms,又如何改造程序?11. 完成老师额外的要求。六、实验报告1. 写出定量计算时间常数的方法,列写实验一表3的实验数据。2. 列写实验一表4的实验数据,没

28、有闪烁感的最大扫描显示周期是多少?3. 贴上手机照片打印图2张,分析每幅照片通信数据帧格式。4. 绘图说明扫描显示规律。5. 画出主程序框图和定时中断服务程序框图。七、预习要求1. 复习定时器、异步通信及中断有关知识;2. 复习扫描显示的有关软、硬件有关知识;3. 预习实验内容,看懂线路和参考程序。4. 按照控制盒的硬件原理图(重点参考原理图1-2和1-5)编写步骤9、步骤10和步骤11的程序,尤其注意单片机外接的晶体是24MHz。八、参考程序/ SW1SW8连P10P17,ON位逻辑0,OFF为逻辑1/SW3SW2SW1:000=5ms;001=22ms;010=23ms;011=24ms;

29、100=25ms;101=26ms;110=27ms;111=500ms#include #include #define uchar unsigned char /无符号字符型变量新表示方法定义#define uint unsigned int /无符号整型变量新表示方法定义#define Displaydata XBYTE 0x7FFF/数码管段码锁存器端口地址#define Displaybit XBYTE 0xBFFF/数码管位码锁存器端口地址bit new_cycle_flag=0; /有新采样数据位标志定义(1是有新数据)char dispbuf8; /显示缓冲区字符型数组定义int Ax_r1,Ax_m1,Ax; /给定量角度、反馈量角度整数定义uchar M=0; /扫描显示位计数变量定义uchar counter_ms_s; /1秒中断次数计数器uchar code tHtab8=0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1