




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验一: 直流、步进电机综合控制系统设计一、实验目的1、初步熟悉实验GPIO口的初始化设置,并熟悉实验箱各个模块的功能2、掌握步进机的控制原理及利用延时脉冲来改变步进电机速度3、掌握直流电机的控制原理及利用pwm占空比控制来改变速度4、学习IIC总线读取和写数据原理,并掌握对CAT1025 E2PROOM操作方法5、学会控制数码管的显示UART串口函数,并初步掌握中断处理函数的写法二、实验基本原理1、S3C 2410A具有117个通用I/O口,分为AH等8个端口,由于每个I/O口都有第2功能
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来设置通讯
3、波特率。设置UCON0寄存器时,要设置串口工作模式为查询模式,即UCON3:0应为0101b。3、S3C2410A具有实时时钟(RTC)功能,能够提供时、分、秒,年、月、日的计时功能,还具有定时报警功能。RTC单元采用独立的后备电池供电,独立是时钟源(采用32.768KHz晶振),即使系统关闭电源,RTC还可以正常工作。要初始化RTC的时间值,首先要给RTCON寄存器写为0x01,使能RTC接口(即允许写RTC操作),然后对年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、时寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY进行初始化,
4、时间值为BCD格式。初始化完成,将RTCCON寄存器写为0x00,禁能RTC接口(即禁止写RTC操作),接下来就可以直接读取RTC时间寄存器的值来使用了。4、步进电机是一种将电脉转化为角位移的数据控制电机,即给它一个脉冲信号,它就按设定的方向转动一个固定的角度。用户可以通过设置脉冲的个数来控制角位移量,从而实现准确的定位操作;另外,通过控制脉冲频率来控制电机转动速度和加速度,从而实现调速的目的。当然,对于步进电机各组绕组(即内部线圈)的控制脉冲要有一定的顺序,否则电机无法正常旋转。MagicARM2410试验箱上的步进电机为四项步进电机,电机驱动为18°。S3C2410A的GPIO驱
5、动能力有限,必须通过ULCN2003达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间连接了电阻,防止控制紊乱造成电机的损坏。5、S3C2410A具有一个硬件I/O接口,可以配置为主发送、主接收、从发送和从接收等4种工作模式。I/O接口包含4个寄存器,控制寄存器IICCON用于设置IIC总线时钟和中断(标志)使能,还有一位中断标志位;状态寄存器IICSTAT除了指示当前IIC总线状态外,还有2位IIC操作模式控制位和总线启动/结束控制位;数据寄存器IICDS用来发送数据或接收数据;从机地址寄存器IICADD用来保存S3C2410A作从机时的器件地址。对IIC接口进行初始化时,首先要设置相
6、应的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。编写加减
7、乘除函数时因为数据在超级终端上是一位一位发送的,所以要考虑到各种结果的最大可能位数,运算时将接收到的ASC码转化为相应数字进行运算,发送结果时将各位数对应的ASC码,从最高位到最低位逐位发送出来,在超级终端上显示的就是其操作结果。显示当前系统时间值可调用实验教材2.16RTC实验SendRTC工程中的函数实现。步进电机靠延时来控制其转速,本实验用旋转按钮W1来调速,这是通过A/D转换实现的,将W1旋转一周分为10个档,进行A/D转换后为01024中的一个数,再除以10,分为10个档。W1从最左边旋转至中间位置时,电机反转,并且电机转速不断减小。中间位置,电机停止转动。从中间位置旋转至最右边时,
8、电机正转,并且速度不断增大。三、主要仪器设备及耗材1、硬件:PC机一台,MagicARM2410教学实验开发平台一套2、软件:Windows98/XP/2000系统,ADS 1.2集成开发环境四、实验步骤1、安装Wiggler JTAG仿真器并打开;2、运行超级终端,新建一个连接;3、启动ADS 1.2,建立工程,在src组中的main.c中编写主程序代码;4、选用DebugRel生成目标,编译链接工程,选择【Debug】,进行JTAG仿真;5、按照超级终端上的提示信息操作;6、根据实验箱及超级终端上的反馈结果调试程序。五、实验主程序/*Copyright (c)* * * *-File In
9、fo-* File Name: main.c* Last modified Date: 20140415* Last Version: v1.0 * Description: 直流、步进电机综合控制系统设计* *-* Created By: 廖丽* Created date: 2014-04-115* Version: v1.0* Descriptions: 1 LED_DispAllOn 2 LED_DispAllOff 3 LED_OnebyOne 4 LED_DispNume 5 Addsubmuldiv_Test 6 Dateweektime_Display 7 StepMOTO_Te
10、st 8 EXIT_AllTest*-* Modified by:* Modified date:* Version:* Description:*/#include "config.h"#include "main.h"/功能测试选择数组char select_test50 ="nnPlease input 110 to select test:n","1 LED_DispAllOnn","2 LED_DispAllOffn","3 LED_OnebyOnen","
11、;4 LED_DispNumen","5 Addsubmuldiv_Testn","6 Dateweektime_Displayn","7 StepMOTO_Testn","8 EXIT_AllTestn","Please input a num you want to test:"/* Function name: DelayNS* Descriptions: 长软件延时。* 延时时间与系统时钟有关。* Input: dly 延时参数,值越大,延时越久* Output: 无* Cre
12、ated by: 廖丽* Created Date: 20140415*-* Modified by:* Modified Date: *-*/void DelayNS(uint32 dly) uint32 i;for(; dly>0; dly-) for(i=0; i<50000; i+);/ 串口接收字符临时变量void fun_test(void)int i = 0;for(i = 0; i < 14; i+)UART_SendStr(select_testi);int main(void)uint8 g_getch ;int i = 0;UART_Select(0);
13、 /选择UART0UART_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("nTest LED_DispAllOn is Over!n"); break;case '2
14、':UART_SendByte(g_getch);UART_SendStr("n");LED_DispAllOff(); /LED灯全灭DelayNS(10);UART_SendStr("nTest LED_DispAllOff is Over!n"); break;case '3':UART_SendByte(g_getch);UART_SendStr("n");for(;) /死循环,当检测到按下Esc键时退出LED_onebyone(); /流水灯if(UART_GetFlag() = 0x1B) /检测
15、是否按下'Esc'键break;LED_DispAllOff(); UART_SendStr("nTest LED_OnebyOne is Over!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'
16、;键break;LED_DispAllOff();UART_SendStr("nTest LED_DispNum test is Over!n");break;case '5':UART_SendByte(g_getch);UART_SendStr("n"); Addsubmuldiv(); /加减乘除测试模块 UART_SendStr("nTest Addsubmuldiv_Test is Over!n");break;case '6':UART_SendByte(g_getch);UART_Send
17、Str("n"); DateWeekTime_Test();UART_SendStr("nTest DateWeekTime_Test is Over!n"); break;case '7':UART_SendByte(g_getch);UART_SendStr("n");StepMOTO_Test();UART_SendStr("nTest StepMOTO_Test is Over!n");break;case '8': return 0;default: break;retur
18、n 0;六、实验数据及处理结果1、选择Debug进行JTAG仿真后进入选择操作情况界面选择1,可看到实验箱上4个LED灯全亮。2、选择2可看到实验箱上4个LED灯全灭。3、选择3可看到实验箱上4个LED灯依次点亮。4、 选择4可看到4个LED灯按16进制数闪亮,最左边的灯为最低位,最右边的灯为最高位。 Debug仿真的操作界面5、 输入5,可进入到能实现两位数的加减乘除的子程序,分别实现加减乘除。例如选择1 进行两位数加法运算;选择2,进行两位数减法运算选择3进行两位数乘法运算选择4进行除法运算6、 输入6,按提示信息,按任意键输出当前时间。7、 输入7,观察步进电机的转动情况, Z键控制电机正转,F键控制电机反转,终端上显示转速,可通过旋转W1调节电机的正反转方向和转速情况。按ESC退出测试,按下字母O键退出整个步进机测试。按Z键控制正转按F键控制反转旋转W1改变速度六、思考讨论题或体会或对改进实验的建议1、掌握了GPxCON寄存器控制LED灯显示的原理。在相应的GPxDAT位写1时,LED灯亮,写0时LED灯灭。2、掌握了在ARM超级终端上进行数学算法的原理,本实验中实现小数减大数,只要将减法指令改为if(num1>=num2)sprintf(disp_buf, "nsub = %dn", sub); elsesprintf(disp_buf,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创新社会治理
- 2025年岗位安全培训考试试题带答案(达标题)
- 2025新员工岗前安全培训考试试题及答案新
- 2024-2025公司项目负责人安全培训考试试题【达标题】
- 2025安全培训考试试题带答案(巩固)
- 2024-2025新工人入场安全培训考试试题答案巩固
- 2024-2025公司、项目部、各个班组安全培训考试试题【夺分金卷】
- 2025年中国甜菜碱行业市场运行格局及投资前景预测分析报告
- 2024-2025企业员工安全培训考试试题及完整答案【一套】
- 2024-2025车间员工安全培训考试试题A卷附答案
- GB/T 1410-2006固体绝缘材料体积电阻率和表面电阻率试验方法
- 工业厂房土方回填施工方案1215
- 鲜肉切片机设计说明书
- 2018年USB数据线检验规范资料
- 沥青混凝土拌合站吊装计算书
- 风电场道路及平台施工组织方案
- 第4章单回路控制系统设计-zhm
- 视觉形象设计VIS清单
- LLC谐振半桥的主电路设计指导
- 工具钳工技能操作鉴定要素细目表09版
- 产业园区运营方案(共6页)
评论
0/150
提交评论