注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统其他操作系统嵌入式实时操作系统Small RTOS51原理及应用

嵌入式实时操作系统Small RTOS51原理及应用

嵌入式实时操作系统Small RTOS51原理及应用

定 价:¥38.00

作 者: 陈明计 等编著
出版社: 北京航空航天大学出版社
丛编项: 周立功单片机公司策划系列丛书
标 签: 嵌入式计算机

ISBN: 9787810774093 出版时间: 2004-01-01 包装: 胶版纸
开本: 小16开 页数: 340 字数:  

内容简介

  Small RTOS51是为51系列单片机而编写的。它是完全免费的、源代码公开的多任务实时操作系统。它可在无任何外部数据存储器的单片80C51系统上运行,并且是可移植的。全书分两部分。第一部分为基础篇,介绍Small RTOS51和一些基本概念,并详细分析Small RTOS51的工作原理。第二部分为应用篇,给出部分常用硬件在Small RTOS51下驱动程序的源代码。这些源代码在DP—51单片机仿真实验仪上全部调试通过,且只要经过很少的改动,或是不改动,就可以在其他环境下使用。应用篇还通过对这些源代码的分析,让读者理解基于RTOS的编程方法,并给出完整的例子让读者全面掌握基于RTOS的编程方法。本书可以作为高等院校相关专业的课程教材、实验参考资料或课外读物,对嵌入工应用开发人员也有重要的参考价值。

作者简介

  周立功周立功,男,1964年3月出生,毕业于东华大学自动化及计算机系,高级工程师,中国单片机学会理事,中国海洋大学讲座教授,硕士生导师,主要研究方向为嵌入式系统与现场总线,目前正在从事80C51、ARM与NiosII等软核SoC的研究与开发。1981年6月参加工作,先后在大型国有企业担任过工段长、车间主任、团委书记、厂长、党委书记,先后被评为省及国家级劳动模范与新长征突击手,长期从事微机、单片机与嵌入式系统应用推广、开发工作。早期主要从事6502、Z80、8080及其5G14500(一位机)微机应用开发及工业低温辐射远红外节电技术应用与研究等工作,在1987年就出版过《工业低温辐射远红外节电技术》专著。从1994年11月开始创办了广州周立功单片机发展有限公司、广州致远电子有限公司除担任董事长与总经理之外,还继续从事实际的技术开发工作并任首席系统设计师和软件架构师,致力于单片机与嵌入式系统技术的推广及其产业化工作。深入浅出ARM7:LPC213x/214x(下册)>>更多作品

图书目录

第一部分  原理篇
第0章  绪论
第1章  Small RTOS51简介
    1.1  Small RTOS51的特点
    1.2  Small RTOS51的运行条件
    1.3  Small RTOS51的存储器需求
    1.4  Small RTOS51的任务堆栈的计算
    1.5  关于可重人功能
    1.6  关于C51的库函数
    1.7  关于51系列单片机派生类型的多数据指针和数学单元
    1.8  关于51系列单片机的寄存器段
    1.9  关于局部变量
第2章  基本概念
    2.1  嵌入式系统
    2.2  实时系统
    2.3  前、后台系统
    2.4  操作系统
    2.5  实时操作系统
    2.6  代码的临界区
    2.7  资源
    2.8  共享资源
    2.9  任务
    2.10  任务切换
    2.11  内核
    2.12  调度
    2.13  非占先式内核
    2.14  占先式内核
    2.15  可重人性
    2.16  任务优先级
    2.17  信号量
    2.18  死锁
    2.19  消息队列
    2.20  中断
    2.21  时钟节拍
第3章  一个简单的例子
    3.1  Small RTOSSl的安装及目录结构
    3.2  例子简介
    3.3  Config.h、Os_cfg.h和Os_cpu.h
    3.4  与编译器无关的数据类型
    3.5  OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
    3.6  main()函数
    3.7  建立任务
    3.8  删除任务
    3.9  用户任务
    3.10  软非屏蔽中断
    3.11  中断服务程序的编写
    3.12  Os_cpu.h可改变的其他内容
    3.13  Small RTOS51的其他注意事项
第4章  任务管理——核心的核心
    4.1  临界区
    4.2  任务
    4.3  任务状态
    4.4  与任务相关的数据结构
    4.5  任务调度
    4.6  Small RTOS51中的中断处理
    4.7  时钟节拍
    4.8  Small RTOS51初始化和启动
    4.9  建立任务
    4.10  任务堆栈
    4.11  删除任务
    4.12  时间服务及任务的挂起和恢复
    4.13  获取当前Small RTOS51的版本号
    4.14  OSInt...()函数
第5章  如何切换任务
    5.1  CPU可以执行多个任务的原因
    5.2  CPU怎样运行才能执行多个任务
    5.3  何时进行任务切换
    5,4  SmallRTOS51任务切换时的程序框图
    5.5  数组OSTsakStackBotton[]和Small RTOS51的堆栈结构
    5.6  变量OSFastSwap
    5.?  常量数组OSMapTbl[]
    5.8  软非屏蔽中断的堆栈SP2[]
    5.9  中断切换函数OSIntCtxSw()
    5.10  任务主动放弃CPU——OlTASK_SW()
    5.11  堆栈变换函数C_OSCtxSw()
    5.12  恢复新任务环境LoadCtx()
    5.13  优先级最低的任务OSIdle()
    5.14  SmallRTOS51初始化函数OSStart()
    5.15  系统时钟节拍中断OSTickISR()
第6章  任务之间的通信和同步之信号量
    6.1  概述
    6.2  使Keil C51函数具有重人性的特殊方法
    6.3  数据结构
    6.4  EN_OS_SEM_CHK宏及相关代码
    6.5  初始化一个信号量
    6.6  等待一个信号量
    6.7  发送一个信号量
    6.8  无等待地请求一个信号量
    6.9  查询信号量
第7章  任务之间的通信和同步之消息队列
    7.1  概述
    7.2  数据结构及存储空间的分配
    7.3  消息队列发送消息和取得消息的操作
    7.4  EN_OS_Q_CHK及相关代码
    7.5  建立一个消息队列
    7.6  等待一个消息队列中的消息
    7.7  向消息队列发送一个消息(FIFO)
    7.8  向消息队列发送一个消息(LIFO)
    7.9  同时发送多个消息
    7.10  无等待地从消息队列中取得消息
    7.11  清空一个消息队列
    7.12  查询一个消息队列的状态
第8章  Small RTOS51的移植
    8.1  系统相关的宏
    8.2  与编译器无关的变量类型
    8.3  OSStart()
    8.4  OSIntCtxSw()
    8.5  OS_TASK_SW()
    8.6  OSTickISR()
    8.7  OSIdle()
第9章  函数参考手册
    9.1  OS_INT_ENTER()函数
    9.2  OSClearSignal()函数
    9.3  OSIntExit()函数
    9.4  OSIntSendSignal()函数
    9.5  OSQAccept()函数
    9.6  OSQCreate()函数
    9.7  OSQFlush()函数
    9.8  OSQIntPost()函数
    9.9  OSQIntPostFrOnt()函数
    9.10  OSQNMsgs()函数
    9.11  OSQPend()函数
    9.12  OSQPost()函数
    9.13  OSQPostFront()函数
    9.14  OSQSi2e()函数
    9.15  OSRunningTaskID()函数
    9.16  OSSemAccept()函数
    9.17  OSSemCreate()函数
    9.18  OSSemIntPost()函数
    9.19  OSSemPend()函数
    9.20  OSSemPost()函数
    9.21  OSSemQuery()函数
    9.22  OSSendSignal()函数
    9.23  OSStart()函数
    9.24  OS丁ime丁ick()函数
    9.25  OSVersion()函数
    9.26  OSWait()函数
第10章  系统酉2置手册
    10.1  基本配置
    10.2  消息队列的配置
    10.3  信号量的配置
    10.4  Small RTOS51的特殊配置
第二篇  应用篇
第11章  DP-51单片机仿真实验仪简介
    11.1  概述
    11.2  产品实物
    11.3  功能特点
    11.4  主控CPU简介
    11.5  DP-51单片机仿真实验仪的应用领域
第12章  DP-51单片机仿真实验仪硬件结构
    12.1  主要器件
    12.2  电路外观
    12.3  应用接口
    12.4  I/O地址分配
    12.5  跳线选择器
第13章  如何为Small RTOS51编写驱动程序
    13.1  Keil C51简介
    13.2  Keil C51的特殊性
    13.3  判断Keil C51是否可重人的方法
    13.4  使用任务编写驱动程序
    13.5  使用消息队列编写驱动程序
    13.6  使用信号量编写驱动程序
    13.7  复合方法
第14章  LED扫描程序的实现
    14.1  LED简介
    14.2  LED数码显示器简介
    14.3  LED驱动程序的实现
第15章  LCD显示驱动的实现
    15.1  点阵字符型LCD-TCl602A简介
    15.2  TC1602A液晶显示器与DP-51单片机仿真实验仪的连接
    15.3  驱动程序的使用
    15.4  对TC1602A操作的基本函数
    15.5  初始化TC1602A液晶显示器
    15.6  清除指定行
    15.7  在指定位置显示字符串
    15.8  在指定地址向液晶模块写多个字符
    15.9  驱动程序在DP-51单片机仿真实验仪上使用的例子
第16章  软定时器的实现
    16.1  软定时器简介
    16.2  软定时器模块的使用
    16.3  软定时器的数据结构
    16.4  软定时器模块的接口函数
    16.5  软定时器模块的管理
    16.6  软定时器模块在DP-51运用的例子
第17章  键盘扫描程序的实现
    17.1  键盘简介
    17.2  软件去抖动处理
    17.3  连击的处理
    17.4  复合键
    17.5  串键
    17.6  键盘驱动的实现
    17.7  键盘驱动在DP-51上运用的例子
第18章  串行通信程序的实现
    18.1  概述
    18.2  串行通信硬件电路
    18.3  通信协议
    18.4  本例使用的串行通信协议
    18.5  本例执行的效果
    18.6  串行通信驱动程序的发送部分
    18.7  串行通信驱动程序的接收部分
    18.8  例子中其他未介绍部分代码
第19章  I2C总线驱动程序的实现
    19.1  标准模式I2C总线规范简介
    19.2  位传输
    19.3  数据传输
    19.4  仲裁与时钟发生
    19.5  传输协议
    19.6  I2C总线驱动程序的实现
第20章  串行E2PROM芯片Cat24WCxx驱动程序的实现
    20,1  概述
    20.2  引脚描述
    20.3  串行E2PROM芯片的寻址
    20.4  写操作方式
    20.5  读操作方式
    20.6  Cat24WC02在DP-51中的连接
    20.7  Cat24WCxx驱动程序的使用
    20.8  Cat24WCxx的写操作
    20.9  Cat24WCxx的读操作
    20.10  DP-51上对Cat24WC02读/写操作的例子
第21章  实时时钟芯片PCF8563驱动程序的实现
    21.1  实时时钟PCF8563简介
    21.2  PCF8563的基本原理
    21.3  PCF8563在DP-51中的连接
    21.4  PCF8563驱动程序的使用
    21.5  PCF8563的写操作
    21.6  PCF8563的读操作
    21.7  DP-51上对PCF8563读/写操作的例子
第22章  CAN总线马区动程序的实现
    22.1  CAN简介
    22.2  CAN控制器SJAl000简介
    22.3  SJA1000的硬件连接
    22.4  对SJA1000的软件控制
    22.5  SJA1000的BasicCAN方式
    22.6  寄存器位功能介绍
    22.7  SJA1000的编程流程
    22.8  驱动程序的使用
    22.9  对SJA1000操作的基本函数
    22.10  用户可修改、可调整的应用层函数
    22.11  CAN通信在DP-51上运用的例子
第23章  PDIUSBDl2 USB驱动程序的实现
    23.1  简介
    23.2  USB设备的枚举过程
    23.3  USB标准设备请求
    23.4  程序实现方法
第24章  完整的程序——闹钟的实现
    24.1  简介
    24.2  关键代码
附录A  使用许可证
附录B  本书配套光盘说明
参考文献

本目录推荐