嵌入式系统课程设计资料_第1页
嵌入式系统课程设计资料_第2页
嵌入式系统课程设计资料_第3页
嵌入式系统课程设计资料_第4页
嵌入式系统课程设计资料_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统(xtng)课程设计电气(dinq)学院 陈刚共二十八页1. 了解基于ARM7核的单片机LPC2106的内部结构和基本工作原理,清楚LPC2106的管脚分布,重点掌握与输入输出相关以及与中断(zhngdun)相关的寄存器设置;2. 掌握ARM7应用系统编程开发方法,能用C语言编写应用程序;3. 了解嵌入式实时操作系统uC/OS-可移植、可裁剪等性能特点,正确理解实时操作系统中任务、信号、消息、中断等基本概念以及uC/OS-多任务管理的调度算法;4掌握uC/OS-在ARM7上移植的方法,能将uC/OS-移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;5熟练掌握ADS1

2、.2软件的使用以及PROTEUS仿真调试的方法。十字路口交通灯控制;uC/OS-的移植与应用。(实时温度的采集控制) 课程设计目的(md)课程设计任务共二十八页1 基于(jy)ARM核的LPC2106介绍共二十八页 ARM7TDMI-S 处理器 ; 128k 字节片内Flash 程序存储器,具有ISP 和IAP 功能。Flash 编程时间:1ms 可 编程512 字节,扇区擦除或整片擦除只需400ms。 64/32/16K 字节静态RAM (LPC2106/2105/2104 ) 。 极小封装:TQFP48。 向量中断控制器控制中断; 双UART,其中一个带有完全的调制解调器接口。 具有I 2

3、C串行接口和 SPI 串行接口; 两个定时器,分别具有4 路捕获/ 比较(bjio)通道; 多达6 路输出的PWM 单元; 实时时钟;看门狗定时器 ; 通用I/O 口 ; CPU 操作频率可达60MHz;双电源: CPU 操作电压范围: 1.65V1.95V(1.8V8.3%) , I/O 电压范围:3.0V3.6V(3.3V10%) ; 两个低功耗模式:空闲和掉电; 片内PLL 允许CPU 以最大速度运行,可以在超过整个晶振操作频率范围的情况下使用。 共二十八页2 LPC2106管脚介绍(jisho)共二十八页3 LPC2106的I/O端口设置(shzh) 寄存器PINSEL0和PINSEL

4、1的设置。 LPC2106的I/O口全都是3功能服用(f yn)端口,也就是说即可用作普通输入输出端口,又用作第2或第3种功能。设计人员可根据需要设置两个32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0对应引脚P0.0P0.15,PINSEL1对应引脚P0.16P0.31。都是寄存器中用两位来完成1根引脚的功能设置。共二十八页(2)GPIO方向寄存器设置(shzh)当管脚配置为GPIO 模式时,可使用该寄存器控制管脚的方向。任意管脚的方向位的设置必须与管脚功能一致。 输出置1寄存器IOSET当管脚配置为GPIO 输出模式时,可使用该寄存器从管脚输出高电平。写入1 使对应管脚输

5、出高电平。 写入0 无效。如果一个(y )管脚被配置为输入或第二功能,写IOSET 无效。 共二十八页 输出清零寄存器IOCLR当管脚配置为GPIO 输出模式(msh)时,可使用该寄存器从管脚输出低电平。写入1 使对应管脚输出低电平。 写入0 无效。如果一个管脚被配置为输入或第二功能,写IOCLR 无效。 GPIO引脚值寄存器IOPIN该寄存器提供(tgng)GPIO引脚的值。反映了外部环境对引脚的影响。共二十八页4 流水(lishu)灯程序示例#include config.h#define LED1CON 0 x000003ff /*P0.0p0.9输出(shch)*/void delay

6、(uint32 n)while(n-);int main(void) uint32 i; while(1) PINSEL0=0 x00000000; PINSEL1=0 x00000000; IODIR=0 x000003ff; for(i=0;i11;i+) IOCLR=0 x000003ff;IOSET=1i;delay(5000);delay(5000); return(0);共二十八页共二十八页CODE32AREA vectors,CODE,READONLY ENTRY;interrupt vectors;中断向量表Reset LDR PC, ResetAddr LDR PC, Und

7、efinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0 xb9205f80 LDR PC, PC, #-0 xff0 LDR PC, FIQ_AddrResetAddr DCD ResetInitUndefinedAddr DCD UndefinedSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortNouse DCD 0IRQ_Addr DCD 0FIQ_Addr DCD F

8、IQ_HandlerResetInit BL InitStack BL TargetResetInit B _main 共二十八页1 操作系统(co zu x tn)的功能和作用计算机硬件系统(xtng)操作系统(WINDOWS、LUNIX等)应用软件(如WORD、PHOTOSHOP等)系统软件(如编译程序、汇编程序、数据库等)图1.1 操作系统在计算机中的地位 操作系统层通常是最靠近硬件层的软件层,主要完成计算机硬件资源的调度和分配、信息的储存和保护以及并发活动的协调和控制。 从应用程序员的角度看,操作系统是计算机硬件系统与应用程序的接口,看到和使用的只是一些由操作系统提供的函数。共二十八页

9、2 嵌入式操作系统的特点(tdin)嵌入式硬件(yn jin)系统嵌入式操作系统(UCOS-、WINCEUCLUNIX等)嵌入式系统的应用软件图1.2 嵌入式操作系统在嵌入式系统中的地位 微型化。保证应用的前提下,规模越小越好。 可裁剪。嵌入式操作系统提供的各个功能模块可以让用户根据需要选择。 易移植。应在不做大量修改的情况下稳定运行在不同的平台。 实时性可靠性好。共二十八页1、uC/OS-II内核(ni h)具有可抢占的实时多任务调度功能2、提供了许多系统服务,如信号量、消息队列、邮箱、内存管理、时间函数等3、这些功能可以根据不同的需求进行裁减。4、可从网站上获得全部源码及其在各种体系结构平

10、台上的移植范例。3 uC/OS-II的特点(tdin)共二十八页全世界有数百种产品在应用:医疗器械移动电话路由器工业控制(kngzh)GPS 导航系统智能仪器更多共二十八页实际应用(实时(sh sh)温度的采集控制) 共二十八页温度传感器 A/D转换(zhunhun)(ADC0808)LPC2106数码管显示(xinsh)外界温度电压信号数字信号1 实时温度采集的硬件框图启动按钮共二十八页2 实时温度(wnd)采集的硬件接线图共二十八页1、任务(rn wu)1启动按钮(按键识别)IO_Init(); while(1) while(IOPIN&key)!=0); IO_Init(); while

11、(IOPIN&key)=0); IOCLR= 0 x0000ffFF;任务(rn wu)切换共二十八页转换结束输出信号(xnho)(转换结束标志),高电平有效1KHz时钟(shzhng)信号CLOCKPOTADC0808OE:输出允许信号,高电平有效,即OE=1时,将输出寄存器中的数据放到数据总线上。ALE:地址锁存允许输入信号START:启动信号输入端共二十八页IOCLR=adstart; delay(50); IOSET=adstart; delay(50); IOCLR=adstart; delay(50); IO_Init(); while(IOPIN&adend)=0); IOSET

12、=111; i=IOPIN;(1)送单次脉冲(michng),启 动A/D转换IO口设置(shzh)(2)A/D转换是否结束2、任务2A/D转换(3)OE置1,将A/D转换后的数据读入共二十八页共二十八页3、任务(rn wu)3数码管显示 INT32U d,g,s,b; b=i/100; d=i %100; s=d/10; g=d%10; (1)2进制转10进制(2)动态显示共二十八页 OS_STK Task0StkTASK_STK_SIZE; OS_STK Task1StkTASK_STK_SIZE; OS_STK Task2StkTASK_STK_SIZE;void Task0(void

13、*data);void Task1(void *data);void Task2(void *data); #include config.h“#define TASK_STK_SIZE 643 C/OS- 的程序结构1、创建(chungjin)任务堆栈定义(dngy)任务堆栈大小任务声明共二十八页/* c语言的主函数(hnsh),由它启动多任务环境*/ int main (void) OSInit(); /操作系统初始化 OSTaskCreate(Task0, (void *)0, &Task0StkTASK_STK_SIZE - 1, 2); OSTaskCreate(Task1, (vo

14、id *)0, &Task1StkTASK_STK_SIZE - 1,3); OSTaskCreate(Task2, (void *)0, &Task2StkTASK_STK_SIZE - 1,4); OSStart(); /启动操作系统 return 0; 2、创建(chungjin)任务并启动操作系统共二十八页void Task0(void *p_arg) p_arg = p_arg; /避免编译(biny)警告 TargetInit(); /初始化 3、具体任务共二十八页OSTaskSuspend(OS_PRIO_SELF)等待(dngdi)状态运行(ynxng)状态就绪状态OSTaskSuspend(优先级)OSTaskResume(优先级)4、任务切换任务的挂起和恢复共二十八页内容摘要嵌入式系统课程设计。PINSEL0对应引脚P0.0P0.15,PINSEL1对应引脚P0.16P0.31。当管脚配置为GPIO 模式时,可使用该寄存

温馨提示

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

评论

0/150

提交评论