导航:首页 > 操作系统 > 单片机与实时系统

单片机与实时系统

发布时间:2023-07-25 01:16:31

‘壹’ 什么是单片机有什么作用

单片机定义
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

‘贰’ 单片机主要用途是什么

单片机的应用

1、单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。

2、单片机在机电一体化中的应用机电一体化是械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品。

例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。

3、单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。

4、单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。

单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。

5、单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。

综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

(2)单片机与实时系统扩展阅读

单片机的组成:

它通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间。

或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。

单片机的特点由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显着的特点,因而在各个领域都得到了迅猛的发展。

‘叁’ 单片机是干什么用的

单片机(Micro Control Unit),全称微型控制单元,字面意思就是一个微型的计算机系统。

单片机其实就是一块微处理器芯片,它有若干引脚,如电源引脚、时钟引脚(也许有)、通信引脚、输入输出引脚等;单片机芯片内部集成了时钟、存储器、运算器、模数转换器件(也许有)等部件。

单片机基本就是一个小的功能减少的计算机,能读取在输入引脚上的电信号和在引脚上输出特定的电平信号,并通过往单片机里面写程序,配合外部接口,能实现定时、计数、数学运算、逻辑运算、顺序动作、通信等功能。

单片机的用途

1、工业控制。可用于可靠性要求不高、成本控制和体积要求严格的工业环境,构建自动化控制系统,例如流水线计数和控制、参数检测(如采集压力、流量等参数)、自动化控制(如命令阀门动作、电机调速等)等;

2、小型设备、仪器等的处理器。生活和生产中有很多设备需要用到处理器,进行数据处理、分析计算、控制等,可以用单片机作为微处理器来开发这样的设备,如用单片机为处理器来做一个小型仪器,做个报警器,等等都是可以的;

3、机电设备的控制器。不少的机电设备的控制器是基于单片机开发的,用于控制设备的运行与监视等,如全自动洗衣机的控制器,汽车的控制器,电梯的控制器等,都能经常看到单片机的身影;

4、其他。与电控相关的、需要自动化的装置,单片机大多数时候也都可以胜任。

‘肆’ stc系列单片机_μC/OS-Ⅱ在C8051F系列单片机上的移植及其应用系统开发

随着微处理器技术的飞速发展和嵌入式系统实时性要求的不断提高,应用实时多任务操作系统(RTOS)作为嵌入式设计的开发平台已逐步成为嵌入式应用设计的主流。本研究讨论将μC/OS-Ⅱ移植到C8051F系列高性能8位单片机中,并以C8051F060为例阐述了其应用系统的开正基发过程。
一、μC/OS-Ⅱ的基本工作原理
1.任务管理
µC/OS-II中的任务可以是一个无限的循环,也可以在一次执行完毕后被“删除”掉,即该任务可以认为CPU完全属于该任务本身,实时应用程序的设计过程包括将问题分割为多个任务。µC/OS-II可以管理64个任务,每个任务有一定的优先级,且优先级不重复。
2.任务调度机制的实现
µC/OS-II是可剥夺型内核,优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权,这提高了系统的实时响应能力。在没有中断情况下,任务间的切换一般会调用OSSched()函数。µC/OS-II的中断服务子程序和一般前/后台的操作有所不同。
3.任务之间的通信
在µC/OS-II中,可以通过信号量、消息邮箱和消息队列等机制,实现数据共享和任务通信。消息邮箱用一个指针型变量,一个任务或一个中断服务子程序通过内核服务,将一则消息放入邮箱,一个或多个任务通过内核服务接受这则消息。每个邮箱有相应的等待消息任务表,等待消息的任务在无消息时被置挂起态,并记入邮箱等待消息任务表中。消息放入邮箱,内核将运行等待消息任务表中优先级最高的任务。
二、移植及应用
C8051F060系列单片机特别适举数谨用于任务繁重的小型化测控系统。当芯片具有的功能被较多地使用时,系统要处理的任务就较多,编程头绪也多。为了简化应用程序实现程序模块化,提高应用程序的实时性和可靠毕纳性,将μCOS2Ⅱ移植到C8051F060中就成为一件很有意义的事。
1.µC/OS-II的移植
(1)修改INCLUDES.H文件:增加的头文件放在头文件列表的最后。
#include "os_cpu.h"
#include "os_cfg.h"
#include "ucos_ii.h"
(2)修改OS CPU.H文件:为确保系统在KEIL环境下正常运行,重新定义了一系列与C8051F060和KEIL编译器相关的数据结构、宏和常数。
typedef unsigned char OS_STK;/*定义堆栈宽度为8位*/
typedef unsigned char OS_CPU_SR;
#define OS_ENTER_CRITICAL() EA="0"
#define OS_EXIT CRITICAL()EA="1"
(3)修改OS_CPU_A.ASM文件
①编写OSSTartHihgRdy()函数:获得将要恢复运行的就绪任务的堆栈映像的最低地址,并计算出堆栈长度,然后向系统堆栈复制数据、堆栈指针SP和堆栈映像指针?C_XBP,最后利用中断返回。
②编写OSCtxSw()函数:先从当前任务的TCB控制块中获得当前任务堆栈长度和堆栈映像指针,然后将系统堆栈的内容复制到任务堆栈映像,最后获得将要恢复运行的就绪任务的TCB,程序跳至OSSTartHihgRdy()函数的入口,实现任务的切换。
③编写OSIntCtxSw()函数:代码大部分与OSCtxSw()相同,不同之处在于此处不需要再保存寄存器;需要调整堆栈指针(SP=SP-4),去掉在调用OSIntExit(),OSIntCtxSw()中压入堆栈中的多余的内容,以使堆栈中只包含任务的运行环境。
④编写OSTickISR()函数:用定时器0作中断源,初始化定时器0使系统每秒中断100次,节拍率Tick=100次/秒。
(4)修改OS_CPU_C.C文件:编写OSTaskStkInit()函数用来初始化堆栈。
2. 基于µC/OS-II的C8051F060应用系统开发
移植了µC/OS-II的C8051F060的每个功能都可以作为一个独立的任务,每个任务都有自己的堆栈空间,可以被其他任务和中断服务程序挂起。在设计中,主函数均以OSInit()开始,以OSStart()结束,中间部分为与硬件相关的系统初始化函数。对于任务的建立,必须依照µC/OS-II系统中建立任务的格式,根据自己的需求来确定任务的个数,并且根据任务的重要程度和被调用的频率来设置好优先级。创建好任务后,在主函数外面分别列出各个任务函数,每个任务函数都是一个无限循环程序,调用实现某些功能的应用程序函数,然后按设计的需求设置挂起方式和挂起时间。
应用系统测试程序实现了6个任务:Task1是每1s发送CAN数据包,Task2是处理CAN接收到的数据,Task3是每3s发送串口数据,Task4是处理串口接收到的数据,Task5是处理按键信息,Task6是显示数据。CAN总线接收采用中断方式,其优先级高于其他任务,为了保证系统的实时性,在中断程序中不处理数据,只是发送一个信号量,在Task2中处理CAN数据。串口数据接收亦采用中断方式,其优先级低于CAN高于其他任务。串口数据发送采用的是查询方式,按字节发送。程序中设置6个任务的优先级依次为13,11,14,12,15,16。
在主程序中,首先初始化C8051F060和CAN,调用OsInit();然后调用API函数,创建6个任务(不包括空闲任务);再创建一个信号量CAN_EVENT,为中断与Task2通信所用;最后调用OSStart(),OS系统开始运行优先级最高的任务。Task2的优先级最高,但是在没收到CAN_EVENT之前,任务一直处于休眠状态,当CAN接收器收到数据包后,Task2进入就绪态,在中断返回时,进行任务切换,执行优先级最高Task2。在Task2还未收到信号量之前,Task1、Task3、Task4、Task5和Task6根据时间延时和优先级的不同各自独立运行。
三、结束语
将编写的测试程序下载到C8051F060应用系统中进行了实际的运行测试,测试表明,基于µC/OS-II的C8051F060应用系统中的各任务工作稳定可靠,取得了满意的效果,为进行嵌入式应用系统的进一步设计奠定了基础。
(作者单位:黑龙江省大庆职业学院)
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

阅读全文

与单片机与实时系统相关的资料

热点内容
excel怎么引用统一文件夹 浏览:249
怎么把微信抖音加密 浏览:302
android滑动进度条 浏览:834
javagmt转换 浏览:826
linux查看snmp 浏览:24
ug80车床编程 浏览:516
怎么加速python计算素数 浏览:241
腰椎第五节压缩性骨折 浏览:91
程序员开会的句子 浏览:993
用哪个app写编程 浏览:645
android通讯录增删改查 浏览:731
车贷解压过户可以同时进行吗 浏览:921
java面向对象编程题目 浏览:884
二次元压缩包 浏览:701
stc仿真器编程器 浏览:157
服务器销售怎么做好 浏览:89
什么是com编程 浏览:850
算法工程师最新资讯 浏览:613
邮政银行卡怎么在app签约绑定 浏览:51
压缩卷一直转 浏览:978