新書推薦:
《
简帛时代与早期中国思想世界(上下册)(王中江著作系列)
》
售價:NT$
1400.0
《
进化主义在中国的兴起(王中江著作系列)
》
售價:NT$
950.0
《
不废风雅 生活的意趣(汪曾祺风雅意趣妙文)
》
售價:NT$
280.0
《
东亚世界形成史论(新版)
》
售價:NT$
490.0
《
奶奶的半个心愿 “课本里的作家” 中考热点作家孙道荣2024年全新散文集
》
售價:NT$
190.0
《
天生坏种:罪犯与犯罪心理分析
》
售價:NT$
445.0
《
新能源材料
》
售價:NT$
290.0
《
传统文化有意思:古代发明了不起
》
售價:NT$
199.0
|
編輯推薦: |
这本《项目驱动——单片机应用设计基础》由周立功主编陈明计等编著,或许本书让人看起来并不起眼,甚至会不屑一顾,但作者认为,对于初学者来说面的知识,,本书确实具有与众不同的特点,它不仅融合了数据结构、计算方法、直流电机及其功率接口等方而且在单片机教学中引入了嵌入式操作系统与程序设计基础的思想。尽管TinyOS51是一个基于80C51单片机的嵌入式微小内核,但麻雀虽小,五脏俱全。更重要的是,学生能够通过TinyOS51真实地了解项目驱动所融合的相关知识点的奥秘和机理。当然,学生仅学习上述内容还不足以全面掌握相关知识点,因此,在后续项目驱动的相关教材中,作者还会根据需要,不断融合更多关键的知识点,以达到卓越计划的教学目标。
|
內容簡介: |
这本《项目驱动——单片机应用设计基础》由周立功主编陈明计等编著,全书以80C51单片机为主,通过项目驱动的方法融合相关知识点。内容主要分两部分:第一部分为第1~4
章,以SDCC51编程语言为基础,深入浅出地介绍如何使用嵌入式C编程来控制单片机各种外设部件,并给出常用C编程算法。第二部分为第5~7章,重点介绍TinyOS51嵌入式多任务操作系统的基本原理,及其在
80C51单片机中的实现,并针对同一工程项目给出使用前后台程序和嵌入式多任务操作系统两种不同的编程方法。通过这两种方法的比较,可使读者了解嵌入式多任务操作系统在项目编程中的优势。
本书注重在教学中强化学生的动手训练,强调理论与实践相结合。读者通过本书的学习,可熟练掌握嵌入式C的编程方法,并初步掌握嵌入式多任务操作系统的编程知识。
《项目驱动——单片机应用设计基础》可作为大学本科、高职高专电子信息、自动化、机电一体化、计算机等专业的教材,也可作为电子爱好者的自学用书,还可作为从事单片机应用开发工程技术人员的参考资料。
|
目錄:
|
第1章 深入理解嵌入式C
1.1 概述
1.1.1 特性
1.1.2 引脚排列与描述
1.1.3 特殊功能寄存器
1.2 单片机最小系统与开发工具
1.2.1 Tiny51核心模块
1.2.2 复位电路
1.2.3 晶体振荡电路
1.2.4 单片机在线仿真与编程
1.3 SDCC扩展
1.3.1 SDCC简介
1.3.2 应用示例
1.3.3 关键字与数据类型
1.4 存储器类语言
1.4.1 存储类型
1.4.2 存储模式
1.4.3 特殊功能寄存器数据类型
1.4.4 位数据类型
1.4.5 存储器绝对寻址
1.4.6 指针
1.5 函数
1.5.1 函数参数和局部变量
1.5.2 覆盖
1.5.3 使用专用寄存器组
1.6 深入理解嵌入式C
1.6.1 概述
1.6.2 方法
1.6.3 函数调用与参数传递
1.6.4 函数返回
1.6.5 局部变量存储
1.7 经典范例程序设计
1.7.1 LED流水灯范例
1.7.2 蜂鸣器驱动范例
1.7.3 数码管动态扫描显示驱动范例
1.7.4 键盘动态扫描驱动范例
第2章 特殊功能部件与外设
2.1 中断系统
2.1.1 中断概念
2.1.2 80C51的中断结构
2.1.3 相关寄存器
2.1.4 中断向量
2.1.5 中断操作
2.1.6 使能和禁止中断
2.2 定时计数器
2.2.1 相关寄存器
2.2.2 定时计数器模式
2.2.3 定时器查询延时
2.2.4 定时器中断延时
2.2.5 无源蜂鸣器驱动程序
2.2.6 数码管动态扫描演示程序
2.2.7 测量负脉冲
2.3 看门狗
2.3.1 看门狗的作用
2.3.2 看门狗的工作原理
2.3.3 看门狗定时器的结构
2.3.4 寄存器描述
2.3.5 看门狗周期值设置
2.3.6 应用示例
2.4 I2C总线及其驱动程序
2.4.1 I2C简介
2.4.2 决策
2.4.3 软件接口
2.4.4 基本时序代码
2.4.5 外部接口代码
2.4.6 E2PROM读写范例
2.4.7 CAT1024驱动程序
2.4.8 温度的测量
2.5 串行口及其驱动程序
2.5.1 硬件基础
2.5.2 决策
2.5.3 软件接口
2.5.4 初始化
2.5.5 发送数据
2.5.6 接收数据
2.5.7 测试用例
第3章 数据结构与计算方法初步
3.1 简单阈值控制算法
3.1.1 算法原理
3.1.2 应用实例
3.2 循环队列
3.2.1 队列的逻辑结构和基本运算
3.2.2 队列的存储结构
3.2.3 循环队列的运算
3.3 常用检错算法
3.3.1 奇偶校验
3.3.2 和校验
3.3.3 循环冗余校验
3.4 应用实例
3.4.1 Hex文件
3.4.2 通信编程
第4章 保险箱密码锁控制器方案一
4.1 概述
4.1.1 保险箱
4.1.2 锁芯机械结构
4.1.3 密码锁控制器
4.1.4 密码锁工作原理
4.2 准备工作
4.2.1 概述
4.2.2 使用说明
4.2.3 硬件概要设计
4.2.4 软件概要设计
4.3 硬件驱动设计
4.3.1 延时驱动
4.3.2 锁驱动
4.3.3 可复用的硬件驱动
4.4 虚拟驱动设计
4.4.1 虚拟锁驱动
4.4.2 虚拟键盘驱动
4.4.3 虚拟蜂鸣器驱动
4.4.4 虚拟显示器驱动
4.4.5 虚拟存储器驱动
4.5 主程序设计
4.5.1 准备工作
4.5.2 编写代码
4.6 直流电机及其功率接口
4.6.1 概述
4.6.2 直流电机的工作原理
4.6.3 直流电机的单向驱动
4.6.4 直流电机的双向驱动
第5章 TinyOS51嵌入式操作系统微小内核
5.1 基础知识
5.1.1 概述
5.1.2 头文件
5.1.3 变量命名规则
5.1.4 范例分析
5.1.5 setjmp与longjmp的实现
5.2 最简单的多任务模型
5.2.1 双任务切换模型
5.2.2 待解决的问题
5.2.3 setTaskJmp的实现
5.2.4 任务切换模型范例分析
5.3 协作式多任务操作系统
5.3.1 整体规划
5.3.2 任务控制块
5.3.3 内部变量初始化
5.3.4 创建任务
5.3.5 启动多任务环境
5.3.6 任务切换
5.3.7 删除任务
5.3.8 小结
5.4 时间片轮询多任务操作系统
5.4.1 概述
5.4.2 整体规划
5.4.3 任务控制块
5.4.4 内部变量初始化
5.4.5 创建任务
5.4.6 启动多任务环境
5.4.7 任务调度
5.4.8 时钟节拍中断
5.4.9 longjmpInIsr
5.4.10 任务延时
5.4.11 删除任务
5.5 信号量
5.5.1 概述
5.5.2 整体规划
5.5.3 任务控制块
5.5.4 内部变量初始化
5.5.5 信号量定义
5.5.6 创建信号量
5.5.7 获得信号量
5.5.8 发送信号量
5.5.9 删除任务
5.6 消息邮箱
5.6.1 概述
5.6.2 整体规划
5.6.3 任务标志与消息邮箱
5.6.4 创建消息邮箱
5.6.5 获得消息
5.6.6 发送消息
第6章 程序设计基础
6.1 任务设计
6.1.1 任务的分类
6.1.2 任务的划分
6.2 系统函数使用概述
6.2.1 系统函数总览
6.2.2 中断服务程序调用函数的限制
6.2.3 系统函数的分类
6.3 系统函数的使用场合
6.3.1 时间管理
6.3.2 资源同步
6.3.3 行为同步
6.4 时间管理
6.5 临界区
6.6 信号量
6.6.1 简介
6.6.2 信号量的工作方式
6.6.3 任务同步中断服务程序
6.6.4 任务间同步
6.6.5 资源同步
6.7 消息邮箱
6.7.1 简介
6.7.2 消息邮箱的工作方式
6.7.3 中断服务程序与任务通信
6.7.4 任务间数据通信
第7章 保险箱密码锁控制器方案二
7.1 软件开发流程
7.2 决策
7.2.1 概述
7.2.2 总体目标
7.2.3 使用说明
7.2.4 限制条件
7.2.5 具体开发目标
7.2.6 其他决策内容
7.3 模块划分
7.3.1 概述
7.3.2 硬件层
7.3.3 设备驱动层
7.3.4 虚拟设备层
7.3.5 应用层
7.4 接口定义
7.4.1 密码的输出、存储与显示
7.4.2 应用层接口
7.4.3 虚拟设备层接口
7.4.4 设备驱动层接口
7.5 编写代码
7.5.1 概述
7.5.2 可复用的驱动
7.5.3 I2C驱动
7.5.4 CAT1024驱动
7.5.5 虚拟键盘驱动
7.5.6 虚拟蜂鸣器驱动
7.5.7 人机交互程序
7.5.8 主程序
7.6 测试、验收与小结
参考文献
|
|