综合实验报告_第1页
综合实验报告_第2页
综合实验报告_第3页
综合实验报告_第4页
综合实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、重庆交通大学信息学院设计性实验报告成 绩: 班 级: 通信工程2班 学 号: 631106040204 姓 名: 何 国 焕 实验所属课程: arm嵌入式系统基础 实验室(中心):语音楼二楼arm实验室指 导 教 师 : 闫 果 实 验 时 间 : 2013.11.1 一、课程设计题目基于arm的led灯综合实验同组人: 631106040201:付航本实验包含三个模块:1. 运用led灯进行ascii码表的显示。要求:使用8个led灯显示09、az, az的ascii码的显示。每一个ascii码值显示510秒,每一个ascii值进行切换时,点亮8号led灯。2. 运用led灯自由制作流水灯显

2、示。要求:自行设计流水灯的样式,但不能雷同(同组人员也不能雷同)。3. 使用按键功能,实现模块1和模块2之间的切换。二、题目分析1. 对使用的arm芯片的基本情况进行分析 1) 首先,arm是低电平点亮,要将led灯按要求点亮,即对应arm芯片的p1.16p1.23引脚。欲达到09、az, az的ascii码的显示,而且我们做实验使用的是magicarm2200-s的教学实验开发平台,它具有灵活的跳线选择(i/o与功能电路的连接),外设pack和gpio输出接口以及其他很多强大的功能。 2) 可以通过gpio口的高低电平来控制八个流水灯的亮与灭,从而达到实验所要求的流水灯状态 3)可以利用外部

3、中断进行模式转换。在本次实验涉及到了:pinsel1设置管脚连接gpio功能,io1dir配置led 控制i/o 的输入输出方向 ,io1set置高低电平,io1clr 低电平输出led 显示结果。2. 分析led灯、按键和arm芯片的链接情况。8个led灯分别用led1led8表示,则led1led8可以使用p1.16p1.23管脚的gpio功能进行相应的控制,通过引脚连接模块的控制寄存器可以选择相应引脚的gpio功能,低电平有效。按键连接的管脚为p0.20,在进行模式切换时可以使用arm芯片的中断功能。具体做法是设置p0.20 脚为eint3 功能,初始化为非向量中断,并设置为电平触发模式

4、,然后等待外部中断。中断服务程序将按键全局变量取反,然后等待中断信号的撤消,最后清除中断标志并退出中断。3、 功能设计1、 led灯显示ascii码模块arm芯片的每个管脚功能可以通过pinsel2寄存器进行选择,因此可以将led灯连接的管脚p1.16p1.23设置为gpio功能,然后将io1dir设置为输出控制方式,用以向io1set和io1clr寄存器写入相应值,控制引脚的输出电平。为了显示09、az, az的ascii码的值,可以先通过字符数组存储ascii码,然后将其强制转换为数值,接着使用前述方式对端口p1.16p1.23赋值,就可实现led灯显示ascii码。2、led自由流水灯模

5、块本人的流水灯设计为前后各两个灯向中间汇聚,然后交错循环,4、 详细设计1、流水灯模块:图()是自己的跑马灯显示函数,函数名“guohuan”,显示规则是前后各两个灯,向中间汇聚,逐次循环,当遇到有按键切换是切换到ascll码,显示a到z、a到z和0到9。2、led灯显示ascii码模块:图(2)为ascll码的显示及它与跑马灯之间的切换,期间包括了字符向码的转换,由于要转换成二进制,才能用灯的形式显示出来,函数完成该功能。本模块可以通过设置pinsel2寄存器选择led灯连接的8个管脚p1.16p1.23的gpio功能。然后对io1dir寄存器第16位第23位赋值为1,将对应引脚设置为输出功

6、能。为了顺序显示ascii码值,先将09、az, az共62个ascii码保存在字符数组中,并将其转换为数值形式,保存在整型数组中。接着将ascii码对应的数值左移16位(对应管脚p1.16p1.23),写入io1clr寄存器中,由于低电平有效,便可运用led灯显示当前的ascii码。为了区分不同的ascii码,需要将ascii码的显示时间进行设定。因此在显示之后需要进行延时。最后将io1set置位,以恢复led灯全灭的状态,等待下个ascii码的显示。通过key的值来控制流水灯的显示模式,并在显示过程中判断key的值是否改变,从而切换到另一种模式。 延 时 函 数delayns(uint32

7、 dly) 图(1)流水灯显示流程图图(2)码值显示流程5、 总结1. 描述实验的过程刚开始实验时没多大信心,前面对gpio输出掌握不是很好,不过我们熟悉了lpc2000 系列arm7 环境下的编程,加上老师的辅导,过程中也有和同学交流学习,做到了先了解运行机制再胸有成竹的编写代码。我们先从简单的入手,先完成了流水灯的设计,后面大量时间花在了按键切换上,有气馁,有失望,但在不懈努力下还是完成了实验要求。2. 记录实验中遇到的问题1)延时太短,不能正确判断实验正确性2) 延时太短,不能看到实验效果3) 忘记清零,导致led全亮4) 按键切换较难理解,而且切换后还得显示三段ascll码3.评价和同

8、组人员的合作情况实验中我和同组成员紧密配合,能够在实验时间内完成老师安排的实验任务,我们在过程中相互鼓励支持,共同努力,虽然实验是枯燥无味的,而我们一起实验也不乏风趣,遇到困难不会退缩,而是迎难而上,通过各种渠道将问题解决,我们的合作不但完成了实验,也是我们之间的感情更近了一步,加强了我们之间的了解和关系。3. 对本次实验的总结与提高 本次试验考验了我们自己的动手能力,同时还是对我们平时学习实验,有了相当程度上的考核。由于是综合性实验,有用到前面实验的内容,之前做的gpio输出控制实验,是对我们的操作进行了训练,而该实验则是真正考验我们课程学习与实验的掌握程度,加强了了实验动手能力,实验是最能

9、锻炼人能力的手段,也是区别个人能力的最有效途径,而要想提高实验动手能力,就得自己动手动脑,去探索,在实践中更贴切的理解他们之间的必然联系。 实验过程中在理论课程帮助很大,使我更加牢固的掌握了嵌入式的原理,并对嵌入式有了更进一步的熟悉,渐渐地了解了该课程的编程。这都来自于对程序运行过程的理解,对程序分析透彻了便能很好编程,相反如果对程序了解相对较少,编程常常遇到不少困难。该实验还让我懂得了理论与实践相结合的重要性,实践能很大程度加深对理论的理解,增长实践经验。没有相当的理论基础就没法实践,同样没有实践能力,空一身理论也没用武之地。 附录:(代码)#include config.h#define

10、beepcon 17 / p0.7 引脚控制b1,低电平蜂鸣,10; dly-) for(i=0; i5000; i+); /*名 称: disp()*功 能:输出数字指定内容的ascii码,用led灯显示*/ void guohuan() int i; for(i=0;i8;i+) io1clr = disp_tab7-i; io1clr = disp_tab6-i; io1clr = disp_tabi; io1clr = disp_tabi+1; delayns(50); / 延时 io1set = 0xffffffff; if(a=1) return; void disp(int p,

11、int q) int a,b,k; for(a=p;a=q; a+) b=a;for(k=0;k8;k+) if(b%2!=0) io1clr = disp_tabk; b=b/2; delayns(50); / 延时 io1set = 0xffffffff; io1clr = disp_tab7; delayns(50); / 延时 io1set = 0xffffffff; if(a=0) return; void _irq irq_eint3(void) uint32 j; if(a=0) a=1; else a=0; /* 等待外部中断信号恢复为高电平(若信号保持为低电平,中断标志会一直

12、置位) */while( (extint&13)!=0 ) extint = 13; / 清除eint3 中断标志,13 等价于 0x08for(j = 0; j 0xfff; j+); / 软件延时消除按键抖动 vicvectaddr = 0; / 向量中断结束int main(void)/*pinsel1 = 0x00000000;*/io1dir = ledcon;irqenable(); / 开irq 中断pinsel1 = 38; / 设置管脚连接,p0.20 设置为eint3/*io0dir = beepcon; / 设置b1 控制口为输出,其它i/o 为输入io0set = beepcon; / 设置beep 初始状态为静音*/* 打开eint3 中断(使用非向量irq) */vicintselect = 0x00000000; / 设置所有中断分配为irq 中断vicdefvectaddr = (int)irq_eint3; / 设置中断

温馨提示

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

评论

0/150

提交评论