《PIC单片机应用开发24例 基于Proteus仿真》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张新,陈跃琴编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121230806
  • 页数:384 页
图书介绍:MPLAB是目前应用最广泛的PIC单片机软件开发环境,Proteus是应用最广泛的硬件仿真环境。本书基于MPLAB和Proteus介绍了24个PIC单片机应用实例,每个实例都包含背景介绍、设计思路以及该实例涉及的基础原理、硬件设计、软件设计和仿真与总结等内容,并提供了所有实例的Proteus仿真电路图及基于MPLAB的程序源代码,读者可登录华信教育资源网(www.hxedu.com.cn)查找本书免费下载。

第1章 呼吸灯 1

1.1 呼吸灯的背景介绍 1

1.2 呼吸灯的设计思路 1

1.2.1 呼吸灯的工作流程 1

1.2.2 呼吸灯的需求分析与设计 2

1.2.3 “呼吸”效果实现原理 2

1.2.4 PIC单片机(PIC16F87×A)简介 2

1.2.5 RCL电路 4

1.2.6 PWM控制 5

1.2.7 PIC单片机的软件开发环境使用 5

1.3 呼吸灯的硬件设计 14

1.3.1 呼吸灯的硬件模块划分 14

1.3.2 呼吸灯的硬件电路图 15

1.3.3 硬件基础——发光二极管(LED) 16

1.3.4 硬件基础——三极管 16

1.3.5 硬件基础——电阻、电容和电感 17

1.3.6 Proteus硬件仿真环境的使用 17

1.4 呼吸灯的软件设计 20

1.4.1 呼吸灯的软件流程 21

1.4.2 呼吸灯的软件应用代码 21

1.5 呼吸灯的仿真与总结 23

1.5.1 使用Proteus和MPLAB对PIC单片机进行仿真 23

1.5.2 呼吸灯的仿真 28

第2章 跑步机控制模块 30

2.1 跑步机控制模块的背景介绍 30

2.2 跑步机控制模块的设计思路 30

2.2.1 跑步机控制模块的工作流程 30

2.2.2 跑步机控制系统的需求分析与设计 31

2.2.3 “长按键”和“短按键”检测原理 31

2.3 跑步机控制模块的硬件设计 31

2.3.1 跑步机控制模块的硬件划分 31

2.3.2 跑步机控制模块的硬件电路图 32

2.3.3 硬件基础——独立按键 33

2.3.4 硬件基础——数码管 33

2.4 跑步机控制模块的软件设计 35

2.4.1 跑步机控制模块的软件划分和流程设计 35

2.4.2 启/停控制模块设计 36

2.4.3 速度控制模块设计 37

2.4.4 软件综合 40

2.5 跑步机控制模块的仿真与总结 42

第3章 简易电子琴 43

3.1 简易电子琴的背景介绍 43

3.2 简易电子琴的设计思路 43

3.2.1 简易电子琴的工作流程 43

3.2.2 简易电子琴的需求分析与设计 44

3.2.3 PIC单片机播放音乐 45

3.3 简易电子琴的硬件设计 45

3.3.1 简易电子琴的硬件模块划分 46

3.3.2 简易电子琴的硬件电路图 46

3.3.3 硬件基础——PIC单片机(PIC16F877A)的定时器TMR1 47

3.3.4 硬件基础——蜂鸣器 49

3.4 简易电子琴的软件设计 50

3.4.1 简易电子琴的软件流程 50

3.4.2 简易电子琴的软件应用代码 51

3.5 简易电子琴的仿真与总结 54

第4章 手机拨号模块 56

4.1 手机拨号模块的背景介绍 56

4.2 手机拨号模块的设计思路 56

4.2.1 手机拨号模块的工作流程 56

4.2.2 手机拨号模块的需求分析与设计 56

4.2.3 手机拨号模块的工作原理 57

4.3 手机拨号模块的硬件设计 57

4.3.1 手机拨号模块的硬件划分 57

4.3.2 手机拨号模块的硬件电路图 58

4.3.3 硬件基础——行列扫描键盘 59

4.3.4 硬件基础——1602液晶显示模块 59

4.4 手机拨号模块的软件设计 62

4.4.1 手机拨号模块的软件划分和流程设计 62

4.4.2 行列扫描键盘软件驱动模块设计 63

4.4.3 1602液晶显示驱动模块设计 65

4.4.4 软件综合 67

4.5 手机拨号模块的仿真与总结 69

第5章 单I/O引脚扩展多按键 71

5.1 单I/O引脚扩展多按键的背景介绍 71

5.2 单I/O引脚扩展多按键的设计思路 71

5.2.1 单I/O引脚扩展多按键的工作流程 71

5.2.2 单I/O引脚扩展多按键的需求分析与设计 71

5.2.3 单I/O引脚扩展多按键的实现原理 72

5.3 单I/O引脚扩展多按键的硬件设计 73

5.3.1 单I/O引脚扩展多按键的硬件模块划分 73

5.3.2 单I/O引脚扩展多按键的硬件电路图 73

5.3.3 硬件基础——PIC单片机(PIC16F877A)的内置A/D模块 74

5.4 单I/O引脚扩展多按键的软件设计 79

5.4.1 单I/O引脚扩展多按键的软件流程 79

5.4.2 单I/O引脚扩展多按键的软件应用代码 80

5.5 单I/O引脚扩展多按键的仿真与总结 81

5.5.1 Proteus中的电压表和电流表 82

5.5.2 单I/O引脚扩展多按键的仿真 83

第6章 使用A/D模块进行电阻测量 84

6.1 使用A/D模块进行电阻测量的背景介绍 84

6.2 使用A/D模块进行电阻测量的设计思路 84

6.2.1 使用A/D模块进行电阻测量的工作流程 84

6.2.2 使用A/D模块进行电阻测量的需求分析与设计 84

6.2.3 使用A/D模块进行电阻测量的实现原理 85

6.2.4 排序算法 86

6.3 使用A/D模块进行电阻测量的硬件设计 87

6.3.1 使用A/D模块进行电阻测量的硬件模块划分 88

6.3.2 使用A/D模块进行电阻测量的硬件电路图 88

6.3.3 硬件基础——多位数码管 89

6.4 使用A/D模块进行电阻测量的软件设计 90

6.4.1 使用A/D模块进行电阻测量的软件流程 90

6.4.2 使用A/D模块进行电阻测量的软件应用代码 91

6.5 使用A/D模块进行电阻测量的仿真与总结 94

第7章 手动多电压输出电源 96

7.1 手动多电压输出电源的背景介绍 96

7.2 手动多电压输出电源的设计思路 96

7.2.1 手动多电压输出电源的工作流程 96

7.2.2 手动多电压输出电源的需求分析与设计 97

7.2.3 手动多电压输出电源的实现原理 97

7.3 手动多电压输出电源的硬件设计 97

7.3.1 手动多电压输出电源的硬件模块划分 97

7.3.2 手动多电压输出电源的硬件电路图 97

7.3.3 硬件基础——PIC单片机的外部中断 98

7.3.4 硬件基础——PIC单片机的基准电压模块 99

7.3.5 硬件基础——MAX7219数码管驱动芯片 100

7.4 手动多电压输出电源的软件设计 105

7.4.1 手动多电压输出电源的软件流程 105

7.4.2 手动多电压输出电源的软件应用代码 106

7.5 手动多电压输出电源的仿真与总结 116

第8章 旋钮控制模块 118

8.1 旋钮控制模块的背景介绍 118

8.2 旋钮控制模块的设计思路 118

8.2.1 旋钮控制模块的工作流程 118

8.2.2 旋钮控制模块的需求分析与设计 119

8.2.3 RC充放电测量电阻的工作原理 119

8.3 旋钮控制模块的硬件设计 120

8.3.1 旋钮控制模块的硬件模块划分 120

8.3.2 旋钮控制模块的硬件电路图 120

8.3.3 硬件基础——PIC单片机的TMR0定时计数器 121

8.4 旋钮控制模块的软件设计 123

8.4.1 旋钮控制模块的软件流程 123

8.4.2 旋钮控制模块的软件应用代码 124

8.5 旋钮控制模块的仿真与总结 127

8.5.1 Proteus中的虚拟示波器 128

8.5.2 旋钮控制模块的仿真 129

第9章 多机远距离通信模型 131

9.1 多机远距离通信模型的背景介绍 131

9.2 多机远距离通信模型的设计思路 132

9.2.1 多机远距离通信模型的工作流程 132

9.2.2 多机远距离通信模型的需求分析与设计 132

9.2.3 多机远距离通信模型的工作原理 132

9.3 多机远距离通信模型的硬件设计 135

9.3.1 多机远距离通信模型的硬件模块划分 135

9.3.2 多机远距离通信模型的硬件电路图 135

9.3.3 硬件基础——PIC单片机的串口 137

9.3.4 硬件基础——SN75179芯片 142

9.3.5 硬件基础——拨码开关 143

9.4 多机远距离通信模型的软件设计 144

9.4.1 多机远距离通信模型的软件流程 144

9.4.2 多机远距离通信模型的软件应用代码 145

9.5 多机远距离通信模型的仿真与总结 149

第10章 云台控制系统 151

10.1 云台控制系统的背景介绍 151

10.2 云台控制系统的设计思路 152

10.2.1 云台控制系统的工作流程 152

10.2.2 云台控制系统的需求分析与设计 152

10.2.3 云台控制系统的工作原理 152

10.3 云台控制系统的硬件设计 153

10.3.1 云台控制系统的硬件模块划分 153

10.3.2 云台控制系统的硬件电路图 153

10.3.3 硬件基础——直流电动机 154

10.3.4 硬件基础——H桥 154

10.3.5 硬件基础——步进电动机 155

10.3.6 硬件基础——ULN2803 156

10.4 云台控制系统的软件设计 156

10.4.1 云台控制系统的软件流程 157

10.4.2 云台控制系统的软件应用代码 157

10.5 云台控制系统的仿真与总结 161

10.5.1 Proteus中的COMPIM模块 161

10.5.2 Proteus中的虚拟终端 162

10.5.3 云台控制系统的仿真 163

第11章 SPI双机通信模型 165

11.1 SPI双机通信模型的背景介绍 165

11.2 SPI双机通信模型的设计思路 165

11.2.1 SPI双机通信模型的工作流程 165

11.2.2 SPI双机通信模型的需求分析与设计 166

11.2.3 SPI双机通信模型的工作原理 166

11.2.4 SPI总线通信原理 166

11.2.5 SPI总线扩展原理 166

11.3 SPI双机通信模型的硬件设计 167

11.3.1 SPI双机通信模型的硬件模块划分 167

11.3.2 SPI双机通信模型的硬件电路图 168

11.3.3 硬件基础——PIC单片机的SPI总线接口模块 169

11.3.4 硬件基础——继电器 171

11.4 SPI双机通信模型的软件设计 172

11.4.1 SPI双机通信模型的软件流程 172

11.4.2 SPI双机通信模型的软件应用代码 173

11.5 SPI双机通信模型的仿真与总结 175

11.5.1 Proteus中的SPI Debugger模块 175

11.5.2 SPI双机通信模型的仿真 176

第12章 软件模拟串口通信 178

12.1 软件模拟串口通信的背景介绍 178

12.2 软件模拟串口通信的设计思路 178

12.2.1 软件模拟串口通信的工作流程 178

12.2.2 软件模拟串口通信的需求分析与设计 178

12.2.3 使用软件模拟硬件串口 179

12.3 软件模拟串口通信的硬件设计 179

12.3.1 软件模拟串口通信的硬件模块划分 179

12.3.2 软件模拟串口通信的硬件电路图 179

12.4 软件模拟串口通信的软件设计 180

12.4.1 软件模拟串口通信的流程设计 180

12.4.2 软件模拟串口通信的软件应用代码 181

12.5 软件模拟串口通信的仿真与总结 186

第13章 PWM控制电动机 188

13.1 PWM控制电动机的背景介绍 188

13.2 PWM控制电动机的设计思路 188

13.2.1 PWM控制电动机的工作流程 188

13.2.2 PWM控制电动机的需求分析与设计 188

13.2.3 PWM控制原理 189

13.3 PWM控制电动机的硬件设计 190

13.3.1 PWM控制电动机的硬件模块划分 190

13.3.2 PWM控制电动机的硬件电路图 190

13.3.3 硬件基础——PIC单片机的定时/计数器TMR2 191

13.3.4 硬件基础——PIC单片机的CCP模块 192

13.4 PWM控制电动机的软件设计 195

13.4.1 PWM控制电动机的软件流程 195

13.4.2 PWM控制电动机的软件应用代码 196

13.5 PWM控制电动机的仿真与总结 197

第14章 货车超重检测系统 199

14.1 货车超重检测系统的背景介绍 199

14.2 货车超重检测系统的设计思路 199

14.2.1 货车超重检测系统的工作流程 199

14.2.2 货车超重检测系统的需求分析与设计 200

14.2.3 货车超重检测系统的工作原理 200

14.3 货车超重检测系统的硬件设计 200

14.3.1 货车超重检测系统的硬件模块划分 200

14.3.2 货车超重检测系统的硬件电路图 201

14.3.3 硬件基础——压力传感器MPX4115 202

14.4 货车超重检测系统的软件设计 202

14.4.1 货车超重检测系统的软件流程 202

14.4.2 显示驱动模块函数设计 203

14.4.3 软件综合 204

14.5 货车超重检测系统的仿真与总结 206

第15章 水位监测系统 208

15.1 水位监测系统的背景介绍 208

15.2 水位监测系统的设计思路 208

15.2.1 水位监测系统的工作流程 208

15.2.2 水位监测系统的需求分析与设计 209

15.2.3 水位监测系统的工作原理 209

15.3 水位监测系统的硬件设计 209

15.3.1 水位监测系统的硬件模块划分 209

15.3.2 水位监测系统的硬件电路图 210

15.3.3 硬件基础——PIC单片机的比较器模块 211

15.4 水位监测系统的软件设计 212

15.4.1 水位监测系统的软件流程 212

15.4.2 水位监测系统的软件应用代码 213

15.5 水位监测系统的仿真与总结 213

第16章 手动程控放大器 215

16.1 手动程控放大器的背景介绍 215

16.2 手动程控放大器的设计思路 215

16.2.1 手动程控放大器的工作流程 215

16.2.2 手动程控放大器的需求分析与设计 215

16.2.3 单片机应用系统的信号放大 216

16.2.4 程控放大器的实现方法 218

16.3 手动程控放大器的硬件设计 219

16.3.1 手动程控放大器的硬件模块划分 219

16.3.2 手动程控放大器的硬件电路图 219

16.3.3 硬件基础——μA741 221

16.3.4 硬件基础——CD4066 221

16.4 手动程控放大器的软件设计 222

16.4.1 手动程控放大器的软件流程 222

16.4.2 MAX7219驱动函数模块设计 222

16.4.3 软件综合 223

16.5 手动程控放大器的仿真与总结 227

第17章 简易波形发生器 229

17.1 简易波形发生器的背景介绍 229

17.2 简易波形发生器的设计思路 229

17.2.1 简易波形发生器的工作流程 229

17.2.2 简易波形发生器的需求分析与设计 230

17.2.3 D/A芯片的工作原理 230

17.2.4 I2C接口总线的工作原理 231

17.3 简易波形发生器的硬件设计 234

17.3.1 简易波形发生器的硬件模块划分 234

17.3.2 简易波形发生器的硬件电路图 234

17.3.3 硬件基础——单刀单掷开关 235

17.3.4 硬件基础——MAX517 235

17.3.5 硬件基础——PIC单片机(PIC16F877A)的I2C总线接口模块 236

17.4 简易波形发生器的软件设计 239

17.4.1 简易波形发生器的软件划分和流程设计 240

17.4.2 MAX517驱动库函数设计 240

17.4.3 软件综合 241

17.5 简易波形发生器的仿真与总结 244

17.5.1 Proteus中的I2C Debugger模块 244

17.5.2 简易波形发生器的仿真 246

第18章 电子抽奖系统 247

18.1 电子抽奖系统的背景介绍 247

18.2 电子抽奖系统的设计思路 247

18.2.1 电子抽奖系统的工作流程 247

18.2.2 电子抽奖系统的需求分析与设计 247

18.2.3 单片机系统的随机数产生原理 247

18.3 电子抽奖系统的硬件设计 249

18.3.1 电子抽奖系统的硬件模块划分 249

18.3.2 电子抽奖系统的硬件电路图 249

18.3.3 硬件基础——74HC595 251

18.4 电子抽奖系统的软件设计 251

18.4.1 电子抽奖系统的软件划分和流程设计 251

18.4.2 74HC595驱动函数模块设计 252

18.4.3 软件综合 256

18.5 电子抽奖系统的仿真与总结 259

第19章 自动换挡数字电压表 261

19.1 自动换挡数字电压表的背景介绍 261

19.2 自动换挡数字电压表的设计思路 261

19.2.1 自动换挡数字电压表的工作流程 261

19.2.2 自动换挡数字电压表的需求分析与设计 262

19.2.3 自动换挡数字电压表的换挡原理 262

19.3 自动换挡数字电压表的硬件设计 262

19.3.1 自动换挡数字电压表的硬件模块划分 262

19.3.2 自动换挡数字电压表的硬件电路图 262

19.3.3 硬件基础——LM324 264

19.4 自动换挡数字电压表的软件设计 265

19.4.1 自动换挡数字电压表的软件流程 265

19.4.2 1602友晶驱动模块函数设计 265

19.4.3 软件综合 267

19.5 自动换挡数字电压表的仿真与总结 272

第20章 仓库自动通风控制系统 274

20.1 仓库自动通风控制系统的背景介绍 274

20.2 仓库自动通风控制系统的设计思路 274

20.2.1 仓库自动通风控制系统的工作流程 274

20.2.2 仓库自动通风控制系统的需求分析与设计 275

20.2.3 1-wire(单线)总线扩展方法 275

20.3 仓库自动通风控制系统的硬件设计 278

20.3.1 仓库自动通风控制系统的硬件模块划分 278

20.3.2 仓库自动通风控制系统的硬件电路图 278

20.3.3 硬件基础——DS18B20 280

20.4 仓库自动通风控制系统的软件设计 283

20.4.1 仓库自动通风控制系统的软件流程 283

20.4.2 显示模块设计 284

20.4.3 用户输入模块设计 284

20.4.4 温度采集模块设计 285

20.4.5 电动机驱动模块设计 287

20.4.6 软件综合 287

20.5 仓库自动通风控制系统的仿真与总结 288

第21章 多点温度监测系统 290

21.1 多点温度监测系统的背景介绍 290

21.2 多点温度监测系统的设计思路 290

21.2.1 多点温度监测系统的工作流程 290

21.2.2 多点温度监测系统的需求分析与设计 290

21.3 多点温度监测系统的硬件设计 291

21.3.1 多点温度监测系统的硬件模块划分 291

21.3.2 多点温度监测系统的硬件电路图 292

21.4 多点温度监测系统的软件设计 293

21.4.1 多点温度监测系统的软件流程 293

21.4.2 DS18B20驱动模块设计 293

21.4.3 显示模块设计 301

21.4.4 软件综合 306

21.5 多点温度监测系统的仿真与总结 309

第22章 商场灯光节能控制系统 311

22.1 商场灯光节能控制系统的背景介绍 311

22.2 商场灯光节能控制系统的设计思路 311

22.2.1 商场灯光节能控制系统的工作流程 311

22.2.2 商场灯光节能控制系统的需求分析与设计 311

22.3 商场灯光节能控制系统的硬件设计 312

22.3.1 商场灯光节能控制系统的硬件模块划分 312

22.3.2 商场灯光节能控制系统的硬件电路图 313

22.3.3 硬件基础——DS12C887时钟芯片 314

22.3.4 硬件基础——光电隔离器 318

22.4 商场灯光节能控制系统的软件设计 319

22.4.1 商场灯光节能控制系统的软件流程 319

22.4.2 DS12C887驱动函数模块设计 319

22.4.3 1602瘦晶驱动函数模块设计 321

22.4.4 软件综合 322

22.5 商场灯光节能控制系统的仿真与总结 325

第23章 万年历 326

23.1 万年历的背景介绍 326

23.2 万年历的设计思路 326

23.2.1 万年历的工作流程 326

23.2.2 万年历的需求分析与设计 327

23.2.3 公历与农历转换算法 327

23.3 万年历的硬件设计 329

23.3.1 万年历的硬件模块划分 329

23.3.2 万年历的硬件电路图 329

23.3.3 硬件基础——DS1302时钟芯片 331

23.4 万年历的软件设计 334

23.4.1 万年历的软件流程 334

23.4.2 DS1302驱动函数模块设计 334

23.4.3 农历转换模块设计 338

23.4.4 显示模块设计 341

23.4.5 软件综合 345

23.5 万年历的仿真与总结 347

第24章 μCOS-Ⅱ实时操作系统应用 349

24.1 μCOS-Ⅱ实时操作系统应用的背景介绍 349

24.2 μCOS-Ⅱ实时操作系统应用的设计思路 350

24.2.1 μCOS-Ⅱ实时操作系统应用的工作流程 350

24.2.2 μCOS-Ⅱ实时操作系统应用的需求分析与设计 350

24.3 实时操作系统的基础 351

24.3.1 典型的PIC单片机应用代码结构 351

24.3.2 PIC单片机中的任务、多任务和任务切换 352

24.3.3 PIC单片机中的资源 353

24.3.4 实时操作系统的内核 353

24.3.5 内核的调度和任务优先级 354

24.3.6 任务的同步 355

24.3.7 任务间的通信(Intertask Communication) 358

24.3.8 实时操作系统的中断 359

24.3.9 实时操作系统对PIC单片机存储器的要求 361

24.4 μCOS-Ⅱ实时操作系统应用的硬件设计 361

24.4.1 μCOS-Ⅱ实时操作系统应用的硬件模块划分 361

24.4.2 μCOS-Ⅱ实时操作系统应用的硬件电路图 362

24.5 μCOS-Ⅱ实时操作系统应用的基础 363

24.5.1 内核结构 363

24.5.2 任务管理 367

24.5.3 时间管理 369

24.5.4 任务之间的通信和同步 370

24.5.5 内存管理 372

24.6 μCOS-Ⅱ实时操作系统的移植 374

24.6.1 μCOS-Ⅱ实时操作系统的结构介绍 374

24.6.2 PIC单片机上的移植 375

24.6.3 PIC单片机的移植过程 375

24.7 在μCOS-Ⅱ实时操作系统上编写应用 379

24.8 μCOS-Ⅱ实时操作系统应用的仿真与总结 381