




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:班级:学号:信息科学与工程学院2014-01-15一、引言1、嵌入式的概述 :随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点,通信、计算机、消费电子技术( 3C)合一的趋势正在逐步形成,无所不在的网络和无所不在的计算( everything connecting, everywhere computing)正在将人类带入一个崭新的信息社会。2、嵌入式的历史与现状:虽然嵌入式系统是近几年才开始真正风靡起来的,但事实上嵌入式这个概念却很早就已经存在了,从上个世纪70 年代单片机的出现到今天各种嵌入式微处理器、微控制器的广
2、泛应用,嵌入式系统少说也有了近30年的历史。纵观嵌入式系统的发展历程,大致经历了以下四个阶段:2.1、无操作系统阶段嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用 8 位的 CPU芯片来执行一些单线程的程序,因此严格地说还谈不上系统 的概念。2.2、 简单操作系统阶段20 世纪 80 年代,随着微电子工艺水平的提高, IC制造商开始把嵌入式应用中所需要的微处
3、理器、 I/O 接口、串行接口以及 RAM、ROM 等部件统统集成到一片VLSI中,制造出面向 I/O 设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的操作系统 开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。2.3、实时操作系统阶段20 世纪 90 年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入
4、式系统的主流。2.4、 面向 Internet 阶段21 世纪无疑将是一个网络的时代, 将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。目前大多数嵌入式系统还孤立于Internet 之外,随着Internet的进一步发展,以及Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与 Internet 的结合才是嵌入式技术的真正未来。3、学习目的 : 以培养培养实际的嵌入式系统软件设计能力和创新为主要目的,通过实习,基本掌握嵌入式系统应用系统的设计方法、 调试技术及创新能力等技能。二、课题设计1、嵌入式系统1.1、 嵌入式系统的概述(1)根据 IEEE的定义:嵌入式系
5、统是“用于控制、监视或者辅助操作机器和设备的装置。 ”(2)通俗定义:嵌入式系统是以应用为中心, 以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。1.2、嵌入式操作系统嵌入式操作系统( Embedded Operating System,简称: EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征, 能够
6、通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式 Linux、Windows CE、C/OS-II、 VxWorks 等,以及应用在智能手机和平板电脑的Android、iOS等。2、STC15F2K60S2硬件平台STC15 系列最小系统板,以宏景STC15F2K60S2单片机为核心,STC15F2K60S2功能简介如下,具体可参考相关数据手册2。1)、 STC15为 1T 单片机 即晶振速度既是主频速度2)、工作电压STC15F2K60S2 5V 单片机5.5v-3.8v3)、 60K flash存储空间4)、 2048 字节即 2KSRAM5)、 1KE
7、EPROM存储空间6)、共 8通道 10 位高速 ADC 速度可达 30 万次 / 秒3路 PWM还可当 3路 D/A使用7)、共 3通道捕获 / 比较单元( CCP/PWM/PCA)8)、内部高可靠复位8 级可选择复位门槛电压可省去外部复位电路9)、支持内部高精度R/C 时钟 ,可选择(5.5296MHz、11.0592MHz、22.1184MHz、33.1776MHz)10)、两组高速异步串行通信端口(可同时使用)即双串口可在 5 组管脚之间进行切换分时复用可当 5 组串口使用 !11)、一组高速异步串行SPI总线在读 SD卡NRF24L01 flash 芯片 即扩展 IO 等 均可使用1
8、2)、低功耗设计:低速模式,空闲模式,掉电模式/ 停机模式13)、共 6 个定时器 / 计数器 3 个 16 位可重装载定时器 / 计数器( T0/T1/T2其中 T0/T1 兼容普通 8051 的定时器 / 计数器),并均可独立实现对外可编程时钟输出 ( 3 通道),3 路 CPP/PWM/PCA还可再实现 3 个定时器。14)、可编程时钟输出功能(对内部系统时钟或对外部管脚的时钟输入进行时钟分频输出)15)、硬件看门狗( WDT)16)、先进的指令集结构兼容普通8051 指令集有硬件乘法/ 除非指令17)、42 个通用I/O口复位后为:准双向口 / 弱上拉(普通8051 传统I/O 口)可
9、设置四种模式。3、C/OS-II 操作系统 C/OS-是一个源代码开放、可剪裁、结构小巧、抢先式的实时操作系统,主要用于中小型嵌入式系统中,执行效率高、占用空间小、可移植性强,具有良好的实时性能和可扩展性,最多支持64 个任务,可运行在大部分嵌入式微处理器上。C/OS 操作系统的特点C/OS是一个完成的,可移植、可固化、可裁减的抢占式实时多任务操作系统内核。主要用 ANSI的 C语言编写,少部分代码是汇编语言。 C/OS主要有以下特点:1)、可移植性可以移植到多个CPU上,包括三菱单片机。2)、可固化可以固化到嵌入式系统中3)、可裁减可以定制 C/OS,使用少量的系统服务4)、可剥夺性 C/O
10、S 是完全可剥夺的实时内核, C/OS 总是运行优先级最高的就绪任务。5)、多任务运行 C/OS可以管理最多 64 个任务。不支持时间片轮转调度法,所以要求每个任务的优先级不一样。6)、可确定性 C/OS的函数调用和系统服务的执行时间可以确定。7)、任务栈每个任务都有自己的单独的栈,而且每个任务栈空间的大小可以不一样。8)、系统服务 C/OS有很多系统服务, 如信号量、时间标志、消息邮箱、消息队列、时间管理等等。4、基于 STC15F2K60S2单片机的 C/OS II的移植C/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信, CPU 的移植等 5 个部分。1) 核心部分 (O
11、SCore.c)是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。2) 任务处理部分 (OSTask.c)任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为C/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。3) 时钟部分 (OSTime.c)C/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。4) 任务同步和通信部分为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临
12、界资源的访问。5) 与 CPU 的接口部分是指 C/OS-II针对所使用的CPU的移植部分。由于C/OS-II 是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU 的具体内容和要求作相应的移植。这部分内容由于牵涉到SP 等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。5、C/OS -II应用软件设计此次应用软件设计我们设计了三个应用,分别是: 1、闪烁运行指示灯2、1602 显示 3、串口通讯收发(1)流程图 闪烁运行指示灯开始输出“ 1”,熄灭延时输出“ 0”,点亮延时 16
13、02 显示开始LCD 初始化延时( 2)设置第一行显示位置显示第一行内容设置第二行显示位置显示第二行内容串口通讯收发串口: 接收线程从串口获取数据接收线程: 将数据打包放入缓存并通知处理线程缓存处理线程收到通知后,从Wait ()中醒来,然后读取缓存中数据数据处理线程(2)代码附录&main.c 代码:#include includes.h/ 运行灯sbit LED1 = P32;sbit LED2 = P55;/ 定义任务堆栈OS_STK Task1StkMaxStkSize+1; / 注意:我在 ASM文件中设置 ?STACK空间为 40H即 64OS_STK Task2StkMaxStk
14、Size+1;OS_STK Task3StkMaxStkSize+1;/ 变量/OS_EVENT* FirstSem;INT8U err;void InitTime0(void) reentrant TMOD &= 0xF0;TMOD |= 0x01;/ 定时器 0:模式 1(16 位定时器 ),仅受 TR0控制;定时器 1:波特率发生器/TH0 = 0xDC;/ 定义 Tick=100次/ 秒(即 0.01 秒/ 次),TH,TL值与 CPU的频率有关 (11.0592M)/ TL0 = 0x00; /OS_CPU_C.C 中 定 时 器 中 断 响 应 也 要 设 置 , OS_CFG.H
15、中OS_TICKS_PER_SEC也有关系TR0= 1;/ 必须启动/ 喂狗 硬件看门狗void Feed_WDT(void) reentrantWDT_CONTR = 0x3f; /EN_WDT=1,CLR_WDT=1,IDLE_WDT=0,PS2=0,PS1=0,PS0=0 H_DOG = H_DOG;void Task1(void *ppdata) reentrantppdata = ppdata;ET0 = 1; / 根任务开时钟节拍中断重要!for(;)LED1 = LED1;OSTimeDly(OS_TICKS_PER_SEC);/延时 1s/OSSemPost(FirstSem)
16、;void Task2(void *ppdata) reentrantppdata=ppdata;while(1)Process_Uart();LED2=LED2;OSTimeDly(OS_TICKS_PER_SEC/20);Feed_WDT();void Task3(void *ppdata) reentrantppdata=ppdata;for(;)/OSTimeDlyHMSM(0,0,10,0);LCD1602_write_string(LCD1602_LINE1,0,ZHOU JIE &);LCD1602_write_string(LCD1602_LINE2,0,TANG QI LUO
17、); OSTimeDly(OS_TICKS_PER_SEC);void main(void)initial_lcd1602();OSInit();InitTime0();InitSerial();Feed_WDT();/ FirstSem=OSSemCreate(0);/定义一个信号量 OSTaskCreate(Task1,(void*)0,&Task1Stk0,0);/ 优先级 OSTaskCreate(Task2,(void*)0,&Task2Stk0,1); OSTaskCreate(Task3,(void*)0,&Task3Stk0,4); OSStart();串口通信关键代码:voi
18、d Process_Uart(void)reentrantINT8U CMD = 0xff;/Feed_WDT();if (gRec_Flag1)OSTimeDly(OS_TICKS_PER_SEC/10);/100msSend_Str_Uart1(RxBuf, 20);Clear_Buf(RxNum);gRec_Flag1 = 0;RxNum = 0;三、结论1、实习中的经验老师上课讲的实验时必须注意的几点非常重要,例如电路板和手掌的静电,启动电源开关对端口的影响,芯片的保护等等。 这些都是日后我们实习或者做实验中必须注意的, 否则对实验器件都有损坏的影响。单片机是计算机技术,大规模集成电路
19、技术和控制技术的综合产物。现在,单片机早已成为人类生活中不可或缺的助手。作为本专业的核心课程之一,我意识到,要学好单片机,不仅要在理论上弄清其工作原理和工作方式, 更要在实践中加强自己的动手能力, 培养软硬件结合的意识, 全面的掌握单片机开发技术。单片机应用系统设计不断要求熟练掌握单片机程序语言和编程技术,而且还要具备扎实的单片机硬件方面的理路和实践知识。 一开始我们对电路板不是很熟悉, 通过参照原理图和数据手册, 我们逐渐了解了各个系统单元的功能和原理, 更好的在实践中学习了单片机的有关知识, 也在其后的焊接过程中,在动手实践中养成了独立思考的良好习惯。在用 C 语言编写软件时, 由于一开始不熟悉 KEIL 的开发环境,在编写过程浪费了很多时间, 但也正因为如此,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民族音乐会企业制定与实施新质生产力战略研究报告
- 2025年频率测量仪表项目合作计划书
- 五年级上册美术网络课程计划
- 2024年度吉林省护师类之护士资格证题库检测试卷B卷附答案
- 非营利组织作风纪律整顿活动总结范文
- 小学六年级安全教育校本课程教学计划
- 自考英语二作文话题分类指南
- 仁爱版八年级下册英语课堂活动计划
- 幼儿园亲子活动安全责任书
- 汽车车身电控技术车辆工程系孟婕38课件
- 《外科学》教学课件:创伤课件new
- 护理人员中医技术使用手册(2024版)
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- 【八下英语译林版】八下英语 Unit 4 单元知识点详解
- (2025)时事政治题库(含参考答案)
- 2025年河北邢台市市直事业单位招聘212名高层次人才历年高频重点提升(共500题)附带答案详解
- 2015-2024年高考物理试题分类汇编:热学和光学实验(全国解析版)
- 急诊医学题库含参考答案
- 公安涉警舆情课件
- 《电费回收》课件
- 《带电作业操作规范-架空配电线路机械化带电立撤杆》征求意见稿
评论
0/150
提交评论