嵌入式系统设计报告_第1页
嵌入式系统设计报告_第2页
嵌入式系统设计报告_第3页
嵌入式系统设计报告_第4页
嵌入式系统设计报告_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、嵌入式系统设计报告院系: 专业: 教师: 学号: 姓名: 完成时间 设计背景:在学习了半个学期的嵌入式系统课程后,在进行了嵌入式的4个基础实验后,对于嵌入式系统的开发环境和magicarm2410平台都有了初步的了解,试验中通过程序控制magicarm2410平台上的电机、显示屏、蜂鸣器和led灯等实验引起了我们极大地兴趣,为了实践创新,巩固知识,所有有了这次的实验设计。设计思路:本次嵌入式实验设计基于magicarm2410平台,设想在基础实验2.8的基础上寻找创新。由原效果:蜂鸣器响一次之后led管闪烁5次,经过编程改变后实现蜂鸣器响一次,led闪一次循环一次,共5次的效果。系统具体设计:

2、 magicarm241采用arm9作为主控制器,以cos-ii操作系统作为系统平台,使用code warrior开发环境作为开发工具,软件采用c语言和api编程技术,s3c2410a具有117个通用i/o口,分为ah等8个端口,由于每个i/o都有第2功能,甚至第3功能,所以需要通过设置gpiocon寄存器来选择gpioi/o的功能,其中x可以为a、b、c、d、e、f、g、h,表示相应的i/o端口。 具体到程序设计时,在主函数中所调用的函数有:delayns(uint32 dly),void runbeep(void),void led_dispallon(void),void led_dis

3、palloff(void),void led_dispnum(uint32 dat),这几个函数实现了蜂鸣器报警,led管闪烁等效果。 程序设计框图如下:程序调试及结果分析1、端口定义:为四个显示led灯和驱动蜂鸣器定义端口。 2、对于led灯显示,定义void led_dispnum(uint32 dat)函数,控制灯显示。 3、对于蜂鸣器,定义void runbeep(void)函数,用于驱动蜂鸣器响。4、在执行程序时的确以以蜂鸣器响一次,led闪一次为一个循环,共循环5次。5、程序主体部分:=#include config.h/ 定义led控制口 (输出高电平时点亮led)#define

4、 led1_con (111) /* gpe11口 */#define led2_con (112) /* gpe12口 */#define led3_con (14) /* gph4口 */#define led4_con (16) /* gph6口 */ 定义蜂鸣器控制口#define beep (10; dly-) for(i=0; i50000; i+);void runbeep(void) rgphdat = rgphdat & beep_mask; / beep = 0 delayns(5); rgphdat = rgphdat | beep; / beep = 1 delayns

5、(5); void led_dispallon(void) rgpedat = rgpedat | (0x0311); rgphdat = rgphdat | (0x054); void led_dispalloff(void) rgpedat = rgpedat & (0x0311); rgphdat = rgphdat & (0x054); void led_dispnum(uint32 dat) dat = dat & 0x0000000f; / 参数过滤 / 控制led4、led3显示(d3、d2位) if(dat & 0x08) rgphdat = rgphdat | (0x016)

6、; else rgphdat = rgphdat & (0x016); if(dat & 0x04) rgphdat = rgphdat | (0x014); else rgphdat = rgphdat & (0x014); / 控制led2、led1显示(d1、d0位) rgpedat = (rgpedat & (0x0311) | (dat&0x03) 11); int main(void) int i; / 初始化i/o rgpecon = (rgpecon & (0x0f22) | (0x0522); / rgpecon25:22 = 0101b,设置gpe11、gpe12为gpio

7、输出模式 rgphcon = (rgphcon & (0x338) | (0x118); / rgphcon13:8 = 01xx01b,设置gph4、gph6为gpio输出模式 rgphcon = (rgphcon & (0x0320) | (0x0120); / rgphcon21:20 = 01b,设置gph10为gpio输出模式 / led显示控制 while(1) for(i=0; i5; i+) runbeep(); / 蜂鸣器响一声led_dispalloff(); / led全熄灭 delayns(5);led_dispallon(); / led全点亮 delayns(5); / 控制led指示0f的16进制数值 for(i=0; i16; i+) led_dispnum(i); / 显示数值i delayns(5); return(0);/* end of file个人工作与自我评估在小组讨论后选定了以基础实验2.8为参考设计,进行功能上的创新,由我提出了修改的方案并参与到编程中去,然则选定设计看似简单的构想到真实动手操作是还是遇到了很多问题,开发环境的不熟悉,还有各种工程上的编程习惯让我们对原程序的的理解上架设了困难,不过最后终于能够攻破各各难关,大家都颇感欣慰,从这个实验中我也学到了很多,也感到了自身很多的薄弱环节和不足,我为

温馨提示

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

评论

0/150

提交评论