词条 | 21天学通51单片机开发(第2版) |
释义 | 图书信息21天学编程系列 21天学通51单片机开发(第2版)(含DVD光盘1张)陆彬 编著 ISBN 978-7-121-14160-7 2011年9月出版 定价:49.80元(含DVD光盘1张) 16开 416页 内 容 简 介本书系统地介绍了51系列单片机的基本概念、程序设计语言及硬件编程,并给出了一些常用的典型案例。本书言简意赅、通俗易懂,知识点覆盖全面,详细讲述了每个指令及功能的编程指南和实例,使读者能够更好地掌握51系列单片机的知识。 本书分25章,全面详细地讲述了单片机的原理、程序设计方法、编程指南及应用案例。首先介绍了51系列单片机的基础知识及基本结构,接着介绍了单片机的程序设计语言,包括汇编语言和单片机C51语言,其中C51语言是重点内容。然后结合单片机的各个功能部件详细讲解了单片机的硬件编程方法。最后还给出了在各个领域中常用到的一些典型案例,供读者在学习和工作中参考。 本书知识点覆盖全面、结构安排紧凑、讲解详细、实例丰富。51系列单片机的初学者通过本书可以快速掌握单片机的程序设计技术。本书对具有一定开发经验的设计人员,也有很高的参考价值。 本书附赠DVD光盘1张,内容包括超大容量手把手教学视频、电子教案(PPT)。 前 言为什么要写这样一本书 单片机凭借其强大的可编程能力及高性价比,在现代电子设计领域中具有重要的地位。在越来越多的产品中可以看到单片机的身影。其中,51系列单片机是市场上应用最广泛、性价比最高的单片机之一,使用51系列单片机进行设计的项目和开发人员都非常多。目前市面上关于单片机开发的书籍非常多,但是这些书有些过于技术化,入门者根本无法入手,有些书籍内容不全,无法让初学者对该技术得到全面的认识。 为了能让初次接触51系列单片机开发的爱好者快速而又轻松地学会单片机及其程序开发,笔者总结了自己学习单片机程序设计的经验,并结合多年实际开发的经验,编写了这本51系列单片机的基础教程。在本书中,笔者从最基础的概念入手,循序渐进地将51系列单片机开发和程序设计中的每个技术点展现在读者面前,力求让读者在最短的时间内高效地掌握51系列单片机开发的基础概念及技术要点。 本书有何特色 1.细致体贴的讲解 为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念用直观的图示演示过程用详细的注释解释代码用形象的比方帮助记忆。效果如下: 知识点介绍 准确、清晰是其显著特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。 范例 书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。 范例代码 与范例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号,便于学习。 运行结果 对范例给出运行结果和对应图示,帮助读者更直观地理解范例代码。 代码解析 将范例代码中的关键代码行逐一解释,有助于读者掌握相关概念和知识。 综合练习 为了便于读者巩固所学内容,本书每章中均提供了综合练习,并给出了操作提示和结果,配合读者自己动手实践。 习题 每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握,题目的提示或答案放在光盘中。 贴心的提示 为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下: 提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者解决问题的方法。 注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。 警告:对操作不当或理解偏差将会造成的灾难性后果做警示,以加深读者印象。 经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式,会非常轻松、顺利地掌握本书知识。 2.实用超值的DVD光盘 为了帮助读者比较直观地学习,本书附赠DVD光盘,内容包括多媒体视频、电子教案(PPT)、各章习题答案和实例源代码等。 多媒体视频 配有长达16小时手把手教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。 电子教案(PPT) 本书可以作为高校相关课程的教材或课外辅导书,所以笔者特别为本书制作了电子教案(PPT),以方便老师教学使用。 推荐的学习计划 本书作者在长期从事相关培训或教学实践过程中,归纳了最适合初学者的学习模式,并参考了多位专家的意见,为读者总结了合理的学习时间分配方式,列表如下: 推荐时间安排 自学目标(框内打钩表示已掌握) 难度指数 第1周 第1天 了解单片机发展历史、应用领域和发展方向 熟悉典型的51系列单片机引脚结构和功能 掌握51系列单片机的内部结构 了解51系列单片机的中央处理器结构 熟悉51系列单片机的存储器结构 掌握51系列单片机的指令时序 了解51系列单片机的掉电保护和低功耗模式 第2天 能够根据自己的需要进行单片机的选型 能够顺利地搭建一个51单片机的硬件最小电路 能够顺利地搭建一个Keil C51软件开发环境 熟悉Keil C51软件的集成开发环境 第3天 熟悉和掌握汇编语言伪指令 掌握单片机汇编语言程序的格式 了解典型的汇编程序结构 能够在Keil μVision3集成开发环境中使用汇编语言 第4天 了解单片机C51语言的标识符和关键字 熟悉单片机C51语言的数据类型和变量作用域 掌握各种常用的运算符和表达式 第5天 熟练掌握C51语言中的各种语句结构 熟悉C51不同语句的程序设计方法和功能用途 了解C51语言中常用的控制流程结构 续表 推荐时间安排 自学目标(框内打钩表示已掌握) 难度指数 第1周 第6天 了解数组的声明和表示 掌握数组元素的初始化方法 掌握和熟练运用一维数组和二位数组的使用 掌握和熟练运用字符串数组的使用 熟悉多维数组的使用 第7天 了解地址和指针的基本概念 掌握和熟悉指针变量的使用 掌握和熟悉数组指针和指针数组的区别及使用 掌握和熟练运用字符指针的使用 第2周 第8天 了解结构的声明和初始化 掌握和熟练运用结构数组的使用 掌握和熟练运用结构指针的使用 掌握嵌套结构的使用 掌握位结构的使用 第9天 掌握和熟悉联合类型的使用及其与结构的区别 掌握枚举类型的使用 了解类型声明的使用 了解位域的使用 第10天 了解函数的概念及函数的声明 了解函数的参数、返回值 掌握函数的调用方法 了解函数的作用域 第11天 掌握和熟练运用各种常用的库函数 □ 第12天 了解和掌握宏定义指令 掌握和熟悉文件包含指令 了解条件编译指令 第13天 了解51单片机的存储结构 掌握和熟练C51的各种存储类型 了解存储模式 掌握C51的存储器指针 第14天 了解单片机定时器/计数器的结构 掌握定时器/计数器的功能及控制寄存器 掌握和熟练运用定时器/计数器的各种工作模式及程序设计 第3周 第15天 了解单片机的中断系统 掌握中断的类型、程序访问和响应过程 掌握和熟练运用外部中断源及其程序设计 掌握和熟练运用定时中断源及其程序设计 掌握和熟练运用串行中断源及其程序设计 续表 推荐时间安排 自学目标(框内打钩表示已掌握) 难度指数 第3周 第16天 了解基本的串行通信概念 掌握51系列单片机串行接口的程序控制 掌握和熟练运用各种串口工作模式的原理 掌握和熟练运用各种串口工作模式的程序设计思路 第17天 了解键盘的种类 掌握键盘的基本原理 掌握和熟练运用阵列式键盘的使用 第18天 掌握LED数码管的基本原理 掌握和熟练运用单个LED数码管的直接驱动 掌握和熟练运用静态驱动多个LED数码管的方法 掌握和熟练运用LED驱动器的使用方法 第19天 了解I2C总线的工作原理 掌握I2C总线的寻址方式 掌握和熟练运用I2C总线的协议 掌握I2C总线接口的EEPROM 掌握和熟练运用I2C总线的程序设计方法 第20天 了解各种常用的串行通信接口 掌握串行通信接口芯片的使用 掌握和熟练运用单片机与PC之间的串行通信方法 第21天 了解RTX-51实时多任务操作系统 了解RTX-51 Tiny的任务管理 掌握和熟练运用RTX-51 Tiny的系统函数 掌握RTX-51多任务程序与单任务程序的区别 掌握和熟练运用RTX-51 Tiny的程序设计 本书适合哪些读者阅读 本书非常适合以下人员阅读: 从未接触过51单片机开发技术的人员; 有一定硬件开发技术基础,但还需要进一步学习的人员; 想学习单片机C51语言的开发人员; 其他编程爱好者。 目 录第1章 51系列单片机基础知识 ( 教学视频:33分钟) 15 1.1 51系列单片机概述 15 1.1.1 单片机的发展历史 15 1.1.2 51系列单片机简介 16 1.1.3 51系列单片机的应用领域 16 1.1.4 51系列单片机的发展方向 17 1.2 典型引脚结构 17 1.2.1 电源引脚 18 1.2.2 时钟引脚 18 1.2.3 并行I/O引脚 19 1.2.4 复位引脚 22 1.2.5 ALE/ 引脚 23 1.2.6 引脚 23 1.2.7 /VPP引脚 23 1.3 51系列单片机内部结构 24 1.4 中央处理器结构 26 1.4.1 算术逻辑部件(ALU) 26 1.4.2 控制器 26 1.4.3 通用寄存器 26 1.4.4 专用寄存器 27 1.4.5 特殊功能寄存器 29 1.5 存储器结构 30 1.5.1 程序存储器 30 1.5.2 扩展外部程序存储器 31 1.5.3 数据存储器 31 1.5.4 扩展外部数据存储器 33 1.6 单片机指令时序 34 1.6.1 几个基本概念 34 1.6.2 指令执行的时序 35 1.6.3 访问外部ROM的操作时序 37 1.6.4 访问外部RAM的操作时序 38 1.7 掉电保护 38 1.8 低功耗模式 39 1.8.1 省电保持模式 39 1.8.2 休眠运行模式 39 1.9 小结 40 1.10 习题 40 第2章 搭建51单片机开发环境 ( 教学视频:29分钟) 42 2.1 搭建51单片机硬件开发系统 42 2.1.1 单片机选型 42 2.1.2 一个单片机最小开发系统 43 2.2 搭建Keil C51软件开发环境 44 2.2.1 Keil μ Vision3简介 44 2.2.2 Keil μ Vision3系统安装需求 45 2.2.3 Keil μ Vision 3的安装 45 2.2.4 Keil μ Vision3集成开发环境 总揽 46 2.2.5 Keil μ Vision3的菜单栏 47 2.2.6 Keil μ Vision3的工具栏 50 2.2.7 Keil μ Vision3的快捷键 53 2.3 小结 53 2.4 习题 54 第3章 单片机汇编语言 ( 教学视频:46分钟) 56 3.1 单片机汇编语言概述 56 3.1.1 单片机汇编语言简介 56 3.1.2 简单的单片机汇编语言程序 57 3.2 伪指令 57 3.2.1 起始伪指令ORG 57 3.2.2 结束伪指令END 58 3.2.3 等值伪指令EQU 58 3.2.4 地址赋值伪指令DATA 58 3.2.5 字节保存伪指令DB 58 3.2.6 字保存伪指令DW 59 3.2.7 空间预留伪指令DS 59 3.2.8 位变量伪指令BIT 59 3.3 单片机的指令 60 3.3.1 单片机指令系统简介 60 3.3.2 单片机指令格式 60 3.3.3 单片机指令的寻址方式 61 3.3.4 51系列单片机指令集 64 3.5 单片机汇编语言的程序结构 69 3.5.1 顺序结构 69 3.5.2 分支结构 70 3.5.3 循环结构 71 3.5.4 子程序结构 72 3.5.5 查表程序结构 73 3.6 Keil μVision3使用单片机汇编 程序 74 3.6.1 创建项目 74 3.6.2 编辑源文件 76 3.6.3 编译项目 76 3.6.4 仿真调试 77 3.7 综合练习 77 3.8 小结 79 3.9 习题 79 第4章 单片机C51语言基础 ( 教学视频:69分钟) 82 4.1 单片机C51语言概述 82 4.1.1 单片机C51语言的主要特点 82 4.1.2 “Hello world”程序 82 4.1.3 良好的编程规范 83 4.2 标识符和关键字 84 4.2.1 标识符 84 4.2.2 关键字 84 4.3 数据类型 86 4.3.1 变量和常量 86 4.3.2 整型数据 87 4.3.3 字符型数据 88 4.3.4 浮点型数据 90 4.4 分隔符 91 4.5 const修饰符 91 4.6 变量作用域 92 4.6.1 一般规则 92 4.6.2 不同存储类型变量的作用域 93 4.7 运算符 95 4.7.1 算术运算符 95 4.7.2 逻辑运算符 97 4.7.3 关系运算符 98 4.7.4 位运算符 99 4.7.5 特殊运算符 102 4.7.6 运算符的优先级 106 4.7.7 运算符的结合性 106 4.8 表达式 106 4.8.1 算术表达式 107 4.8.2 赋值表达式 107 4.8.3 逗号表达式 108 4.8.4 关系和逻辑表达式 108 4.9 综合练习 109 4.10 小结 110 4.11 习题 110 第5章 C51的语句 ( 教学视频:32分钟) 112 5.1 声明语句 112 5.2 表达式语句 112 5.3 复合语句 113 5.4 循环语句 114 5.4.1 for语句 114 5.4.2 while语句 115 5.4.3 do-while语句 116 5.5 条件语句 117 5.5.1 单分支if语句 117 5.5.2 双分支if语句 118 5.5.3 多分支if语句 119 5.6 开关语句 120 5.7 跳转语句 121 5.7.1 goto语句 121 5.7.2 break语句 122 5.7.3 continue语句 123 5.8 函数调用语句 123 5.9 空语句 124 5.10 返回语句 124 5.11 综合练习 125 5.12 小结 126 5.13 习题 126 第6章 C51的数组 ( 教学视频:48分钟) 129 6.1 数组的声明和表示 129 6.2 初始化数组元素 131 6.2.1 在声明数组时初始化 131 6.2.2 动态初始化 132 6.3 一维数组 132 6.3.1 一维数组的内存分配 132 6.3.2 一维数组的引用 133 6.3.3 一维字符串数组 134 6.4 二维数组 135 6.4.1 二维数组的声明 135 6.4.2 二维数组的初始化 136 6.4.3 二维数组的内存分配 137 6.4.4 二维字符串数组 138 6.5 多维数组 139 6.6 综合练习 140 6.7 小结 141 6.8 习题 141 第7章 C51的指针 ( 教学视频:71分钟) 143 7.1 地址和指针概述 143 7.2 指针变量的声明 143 7.3 指针变量的赋值 144 7.3.1 在声明时赋值 144 7.3.2 动态赋值 144 7.3.3 指针变量之间传递 145 7.3.4 特殊的指针变量赋值—— 数组 145 7.3.5 特殊的指针变量赋值—— 字符串 145 7.3.6 特殊的指针变量赋值—— 函数入口 146 7.4 指针变量的运算符 146 7.4.1 取地址运算符& 146 7.4.2 取值运算符* 146 7.4.3 指针变量的运算 147 7.5 特殊的指针类型——数组 指针 148 7.5.1 指向一维数组的指针 149 7.5.2 指向二维数组的指针 150 7.5.3 指向一个由n个元素所 组成的数组指针 151 7.5.4 指针和数组的关系总结 152 7.5.5 数组指针和指针数组 153 7.6 特殊的指针类型——字符 指针 154 7.7 综合练习 155 7.8 小结 156 7.9 习题 156 第8章 C51的结构 ( 教学视频:35分钟) 158 8.1 结构的声明 158 8.1.1 定义结构 158 8.1.2 声明结构变量 159 8.2 结构变量的初始化 160 8.3 结构变量的使用 162 8.4 结构数组 163 8.4.1 定义结构数组 163 8.4.2 初始化结构数组 164 8.5 结构指针 165 8.5.1 定义结构指针 165 8.5.2 使用结构指针 166 8.5.3 指向结构数组的结构指针 167 8.6 嵌套结构 168 8.7 位结构 169 8.8 综合练习 170 8.9 小结 171 8.10 习题 172 第9章 C51的聚合类型 ( 教学视频:46分钟) 173 9.1 联合类型 173 9.1.1 联合的定义 173 9.1.2 联合变量的声明 173 9.1.3 联合变量成员的引用 175 9.1.4 联合变量数组 175 9.1.5 联合变量指针 176 9.1.6 联合和结构的嵌套与区别 177 9.2 枚举类型 178 9.2.1 定义枚举类型 179 9.2.2 声明枚举变量 179 9.2.3 枚举变量的赋值和引用 180 9.3 类型声明 181 9.4 位域 182 9.4.1 定义位域 183 9.4.2 声明位域变量 184 9.4.3 位域变量的引用 184 9.4.4 位域指针 185 9.5 综合练习 186 9.6 小结 187 9.7 习题 187 第10章 C51的函数 ( 教学视频:56分钟) 189 10.1 函数 189 10.1.1 函数概述 189 10.1.2 函数的分类 189 10.1.3 main函数 191 10.2 函数的声明 191 10.2.1 函数声明一 191 10.2.2 函数声明二 192 10.2.3 函数声明三 193 10.3 函数的参数和返回值 194 10.3.1 形参和实参 194 10.3.2 数组元素作为函数参数 195 10.3.3 数组名作为函数参数 196 10.3.4 二维数组作为函数参数 196 10.3.5 指针变量作为函数参数 197 10.3.6 函数的返回值 198 10.4 函数的调用 198 10.4.1 函数调用的方式 198 10.4.2 赋值调用 199 10.4.3 引用调用 199 10.4.4 递归调用 200 10.4.5 嵌套调用 201 10.5 作用域 202 10.5.1 函数的作用域 202 10.5.2 函数代码的作用域 203 10.5.3 函数内部变量的作用域 203 10.6 C51常用库函数 203 10.6.1 字符函数库 204 10.6.2 字符串函数库 216 10.6.3 输入/输出函数库 231 10.6.4 数学函数库 241 10.6.5 标准函数库 246 10.6.6 内部函数库 253 10.7 综合练习 256 10.8 小结 257 10.9 习题 257 第11章 C51的预处理 ( 教学视频:36分钟) 260 11.1 预处理命令概述 260 11.2 宏定义指令 261 11.2.1 #define指令 261 11.2.2 带参数的#define指令 262 11.2.3 #undef指令 263 11.3 文件包含指令 264 11.3.1 #include指令 264 11.3.2 常用的头文件 265 11.4 条件编译指令 266 11.4.1 双分支条件编译指令 266 11.4.2 多分支条件编译指令 267 11.4.3 宏名判断指令 267 11.5 其他预处理指令 268 11.5.1 #line指令 269 11.5.2 #error指令 269 11.5.3 #pragma指令 270 11.6 综合练习 270 11.7 小结 271 11.8 习题 271 第12章 C51的存储结构 ( 教学视频:40分钟) 273 12.1 单片机存储结构 273 12.1.1 51系列单片机的存储区域 273 12.1.2 片内低128字节RAM区 273 12.1.3 特殊功能寄存器区(SFR) 274 12.2 存储类型 274 12.2.1 data存储类型 274 12.2.2 bdata存储类型 275 12.2.3 idata存储类型 275 12.2.4 pdata存储类型 276 12.2.5 xdata存储类型 276 12.2.6 code存储类型 276 12.2.7 sfr存储类型 277 12.2.8 sfr16存储类型 277 12.2.9 sbit存储类型 277 12.2.10 bit型变量 278 12.3 存储模式 278 12.3.1 Small模式 279 12.3.2 Compact模式 279 12.3.3 Large模式 279 12.3.4 存储模式的选择 279 12.4 存储器指针 280 12.4.1 指针存储类型 280 12.4.2 存储器指针 281 12.5 综合练习 282 12.6 小结 283 12.7 习题 284 第13章 51系列单片机的定时器/计数器 ( 教学视频:53分钟) 286 13.1 单片机的定时器/计数器 286 13.1.1 定时器/计数器的概述 286 13.1.2 定时器/计数器的控制 寄存器 287 13.1.3 定时器/计数器的初始化 290 13.2 定时器/计数器工作模式0及其 程序设计 290 13.3 定时器/计数器工作模式1及其 程序设计 292 13.4 定时器/计数器工作模式2及其 程序设计 294 13.5 定时器/计数器工作模式3及其 程序设计 295 13.6 综合练习 297 13.7 小结 299 13.8 习题 299 第14章 51系列单片机的中断系统 ( 教学视频:62分钟) 302 14.1 中断系统概述 302 14.1.1 中断概述 302 14.1.2 中断的典型概念 303 14.2 单片机中断的类型 304 14.2.1 外部中断源 304 14.2.2 定时中断源 304 14.2.3 串行中断源 304 14.3 中断系统的程序访问 305 14.3.1 中断标志控制寄存器 TCON 305 14.3.2 中断标志控制寄存器 SCON 306 14.3.3 中断允许标志寄存器IE 306 14.3.4 中断优先级标志寄存器IP 307 14.4 中断的响应过程 308 14.4.1 中断识别 308 14.4.2 中断响应 309 14.4.3 中断处理 310 14.4.4 中断撤离 310 14.5 外部中断源及其程序设计 310 14.6 定时中断源及其程序设计 311 14.7 串行中断源及其程序设计 312 14.8 综合练习 313 14.9 小结 314 14.10 习题 315 第15章 51系列单片机的串行接口 ( 教学视频:66分钟) 317 15.1 串行通信概述 317 15.1.1 串行通信与并行通信 317 15.1.2 异步串行通信与同步 串行通信 318 15.1.3 异步串行通信的波特率 319 15.1.4 串行通信的数据传送方式 319 15.2 51系列单片机的串行接口 320 15.2.1 单片机串行接口的内部结构 320 15.2.2 串行接口控制寄存器SCON 321 15.2.3 波特率选择寄存器PCON 323 15.2.4 波特率的程序设计 324 15.3 串行接口工作模式0及其程序 设计 326 15.4 串行接口工作模式1及其程序 设计 327 15.5 串行接口工作模式2及其程序 设计 329 15.6 串行接口工作模式3及其程序 设计 330 15.7 综合练习 331 15.8 小结 332 15.9 习题 332 第16章 51系列单片机扩展键盘 ( 教学视频:41分钟) 335 16.1 键盘的种类 335 16.1.1 直接式按键键盘 335 16.1.2 阵列式按键键盘 336 16.2 键盘的基本原理 337 16.2.1 按键编码 337 16.2.2 按键确认 337 16.2.3 按键消抖 338 16.2.4 读取键值 340 16.2.5 避免重复响应 340 16.2.6 多按键响应 340 16.3 键盘程序设计 340 16.3.1 直接式按键键盘的查询方式 340 16.3.2 阵列式按键键盘的扫描方式 341 16.3.3 阵列式按键键盘的线反转 方式 344 16.3.4 阵列式按键键盘的中断 方式 346 16.4 单片机扩展键盘实例 348 16.4.1 电路原理图 348 16.4.2 程序设计 349 16.5 综合练习 351 16.6 小结 352 16.7 习题 353 第17章 51系列单片机的显示接口 ( 教学视频:45分钟) 354 17.1 LED数码管的基本原理 354 17.2 单个LED数码管的直接驱动 实例 356 17.3 静态驱动多个LED数码管 实例 358 17.4 使用LED驱动器驱动多个LED 数码管实例 360 17.4.1 LED驱动器功能简介 360 17.4.2 LED驱动器的数据传输 方式 361 17.4.3 LED驱动器的控制寄存器 361 17.4.4 使用LED驱动器的电路图 364 17.4.5 程序设计 365 17.5 综合练习 368 17.6 小结 368 17.7 习题 369 第18章 51系列单片机扩展I2C接口 ( 教学视频:46分钟) 371 18.1 I2C总线的工作原理 371 18.2 I2C总线的寻址方式 372 18.3 I2C总线的协议 372 18.3.1 起始信号 373 18.3.2 终止信号 373 18.3.3 应答信号 373 18.3.4 非应答信号 373 18.3.5 总线数据位 373 18.3.6 数据写入 374 18.3.7 数据读出 374 18.4 I2C总线接口的EEPROM 375 18.5 I2C总线扩展实例——硬件 加密 375 18.6 综合练习 379 18.7 小结 382 18.8 习题 382 第19章 51系列单片机与PC的 串行通信 ( 教学视频:44分钟) 384 19.1 串行通信接口概述 384 19.1.1 RS-232C串行通信接口 标准 384 19.1.2 RS-449串行通信接口标准 387 19.1.3 RS-423A串行通信接口 标准 388 19.1.4 RS-422A串行通信接口 标准 388 19.1.5 RS-485串行通信接口标准 389 19.1.6 20mA电流环串行通信 接口 389 19.2 串行通信接口芯片 390 19.3 单片机与PC的串行通信实例 391 19.3.1 电路图 391 19.3.2 程序设计 392 19.4 综合练习 394 19.5 小结 396 19.6 习题 396 第20章 51系列单片机的多任务 操作系统 ( 教学视频:62分钟) 398 20.1 RTX-51实时多任务操作系统 简介 398 20.1.1 多任务系统简介 398 20.1.2 RTX-51实时多任务系统 399 20.1.3 RTX-51实时多任务系统 特点 399 20.2 RTX-51 Tiny的任务管理 400 20.3 RTX-51 Tiny的系统函数 401 20.3.1 信号发送函数isr_send_ signal 401 20.3.2 信号标志清除函数 os_clear_signal 402 20.3.3 任务启动函数os_create_ task 402 20.3.4 任务删除函数os_delete_ task 403 20.3.5 当前任务号函数 os_running_task_id 403 20.3.6 信号发送函数 os_send_signal 403 20.3.7 等待函数os_wait 404 20.3.8 等待函数os_wait1 405 20.3.9 等待函数os_wait2 405 20.4 RTX-51与单任务程序的比较 406 20.4.1 简单的单任务C51程序 406 20.4.2 多任务循环C51程序 407 20.4.3 多任务RTX-51程序 408 20.5 RTX-51循环任务调度程序 设计 409 20.6 RTX-51事件任务调度程序 设计 410 20.7 RTX-51信号任务调度程序 设计 411 20.8 RTX-51优先级及抢先任务 切换程序设计 412 20.9 综合练习 414 20.10 小结 414 20.11 习题 415 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。