随着半导体技术的进步,单片机成为功能越来越强的片上系统SoC(System on Chip),正向小型化、低功耗及模数混合的方向发展,使其在通用小型化系统中成为处理器的首选。同样单片机也有为特定应用打造的发展趋势,如USB型单片机、音频处理单片机、智能卡单片机以及CAN网络应用单片机等。
《51系列单片机开发实例精解(附光盘)》以单片机应用系统讲解为主线,帮助读者了解单片机系统设计的主要思路和方法,并结合笔者多年在单片机领域的设计经验,以实例的方式介绍了单片机在多种场合下的应用。书中介绍了OLED显示系统、云台解码器系统、电动机控制系统、无线数据传输系统、车灯控制系统以及IC卡读卡器系统的详细设计。读者可以从这些应用中感受到单片机的强大功能,并能够加深对单片机技术的理解。
书中首先介绍基于51内核的系列单片机,如Atmen、Silicon Laboratories以及Philips等厂家的增强型单片机的特点及其选型。当构成不同的应用系统时可以根据一系列因素来选择,如主频、ROM、RAM大小以及有无需要使用到的协议模块等。
设计一个单片机系统时大部分时间和精力将用于软件开发,故在第2章中介绍了系统软件高效设计的方法,包括C语言的一些标准应用、软件的层次结构、高效的代码检查及软件版本控制等概念。
单片机片上集成了更多的外设以及协议模块,使用单片机很容易构成应用系统,这些模块在系统设计中很有效。《51系列单片机开发实例精解(附光盘)》介绍了在单片机设计时经常使用到的模块和协议,如I2C、SPI、CAN及SMBus协议等,详细分析了其在系统设计时的注意事项。
《51系列单片机开发实例精解(附光盘)》详细讲解了几个常见的单片机系统设计的原理,并分析了其软硬件设计的方法和技巧,这些系统中使用到了一些通用的技术。
在0L,ED系统设计中分析了串行和并行、LED和0LED以及程序设计上的差别和各自的技巧。
在云台解码器系统中分析了云台控制部分的设计,更重要的是加入了云台状态检测电路,构成闭环反馈系统,使控制更加有效。
在电动机控制系统中讲解了舵机结构,以及PWM波形控制电动机的方法,并简单介绍了三相电动机的控制及反馈检测方法。
在无线数据传输系统中介绍了nRF401无线通信模块与单片机的接口,分析单片机控制无线数据传输的方法。
在车灯控制系统中详细分析了CAN总线的应用设计,并实现了多路开关检测及控制,同时还介绍了时钟模块PCF8563以及12C总线协议在时间设计和读取显示时的应用。
《51系列单片机开发实例精解(附光盘)》最后还介绍了较为流行的IC卡读卡器系统设计,简要介绍了Philips公司的MIFARE读卡器IC,详细分析了51单片机在系统中的控制作用。
前言
第1章 基于51内核的单片机
1.1 8051单片机
1.1.1 MCS.51单片机资源特性
1.1.2 8051单片机内部结构
1.1.3 MCS.51工作方式
1.2 基于51内核的增强型单片机
1.2.1 Silicon Laboratories C8051F系列
1.2.2 Atmel
1.2.3 Philips
第2章 单片机高效软件开发
2.1 C语言基础
2.1.1 C语言中的数据
2.1.2 C语言中的函数
2.1.3 C语言中的运算操作
2.1.4 基本的程序设计结构
2.1.5 C语言关键字
2.2 C语言高级应用
2.2.1 类型定义typedef
2.2.2 结构
2.2.3 联合
2.2.4 枚举
2.2.5 位段
2.2.6 预处理命令
2.3 PC-lint代码检查
2.3.1 PC-1int使用介绍
2.3.2 PC-lint的代码检查功能
2.3.3 PC-lint与环境集成
2.4 C软件开发及版本控制
2.4.1 软件开发思想
2.4.2 版本控制
第3章 SoC常用模块及协议
3.1 模,数及数/模转换
3.1.1 A/D转换器
3.1.2 D/A转换器
3.1.3 比较器
3.2 定时器、PCA及PWM波形产生模块
3.2.1 定时器
3.2.2 可编程计数器阵列PCA
3.2.3 PWM波形发生器
3.3 串行通信接口UART
3.3.1 串行通信
3.3.2 串口结构介绍
3.3.3 MCS.51串口工作方式
3.3.4 串行通信接口标准
3.4 SPl
3.4.1 SPl总线
3.4.2 SPl传输方式
3.4.3 多设备连接
3.5 Pc
3.6 CAN
3.7 SMBus
3.8 TWl
3.8.1 ATMEL T、M总线特点
3.8.2 协议
3.9 LIN
第4章 OLED显示系统设计
4.1 显示设备
4.1.1 LED显示
4.1.2 LCD
4.1.3 0LED
4.2 串行LED显示
4.2.1 需求分析
4.2.2 原理图设计
4.2.3 软件设计
4.3 串行OLED显示
4.3.1 SSDl303 0LED显示模块
4.3.2 原理图设计
4.3.3 软件系统设计
4.4 并行OLED显示
4.4.1 并行显示原理
4.4.2 原理图设计
4.4.3 软件系统开发
第5章 云台解码器系统设计
5.1 摄像机云台系统
5.1.1 云台系统
5.1.2 云台总体设计
5.2 云台解码器硬件系统
5.2.1 驱动电路的设计思路
5.2.2 驱动电路设计
5.2.3 状况检测电路
……
第6章 电动机控制系统设计
第7章 无线数据传输系统设计
第8章 车灯控制系统设计
第9章 IC卡读卡器系统设计
参考文献
你要不,留下你扣扣,学着多编程,其实你下个PROTEUE多好啊,直接还能弄原理图,开发板好多问题,价格低了功能少
单片机的主要应用领域 由于单片机有许多优点,因此其应用领域之广,几乎到了无孔不入的地步。单片机应用的主要领域有: 1) 智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级...
#include<reg51.h>#define uchar unsigned charuchar num,time,limit=2;sbit led1=P1^0;sbit key1=P2...
在提高单片机硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活,节省硬件资源,可靠性好等特点,越来越受到设计者的重视,本文主要从实际应用的角度阐述单片机系统软件抗干扰的具体实现方法。
① 项目摘要 摘 要 本系统由主要由四大部分组成:数据输入部分,数据显示部分,数据输出部分,数 据处理部分。数据输入部分的功能是把要采集的数据转化成数字信号传入数据处理 部分。数据显示部分的功能是把采集的数据显示出来。数据输出部分的功能是控制 电磁阀来进行外部温湿度的调节。数据处理部分的功能是把采集进来的数据进行分 析,输出要输出的信号控制数据的输出。 本系统的功能是采集温湿度并显示,从而控制电磁阀的输出,进而控制外面的温湿 度使得外面的温湿度适合植物的生长。 关键词:单片机,自动灌溉,温湿度, LED English Abstract ABSTRACT This system mainly consists of four parts: data input, data display, data output, data processing. The data input po
《PIC系列单片机开发实例精解》可作为高等院校电子工程、自动化、电气工程、测控技术与仪器、电子信息工程、通信工程及计算机科学与技术等专业的学生教材,也可作为相关工程技术人员的学习参考用书。
前言
第1章 概述
1.1 PIC单片机简介
1.2 PIC单片机体系结构简介
1.2.1 精简指令(RISC)体系结构
1.2.2 哈佛(Harvard)双总线结构
1.2.3 两级流水线结构
1.3 PIC单片机优越性
1.4 PIC单片机系列产品
1.5 PIC系列单片机开发工具
1.5.1 PIC系列单片机仿真器
1.5.2 PIC系列单片机编程器
1.5.3 PIC系列单片机的集成开发环境
第2章 PIC18F单片机结构
2.1 PIC18F单片机主要特性
2.2 PIC18F系列单片机的特殊模块特性
2.3 PIC18F单片机内核组成
2.4 PIC18F单片机外围引脚功能及描述
2.5 PIC18F单片机的常用配置字
2.5.1 配置寄存器介绍
2.5.2 配置寄存器的使用方法
第3章 PIC18F单片机时钟源与复位电路
3.1 振荡器类型
3.2 晶振/陶瓷振荡器
3.3 外部时钟输入
3.4 RC振荡器
3.5 PLL倍频器
3.6 内部振荡器电路
3.7 时钟源与振荡器的切换
3.8 内置RC振荡器使用方法
3.9 复位电路
3.1 0本章 小结
第4章 汇编语言程序设计
4.1 寻址方式
4.2 指令系统
4.2.1 PIC18F汇编语言指令格式
4.2.2 指令中的符号标识
4.2.3 汇编指令
4.3 汇编语言程序设计
4.3.1 程序设计语言概述
4.3.2 汇编语言程序设计的特点及伪指令
4.3.3 程序设计的步骤
4.3.4 'PIC18F汇编程序设计模板
4.3.5 结构化程序设计
第5章 C语言程序设计
5.1 C语言基本知识
5.1.1 标识符和关键字
5.1.2 数据的基本类型
5.1.3 C语言的运算符与表达式
5.1.4 C语言的语句
5.1.5 函数
5.1.6 局部变量与全局变量
5.1.7 变量的存储类别
5.1.8 数组
5.1.9 指针
5.1.10 指针与数组
5.1.11 指针与函数
5.1.12 结构体
5.1.13 共用体和枚举
5.2 PICl8单片机的C语言扩展特性
5.2.1 概述
5.2.2 扩展语法
5.2.3 语言扩展
5.2.4 PRAGMA伪指令
5.2.5 中断伪指令
5.2.6 #pragmaconfig
5.2.7 C语言与汇编混合编程
第6章 MPLABIDE集成开发环境
6.1 MPLABIDE的特点与安装
6.2 MPLABIDE的使用
6.3 使用项目向导创建工程文件
6.4 编译项目
6.5 程序调试运行
6.6 观察窗口
6.7 MPLABICD2调试器的使用
第7章 通用I/O端口
7.1 I/O端口工作原理
7.2 相关寄存器
7.3 通用I/O端口应用实例
……
第8章 中断系统
第9章 下时计数器模块
第10章 捕捉/比较/脉宽调制(CCP)
第11章 主同步串口(MSSP)模块
第12章 串行通信接口(EUSART)模块
第13章 A/D转换器模块
第14章 数据EEPROM存储器模块
第15章 模拟比较器及参考电压源模块
第16章 基于PIC单片机的超声波语音仪
第17章 基于PIC单片机的简易示波器实例
第18章 基于PIC单片机的数控电源实例
第19章 基于PIC单片机的游戏开发实例
参考文献
第1章 51单片机入门基础
1.1 51单片机的发展与应用领域 1
1.1.1 发展阶段 1
1.1.2 应用领域 2
1.2 51单片机产品兼容系列 3
1.2.1 Intel公司产品系列 3
1.2.2 Atmel公司产品系列 4
1.2.3 Philips公司产品系列 6
1.3 51单片机的硬件结构 7
1.3.1 引脚及其功能 7
1.3.2 内部结构 9
1.4 51单片机工作方式和指令系统 29
1.4.1 单片机的工作方式 29
1.4.2 单片机指令系统简介 34
1.4.3 单片机的寻址方式 34
1.4.4 单片机的指令格式与符号 37
1.5 分析与总结 54
第2章 51单片机开发的常用单元
2.1 单片机的键盘输入单元 55
2.1.1 行列式键盘 55
2.1.2 键识别方法 56
2.1.3 键识别法举例 56
2.1.4 程序代码与注释 60
2.2 单片机数码显示单元 61
2.2.1 如何驱动8段数码管 61
2.2.2 8段数码管动态显示举例 62
2.2.3 程序代码与注释 64
2.3 单片机液晶显示单元 65
2.3.1 液晶模块 65
2.3.2 液晶模块的电源设计 67
2.3.3 如何显示液晶模块 68
2.3.4 液晶显示模块举例 70
2.3.5 程序代码与注释 71
2.4 单片机串行通信单元 78
2.4.1 单片机串行通信的原理 78
2.4.2 单片机串行通信举例 81
2.4.3 程序代码与注释 83
2.5 数学运算 84
2.5.1 限幅滤波算法 85
2.5.2 中值滤波算法 85
2.5.3 算术平均滤波算法 86
2.5.4 加权平均滤波算法 86
2.5.5 滑动平均滤波算法 87
第3章 Keil 8051 C编译器
3.1 Keil编译器简介 88
3.2 如何使用Keil开发 89
3.2.1 建立工程 90
3.2.2 工程的设置 92
3.2.3 编译与连接 95
3.3 dScope for Windows的使用 95
3.3.1 如何启动 95
3.3.2 如何调试 97
3.3.3 调试窗口 98
第4章 单片机应用系统开发流程
4.1 单片机系统设计分析 101
4.2 单片机软件开发流程 103
4.3 单片机硬件开发流程 109
4.4 分析与总结 112
第5章 实时日历时钟系统设计实例
5.1 实例说明 113
5.2 设计思路分析 115
5.2.1 日历时钟芯片SD2000A 115
5.2.2 电源电路设计 116
5.3 硬件电路设计 117
5.4 软件设计 118
5.4.1 接口时序与操作指令 118
5.4.2 寄存器 120
5.4.3 程序代码说明 124
5.5 分析与总结 129
第6章 网络远程监控与采集系统设计实例
6.1 实例功能说明 130
6.2 Keil RTX51 Tiny介绍 130
6.2.1 RTX51的概述 131
6.2.2 系统要求和任务定义 134
6.2.3 建立RTX51 Tiny应用程序 137
6.2.4 RTX51 Tiny系统函数详解 139
6.2.5 RTX51 Tiny系统调试 145
6.3 系统设计思路 146
6.3.1 远程监控与采集连接图 146
6.3.2 Modbus协议简介 146
6.3.3 传输方式 148
6.3.4 协议内容 150
6.4 硬件电路设计 152
6.4.1 总体硬件框图 152
6.4.2 单片机电路设计 152
6.4.3 从设备地址配置电路设计 153
6.4.4 485接口设计 154
6.4.5 状态量采集电路 155
6.4.6 模拟量采集电路 155
6.5 软件设计与代码分析 157
6.5.1 软件流程 158
6.5.2 初始化任务 159
6.5.3 定时采集任务 159
6.5.4 测试帧任务 160
6.5.5 轮询处理任务 161
6.5.6 状态量采集子程序 162
6.5.7 模拟量采集子程序 162
6.5.8 485发送、接收子程序 163
6.5.9 CRC校验 164
6.5.10 串口发送接收模块 165
6.6 分析与总结 168
第7章 工厂环境智能监测系统设计实例
7.1 系统功能说明 169
7.2 系统整体设计方案 170
7.3 硬件设计 171
7.3.1 微控制器模块 171
7.3.2 温度测量模块 174
7.3.3 湿度测量模块 175
7.3.4 LCD显示模块 177
7.3.5 通信模块 179
7.4 软件设计 181
7.4.1 温度测量软件 181
7.4.2 湿度测量软件 184
7.4.3 LCD显示软件 185
7.5 分析与总结 187
第8章 电热水器控制系统设计实例
8.1 系统功能说明 188
8.2 系统整体设计方案 189
8.3 硬件设计 191
8.3.1 微控制器模块 191
8.3.2 温度测量 192
8.3.3 实时时钟 195
8.3.4 看门狗复位电路 196
8.3.5 LED显示电路 198
8.4 软件设计 199
8.4.1 模数转换软件设计 199
8.4.2 实时时钟软件设计 202
8.4.3 LED显示软件设计 205
8.5 分析与总结 208
第9章 无线智能抄表系统设计实例
9.1 系统功能说明 209
9.2 系统整体设计方案 210
9.3 硬件设计 211
9.3.1 楼栋集中器硬件结构 211
9.3.2 微控制器模块 211
9.3.3 存储模块 212
9.3.4 人机接口模块 214
9.3.5 抄表接口模块 217
9.3.6 无线模块 218
9.4 软件设计 222
9.4.1 楼栋集中器系统软件流程 222
9.4.2 SPI与UART转换 224
9.4.3 中断程序 226
9.4.4 FM3130的读写 227
9.4.5 键盘输入 230
9.4.6 LCD显示 232
9.5 分析与总结 235
第10章 汽车行驶状态记录仪系统设计
10.1 实例说明 237
10.1.1 功能和技术指标 237
10.1.2 面板介绍和使用方法 238
10.2 设计思路分析 239
10.2.1 获取行驶状态信息 239
10.2.2 系统总体结构 239
10.3 硬件设计 240
10.3.1 记录仪的供电 240
10.3.2 信号采集模块 242
10.3.3 单片机模块 243
10.3.4 可编程逻辑器件 245
10.3.5 日历时钟芯片 248
10.3.6 液晶显示模块LCD 252
10.3.7 信息的存储 254
10.4 软件设计 256
10.4.1 软件流程 256
10.4.2 中断子程序 257
10.4.3 获取状态信息 258
10.4.4 时间信息的设置和获取 259
10.4.5 键盘输入 260
10.4.6 液晶显示 261
10.4.7 IC卡操作 264
10.5 分析与总结 267
第11章 RS485-CAN智能嵌入式网关设计实例
11.1 系统功能说明 268
11.2 系统整体设计方案 269
11.3 硬件设计 270
11.3.1 RS485-CAN智能嵌入式网关硬件结构 270
11.3.2 微控制器模块 271
11.3.3 CAN接口模块 272
11.3.4 RS485接口模块 277
11.3.5 存储模块 278
11.4 软件设计 279
11.4.1 CAN接口软件设计 279
11.4.2 RS485接口软件设计 287
11.4.3 AT93C46存储器读写 290
11.4.4 参数配置 292
11.5 分析与总结 292
附录A C与汇编语言混合编程 294