注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护单片机系统实践教程

单片机系统实践教程

单片机系统实践教程

定 价:¥58.00

作 者: 李擎,阎群 著
出版社: 科学出版社
丛编项:
标 签: 单片机与嵌入式 计算机?网络

购买这本书可以去


ISBN: 9787030526465 出版时间: 2017-06-01 包装: 平装
开本: 16开 页数: 300 字数:  

内容简介

  本教材以ATmega16单片机为蓝本,共分3篇,由15章组成。第1-3章为开发基础篇,主要介绍AVR单片机的特点、开发编译环境以及C语言开发基础。第4-11章为实战演练篇,针对ATMega16单片机的数字I/O端口、中断系统、定时器/计数器、A/D转换、SPI总线、异步通信、TWI总线等功能模块设计典型应用实例,并对相应外围器件进行详细介绍,将学习知识与实际应用充分结合。

作者简介

  李擎,阎群

图书目录

编辑推荐 目录 文摘 编辑推荐 《单片机系统实践教程》主要面向信息类专业低年级学生使用,可作为学生参加科技竞赛的自学参考书和培训教材,同时也可以作为单片机应用研发人员的实用参考书。 目录 前言 第一篇 开发基础篇 第1章 AVR单片机概述 1 1.1 认识单片机 1 1.1.1 单片机的定义及特点 1 1.1.2 单片机的发展历史 1 1.1.3 单片机的系列 2 1.1.4 单片机的开发技术 2 1.2 单片机的应用领域及前景 3 1.2.1 单片机的应用领域 3 1.2.2 单片机的发展趋势 3 1.3 AVR系列单片机概述 5 1.3.1 AVR系列单片机的主要特征 5 1.3.2 AVR系列单片机的选型 6 1.4 ATmega16单片机概述 6 1.4.1 ATmega16单片机的性能 7 1.4.2 ATmega16单片机的封装与引脚 9 1.4.3 ATmega16单片机的存储器结构 11 第2章 ATmega16 的开发环境与开发技巧 13 2.1 AVR单片机开发工具概述 13 2.2 ICCAVR开发编译环境 13 2.2.1 ICC AVR简介 14 2.2.2 ICCV8安装方法 15 2.2.3 ICCV8快速入门 16 2.2.4 ICC AVR的扩展关键字及库函数 22 2.3 ISP编程器控制平台 23 2.3.1 下载器 23 2.3.2 编程平台 26 2.4 ATmega16单片机学习板的设计与制作 28 2.4.1 时钟电路设计 29 2.4.2 复位电路设计 29 2.4.3 I/O端口输出电路设计 30 2.4.4 A/D转换滤波电路设计 30 2.4.5 ISP下载接口电路设计 31 2.4.6 电源电路设计 31 2.5 ATmega16单片机系统开发技巧及开发流程 32 2.5.1 AVR单片机的仿真调试 32 2.5.2 基于ISP的AVR单片机调试技巧 33 2.5.3单片机应用系统开发流程 34 第3章 AVR单片机C语言基础 36 3.1 C语言的发展与特点 36 3.1.1 C语言的产生及发展 36 3.1.2 C语言的特点 36 3.2 C语言程序组成 37 3.2.1 C语言程序结构 37 3.2.2 标识符与关键字 37 3.3 C语言基本数据类型 39 3.4 C语言常量、变量 39 3.4.1 常量 40 3.4.2 变量 40 3.5 运算符与表达式 41 3.5.1 算术运算符与算术表达式 41 3.5.2 赋值运算符和赋值表达式 42 3.5.3 关系运算符与关系表达式 44 3.5.4 逻辑运算符与逻辑表达式 45 3.5.5 位运算符与位运算表达式 46 3.5.6 条件运算符与条件表达式 48 3.5.7 逗号运算符与逗号表达式 48 3.5.8 运算符的优先级和结合性 48 3.6 程序基本结构及流程图 49 3.6.1 顺序结构及其流程图 49 3.6.2 选择结构及其流程图 50 3.6.3 循环结构及其流程图 52 3.7 C语言中的数组 56 3.7.1 一维数组的定义和引用 56 3.7.2 二维数组的定义和引用 58 3.7.3 字符数组与字符串 59 3.8 函数 60 3.8.1 函数的定义 61 3.8.2 函数的参数传递与返回值 61 3.8.3 函数的调用 62 3.8.4 函数的嵌套 63 3.9 编译预处理 65 3.9.1 宏定义 65 3.9.2 文件包含 67 3.9.3 条件编译 67 第二篇 实战演练篇 第4章 通用数字I/O端口及其应用 71 4.1 通用数字I/O端口简介 71 4.2 通用数字I/O端口的基本特性 71 4.3 通用数字I/O端口相关寄存器 72 4.3.1 数据方向寄存器DDRx 73 4.3.2 数据寄存器PORTx 73 4.3.3 端口输入引脚寄存器PINx 73 4.4 通用数字I/O口的设置与编程 73 4.58 位LED灯显示系统 75 4.5.1 硬件电路设计 75 4.5.2 软件设计 75 4.6 独立按键键值解读系统 76 4.6.1 机械触点按键常识 76 4.6.2 硬件电路设计 76 4.6.3 软件设计 77 4.7 多功能8位LED流水灯 78 4.7.1 硬件电路设计 78 4.7.2 软件设计 78 4.7.3 系统调试 82 4.8 多功能数码管显示器 82 4.8.1 LED数码管介绍 82 4.8.2 多位LED数码管动态显示 83 4.8.3 硬件电路设计 84 4.8.4 多功能数码管显示器软件设计 84 4.8.5 下载调试 86 第5章 中断系统及其应用 88 5.1 中断和中断系统 88 5.2 ATmega16单片机的中断系统 89 5.2.1 ATmega16中断源和中断向量 89 5.2.2 ATmega16中断响应过程 90 5.2.3 ATmega16中断优先级 90 5.2.4 ATmega16中断响应时间 91 5.3 ATmega16单片机外部中断相关寄存器 91 5.3.1 MCU控制寄存器MCUCR 92 5.3.2 MCU控制与状态寄存器MCUCSR 92 5.3.3 通用中断控制寄存器GICR 93 5.3.4 通用中断标志寄存器GIFR 93 5.4 利用外部中断方式实现多功能8位流水灯 94 5.4.1 硬件电路设计 94 5.4.2 软件设计 95 5.4.3 下载调试 99 第6章 SPI总线模块及其应用 100 6.1 SPI总线简介 100 6.1.1 SPI总线的构成及信号类型 100 6.1.2 SPI总线的操作时序 101 6.1.3 硬件SPI与软件SPI 102 6.2 ATmega16单片机的SPI总线模块 102 6.2.1 SPI总线接口及特点 102 6.2.2 SPI总线的主从接口 102 6.2.3 SS引脚的功能 103 6.3 SPI总线模块相关寄存器 104 6.3.1 SPI控制寄存器SPCR 104 6.3.2 SPI状态寄存器SPSR 105 6.3.3 SPI数据寄存器SPDR 105 6.4 SPI总线模块时序 106 6.5 基于SPI总线实现74HC595驱动多位数码管动态显示 107 6.5.1 移位寄存器74HC595介绍 107 6.5.2 硬件电路设计 109 6.5.3 软件设计 110 6.5.4 下载调试 113 第7章 定时器/计数器及其应用 114 7.1 ATmega16单片机定时器/计数器概述 114 7.2 定时器/计数器0(T/C0) 117 7.2.1 T/C0概述 117 7.2.2 T/C0的工作模式 118 7.2.3 T/C0的相关寄存器 119 7.3 定时器/计数器1(T/C1) 122 7.3.1 T/C1概述 122 7.3.2 T/C1的工作模式 123 7.3.3 T/C1的相关寄存器 127 7.3.4 访问16位寄存器 131 7.4 定时器/计数器2(T/C2) 133 7.4.1 T/C2概述 133 7.4.2 T/C2的工作模式 134 7.4.3 T/C2的相关寄存器 134 7.5 用T/C0实现流水灯的控制 138 7.6 用T/C0产生占空比为15%的PWM波 140 7.7 用T/C1实现LED滚动闪烁显示 141 7.8 简易电子门铃 144 7.8.1 蜂鸣器介绍 144 7.8.2 硬件电路设计 145 7.8.3 软件设计 146 7.8.4 下载调试 148 第8章 A/D转换模块及其应用 150 8.1 A/D转换基础知识 150 8.1.1 A/D转换基本原理 150 8.1.2单片机内部A/D转换的原理 151 8.2 内置A/D转换模块的结构及特点 151 8.2.1 A/D转换模块的结构 151 8.2.2 A/D转换模块的特点 153 8.3 ADC模块相关寄存器 153 8.3.1 ADC多工选择寄存器ADMUX 153 8.3.2 ADC控制和状态寄存器A(ADCSRA) 155 8.3.3 ADC数据寄存器(ADCL和ADCH) 156 8.3.4 ADC特殊功能I/O寄存器SFIOR 157 8.4 ADC模块的使用 157 8.4.1 启动一次转换 157 8.4.2 ADC转换时序 158 8.4.3 ADC输入通道和参考电源选择 159 8.4.4 A/D转换结果 160 8.5 简易数字电压表 160 8.5.1 硬件电路设计 161 8.5.2 软件设计 161 8.5.3 系统调试 165 第9章 异步通信模块及其应用 166 9.1单片机串行通信原理 166 9.1.1 串行通信 166 9.1.2 常用硬件通信协议 168 9.2 USART模块概述 169 9.2.1 USART模块特点 169 9.2.2 USART模块的组成 169 9.2.3 时钟发生器 169 9.2.4 帧格式及校验位的计算 171 9.3 USART模块相关寄存器 172 9.3.1 USART数据寄存器UDR 172 9.3.2 USART控制和状态寄存器A(UCSRA) 172 9.3.3 USART控制和状态寄存器B(UCSRB) 173 9.3.4 USART控制和状态寄存器C(UCSRC) 174 9.3.5 USART波特率寄存器(UBRRL和UBRRLH) 175 9.4 USART模块的使用 175 9.4.1 USART的初始化 175 9.4.2 数据发送 176 9.4.3 数据接收 178 9.4.4 异步数据接收 180 9.5 基于USB的PC机与单片机通信设计 181 9.5.1 USB简介 181 9.5.2 硬件电路设计 181 9.5.3 软件设计 183 9.5.4 系统调试 186 第10章 TWI总线模块及其应用 188 10.1 TWI总线概述 188 10.1.1 I2C总线概述 188 10.1.2 TWI总线连接及特点 190 10.1.3 TWI模块的组成 191 10.1.4 TWI数据传输和帧格式 193 10.1.5 多主机总线仲裁和同步 195 10.2 TWI总线模块相关寄存器 195 10.2.1 TWI比特率寄存器TWBR(TWI Bit Rate Register) 195 10.2.2 TWI控制寄存器TWCR 196 10.2.3 TWI状态寄存器TWSR 197 10.2.4 TWI数据寄存器TWDR 197 10.2.5 TWI(从机)地址寄存器TWAR 197 10.3 TWI总线模块工作时序及传输模式 198 10.3.1 TWI总线工作时序 198 10.3.2 TWI总线数据传输模式 199 10.4 TWI总线读取AT24C02206 10.4.1 AT24C02介绍 206 10.4.2 硬件电路设计 207 10.4.3 软件设计 207 第11章 复位系统及休眠模式 212 11.1 ATmega16单片机的系统时钟 212 11.1.1 时钟源的选择 213 11.1.2 晶体振荡器 213 11.1.3 低频晶体振荡器 214 11.1.4 外部RC振荡器 215 11.1.5 标定的片内RC振荡器 215 11.1.6 外部时钟 216 11.2 ATmega16单片机休眠模式与电源管理 217 11.2.1 空闲模式 217 11.2.2 ADC噪声抑制模式 217 11.2.3 掉电模式 217 11.2.4 省电模式 217 11.2.5 Standby模式及扩展Standby模式 218 11.2.6 休眠模式设置 218 11.2.7 zui小化功耗 218 11.3 ATmega16单片机复位系统 219 11.3.1 复位源 219 11.3.2 MCU控制和状态寄存器MCUCSR 222 11.3.3 看门狗定时器 222 11.4 复位系统及休眠模式的应用实例 224 第三篇 综合实践篇 第12章 单片机音乐播放器 226 12.1 单片机音乐播放器功能介绍 226 12.2 单片机音乐播放器设计思路 226 12.2.1 PWM原理 226 12.2.2 单片机音乐播放器原理 228 12.2.3 系统工作流程 228 12.3 单片机音乐播放器硬件电路设计 229 12.4 单片机音乐播放器软件设计 229 12.4.1 软件工作流程 229 12.4.2 软件应用代码 230 12.5 下载调试 237 第13章 基于ZLG7290B的键盘显示系统设计 238 13.1 键盘显示系统介绍 238 13.2 ZLG7290B芯片介绍 238 13.2.1 引脚说明及典型应用电路 239 13.2.2 寄存器介绍 241 13.2.3 控制命令 243 13.3 键盘显示系统硬件电路设计 244 13.4 键盘显示系统软件设计 245 13.4.1 ZLG7290驱动软件设计 245 13.4.2 综合软件设计 252 13.5 下载调试 253 第14章 基于DS1302的电子时钟设计 255 14.1 电子时钟系统介绍 255 14.2 电子时钟系统设计思路 255 14.3 DS1302时钟芯片介绍 255 14.3.1 DS1302的结构和性能 255 14.3.2 DS1302的控制字和数据读写时序 256 14.3.3 DS1302的内部寄存器 257 14.4 LCD1602液晶显示模块 259 14.4.1 LCD1602基本参数及引脚说明 259 14.4.2 LCD1602操作指令 260 14.4.3 LCD1602操作时序 261 14.4.4 LCD1602的标准字库表 262 14.5 电子时钟硬件电路设计 263 14.6 电子时钟软件设计 264 14.6.1 软件流程 264 14.6.2 DS1302驱动软件设计 264 14.6.3 LCD1602驱动软件设计 267 14.6.4 电子时钟综合软件设计 270 14.7 下载调试 272 第15章 基于超声波检测的智能避障小车设计 273 15.1 智能避障小车介绍 273 15.2 智能避障小车总体设计 273 15.3 智能避障小车硬件电路设计 274 15.3.1 超声波测距模块电路设计 274 15.3.2 舵机及其控制系统设计 275 15.3.3 电机及其驱动系统设计 275 15.3.4 电源电路设计 278 15.3.5 智能避障小车硬件电路原理图 278 15.4 智能避障小车软件设计 279 15.4.1 软件流程图 279 15.4.2 超声波测距程序设计 279 15.4.3 避障算法设计 280 15.4.4 电机驱动程序设计 280 15.4.5 软件应用代码 280 15.5 下载调试 284 参考文献 286

本目录推荐