嵌入式系统设计报告

嵌入式系统设计报告

ID:10894919

大小:65.50 KB

页数:5页

时间:2018-07-08

嵌入式系统设计报告_第1页
嵌入式系统设计报告_第2页
嵌入式系统设计报告_第3页
嵌入式系统设计报告_第4页
嵌入式系统设计报告_第5页
资源描述:

《嵌入式系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌入式系统设计报告院系:动力工程学院专业:电气工程及其自动化教师:胡文斌学号:0708190232姓名:邵辰焕完成时间:2010.4.21设计背景:在学习了半个学期的嵌入式系统课程后,在进行了嵌入式的4个基础实验后,对于嵌入式系统的开发环境和MagicARM2410平台都有了初步的了解,试验中通过程序控制MagicARM2410平台上的电机、显示屏、蜂鸣器和LED灯等实验引起了我们极大地兴趣,为了实践创新,巩固知识,所有有了这次的实验设计。设计思路:本次嵌入式实验设计基于MagicARM2410平台,设想在基础实验2.8的基础上寻找创新。由原效果:蜂鸣器响一次之后LED管闪

2、烁5次,经过编程改变后实现蜂鸣器响一次,LED闪一次循环一次,共5次的效果。系统具体设计:MagicARM241采用ARM9作为主控制器,以µCOS-II操作系统作为系统平台,使用CodeWarrior开发环境作为开发工具,软件采用C语言和API编程技术,S3C2410A具有117个通用I/O口,分为A~H等8个端口,由于每个I/O都有第2功能,甚至第3功能,所以需要通过设置GPIOCON寄存器来选择GPIOI/O的功能,其中x可以为A、B、C、D、E、F、G、H,表示相应的I/O端口。具体到程序设计时,在主函数中所调用的函数有:DelayNS(uint32dly),voi

3、dRunBeep(void),voidLED_DispAllOn(void),voidLED_DispAllOff(void),voidLED_DispNum(uint32dat),这几个函数实现了蜂鸣器报警,LED管闪烁等效果。程序设计框图如下:          程序调试及结果分析   1、端口定义:为四个显示LED灯和驱动蜂鸣器定义端口。2、对于LED灯显示,定义voidLED_DispNum(uint32dat)函数,控制灯显示。   3、对于蜂鸣器,定义voidRunBeep(void)函数,用于驱动蜂鸣器响。   4、在执行程序时的确以以蜂鸣器响一次,LED闪一

4、次为一个循环,共循环5次。   5、程序主体部分:=============================================================================     #include"config.h"     //定义LED控制口(输出高电平时点亮LED)     #defineLED1_CON(1<<11)/*GPE11口*/     #defineLED2_CON(1<<12)/*GPE12口*/     #defineLED3_CON(1<<4)/*GPH4口*/     #defineLED4_CON(1<<6)/*

5、GPH6口*/     //定义蜂鸣器控制口     #defineBEEP(1<<10)/*GPH10口*/     #defineBEEP_MASK(~BEEP)     voidDelayNS(uint32dly)     {     uint32i;     for(;dly>0;dly--)     for(i=0;i<50000;i++);     }     voidRunBeep(void)     {     rGPHDAT=rGPHDAT&BEEP_MASK;//BEEP=0     DelayNS(5);     rGPHDAT=rGPHDAT

6、BEE

7、P;//BEEP=1     DelayNS(5);     }  voidLED_DispAllOn(void)     {  rGPEDAT=rGPEDAT

8、(0x03<<11);  rGPHDAT=rGPHDAT

9、(0x05<<4);     }  voidLED_DispAllOff(void){  rGPEDAT=rGPEDAT&(~(0x03<<11));  rGPHDAT=rGPHDAT&(~(0x05<<4));    }    voidLED_DispNum(uint32dat)    {    dat=dat&0x0000000F;//参数过滤     

10、   //控制LED4、LED3显示(d3、d2位)    if(dat&0x08)rGPHDAT=rGPHDAT

11、(0x01<<6);    elserGPHDAT=rGPHDAT&(~(0x01<<6));    if(dat&0x04)rGPHDAT=rGPHDAT

12、(0x01<<4);    elserGPHDAT=rGPHDAT&(~(0x01<<4));    //控制LED2、LED1显示(d1、d0位)    rGPEDAT=(rGPEDAT&(~(0x03<<11)))

13、((dat&0x03)<<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。