《嵌入式综合实验.docx》由会员分享,可在线阅读,更多相关《嵌入式综合实验.docx(21页珍藏版)》请在第一文库网上搜索。
1、实验四综合实验设计一、实验目的通过熟悉MagicARM2410实验箱各模块的功能,再结合自己所学的专业知识以及各模块的程序设计方法,设计一个综合实验。二、实验要求设计一个综合实验,要求通过键盘改变控制直流电机的转速,同时通过RTC和UART模块,在PC机超级终端处显示步进机转速的级别以及时间。在此实验中包括了UART、定时器中断、RTC键盘1ED数码管显示、直流步进电机等模块。三、实验设计思路本实验通过设计一个控制1ED数码管显示并接收键盘输入的主程序,在主程序中通过键盘输入调用直流电机中控制转速的子程序,不同的键值输入对应不同的直流电机转速。并且在改变转速的同时,通过调用RTC和UART模块
2、,分别向PC机发送时间和转速的级别。因此关键是设计好主程序,解决好各调用子程序之间的矛盾和冲突,使他们可以很好的共存。实验框图如下:直流电机的转速改变是通过改变电压来完成的,电压越大,直流电机的转速越快,而不同电压所需要的占空比是不一样的,本实验就是通过改变占空比来实现不同电压的转变,从而控制直流电机的转速。四、实验程序由于实验程序比较长,现只将实验的主程序的main函数表示出来,其他调用程序见附件一。voidmain(void)(inti,j;inttemp;uint16key;disp_bufOO=O;disp_buf1(0=1;disp_buf20=2;disp_buf30=3;直流电机
3、初始化设置/TOUTO口设置rGPBCON=(rGPBCON&(0x030)(0x020);/rGPBCON1kOJ=10b,设置TOUTO功能rGPBUP=rGPBUP|0x0001;/禁止ToUTO口的上拉电阻/设置GPH9为GP1O输出模式rGPHCON=(rGPHCON&(0x0318)|(0x0118);/GPH9口rGPHDAT=rGPHDAT&(-(19);输出0电平rGPHUP=rGPHUP|(19);/GP1O设置rGPACON=rGPACON&(121);A口,RUN灯控制口(GPA21)rGPHCON=(rGPHCON&(0x0320)(0x0120);/rGPHCON2
4、1:20=O1b,设置GPH1O为I/O输出模式/设置中断服务程序V1CVectAddr11O=(uint32)IRQ_TimeO;定时中断向量地址设置VICVectAddr4=(uint32)IRQ.Eint4;/外部中断向量地址设置/设置中断控制器PRIORITY=0x00000000;使用默认的固定的优先级r1NTMOD=0x00000000;/所有中断均为IRQ中/GPIO设置rGPACON=rGPACON&(121);/AU,RUN灯控制口(GPA21)rGPHCON=(rGPHCON&(0x0320)(0x0120);/rGPHCON21:20=01b,设置GPH1o为I/O输出模
5、式/初始化I2C接口InitI2C();r1NTMSK=OxFFFFFBEF;/使能EINT4中断rEINTMASK=-0x0000010;/控制1ED数码管显示whi1e(i=O)(for(j=0;jNew建立一个新的文件main.c,设置直接添加到项目中,在TargetS一栏中选择DebUg.输入主程序的程序代码,并保存,此时在工程窗口中可以看到main.c文件。3 .打开所建的工程,选择ADDFIies,向该工程添加实验所需要的各个模块,如图所示:Eqiub.mcpo|回|S3|I0DebUg二!疵V0号A0Fi1esI1inkOrderTargetsFi1eCodeData暮WHAhe
6、d00H-config.h00工.target,hOO工S3C2410.h00工W3startup00z1“9StartUP.s00z1/target00Z,*target,cOO工/Rconso1e00Zuart.h00z1.Uart.cOOI“Frei1CddriVe00z1Icddrive.h00T1Icddrive.cOO工/-t-resourc00Zb1iss.cOo工/SQI2C00工BI2C.h00*1“I2C.cOOW9z1g7290.h00z1/91z1g7290.cOO工*HPsrc00z1“幽main.cOo工15fi1es004 .工程文件添加完毕后保存,然后选择【Pr
7、oject】,【Make】,将编译链接整个工程。如果有错误按照错误提示栏提示的错误进行修改,直到链接正确。5 .打开JTAG仿真器软件,并且在电脑开始菜单找到附件一数据通讯一超级终端;打开超级终端,设计超级终端的参数,用于观察数据的接收。6 .选择【Project】【Debug】,IDE环境就会启动AXD调试软件,如果首次运行要记得加载初始化文件ARM2410.txt,初试完毕后,可以执行单步或全速运行调试。7 .全速运行后,改变键盘上的键值从。键到3键,观察直流电机的转速改变情况以及超级终端的数据接受情况。六、实验结果及分析通过改变键盘的输入值,直流电机的转速发生改变,当键盘按下O键时,1E
8、D数码上显示1,代表直流电机以1/4占空比模式运行,同时可以从超级终端处观察到发送来的数据“直流电机以spee1运行”,后面紧接着显示时间如图1所示。同样按下键1和键2时可以分别看到1ED数码上显示2和3,他们分别代表直流电机以2/4占空比模式运行和3/4占空比模式运行。在接收端可以从超级终端分别观察到“直流电机以speed2运行”和“直流电机以SPeed3运行”后面紧跟着的是他们开始旋转的时间。当按下键3时,1ED数码上显示4,表示直流电机切换到全占空比模式,即直流电机停止转动,此时可以从超级终端收到“直流电机停止运行”以及开始停止的时间。通过观察得知直流电机的转速与占空比有关,当占空比小于
9、1时,且逐渐增大时,直流电机的转速越来越快,也就是SPeedIspeed2speed3;实验截图如下:文怦)查看9OJOiI(E)传送Q)相助QJ)口冲3:口占国-直流电机以SPee1运行20:57:46Tuesday,1/10/2006直流电机以SPeed3运行20:57:49Tuesday,1/10/2006直流电机以SPeed2运行20:57:51TUeSday,1/10/2006直流电机停止运行20:57:53Tuesday,1/10/2006直流电机以SPee1运行区区mEm团旦7住8隹8年8m8ttf8尾8m8wcc5应5冠5ift5就5应5应5应5应5应1f20直20直20直20直20直20直20直20直20直9058机59机01机03机04机06机07机09机11机19以停以以以以以以av行叫即”四行叩行a行W行a11Sd运Sdsdtjsd钿sdtsd运Sd运Sd运Sd运川e2e-丁e足Ce足e2e3e2e2CUdU1U1U1UdUdUdUd:IeJZr一TeTeTeTeTeTeTeTeeeeeeee如果没有其他键按下要求跳转,则直流步进电机一直以该模式运行。七、实验心得:(-)本次实验虽然只是一个小型的综合性实验,但是对于我这么一个初次接触嵌入式的人来说,还是遇到了很多困难。首先在硬件方面上感到很吃力,很多以前学