实验一直流步进电机综合控制系统设计..docVIP

实验一直流步进电机综合控制系统设计..doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一直流步进电机综合控制系统设计.

实验一 直流、步进电机综合控制系统设计 一、实验目的 通过本次实验熟悉MagicARM2410 GPIO、UART、RTC,步进电机,直流电机,IIC的工作原理;并能熟悉的编程控制。 二、实验要求 以MagicARM2410为实验平台,设计一个通过串口通信交互控制的综合型控制系统。具体来说,可在启动时,自动列出一些选项,通过键盘选择某个选项而实现其功能;考虑到实时性,再按某个控制键能立刻停止当前功能而回到初始的待选状态。具体功能要求如下: ??? 1、实现四个LED灯按照十六进制的规则依次亮灭; ??? 2、在超级终端上输入两个两位数,实现两位数的加减乘除并显示运算结果; ??? 3、显示当前的年月日、星期、时分秒; ??? 4、实现步进电机的调速和正反转;可用旋转按钮W1或按键控制调速,在超级终端和数码管上同步显示其正反转和转速信息; ??? 5、实现直流电机德调速和正反转;可用旋转按钮W2或按键控制调速,在超级终端和数码管上同步显示其正反转和转速信息; ??? 6、利用IIC通信,实现EEPROM的读写;在超级终端上显示地址和数据。 三 、实验原理 (一)LED灯 四个小灯分别接于GPE11、GPE12 GPH4、GPH6端口;控制端口“0“和“1”分别实现亮灭(端口设为输出)如下: void LED_init(void) { // 初始化I/O rGPECON = (rGPECON (~(0x0F22))) | (0x0522); // rGPECON[25:22] = 0101b,设置GPE11、GPE12为GPIO输出模式 rGPHCON = (rGPHCON (~(0x338))) | (0x118); // rGPHCON[13:8] = 01xx01b,设置GPH4、GPH6为GPIO输出模式 } (二)UART UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。UART首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是5~8个数据位,一个可用的奇偶位和一个或几个高位停止位。接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶,UART就在数据位后面加上奇偶位。奇偶位可用来帮助错误校验。 在接收过程中,UART从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART就置位奇偶标志。发送/接收逻辑波特率的产生 3. 数据收发 4. 中断控制出现以下情况时,可使UART 产生中断:   FIFO 溢出错误  线中止错误(line-break,即Rx 信号一直为0 的状态,包括校验位和停止位在内)  奇偶校验错误  帧错误(停止位不为1)  接收超时(接收FIFO 已有数据但未满,而后续数据长时间不来)  发送  接收 由于所有中断事件在发送到中断控制器之前会一起进行“或运算”操作,所以任意时刻 UART 只能向中断产生一个中断请求。通过查询中断状态函数UARTIntStatus( ),软件可以在同一个中断服务函数里处理多个中断事件(多个并列的if 语句)。 回环操作 串行红外协议void UART_Init(void) { int i; if(g_uart_sel) // 判断是否为串口1 { // I/O口设置 (GPH5,GPH4) rGPHUP = rGPHUP | (0x034); rGPHCON = (rGPHCON (~0x00000F00)) | (0x00000A00); // 串口模式设置 rUFCON1 = 0x00; // 禁止FIFO功能 rUMCON1 = 0x00; // AFC(流控制)禁能 rULCON1 = 0x03; // 禁止IRDA,无奇偶校验,1位停止位,8位数据位 rUCON1 = 0x245; // 使用PCLK来生成波特率,发送中断为电平触发模式,接收中断为边沿触发模式, // 禁止接收超时中断,使能接收错误中断,正常工作模式,中断或查询方式(非DMA) // 串口波特率设置 rUBRDIV1=(int)(PCLK/16.0/UART_BPS + 0.5) -1; } else { // I/O口设置 (GPH3,GPH2) rGPHUP = r

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档