基于51单片机的实时操作系统的研究
- 格式:doc
- 大小:631.59 KB
- 文档页数:84
南京信息职业技术学院毕业设计论文作者薛亮学号*****T32 系部电子信息学院专业无线电技术题目基于单片机的家用电器远程遥控装置的设计与制作指导教师李光明评阅教师完成时间:2010年2月11日目录第1章绪论 (5)1.1 概述 (5)1.2 设计要求及主要功能介绍 (5)1.3 MCS-51系列单片机简介 (7)第2章系统总体设计 (9)2.1 系统功能模块的划分 (9)2.2 系统原理框图 (9)2.3 系统软件主要特色 (10)第3章各模块详细设计 (12)3.1 振铃检测模块的设计 (12)3.2 双音多频模块的设计 (13)3.3 自动摘机及超时挂机模块的设计 (16)3.4 语音提示模块的设计 (17)3.5 密码设置模块的设计 (21)3.6 EEPROM及看门狗模块的设计 (23)3.7 继电器驱动模块的设计 (27)3.8 系统总程序的设计 (28)第4章系统的组装、调试和测试 (30)4.1 系统的组装、调试 (30)4.2 振铃检测及自动摘机功能的测试 (30)4.3 语音及双音多频功能的测试 (30)4.4 密码设置功能的测试 (30)4.5 EEPROM密码存储功能的测试 (31)4.6 继电器驱动、电器状态显示及语音提示功能的测试 (31)4.7 超时自动挂机功能的测试 (31)第5章系统方案总评 (32)结论 (33)致谢 (33)参考文献 (33)附录A 家用电器远程遥控装置的功能及使用 (35)1 家用电器远程遥控装置的功能 (35)2 家用电器远程遥控装置的使用方法 (36)图1 家用电器远程遥控装置原理图 (38)图2 家用电器远程遥控装置印制板图 (39)图3 家用电器远程遥控装置CPLD内部电气图 (40)表1 家用电器远程遥控装置元器件清单 (41)第1章绪论1.1 概述单片机以其强大的控制能力已经被广泛应用于诸多领域,从最初的8位控制器到现在的16位、32位控制器都还有很大的发展和应用空间。
RTX51 Tiny 实时内核理解声明:以下来自网络整理而来并非本人作品,觉得挺容易懂所以放入博客以便后来学习者参考RTX51 Tiny中容易混淆的问题RTX51 Tiny是 Keil uVision中自带的一个小型嵌入式RTOS,具有小巧、速度快、系统开销小、使用方便等优点。
使用RTX51 Tiny能够提高系统的稳定性,优化程序的性能;而且它是为51单片机专门定制的,所以在51单片机上的运行效率比其它一些通用的RTOS性能也要好一些。
但是,由于RTX51 Tiny的相关资料和书籍比较少,大部分只是对程序自带帮助文件的简单翻译,很少进行深入探讨。
下面就RTX51 Tiny使用中经常遇到的一些问题进行探讨。
1 关于时间片的问题RTX51 Tiny使用的是无优先级时间片轮询法,每个任务使用相同大小的时间片,但是时间片是怎样确定的呢?RTX51 Tiny的配置参数(Conf_tny.a51文件中)中有INT_CLOCK和TIMESHARING两个参数。
这两个参数决定了每个任务使用时间片的大小:INT_CLOCK是时钟中断使用的周期数,也就是基本时间片;TIMESHARING是每个任务一次使用的时间片数目。
两者决定了一个任务一次使用的最大时间片。
如假设一个系统中INT_CLOCK设置为10000,即10ms,那么TIMESHARING=1时,一个任务使用的最大时间片是 10ms;TIMESHARING=2时,任务使用最大的时间片是20ms;TIMESHARING=5时,任务使用最大的时间片是50ms;当 TIMESHARING设置为0时,系统就不会进行自动任务切换了,这时需要用os_switch_task函数进行任务切换。
这部分功能是RTX51 Tiny 2.0中新增加的。
2 关于os_wait延时的问题os_wait 是RTX51 Tiny中的基本函数之一。
它的功能是将当前任务挂起来,等待一个启动信号(K_SIG)或超时信号(K_TMO)或周期信号(K_IVL)或者是它们之间的组合。
作者:大海橡树前段时间给单片机写个跑马灯的程序,它是将单片机4组IO口全用了,一个引脚一个LED 一共32个,当初是拿出去当作品展用的,写了个程序,要求好几个花样,但是写程序的时候发现,单独控制一组端口还可以,要是同时控制4组IO口,并且显示的花样都不一样?该怎么办呢?这就要用的RTX51了,MCS-51单片机的RTOS(实时操作系统)。
RTX51简介:图(1)RTX51是德国KEIL公司开发的专门针对于8051内核兼容MCU所作的实时操作系统(RTOS),RTX51有两个版本:RTX51-FULL与RTX51-Tiny。
FULL版本支持四级任务优先级,最大256任务,它工作在类似于中断功能的状态下,同时支持抢占式与时间片循环调度、支持信号(signal)、消息队列、二进制信号量(semaphore)和邮箱(mailbox),其功能强大,仅仅占用6~8KB的程序存储器空间。
RTX51_Tiny是RTX51FULL的子集,是一个很小的内核,只占用大约800byte的存储空间(主要程序RTX51TNY.A51仅有不足一千行)它适用于对实时性要求不非常严格的、仅要求多任务管理且任务间通信功能不要求非常强大的应用。
它仅使用51内部寄存器来实现所有功能,应用程序只需要以系统调用(system call)的方式引用RTX51中的函数即可,RTX51-Tiny可以支持16个任务,多个任务遵循时间片轮转的规则,任务间以信号signal的方式进行通信,任务可以等待另一任务给他发出signal然后再从挂起状态恢复运行,它并不支持抢占式任务切换的方式。
上面只是RTX51的简单介绍,具体的用法自己到百度文库下载RTX51实时操作系统的使用方法:/view/0902ce1755270722192ef70d.html。
上面有详细的介绍,由于篇幅有限,这里就不做过多的介绍。
大家好好阅读文档上的内容,才知道怎么使用RTOS,刚开始接触的时候有点不好理解,多写几个程序练练手,就有点理解了,确实,要建立起操作系统的概念不是一两天的事情,其中要设计很多的抽象的概念,只有把他们完全理解了,才好应用。
RTX51 Tiny介绍μVision是德国K eil公司开发的单片机IDE软件,最初主要用于8051系列单片机,RTX51是其自带的运行于8051系列单片机上的小型多任务实时操作系统,可用来设计具有实时性要求的多任务软件。
RTx51有2个版本:RTX51 Tiny和RTX51 Full。
RTX51 Tiny是RTX51 Full的子集。
RTX51 Tiny 自身仅占用900字节左右的程序存储空间,可以很容易地运行在没有外部扩展存储器的8051单片机系统上。
它完全集成在Keil C5l编译器中,具有运行速度快、对硬件要求不高、使用方便灵活等优点,因此越来越广泛地应用到单片机的软件开发中。
它可以在单个CPU上管理几个作业(任务),同时可以在没有扩展外部存储器的单片机系统上运行。
目前在8051系列单片机上使用多任务实时操作系统,RTX51 Tiny也就成为了首选。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ RTX51 TINY允许同时“准并行”地执行多个任务:各个任务并非持续运行,而是在预先设定的时间片(time slice)内执行。
CPU执行时间被划分为若干时间片,RTX51 TINY为每个任务分配一个时间片,在一个时间片内允许执行某个任务,然后RTX51 TINY切换到另一个就绪的任务并允许它在其规定的时间片内执行。
由于各个时间片非常短,通常只有几ms,因此各个任务看起来似乎就是被同时执行了。
基于STC8A单片机的RTOS调度器设计作者:何春林来源:《西部论丛》2019年第08期随着时代的发展,市面流行的51单片机在各方面性能已显著增强,例如STC8A系列单片机就具有速度快、内存大、外设多等诸多优势。
然而当前51平台的实时操作系统(Real Time Operating System,RTOS)大都基于传统51芯片设计,功能受限大,已无法充分发挥硬件的性能[1]。
本文从充分发挥STC8A系列單片机的硬件特性出发,阐述在KeilC51平台下开发RTOS 内核过程中调度器的设计与实现的关键问题。
1、调度器设计调度器用于在RTOS中为各任务合理分配CPU的使用权[2]。
调度时机分为两类:当前任务因等待资源而让出CPU使用权,一般触发于后台环境;其他任务抢占当前任务的CPU使用权,一般触发于前台环境。
1.1 调度期间中断屏蔽问题.当RTOS在执行后台环境的任务调度期间,若发生中断又导致前台环境的任务调度得以执行,必然破坏后台任务调度的相关数据,导致系统崩溃。
因此一般RTOS都将任务调度规定为临界操作,通过中断屏蔽的方式确保调度过程不被打断[3]。
然而中断屏蔽会导致系统对外部事件的响应滞后,影响系统的实时性。
1.2 STC8A单片机硬件新特性.STC8A系列单片机的定时器T0具有不可屏蔽中断模式(模式3),根据官方手册,该模式专为RTOS的滴答定时器而设计[4]。
在该模式下,T0不受中断屏蔽的影响,不会停止运行,且具有最高中断优先级。
用它作为滴答定时器,RTOS便具有一颗稳定而高效的心脏,系统心跳更加精确,不会意外停止。
但是在使用T0的模式3作为滴答定时器时,由于其中断不可屏蔽,前后台任务调度冲突的问题不可避免。
1.3 调度器设计思路.通过分析可知,想要充分发挥STC8A单片机定时器T0的新特性,需要在设计调度器时寻求一些新的思路。
本文所述RTOS内核在设计调度器时借鉴了STM32系列单片机使用软中断进行任务调度的思想。
单片机在嵌入式系统中的实时操作系统应用嵌入式系统是指在一定范围内执行特定功能,具有实时性、可靠性、可控性、成本低、功耗低的设备。
嵌入式系统使用的核心部件是单片机,在其中,实时操作系统(RTOS)又是至关重要的部分。
本文将讨论单片机在嵌入式系统中运用实时操作系统的应用。
第一部分:什么是实时操作系统?实时操作系统(RTOS)是一种多任务嵌入式操作系统,它旨在为实时应用程序提供一种高效稳定、预测性强的任务处理方式。
RTOS通常需对处理器进行裁剪化,以实现高效的,有限的任务数处理能力[1]。
RTOS对于诸如机器人控制、无人机或自动驾驶汽车等实时应用程序而言特别重要。
第二部分:实时操作系统的分类有两种常见的RTOS分类:硬实时系统和软实时系统。
硬实时系统必须在特定的时间限制内执行任务,如果任务在其规定的时间内无法得到完成,则系统将会无法正常工作。
软实时系统不是特定的时间限制内执行任务,但也需要保证任务在其规定的时间内完成,否则系统可能会在一定程度上失真。
第三部分:单片机在嵌入式系统中的应用在嵌入式系统中,单片机广泛运用RTOS。
这种应用通常被用于需要高度可靠且时间预测能力的系统,如工业、航空航天及医疗设备。
由于单片机本身体积较小,成本低,功耗低等特点,员处理器设计使用RTOS可以有效的节省开发成本。
单片机所运行的实时操作系统可提高系统稳定性和性能,满足模糊控制,遥控控制等受时间和精度要求高的任务。
第四部分:如何选择RTOSRTOS在系统中的选择是由工程师依据应用程序的特点而决定的。
在选择RTOS时应充分考虑设备成本和性能需求。
对于非常受时间限制任务的系统,通常需要硬实时系统,而对于不需要特定时间限制但需要高度稳定性的系统,软实时系统则更加适合[2]。
结论本文介绍了单片机在嵌入式系统中运用实时操作系统的应用。
实时操作系统使单片机能够更好地实现机器人控制、无人机、自动驾驶汽车等实时应用程序。
在选择合适的RTOS时需要充分考虑应用程序的特点,以确保实时计算和正确性。
基于C51单片机的温度控制系统应用系统设计(附程序)基于C51单片机的温度控制系统应用系统设计--------- 单片机原理及应用实践周设计报告姓名:班级:学号:同组成员:指导老师:成绩:时间:2011 年7 月3 日单片机温度控制系统摘要温度是日常生活中无时不在的物理量,温度的控制在各个领域都有积极的意义。
很多行业中都有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,采用单片机对它们进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量。
因此,智能化温度控制技术正被广泛地采用。
本温度设计采用现在流行的AT89S51单片机,配以DS18B2数字温度传感器,上、下限进行比较,由此作出判断是否触发相应设备。
本设计还加入了常用的液晶显示及状态灯显示灯常用电路,使得整个设计更加完整,更加灵活。
关键词:温度箱;AT89C52 LCD1602单片机;控制目录1引言11.1温度控制系统设计的背景、发展历史及意义11.2温度控制系统的目的11.3温度控制系统完成的功能12总体设计方案22.1方案一 22.2方案二 23DS18B20温度传感器简介73.1温度传感器的历史及简介73.2DS18B20的工作原理7DS18B20工作时序7ROM操作命令93.3DS18B20的测温原理98B20的测温原理:9DS18B20的测温流程104单片机接口设计124.1设计原则124.2引脚连接12晶振电路12串口引脚12其它引脚135系统整体设计145.1系统硬件电路设计14主板电路设计14各部分电路145.2系统软件设计16 系统软件设计整体思路系统程序流图176结束语2116附录22参考文献391引言1.1温度控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
嵌入式实时操作系统μC/OS在C51平台上的移植及应用的开题报告一、选题背景及研究目的嵌入式实时操作系统(RTOS)是嵌入式系统中广泛使用的操作系统,它为具有实时性要求的应用程序提供了资源管理、任务调度、通信机制等功能,大大提高了嵌入式系统的可靠性、可维护性和可扩展性。
其中,μC/OS是一个功能强大、可靠性高、开放式的RTOS,广泛应用于微处理器、嵌入式网络和控制系统等领域。
C51是一种广泛使用的8位单片机,具有成本低、易于使用等优点,广泛应用于消费电子、家电、汽车电子等领域。
本文旨在通过在C51平台上移植μC/OS,分析实现的过程、开发工具、硬件平台及移植后的应用效果,为嵌入式系统的开发提供技术支持和参考。
二、研究内容和方法本文的主要研究内容包括以下几个方面:1.μC/OS的介绍及功能特点2.C51平台的介绍及特点,以及μC/OS在C51平台上的需求分析3.μC/OS在C51平台上的移植过程,包括内存管理、任务调度、消息队列等4.移植后的测试和应用,包括任务执行时间、系统资源占用率、通信效率、可靠性等指标的测试,以及在实际应用中的效果5.总结与展望,对移植过程中遇到的问题进行总结,对嵌入式操作系统未来的发展趋势进行展望在研究方法上,本文采用了理论分析和实验验证相结合的方法。
首先,对μC/OS 的功能特点、内核原理等进行理论分析;其次,结合C51平台的特点进行需求分析和移植实现;最后,利用实验验证对移植后的系统进行实测和分析。
三、预期成果及意义本文的预期成果包括以下几个方面:1.基于C51平台成功移植μC/OS,并在实验中进行了测试和分析2.验证了在C51平台上利用μC/OS构建实时嵌入式系统的可行性和可靠性3.提出了在移植μC/OS时需要注意的问题和经验,为相关研究提供了参考本文的意义在于:1. 为嵌入式系统开发人员提供技术支持和经验总结,提高嵌入式系统开发的效率和可靠性;2. 推广μC/OS在C51平台上的应用,扩展其应用范围,促进嵌入式系统的发展;3. 贡献一份力量,推动嵌入式操作系统的发展,为自动化、智能化等领域的发展提供支撑和保障。