嵌入式系统设计报告.doc

上传人:laozhun 文档编号:2392802 上传时间:2023-02-17 格式:DOC 页数:5 大小:66KB
返回 下载 相关 举报
嵌入式系统设计报告.doc_第1页
第1页 / 共5页
嵌入式系统设计报告.doc_第2页
第2页 / 共5页
嵌入式系统设计报告.doc_第3页
第3页 / 共5页
嵌入式系统设计报告.doc_第4页
第4页 / 共5页
嵌入式系统设计报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式系统设计报告.doc》由会员分享,可在线阅读,更多相关《嵌入式系统设计报告.doc(5页珍藏版)》请在三一办公上搜索。

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);

8、 / 控制LED指示0F的16进制数值 for(i=0; i16; i+) LED_DispNum(i); / 显示数值i DelayNS(5); return(0);/* End Of File个人工作与自我评估在小组讨论后选定了以基础实验2.8为参考设计,进行功能上的创新,由我提出了修改的方案并参与到编程中去,然则选定设计看似简单的构想到真实动手操作是还是遇到了很多问题,开发环境的不熟悉,还有各种工程上的编程习惯让我们对原程序的的理解上架设了困难,不过最后终于能够攻破各各难关,大家都颇感欣慰,从这个实验中我也学到了很多,也感到了自身很多的薄弱环节和不足,我为能参与到这个设计实验中感到高兴。对本课程教学的建议学习与实验相结合是这门课最吸引人的地方,因为嵌入式系统现在已经与我们的生活工作密不可分,也是一个非常有潜力和市场的行业,我希望这门课能越办越好,有更多的人能领会到嵌入式系统的魅力,学会后为祖国做贡献。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号