嵌入式实习报告解读Word文件下载.docx

上传人:b****1 文档编号:328496 上传时间:2023-04-28 格式:DOCX 页数:14 大小:165.22KB
下载 相关 举报
嵌入式实习报告解读Word文件下载.docx_第1页
第1页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第2页
第2页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第3页
第3页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第4页
第4页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第5页
第5页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第6页
第6页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第7页
第7页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第8页
第8页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第9页
第9页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第10页
第10页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第11页
第11页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第12页
第12页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第13页
第13页 / 共14页
嵌入式实习报告解读Word文件下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式实习报告解读Word文件下载.docx

《嵌入式实习报告解读Word文件下载.docx》由会员分享,可在线阅读,更多相关《嵌入式实习报告解读Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。

嵌入式实习报告解读Word文件下载.docx

开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。

2.3、实时操作系统阶段 

20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。

随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。

2.4、 

面向Internet阶段 

21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。

目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。

3、学习目的:

以培养培养实际的嵌入式系统软件设计能力和创新为主要目的,通过实习,基本掌握嵌入式系统应用系统的设计方法、调试技术及创新能力等技能。

二、课题设计

1、嵌入式系统

1.1、嵌入式系统的概述

(1)根据IEEE的定义:

嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置。

(2)通俗定义:

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

1.2、嵌入式操作系统

嵌入式操作系统(EmbeddedOperatingSystem,简称:

EOS)是指用于嵌入式系统的操作系统。

嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。

它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。

目前在嵌入式领域广泛使用的操作系统有:

嵌入式Linux、WindowsCE、μC/OS-II、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。

2、STC15F2K60S2硬件平台

STC15系列最小系统板,以宏景STC15F2K60S2单片机为核心, 

STC15F2K60S2功能简介如下,具体可参考相关数据手册[2]。

1)、STC15为1T单片机即晶振速度既是主频速度

2)、工作电压STC15F2K60S25V单片机5.5v-3.8v

3)、60Kflash存储空间

4)、2048字节即2KSRAM

5)、1KEEPROM存储空间

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卡NRF24L01flash芯片即扩展IO等均可使用

12)、低功耗设计:

低速模式,空闲模式,掉电模式/停机模式

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口)可设置四种模式。

3、μC/OS-II操作系统

µ

C/OS-Ⅱ是一个源代码开放、可剪裁、结构小巧、抢先式的实时操作系统,主要用于中小型嵌入式系统中,执行效率高、占用空间小、可移植性强,具有良好的实时性能和可扩展性,最多支持64个任务,可运行在大部分嵌入式微处理器上。

●μC/OS操作系统的特点

μC/OS是一个完成的,可移植、可固化、可裁减的抢占式实时多任务操作系统内核。

主要用ANSI的C语言编写,少部分代码是汇编语言。

μC/OS主要有以下特点:

1)、可移植性可以移植到多个CPU上,包括三菱单片机。

2)、可固化可以固化到嵌入式系统中

3)、可裁减可以定制μC/OS,使用少量的系统服务

4)、可剥夺性μC/OS是完全可剥夺的实时内核,μC/OS总是运行优先级最高的就绪任务。

5)、多任务运行μC/OS可以管理最多64个任务。

不支持时间片轮转调度法,所以要求每个任务的优先级不一样。

6)、可确定性μC/OS的函数调用和系统服务的执行时间可以确定。

7)、任务栈每个任务都有自己的单独的栈,而且每个任务栈空间的大小可以不一样。

8)、系统服务μC/OS有很多系统服务,如信号量、时间标志、消息邮箱、消息队列、时间管理等等。

4、基于STC15F2K60S2单片机的μC/OSII的移植

μC/OS-II可以大致分成核心、任务处理、时间处理、任务

同步与通信,CPU的移植等5个部分。

1)核心部分(OSCore.c)

是操作系统的处理核心,包括操作系统初始化、操作系统运

行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。

能够维持系统基本工作的部分都在这里。

2)任务处理部分(OSTask.c)

任务处理部分中的内容都是与任务的操作密切相关的。

包括

任务的建立、删除、挂起、恢复等等。

因为μC/OS-II是以任务

为基本单位调度的,所以这部分内容也相当重要。

3)时钟部分(OSTime.c)

μC/OS-II中的最小时钟单位是timetick(时钟节拍)。

务延时等操作是在这里完成的。

4)任务同步和通信部分

为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志

等部分;

主要用于任务间的互相联系和对临界资源的访问。

5)与CPU的接口部分

是指μC/OS-II针对所使用的CPU的移植部分。

由于μC/O

S-II是一个通用性的操作系统,所以对于关键问题上的实现,还

是需要根据具体CPU的具体内容和要求作相应的移植。

这部分内

容由于牵涉到SP等系统指针,所以通常用汇编语言编写。

主要

包括中断级任务切换的底层实现、任务级任务切换的底层实现、

时钟节拍的产生和处理、中断的相关处理部分等内容。

5、μC/OS-II应用软件设计

此次应用软件设计我们设计了三个应用,分别是:

1、闪烁运行指示灯2、1602显示3、串口通讯收发

(1)流程图

1闪烁运行指示灯

21602显示

(2)

③串口通讯收发

(2)代码附录

&

main.c代码:

#include"

includes.h"

//运行灯

sbitLED1=P3^2;

sbitLED2=P5^5;

//定义任务堆栈

OS_STKTask1Stk[MaxStkSize+1];

//注意:

我在ASM文件中设置?

STACK空间为40H即64

OS_STKTask2Stk[MaxStkSize+1];

OS_STKTask3Stk[MaxStkSize+1];

//变量

//OS_EVENT*FirstSem;

INT8Uerr;

voidInitTime0(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中OS_TICKS_PER_SEC也有关系

TR0=1;

//必须启动

}//喂狗硬件看门狗

voidFeed_WDT(void)reentrant

{

WDT_CONTR=0x3f;

//EN_WDT=1,CLR_WDT=1,IDLE_WDT=0,PS2=0,PS1=0,PS0=0

H_DOG=~H_DOG;

}

voidTask1(void*ppdata)reentrant

ppdata=ppdata;

ET0=1;

//根任务开时钟节拍中断重要!

for(;

;

{

LED1=~LED1;

OSTimeDly(OS_TICKS_PER_SEC);

//延时1s

//OSSemPost(FirstSem);

}

voidTask2(void*ppdata)reentrant

ppdata=ppdata;

while

(1)

Process_Uart();

LED2=~LED2;

OSTimeDly(OS_TICKS_PER_SEC/20);

Feed_WDT();

voidTask3(void*ppdata)reentrant

//OSTimeDlyHMSM(0,0,10,0);

LCD1602_write_string(LCD1602_LINE1,0,"

ZHOUJIE&

"

);

LCD1602_write_string(LCD1602_LINE2,0,"

TANGQILUO"

OSTimeDly(OS_TICKS_PER_SEC);

voidmain(void)

initial_lcd1602();

OSInit();

InitTime0();

InitSerial();

Feed_WDT();

//FirstSem=OSSemCreate(0);

//定义一个信号量

OSTaskCreate(Task1,(void*)0,&

Task1Stk[0],0);

//优先级

OSTaskCreate(Task2,(void*)0,&

Task2Stk[0],1);

OSTaskCreate(Task3,(void*)0,&

Task3Stk[0],4);

OSStart();

串口通信关键代码:

voidProcess_Uart(void)reentrant

INT8UCMD=0xff;

//Feed_WDT();

if(gRec_Flag1)

OSTimeDly(OS_TICKS_PER_SEC/10);

//100ms

Send_Str_Uart1(RxBuf,20);

Clear_Buf(RxNum);

gRec_Flag1=0;

RxNum=0;

}

三、结论

1、实习中的经验

老师上课讲的实验时必须注意的几点非常重要,例如电路板和手掌的静电,启动电源开关对端口的影响,芯片的保护等等。

这些都是日后我们实习或者做实验中必须注意的,否则对实验器件都有损坏的影响。

单片机是计算机技术,大规模集成电路技术和控制技术的综合产物。

现在,单片机早已成为人类生活中不可或缺的助手。

作为本专业的核心课程之一,我意识到,要学好单片机,不仅要在理论上弄清其工作原理和工作方式,更要在实践中加强自己的动手能力,培养软硬件结合的意识,全面的掌握单片机开发技术。

单片机应用系统设计不断要求熟练掌握单片机程序语言和编程技术,而且还要具备扎实的单片机硬件方面的理路和实践知识。

一开始我们对电路板不是很熟悉,通过参照原理图和数据手册,我们逐渐了解了各个系统单元的功能和原理,更好的在实践中学习了单片机的有关知识,也在其后的焊接过程中,在动手实践中养成了独立思考的良好习惯。

在用C语言编写软件时,由于一开始不熟悉KEIL的开发环境,在编写过程浪费了很多时间,但也正因为如此,我们更好的学会了KEIL和有关51单片机的下载软件,更直观的学到了软硬件结合的技巧和过程。

2、实习中需要改进的地方

虽然实习最终成功的实现了预期的功能,但是这过程并不是很顺利,在实习中我们也遇到了困窘的情况,犯过很多错误,也正是因为有了这些错误和纠正过程,才使我们不断提高,不断进步。

这些经验教训一方面让我认识到了所学知识的局限性,一方面让我加深了对单片机的了解,正是由于这些经验教训,我才感受到了自己的能力还远远不够,需要更多的锻炼去提升。

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。

——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。

——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:

心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。

——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。

——高尔基

14、书到用时方恨少、事非经过不知难。

——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。

——笛卡儿

17、学习永远不晚。

18、少而好学,如日出之阳;

壮而好学,如日中之光;

志而好学,如炳烛之光。

——刘向

19、学而不思则惘,思而不学则殆。

——孔子

20、读书给人以快乐、给人以光彩、给人以才干。

——培根

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2