微型计算机步进电机远程控制系统设计_第1页
微型计算机步进电机远程控制系统设计_第2页
微型计算机步进电机远程控制系统设计_第3页
微型计算机步进电机远程控制系统设计_第4页
微型计算机步进电机远程控制系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机步进电机远程控制系统设计步进电机远程控制系统设计报告书1 前言1.1设计背景课程设计是完成教学计划达到本科牛培养目标的重要环节,是教学计 划中进行综合训练的重要实践环节,是有助于培养应用性人才的一种教学 形式,它将使我们在综合运用所学知识,解决计算机本专业方向的实际问 题方面得到系统性的训练。而口微机接口技术是一门实践性很强的 课程,必须加强实验教学。本课程设计是在学习微机接口技术课程z 后,运用先前所学的计算机组成原理、电子技术、接口技术以及程序设计 方法,分析与设计一个实际的计算机应用系统的接口电路。因此,微机 接口技术课程设计是继微机接口技术之后加强实践教学的重要专业 课程。微

2、处理器经过几十年的发展,已形成种类繁多、性能与功能各异的 局面,高性能计算机的实现使能技术包括计算数学、计算机体系结构与部 件构成技术三部分。以计算机性能为主线,介绍高性能计算机研制的历史、 现状与未来展與。1.2设计目的通过本课程的实践环节训练,深化和巩固我们三年所学的软硬件理论 知识,使我们能够充分的认识计算机接口设计的全局过程,以加强软硬件 设计水平和开发技能,更在很大程度上培养我们综合应用接口技术分析和解决实际问题的能力。课程设计的目标是使我们可以在以下几个方面得到 训练:(1)培养正确的设计思想,理论联系实际的工作作风,严肃认真、 实事求是的科学态度和勇于探索的创新精神o(2)培养综

3、合运用所学知识与生产实践经验,分析和解决工程技术 问题的能力。(3)通过课程设计实践,训练并提高在校大学生在理论计算、结构 设计、工程绘图、查阅设计资料、运用标准与规范和应用计算机等方面的 能力。(4)利用所学过的知识,初步分析计算机原理及接口技术的能力;(5)计算机定时/计数系统(包括管理软件及控制应用软件)的设计、 编程与调试的能力;(6)计算机中断系统的应用设计、调试的能力;(7)计算机并行、串行通信的设计和调试的能力1.3设计方法和步骤(1)设计方法对于硬件电路,我们小组主要通过微机实验指导书里面的步进电机原 理图来构建电路。然后结合软件设计中各个端口的使用情况来调整端口的 使用问题。

4、在硬件连接的过程中,我们对于有些集成芯片的引脚接入接岀 情况不是很了解,借助学校为我们提供的网络条件,搜索有用的信息来帮 助我们正确的连接硬件。软件的编写,主要利用mfid实验平台上的步进电机控制c语言、汇编程序和查询方式全双工串行通信接口程序来修改,并且进一步的编写。 其中,在编写程序的过程中,我们的随时的考虑到硬件芯片上端口的高低 电位的控制,否则会严重影响步进电机的远程和本地的通信、控制。(2)研究步骤i硬件的连接步骤:根据原理图来选定所需的硬件元器件,以及足够的连接导线。 熟悉各个元器件的电气特性和内部结构特征1步进电机远程控制系统设计报告书 对我们所使用的面包板的接线原理有一个清晰的

5、认识,为我们 硬件的接线起一个必耍的铺垫。 接线并合理的布局,使得我们所接的线路清晰、明了,调试硬件电路,检查错误并分析解决。ii软件的设计步骤 分析整个课程设计的实验要求,即需求分析。 把步进电机的远程控制分为两个模块:电机的本地控制和远程控 制,分别来编写。 依据具体的需求和实际的芯片特征,合适的调用8255和8251的a、b、c 口的端口地址,以及英他的系统函数和自己编写的函数。 编写本地的电机控制程序,并与接好的硬件一起。 编写远程的控制程序。主耍通过全双工查询方式串行通信程序的基本原理来具体地编写,这是这个程序设计的一个难点和重点。 组合两个模块的程序,设置适当的符号信息来远程控制电

6、机的运 行。并结合硬件电路调试和修改。 调试成功后,为所编写的代码书写适当的注释,以便程序的修改 和易懂性。 验收,书写实验报告和文档。2.需求分析2.1系统设计目标通过步进电机远程控制系统设与制作,深入了解与学握利用rs-232或 rs-485串行通信标准进行远程传送的原理和方法。2.2系统设计要求 甲机通过rs-232或rs-485接口远距离控制乙机一侧步进电机的起 /停。 甲机通过rs-232或rs-485接口远距离控制乙机一侧步进电机的方 向。 甲机通过rs-232或rs-485接口远距离控制乙机一侧步进电机的起 /位、方向,并采用对话框选择控制项日。2.3系统设计内容 进行步进电机远

7、程控制系统电路硬件设计,画出电路原理图,pcb 图或元器件布线图;安装或焊接元器件; 进行步进电机远程控制程序设计; 系统联调,提交一个符合控制程序上述2种要求的通信程序作品3 设计环境3.1课程设计平台 pc兼容机 windows 2000 mfid多功能微机实验平台 mf2ki集成开发环境2步进电机远程控制系统设计报告书 面包板 硬件元器件3.2系统平台配置 电源:机内供电。 i/o端口地址:8255的4个端口地址为300h303h。其中人口 = 300h, bd= 301h, c 口 =302h,命令口 = 303h。dip4 开关的 4 位开关全 部向上置为on; 电缆线与插座:采用2

8、6芯扁平电缆与j5;元器件:包括接口的对 象永磁式四相步进电机,驱动电路达林顿管tip122,保护电路74ls373, 相序指示灯以及开关sw1和sw2等; 步进电机模块上的开关sw1和sw2的功能:配置为用来控制步进 电机的运行方向、速度和启动/停止; 软件资源:mf软件提供的用户应用程序集成开发环境和工具,有 windows2000和98两个版本,两个版本都包含了丰富的汇编语言和c语 言程序软件开发包。4. 概要设计4.1硬件设计4.1.1步进电机控制电路(1)依据原理图,连接硬件电路(2)将mfid平台用26针接口把步进电机硬件电路连接。4.1.2远程控制电路的连接(1)8255a芯片与

9、8251a芯片连接。(2)利用rs-232标准串行通信接口连接硬件平台,实现并口与串口 的转换。4.2软件设计4.2.1步进电机本地控制设计(1)能够在本地通过sw1/sw2控制步进电机的启动/停止;(2)当接收到远程发送来的控制信息,控制电机的不同方式的运转。4.2.2步进电机远程设计(1)当本地按下sw1/sw2吋,依i口可以能够识别并控制电机;(2)发送控制信息,以串行通信的方式控制电机。4.2.3硬件电路原理图步进电机木地控制原理图,如图4-1所示:3步进电机远程控制系统设计报告书图4-1步进电机本地控制原理图(2)步进电机远程控制系统原理图,如图42所示。图4-2步进电机远程控制系统

10、原理图5. 详细设计5.1步进电机的控制原理步进电机是将脉冲信号转换成角位移的一种机电式数模转换器。步进 电机旋转的角位移与输入脉冲的个数成正比;步进电机的转速与输入脉冲 的频率成正比;步进电机的转动方向与输入脉冲对绕组加电的顺序有关。 因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。5.2硬件设计5.2.1步进电机控制电路设计步进电机接口的硬件部分主要是提供输送相序代码的并行接口数据 线(8根),以及保护电机绕组的器件,所以接口电路以8255a为主芯片 (8255a的介绍详见前面音乐发生器屮的介绍),将pa 口作为数据口,传 送加电代码,再加上锁存器74ls373作绕组保护,74

11、ls73芯片的引脚分配 如图5-1所示,4步进电机远程控制系统设计报告书+tip122图5-2 tip122原理图功能对应表如表51所示,功能表中当g为高时,q输出将随数据d 输入而变;当g为低时,q输岀将锁存已建立的数据电平。另外,还有功 率驱动管tip122 (如图5-2),以及二极管(用作保护tip驱动管)、按键开 关sw等。很明显,这里并没有什么联络线。这是因为此处的被控对象步 进电机总是处于准备好接收8255a传来的数据(相序加电代码)的,不需 要查询是否准备好,即无条件传送。表5-174ls373功能表5.2.2步进电机的控制与串行通信原理步进电机是将脉冲信号转换成角位移的一种机电

12、式数模转换器。步进 电机旋转的角位移与输入脉冲的个数成正比;步进电机的转速与输入脉冲 的频率成正比;步进电机的转动方向与输入脉冲对绕组加电的顺序有关。 因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。rs-232标准串行通信接口电路以8251为核心,8253提供发/收时钟, 8255控制8253的gate ho另外,还有max232作电平转换,max491作 rs-232与rs-485的转换,jp31作中断中请开关等。因此,该接口电路可 实现两种借口标准和查询/中断两种方式的串行通信。5.2.3步进电机的启/停以及速度控制一一设置开关为了控制步进电机的启/停和运行方向,通常采用设置

13、硬件开关或软件 开关的方法。所谓硬开关方法,般是在外部设置按键开关sw,并且约 定当某个开关sw按下时启动运行或停止运行,而另外一个sw开关的开 启可用来控制步进电机的运行速度。为此,需要在程序中将开关sw的状 态读入,以便检测sw是否按下。所谓软开关方法,就是利用系统的键盘, 定义某一个键,当该键按下时,启动或停止运行。为此,在程序中要利用 dos系统功能调用来检测键盘输入。本次毕业设计中使用的使硬开关的方 法。设置了 sw1和sw2两个硬开关,分别连接到8255a的pc0和pc1, 分别用以控制步进电机的启/停和方向控制。设计完成的具体步进电机完整远程控制功能原理图,如图5-3所示。步进电

14、机远程控制系统设计报告书图5-3步进电机远程控制功能原理图5.2.4实验电路的搭建实验原理图设计好了以后,在面包板上搭建步进电机驱动模块的电路, 并使用26芯的扁平电缆线,将面包板与平台上的并行接口插座j5连接起 来。搭建步骤参照前面音乐发生器电路模块的步骤。5.2.5步进电机的控制程序设计控制程序的设计思想实现步进电机运行方式、方向和速度以及启/停的控制,是接口软件设 计的主要任务。为此,在编写程序之前,要建立一个相序表。相序表的建 立应根据步进电机运行方式的要求。运行方式与方向的控制一一循环 查表法步进电机的运行方式是指各相绕组循环轮流通电的方式。如四相步进 电机有单四拍、双四拍、单双八拍

15、和双八拍几种方式。为了实现对各绕 组按一定方式轮流加电,需要一个脉冲循环分配器。循环分配器可用硬件 电路来实现,也可用软件来实现。采用软件来设计脉冲循环分配器,乂有 两种方法:控制字法和循环查表法。下面仅对普遍使用的循环查表法作一 介绍。循环查表法是将各相绕组加电顺序的控制代码制成一张表一一步进 电机相序表,存放在表52相序表 绕组与数据线的连接运行方式相序表方向双八拍aabbccd加电地址正反d内存区,再设置一个地址指针。当地址指针依次加1 (或减1) 时,即可从表中収出加电的代码,然后输出到步进电机,产生按一定运行方式的走步操作。若改变 相序表内的加电代码和6步进电机远程控制系统设计报告书

16、地址指针的指向,则可改变步进电机的运行方式和方向。相序表的建立,要考虑两个因素:一是应根据步进电机运行方式的要 求;二是步进电机的各项绕组与数据线连接的对应关系。这意味着相序表 中的加电代码,与步进电机的运行方式及绕组与数据线的连接冇关。因此, 实现同一种运行方式,而由于绕组与数据线的连接不同,可以有多种相序 加电代码。表52列出了四相双八拍运行方式的一种相序加电代码。当然, 运行方式发生改变,加电代码也会改变。步进电机的运行方向是采用设置相序表的指针进行控制的。如表5-2 所示,如果把指针设在指向400h单元开始,依次加1,取出加电代码去控 制步进电机的运行方向叫做正(向前)方向,那么,再把

17、指针改设在指向 407h单元开始,依次减1的方向就是反(向后)方向。另夕卜,表52中的地址单元是随便给定的,在程序中是定义一个变量,来指出相序表的首址。总之,对步进电机运行方式的控制是采用建立相序表的方法,而运行 方向的控制是设置相序表的指针来解决。 步进电机运行速度的控制一一软件延时法控制步进电机速度有两个途径:一是硬件改变输入脉冲的频率,通过 对定时器(如:8253)定时常数的设定,使其升频、降频或恒频。二是软 件延时,或调用子程序。采用软件延时方法来改变步进电机速度,虽然简 便易行,但延时受cpu主频的影响,导致在主频较低的微机上开发的步进 电机控制程序换到较高的主频的微机上,就不能正常

18、运行,甚至由于频率 太高,步进电机干脆不动了。应该指出的是,步进电机的速度还受到本身 距一一频特性的限制,设计时应满足运行频率与负载力矩z间的确定关系, 否则,就会产牛失步或无法工作的现象。5.3软件设计5.3.1步进电机控制程序设计(1)端口的使用i/o端口地址:8255的4个端口地址为300h303ho其中a 口 = 300h, bd= 301h, (2口= 302h,命令口 = 303h。8253 的四个端口地址为 304h307h,其中通道0为304h,通道1为305h,通道2为306h,命 令口为 307 h。8251 的两个端口为:308 h 309 h,其中,308 h 为 82

19、51 数据口,309 h为命令/状态口。(2)步进电机的驱动步进电机在系统中是一种执行元件,都要带负载,因此,需要功率的驱动。在电子仪器和设备中,一般所需功率较小,常采用达林顿复合管作 功率驱动。驱动原理图如54所示。图5-2中2,在tip122的基极上,加电脉冲为高时,加电代码=1时, 达林顿管导通,使绕组a通电;加电代码=0时,绕组断电。表5-374ls373功能对应表控制输出使能输出q步进电机在系统中是一种执行元件,都要带负载,因此,需要功率的 驱动。在电子仪器和设备中,一般所需功率较小,常采用达林顿复合管作 功率驱动。在tip122的基极上,加电脉冲为高时,加电代码=1时,达林顿管导

20、通,使绕组a通电;7步进电机远程控制系统设计报告书加电代码=0时,绕组断电。5.3.2程序流程图(1)本地接收程序流程图如图54所示。图5-4本地接收程序流程图(2)远程控制程序流程图,如图56所示。图56远程控制程序流程图5.3.3代码生成步进电机本地控制的程序见附录a-i;步进电机远程控制的程序见 附录ail8步进电机远程控制系统设计报告书6. 系统调试与操作说明6.1系统调试6.1.1检测实验平台及配套设备在关机状态下将pci总线驱动板插入电脑主板上pci总线插槽中,并 用50芯扁平电缆线将总线信息接入到mfid多功能微机实验平台的50芯 扩展总线插座j2。然后开机,进入mf多功能微机实

21、验集成开发环境,利 用平台板上的资源,运行程序,检测系统的硬件环境是否正常。如果正常, 则继续下一步的操作;如果不正常,则开启mf中的故障检测软件,对运 行平台上的芯片进行针对性检测,直到平台的硬件系统正常为止。6.1.2调试自己设计的软件控制程序实验平台硬件完好的情况下,利用平台板上的硬件资源来调试根据实 验要求自己编写的程序。其调试方法是:釆用mf集成开发环境提供的软 件工具,点击编译菜单项,对自编的程序进行编译、连接和运行,观察控 制程序运行结果是否达到设计要求。如果达到要求,则继续下一步的操作, 否则,对自编的程序进行调试,直至运行结果符合要求为止。6.1.3调试自己设计的硬件控制电路

22、将实验平台板上的部分电路换成自己搭建的模块电路,然后运行mf 集成开发环境提供的实验演示程序,观察是否能满足硬件电路设计的要求。 如果能满足要求,则进行下一步的操作,否则,进行电路调试,直至满足 要求为止。调试所用到的工具是万用表和示波器。6.1.4硬件控制电路与软件控制程序联调将自制的模块电路(在面包板上)连接到系统设计平台相应接口插座处,构成一个包括cpu、接口和被控对象完整的微机控制系统,同时将自 己设计的控制程序调入内存,然后点击mf集成开发环境软件中的编译, 进行编译、连接和运行该程序,观察结果是否正确。如果前面几步是严格 按照顺序走下来的,这时应该得到正确的结果,于是一个实验就成功

23、了。由于本次实验开发所使用的是mfid多功能实验平台提供的硬件平台 和集成开发环境软件工具,整个调试过程比较顺利。因此,建议那些对 mfid多功能实验平台不太熟悉的开发人员,多花点时间去了解和熟悉这个 实验平台的使用。6.2操作说明6.2.1硬件连接与程序运行用rs-485电缆连接两台mfid平台,再用26芯排线连接本地mfid平 台和面包板分别在本地和远程计算机上安装并运行localcontrol.cpp与 remotecontrol.cpp 程序6.2.2电机转动及发光二极管发光情况(1)启动本地控制端,按开关sw1,电机顺时针转动,四个发光二极管顺时针 轮流正常发光;远程控制端,敲击键盘

24、上的键,运行情况和本地控 制一致。(2)停止本地控制端,按下开关sw2,电机及发光二极管停止运转和发光;远 程控制端,敲击键盘上的键,运行情况和本地控制一致(3)电机转动及发光当电机启动后,本地不能够用开关同时控制电机的运转方向。远程控制端,在键盘上敲击“a”键,电机顺时针转动,四个发光二极管顺时针 闪亮;再敲击键,电机转动变快9步进电机远程控制系统设计报告书和四个发光二极管也快速闪亮;如果再敲击“s”键,相反,电机与 发光二极管转动与发光都边慢。当敲击键时,电机与发光二极管都 逆时针转动与发光,同理上述说明,若再敲击“f”、“s”,情况与顺时针时 类似,只是转动与闪亮顺序相反。(4)退岀本地

25、或远程控制端按下“esc “键,运行程序退出。7. 设计总结和心得体会(1)通过这次课程设计,我更加深刻的认识到了步进电机远程控制的 基木原理和硬件电路中各个芯片的内部结构。由于我们的课程设计是小组 完成的,因而协调小组中个成员的任务的极其重要的。只有作为小组长的 我们细心的分配好具体的任务,并且吋吋地监督检查小组成员的任务完成 情况,我们的设计任务才能够按计划的进行。(2)在软件编写的过程中,我遇到了很多平时没有遇到和了解的问题。 首先,就是端口地址的具体调用,并且在设计中如何去使用。在这一点上, 通过张绪辉老师在实验室里,给大家仔细分析例程的过程中,我基本上理 解到端口地址的调用。(3)在

26、远程控制这一块,我首先通过分析参考例程,并做相应的修改, 依然无法控制电机,后来,通过与我做同一个课程设计,也是我的室友陈 冠宏的分析帮助下,我才了解到原来是我在初始化的方式上出现了问题。后來,我们又经常在一起讨论软件设计方面的问题,这对我在软件编写上 收益匪浅,可是我们又遇到了同样的问题,一旦电机运行后,远程可以控 制启/停,而本地却无效。在这块,我也做了一定的尝试,但事倍功半。我 和陈冠宏在龚老师和李畅老师的指导下,终于解决了这个难题!(4)在我们小组中,我觉得任务的分配比较合理的。其屮,由两个小 组成员负责硬件电路的搭接和资料的搜集,另外让一个成员负责pcb图的 制作。当然,在协调他们的

27、工作上,我由于经验上的不足,还是有些小的 细节不能顾及到,因而出现了一些进度的滞后,是我今后在团队合作中应 注意到的。总的说来,我还是觉得我们小组的每个人在课程设计期间都是付 出了努力,并且都是有很大的收获的。对于我自己来说,最深刻的体会是: 通过课程设计的锻炼,让我了解到自己的知识的不足,同时也学到了各种 电器件(面包板、万用表、电烙铁)的使用。10步进电机远程控制系统设计报告书致 谢在这次课程设计期间,有很多的老师和同学给予了我很多的帮助,在 这里,我特别要感谢我们的项目指导老师龚义建老师,张绪辉老师、孙 延维老师、陈宇老师、杜发启老师,还有特地从公司返回母校指导我们课 程设计的李畅学长,

28、以及给予过我无私帮助的同学。止是因为他们的不倦 的帮助和指导,才使得我们的课程设计得以顺利的完成!并且完全实现了 设计要求的功能!在此,我对他们表示深深的感谢!步进电机远程控制系统设计报告书参考文献1 刘乐善主编 微型计算机接口技术及应用 华中科技大学出版社,2000年第1版2 谭浩强主编c程序设计(第二版)清华大学出版社,1999年第2版3 32位mfid-4微机实验指导书华中科技大学计算机学院自编12步进电机远程控制系统设计报告书附录a步进电机远程控制程序代码i步进电机本地控制程序如下:/步进电机本地控制程序/* localcontrol protram *#inelude &lt

29、;conio.h>/kbhitf);#include <stdio.h>/printf();#inelude <dos.h>/delay();#define data51 0x308/8251a 数据口#define ctrl51 0x309/8251a命令/状态口#define ctrl55 0x303/8255 命令口#define timerl 0x305/timer 1 of 8253#define timer2 0x306/8253的2号计数器端口#define timctl 0x307/8253 命令口#defi

30、ne factor 16 波特率因子 16#define baudrate 4800 /set baudrate/*定义函数*void receivelnit();void listening();void int51();void set_bps(int bps);void motorlnit();void startwork();void stopwork();void setsequencetable(int t);int* table; /相序表指针char rcmd; 定义接受远程命令信息变量int status; /定义状态变量prin tf(h *void main()remot

31、e stepmotor control systemnh);printf(hprintf(hn receiving remote control command.rt);printf(hn press 'esc' to exit the application!nh);receivel nit();for(;)if (kbhit()/ 检查按键printf(”nn“);13步进电机远程控制系统设计报告书if(getche()=oxlb)/是 esc?是,则退出,并返回 dosoutport(ctrl55,0x0c);关闭 8253return;if (inpor

32、tb(0x301) = 0x02)startwork();rcmd = 0;liste ning();iffrcmd ='b')startwork();rcmd = 0; / rcmd 置空stopwork();* serial communication module startunsigned long int elk = 1193182;/8251输入时钟频率(十六进制表示) void receivel nit()set_bps(baudrate);int51();outportb(0x303,0x82); /initialization 8255outp

33、ortb(0x303,0x0d); 置 pc6=1,打开 82535 的 gate2,开始输出方波14步进电机远程控制系统设计报告书status=inportb(ctrl51);/获取 8253 txrdy 状态status=inportb(ctrl51); 已准备好,符 if (status&0x02) !=0)rcmd=inportb(data51); printf("%c",rcmd);void int51()outportb(ctrl51,0x00);delay(loo);outportb(ctrl51,0x40);delay(loo);outpor

34、tb(ctrl51,0x4a);delay(loo);outportb(ctrl51,ox27);即有数据传送过來,则接收1个字/8251复位/8251a方式命令/8251a工作命令int i,sendhigh,sendlow;i=clk/bps;i=i/factor;计算计数初值sendhigh = (i>>8)&oxooff;sendlow = i & oxooff;outportb(timctl,0xb6);outportb(timer乙sendlow);装计数初值低字节outportb(timer2,sendhigh);装计数

35、初值髙字节* /serial communication module end* stepmotor command module begin/ outportb(0x303,0x81);初始化outportb(0x303,0x09);置 pc4=1 关闭 74ls37315步进电机远程控制系统设计报告书outportb(0x303,0x08);置 pc4=0,打开74ls373void startwork()int xu8=0x05,0x15,0x14,0x54,0x50,0x51,0x41,0x45; /相序表 intrxu8=0x45,0x41,0x51,0x50,0x54,0x14,0

36、x15,0x05;/ 反向相序表unsigned int i=0;int delaytime = 20;char cmd = 0;table = xu; /默认相序表domotorlnit();outportb(0x300,tablei);/送相序代码到 pa 口i+;if(i=8) i=0;delay(delaytime);/ 延时listening();if(char)cmd != (char)rcmd) cmd = rcmd;elsecmd = 0;switch(cmd)case 'f':delaytime = 20;break;break;/printf

37、f'stepmotor rotated at high speed !n");case 's':delaytime = 100;/pri ntf(" step motor rotated at low speed!n");case 'a':setseque ncetable(xu);16步进电机远程控制系统设计报告书/printff'stepmotor deasil rotate!nh);break;case 'd':setseque ncetable(

38、rxu);/printf(nstepmotor anticlockwise rotate!n");break;default:break;/x=inportb(0x301);while(inportb(0x301)!=0x01)&&!(rcmd='p'); 查sw2按下,或p键按下void setsequencetable(int t)table = t;void stopworkf)outportb(0x303,0x09);/置 pc4=1,关闭 74ls373* step motor command module e

39、nd* ii远程控制程序如下:*/*/*remotecontrol.cpp(s询方式全双工串行通信接口实验)*/*查询方式全双工串行通信程序source file*/* copyright (c) 2001 by hust*/*/#inelude <conio.h>#inelude <stdio.h> #include <dos.h>#define data51 0x308#define ctrl51 0x309#define ctrl55 0x303#define timer2 0x306#define ti

40、mctl 0x307/kbhit();/printf();/delay();/8251a 数据口/8251a命令/状态口/8255 命令口/8253的2号计数器端口/8253 命令口/#define elk 1193182#define factor 16波特率因子 16unsigned long int elk = 1193182;/8251输入时钟频率(十六进制表示)定时常数数组const int boundrate = 4800;void int51();初始化 8251avoid set_bps(int bps);/8253-5 记数初值计算与装入void main()int scmd,rcmd,status;set_bps(bo un drate);in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论