版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试验报告学生姓名:学号:专业班级:试验类型:□验证□综合□设计□创新试验日期:试验成果:试验一:直流、步进电机综合限制系统设计一、试验目的1、初步熟识试验GPIO口的初始化设置,并熟识试验箱各个模块的功能2、驾驭步进机的限制原理及利用延时脉冲来变更步进电机速度3、驾驭直流电机的限制原理及利用pwm占空比限制来变更速度4、学习IIC总线读取和写数据原理,并驾驭对CAT1025E2PROOM操作方法5、学会限制数码管的显示UART串口函数,并初步驾驭中断处理函数的写法二、试验基本原理1、S3C2410A具有117个通用I/O口,分为A—H等8个端口,由于每个I/O口都有第2功能,甚至第3功能,所以须要通过设置GPxCON寄存器来选择GPx口I/O口功能,其中x可以为A、B、C、D、E、F、G表示相应的I/O端口。当I/O口设置为GPIO输出模式(Output模式)时,可以通过写GPxDAT限制相应I/O口输出高电平或低电平,GPxDAT为1的位对应I/O输出高电平,为0的位对应输出低电平。
2、工程模板中包含有串口软件包UART.C,用户可以调用相应的接口函数进行串口数据发送和接收,串口的波特率须要在config.h文件中进行设置,本试验运用默认的115200波特率。对串口进行初始化时,首先要设置相应I/O口为TXD0,TRD0功能引脚,然后通过ULCON0来设置通讯波特率。设置UCON0寄存器时,要设置串口工作模式为查询模式,即UCON[3:0]应为0101b。
3、S3C2410A具有实时时钟(RTC)功能,能够供应时、分、秒,年、月、日的计时功能,还具有定时报警功能。RTC单元采纳独立的后备电池供电,独立是时钟源(采纳32.768KHz晶振),即使系统关闭电源,RTC还可以正常工作。要初始化RTC的时间值,首先要给RTCON寄存器写为0x01,使能RTC接口(即允许写RTC操作),然后对年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、时寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY进行初始化,时间值为BCD格式。初始化完成,将RTCCON寄存器写为0x00,禁能RTC接口(即禁止写RTC操作),接下来就可以干脆读取RTC时间寄存器的值来运用了。4、步进电机是一种将电脉转化为角位移的数据限制电机,即给它一个脉冲信号,它就按设定的方向转动一个固定的角度。用户可以通过设置脉冲的个数来限制角位移量,从而实现精确的定位操作;另外,通过限制脉冲频率来限制电机转动速度和加速度,从而实现调速的目的。当然,对于步进电机各组绕组(即内部线圈)的限制脉冲要有肯定的依次,否则电机无法正常旋转。 MagicARM2410试验箱上的步进电机为四项步进电机,电机驱动为18°。S3C2410A的GPIO驱动实力有限,必需通过ULCN2003达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间连接了电阻,防止限制紊乱造成电机的损坏。5、S3C2410A具有一个硬件I/O接口,可以配置为主发送、主接收、从发送和从接收等4种工作模式。I/O接口包含4个寄存器,限制寄存器IICCON用于设置IIC总线时钟和中断(标记)使能,还有一位中断标记位;状态寄存器IICSTAT除了指示当前IIC总线状态外,还有2位IIC操作模式限制位和总线启动/结束限制位;数据寄存器IICDS用来发送数据或接收数据;从机地址寄存器IICADD用来保存S3C2410A作从机时的器件地址。 对IIC接口进行初始化时,首先要设置相应的I/O为IICSDA、IICSCL功能引脚,然后通过对IICCON寄存器来设置IIC总线时钟,并使能IIC中断(标记),通过IICSTAT寄存器来设置IIC接口为主发送模式。6、外部中断:设置GPF4引脚为外部中断EINT4功能,下降沿触发方式。初始化S3C2410A中断限制器,设置EINT4为IRQ中断,并使能中断允许。初始化完成后,等待外部中断产生。7、设计过程 本试验为多个试验的综合,可先编辑好各个函数后,在主函数中用switch分为8种状况,分别调用试验要求的8种功能函数。实现四个LED灯依据十六进制的规则依次亮灭,主要是在各LED灯按16进制在其相应GPxDAT上写1或0。编写加减乘除函数时因为数据在超级终端上是一位一位发送的,所以要考虑到各种结果的最大可能位数,运算时将接收到的ASCⅡ码转化为相应数字进行运算,发送结果时将各位数对应的ASCⅡ码,从最高位到最低位逐位发送出来,在超级终端上显示的就是其操作结果。显示当前系统时间值可调用试验教材2.16RTC试验SendRTC工程中的函数实现。步进电机靠延时来限制其转速,本试验用旋转按钮W1来调速,这是通过A/D转换实现的,将W1旋转一周分为10个档,进行A/D转换后为0~1024中的一个数,再除以10,分为10个档。W1从最左边旋转至中间位置时,电机反转,并且电机转速不断减小。中间位置,电机停止转动。从中间位置旋转至最右边时,电机正转,并且速度不断增大。三、主要仪器设备及耗材1、硬件:PC机一台,MagicARM2410教学试验开发平台一套2、软件:Windows98/XP/2000系统,ADS1.2集成开发环境四、试验步骤1、安装WigglerJTAG仿真器并打开;2、运行超级终端,新建一个连接;3、启动ADS1.2,建立工程,在src组中的main.c中编写主程序代码;4、选用DebugRel生成目标,编译链接工程,选择【Debug】,进行JTAG仿真;5、依据超级终端上的提示信息操作;6、依据试验箱及超级终端上的反馈结果调试程序。五、试验主程序/****************************************Copyright(c)************************************************************--------------FileInfo-------------------------------------------------------------------------------**FileName:main.c**LastmodifiedDate:2014-0415**LastVersion:v1.0**Description:直流、步进电机综合限制系统设计****------------------------------------------------------------------------------------------------------**CreatedBy:廖丽**Createddate:2014-04-115**Version:v1.0**Descriptions:1LED_DispAllOn 2LED_DispAllOff 3LED_OnebyOne 4LED_DispNume 5Addsubmuldiv_Test 6Dateweektime_Display 7StepMOTO_Test 8EXIT_AllTest**------------------------------------------------------------------------------------------------------**Modifiedby:**Modifieddate:**Version:**Description:**********************************************************************************************************/#include"config.h"#include"main.h"//功能测试选择数组charselect_test[][50]={ "\n\nPleaseinput1~10toselecttest:\n", "1LED_DispAllOn\n", "2LED_DispAllOff\n", "3LED_OnebyOne\n", "4LED_DispNume\n", "5Addsubmuldiv_Test\n", "6Dateweektime_Display\n", "7StepMOTO_Test\n", "8EXIT_AllTest\n", "Pleaseinputanumyouwanttotest:"};/***********************************************************************************************************Functionname:DelayNS**Descriptions:长软件延时。**延时时间与系统时钟有关。**Input:dly 延时参数,值越大,延时越久**Output:无**Createdby:廖丽**CreatedDate:2014-04-15**-------------------------------------------------------------------------------------------------------**Modifiedby:**ModifiedDate:**------------------------------------------------------------------------------------------------------********************************************************************************************************/voidDelayNS(uint32dly){ uint32i; for(;dly>0;dly--) for(i=0;i<50000;i++);}//串口接收字符临时变量voidfun_test(void){ inti=0; for(i=0;i<14;i++) UART_SendStr(select_test[i]);}intmain(void){ uint8g_getch; inti=0; UART_Select(0);//选择UART0 UART_Init();//UART0初始化 LED_init();//LED相关初始化 EINT_init();//外部中断初始化 while(1) { fun_test(); switch(g_getch=UART_GetKey()) { case'1': { UART_SendByte(g_getch); UART_SendStr("\n"); LED_DispAllOn();//LED灯全亮 DelayNS(10); UART_SendStr("\nTestLED_DispAllOnisOver!\n"); break; } case'2': { UART_SendByte(g_getch); UART_SendStr("\n"); LED_DispAllOff();//LED灯全灭 DelayNS(10); UART_SendStr("\nTestLED_DispAllOffisOver!\n"); break; } case'3': { UART_SendByte(g_getch); UART_SendStr("\n"); for(;;)//死循环,当检测到按下‘Esc’键时退出 { LED_onebyone();//流水灯 if(UART_GetFlag()==0x1B)//检测是否按下'Esc'键 break; } LED_DispAllOff(); UART_SendStr("\nTestLED_OnebyOneisOver!\n"); break; } case'4': { UART_SendByte(g_getch); UART_SendStr("\n"); for(i=0;i<16;i++) { LED_DispNum(i);//以二进制形式显示十六进制 DelayNS(500); if(i==15) i=0; if(UART_GetFlag()==0x1B)//检测是否按下'Esc'键 break; } LED_DispAllOff(); UART_SendStr("\nTestLED_DispNumtestisOver!\n"); break; } case'5': { UART_SendByte(g_getch); UART_SendStr("\n");Addsubmuldiv();//加减乘除测试模块UART_SendStr("\nTestAddsubmuldiv_TestisOver!\n"); break; } case'6': { UART_SendByte(g_getch); UART_SendStr("\n"); DateWeekTime_Test(); UART_SendStr("\nTestDateWeekTime_TestisOver!\n"); break; } case'7': { UART_SendByte(g_getch); UART_SendStr("\n"); StepMOTO_Test(); UART_SendStr("\nTestStepMOTO_TestisOver!\n"); break; } case'8': { return0; } default:break; } } return0;}六、试验数据及处理结果1、选择Debug进行JTAG仿真后进入选择操作状况界面选择1,可看到试验箱上4个LED灯全亮。2、选择2可看到试验箱上4个LED灯全灭。3、选择3可看到试验箱上4个LED灯依次点亮。选择4可看到4个LED灯按16进制数闪亮,最左边的灯为最低位,最右边的灯为最高位。Debug仿真的操作界面输入5,可进入到能实现两位数的加减乘除的子程序,分别实现加减乘除。例如选择1进行两位数加法运算;选择2,进行两位数减法运算选择3进行两位数乘法运算选择4进行除法运算输入6,按提示信息,按随意键输出当前时间。输入7,视察步进电机的转动状况,Z键限制电机正转,F键限制电机反转,终端上显示转速,可通过旋转W1调整电机的正反转方向和转速状况。按ESC退出测试,按下字母O键退出整个步进机测试。按Z键限制正转按F键限制反转旋转W1变更速度六、思索探讨题或体会或对改进试验的建议1、驾驭了GPxCON寄存器限制LED灯显示的原理。在相应的GPxDAT位写1时,LED灯亮,写0时LED灯灭。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全栈开发工程师招聘试题及答案
- 移动通信技术试题及答案
- 有趣的小学测试题及答案
- 构造地质学考试题及答案
- AI教学系统引入课堂的伦理风险与学生主体性危机
- 《上下楼梯扶栏杆》-幼儿园安全教育主题活动
- 2025年椭圆题目高考真题及答案
- 必读书草房子题库及答案
- 云计算服务选择与架构设计方案
- 敏捷项目管理快速响应变化与高效交付价值
- 2024年山东省公务员考试申论(C卷)真题答案解析
- 2025广东惠州市政务服务和数据管理局编外人员招聘6人考试笔试参考题库附答案解析
- 抖音美食运营方案
- 国开2025年《资源与运营管理》形考任务1-4答案
- 氨水泄漏知识培训课件
- 纪念抗战胜利 坚定民族信念
- 2025云南省交通投资建设集团有限公司下属曲靖管理处收费员招聘(76人)考试参考试题及答案解析
- 人工智能工程技术人员
- 电子商务数据安全管理细则
- 2025年包钢(集团)公司新员工招聘考试真题及答案
- 应急预案中预案衔接
评论
0/150
提交评论