单片机c语言应用100例第3版课后答案,单片机C语言应用100例(第3版)(含光盘1张)...

基 础 篇

第1章 单片机概述及实验器材介绍2

1.1 单片机概述2

1.1.1 单片机的定义、分类与内部组成2

1.1.2 单片机应用系统的结构及其工作过程5

1.1.3 单片机的应用6

1.2 单片机基础知识7

1.2.1 数制与数制间的转换7

1.2.2 单片机中数的表示方法及常用数制的对应关系10

1.2.3 逻辑数据的表示10

1.2.4 单片机中常用的基本术语12

1.3 单片机入门的有效方法与途径12

1.4 学习单片机的基本条件13

1.4.1 软件条件13

1.4.2 硬件条件15

习题16

第2章 单片机开发软件及开发过程17

2.1 仿真软件Proteus的使用17

2.1.1 Proteus的主要功能特点17

2.1.2 实例1:功能感受—Proteus仿真单片机播放《渴望》主题曲17

2.1.3 Proteus软件的界面与操作介绍19

2.1.4 实例2:Proteus仿真设计快速入门21

2.2 Keil C51的使用31

2.2.1 单片机最小系统31

2.2.2 实例3:用Keil C51编写点亮一个发光二极管的程序31

2.3 程序烧录器及烧录软件的使用38

习题与实验38

第3章 逐步认识单片机基本结构40

3.1 实例4:用单片机控制一个灯闪烁40

3.1.1 实现方法40

3.1.2 程序设计40

3.1.3 用Proteus软件仿真41

3.1.4 延时程序分析43

3.2 实例5:将 P1口状态送入P0、P2和P3口44

3.2.1 实现方法44

3.2.2 程序设计45

3.2.3 用Proteus软件仿真45

3.2.4 用实验板实验46

3.2.5 I/O口功能介绍46

3.2.6 I/O口的结构分析46

3.3 实例6:使用P3口流水点亮8位LED49

3.3.1 实现方法49

3.3.2 程序设计50

3.3.3 用Proteus软件仿真51

3.3.4 用实验板实验51

3.4 实例7:通过对P3口地址的操作流水点亮8位LED51

3.4.1 实现方法51

3.4.2 程序设计52

3.4.3 用Proteus软件仿真53

3.4.4 用实验板实验53

3.5 MCS—51单片机存储器的基本结构53

3.5.1 程序存储器53

3.5.2 数据存储器53

3.6 单片机的复位电路55

习题与实验55

第4章 单片机C语言开发基础56

4.1 C语言源程序的结构特点56

4.2 标志符与关键字57

4.3 C语言的数据类型与运算符59

4.3.1 数据类型59

4.3.2 运算符62

4.3.3 实例8:用不同数据类型控制LED的闪烁65

4.3.4 实例9:用P0口、P1 口分别显示加法和减法运算结果68

4.3.5 实例10:用P0、P1口显示乘法运算结果70

4.3.6 实例11:用P1、P0口显示除法运算结果71

4.3.7 实例12:用自增运算控制P0口8位LED的闪烁花样73

4.3.8 实例13:用P0口显示逻辑“与”运算结果74

4.3.9 实例14:用P0口显示条件运算结果74

4.3.10 实例15:用P0口显示按位“异或”运算结果75

4.3.11 实例16:用P0显示左移运算结果76

4.3.12 实例17:“万能逻辑电路”实验77

4.3.13 实例18:用右移运算流水点亮P1口8位LED78

4.4 C语言的语句79

4.4.1 概述79

4.4.2 控制语句80

4.4.3 实例19:用if语句控制P0口8位LED的点亮状态84

4.4.4 实例20:用switch语句控制P0口8位LED的点亮状态86

4.4.5 实例21:用for语句设计鸣笛报警程序88

4.4.6 实例22:用while语句控制P0口8位LED闪烁花样92

4.4.7 实例23:用do-while语句控制P0口8位LED流水点亮93

4.5 C语言的数组95

4.5.1 数组的定义和引用95

4.5.2 实例24:用字符型数组控制P0口8位LED流水点亮97

4.5.3 实例25:用P0口显示字符串常量98

4.6 C语言的指针99

4.6.1 指针的定义与引用100

4.6.2 实例26:用P0口显示指针运算结果102

4.6.3 实例27:用指针数组控制P0口8位LED流水点亮103

4.6.4 实例28:用数组的指针控制P0 口8 位LED流水点亮104

4.7 C语言的函数106

4.7.1 函数的定义与调用106

4.7.2 实例29:用P0 、P1口显示整型函数返回值109

4.7.3 实例30:用有参数函数控制P0口8位LED流水速度111

4.7.4 实例31:用数组作为函数参数控制P0口8位LED流水点亮112

4.7.5 实例32:用指针作为函数参数控制P0口8位LED流水点亮113

4.7.6 实例33:用函数型指针控制P0口8位LED流水点亮115

4.7.7 实例34:用指针数组作为函数的参数显示多个字符串116

4.7.8 实例35:字符函数ctype.h应用举例118

4.7.9 实例36:内部函数intrins.h应用举例119

4.7.10 实例37:标准函数stdlib.h应用举例121

4.7.11 实例38:字符串函数string.h应用举例122

4.8 C语言的编译预处理123

4.8.1 常用预处理命令介绍123

4.8.2 实例39:宏定义应用举例126

4.8.3 实例40:文件包含应用举例127

4.8.4 实例41:条件编译应用举例128

习题与实验129

第5章 单片机的定时器/计数器131

5.1 定时器/计数器的基本概念131

5.2 定时器/计数器的结构及工作原理132

5.2.1 定时器/计数器的结构133

5.2.2 定时器/计数器的工作原理133

5.3 定时器/计数器的控制134

5.3.1 定时器/计数器的方式控制寄存器(TMOD)134

5.3.2 定时器/计数器控制寄存器(TCON)134

5.3.3 定时器/计数器的4种工作方式135

5.3.4 定时器/计数器中定时/计数初值的计算138

5.4 定时器/计数器应用举例138

5.4.1 实例42:用定时器T0控制跑马灯实现138

5.4.2 实例43:用定时器T1查询方式控制报警器鸣笛实现140

习题与实验142

第6章 单片机的中断系统143

6.1 中断系统的基本概念143

6.2 中断系统的结构及控制144

6.2.1 中断系统的结构144

6.2.2 中断系统的控制145

6.3 中断系统应用举例148

6.3.1 实例44:用定时器T0的中断方式控制跑马灯实现148

6.3.2 实例45:用定时器T1分式1控制控制报警器鸣笛实现149

6.3.3 实例46:用定时器T0的中断方式控制PWM波实现151

6.3.4 实例47:用定时器T0的音乐播放器的实现154

6.3.5 实例48:用定时器T0的门控制位测量外部正脉冲宽度159

6.3.6 实例49:用外中断 测量负跳变信号累计数161

习题与实验163

第7章 串行通信技术164

7.1 串行通信的基本概念164

7.2 串行通信口的结构166

7.3 串行通信口的控制166

7.3.1 串行口控制寄存器SCON167

7.3.2 电源控制寄存器PCON167

7.3.3 4种工作方式与波特率的设置168

7.4 串行通信口应用举例171

7.4.1 实例50:基于方式1的单工通信171

7.4.2 实例51:基于方式3的单工通信173

7.4.3 实例52:单片机向计算机发送数据176

7.4.4 实例53:计算机控制单片机LED显示178

习题与实验180

应 用 篇

第8章 接口技术182

8.1 LED数码管接口技术182

8.1.1 LED数码管的原理和接口电路182

8.1.2 实例54:用LED数码管显示数字“5”184

8.1.3 实例55:用LED数码管循环显示数字0~9185

8.1.4 实例56:用数码管慢速动态扫描显示数字“1234”186

8.1.5 实例57:快速动态扫描显示数字“1234”188

8.1.6 实例58:点阵LED动态显示实现189

8.2 键盘接口技术191

8.2.1 独立式键盘的工作原理192

8.2.2 实例59:无软件消抖的独立式键盘输入实验193

8.2.3 实例60:带软件消抖的独立式键盘输入实验194

8.2.4 实例61:CPU控制的键盘扫描实验195

8.2.5 实例62:定时器中断控制的键盘扫描实验200

8.2.6 实例63:“一键多能”实验201

8.2.7 实例64:独立式键盘控制步进电动机实验204

8.2.8 矩阵键盘的工作原理209

8.2.9 实例65:矩阵键盘按键值的数码管显示210

8.2.10 实例66:简易电子琴设计214

8.3 字符型LCD接口技术220

8.3.1 1602字符型LCD简介220

8.3.2 实例67:用LCD显示字符“A”225

8.3.3 实例68:液晶时钟设计230

习题与实验231

第9章 新型串行接口芯片应用232

9.1 I2C总线器件及其应用实例232

9.1.1 I2C总线接口232

9.1.2 实例69:将按键次数写入AT24C02,再读出送LCD显示235

9.1.3 实例70:对I2C总线上挂接两个AT24C02的读/写操作236

9.1.4 实例71:将“好人一生平安”乐谱写入AT24C02并播放238

9.2 单总线器件及其应用实例239

9.2.1 单总线简介239

9.2.2 实例72:DS18B20温度检测及其LCD显示244

9.3 SPI总线接口芯片及其应用实例245

9.3.1 SPI串行总线简介245

9.3.2 实例73:将数据“0xaa”写入X5045再读出送P1口显示248

9.3.3 实例74:将流水灯控制码写入X5045并读出送P1口显示250

9.3.4 实例75:对SPI总线上挂接的两个X5045的读/写操作251

习题与实验252

第10章 常用功能器件应用举例254

10.1 模/数(A/D)转换器件254

10.1.1 A/D转换基础254

10.1.2 实例76:基于ADC0832的5V直流数字电压表256

10.2 数/模(D/A)转换器件258

10.2.1 D/A转换基础258

10.2.2 实例77:用DAC0832产生锯齿波电压260

10.3 红外线遥控信号接收器件261

10.3.1 红外线信号接收基础261

10.3.2 实例78:用P1口显示红外遥控器的按键值263

10.3.3 实例79:用红外线遥控器控制继电器265

10.4 适时时钟芯片266

10.4.1 常用适时时钟芯片介绍267

10.4.2 实例80:基于DS1302的日历时钟269

习题与实验271

综合提高篇

第11章 综合应用实例274

11.1 实例81:中文字符的液晶显示274

11.1.1 图形点阵显示器简介274

11.1.2 仿真原理图设计278

11.1.3 程序设计与仿真279

11.2 实例82:12位A/D转换器TLC2543的使用284

11.2.1 TLC2543介绍284

11.2.2 仿真原理图设计286

11.2.3 程序设计与仿真288

11.3 实例83:二线制串行接口传感器SHT11的使用293

11.3.1 智能温、湿度传感器SHT11介绍293

11.3.2 仿真原理图设计295

11.3.3 程序设计与仿真295

11.4 实例84:电压型传感器的使用302

11.4.1 FS4003传感器介绍302

11.4.2 仿真原理图设计304

11.4.3 程序设计与仿真305

11.5 实例85:RS—232型数字传感器的使用310

11.5.1 FS4003传感器的串口通信协议介绍310

11.5.2 仿真原理图设计310

11.5.3 程序设计与仿真311

11.6 实例86:电流型传感器应用举例318

11.6.1 电流型传感器的使用基础318

11.6.2 仿真原理图设计319

11.6.3 程序设计与仿真321

11.7 实例87:基于化学传感器的氧浓度检测仪设计323

11.7.1 R—17MED化学传感器简介323

11.7.2 硬件仿真电路设计324

11.7.3 程序设计与仿真325

11.8 实例88:单片机向RS—485 型传感器发送读取命令327

11.8.1 RS—485通信简介328

11.8.2 TTL/RS—485转换的仿真原理图设计329

11.8.3 程序设计与仿真331

11.9 实例89:单片机从RS—485型传感器接收数据333

11.9.1 RS—485传感器返回数据的格式333

11.9.2 仿真原理图设计334

11.9.3 程序设计与仿真334

11.10 实例90:用VB实现单片机和计算机的串行通信337

11.10.1 开发背景337

11.10.2 开发要求337

11.10.3 Visual Basic 6.0 简介337

11.10.4 添加MSComm控件与基本属性设置338

11.10.5 Visual Basic 6.0实现串行通信的过程339

11.11 实例91:LabVIEW环境下串行通信编程345

11.11.1 开发环境345

11.11.2 上下位机程序设计346

11.11.3 程序结果353

11.12 实例92:手部握力评估仪设计353

11.12.1 系统工作原理353

11.12.2 仿真原理图设计354

11.12.3 程序设计与仿真355

11.13 实例93:心率测量系统设计359

11.13.1 系统工作原理359

11.13.2 仿真原理图设计360

11.13.3 程序设计与仿真361

11.14 实例94:基于铂热电阻的防火系统设计367

11.14.1 系统的工作原理367

11.14.2 仿真原理图设计368

11.14.3 程序设计与仿真370

11.15 实例95:基于LabVIEW和Proteus的温度控制仿真372

11.15.1 系统工作原理372

11.15.2 仿真原理图设计373

11.15.3 程序设计与仿真376

11.16 实例96:K型热电偶的冷端自动补偿设计381

11.16.1 系统的工作原理381

11.16.2 仿真原理图设计382

11.16.3 程序设计与仿真383

11.17 实例97:电动机测速表设计385

11.17.1 系统的工作原理385

11.17.2 仿真原理图设计386

11.17.3 程序设计与仿真387

11.18 实例98:基于PWM的直流电动机调速系统设计389

11.18.1 系统的工作原理389

11.18.2 仿真原理图设计389

11.18.3 程序设计与仿真390

11.19 实例99:热敏打印机驱动程序设计392

11.19.1 系统的工作原理392

11.19.2 仿真原理图设计393

11.19.3 程序设计与仿真393

11.20 实例100:航空发动机热电偶信号模拟电压源设计395

11.20.1 系统的工作原理395

11.20.2 电路原理图设计396

11.20.3 程序设计396

参考文献399

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

biztalk在用户代码中构造多部分消息

大家知道&#xff0c;biztalk中可以在orchestration调用外部用户代码进行功能扩展&#xff0c;调用外部方法可以把消息作为参数传给外部方法&#xff0c;当然也可能需要外部方法返回一个消息到orchestration。<?xml:namespace prefix o />对于schema类型的消息&#xf…

[html] HTML5如何播放ts视频流?

[html] HTML5如何播放ts视频流&#xff1f; 引入mux.js转化&#xff0c;然后video展示个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

c语言标准库 swap,swap

swap描述 (Description)C 函数std::forward_list::swap()将第一个forward_list的内容与另一个交换。 如有必要&#xff0c;此函数会更改forward_list的大小。声明 (Declaration)以下是std :: forward_list :: swap()函数形式std :: forward_list头的声明。C11template void swa…

[缓存]迅雷下载原理

来自&#xff1a;http://hi.baidu.com/gcjia/blog/item/2b77bc3df8544803bba1675f.html1.迅雷是什么&#xff1f; 迅雷是基于P2SP的一款下载软件&#xff0c;能够大大增强下载速度&#xff0c;可谓迅雷不及掩耳盗铃之势如破竹。 P2SP的道理不复杂&#xff0c;就是指&#xff1a…

[html] 实现两列等宽布局的方式有哪些?

[html] 实现两列等宽布局的方式有哪些&#xff1f; 1.flex实现&#xff1a; .parent { display: flex; } .child { flex: 1; width: 50%; } 2.float实现&#xff08;但是要注意清除浮动&#xff09;&#xff1a; .child { float: left; width: 50%; }个人简介 我是歌谣&#…

背景透明度 下拉菜单

下拉菜单 ——————> <style> /* 下拉按钮样式 */ .dropbtn {background-color: #4CAF50;color: white;padding: 16px;font-size: 16px;border: none;cursor: pointer; }/* 容器 <div> - 需要定位下拉内容 */ .dropdown {position: relative;display: inlin…

datavideo切换台说明书_巴掌大三轴稳定器,稳过微云台,试试飞宇VLOGPocket2

几乎全民VLOG的时代&#xff0c;我们随处可见有人举着手机、相机记录生活&#xff0c;甚至还有品牌推出了自带微云台的手机。不过&#xff0c;即便在手机上硬“塞”进一个微云台&#xff0c;效果也始终无法媲美真正的云台&#xff0c;对视频拍摄的提升相对有限&#xff0c;大部…

[html] 写一个滚动吸顶的布局

[html] 写一个滚动吸顶的布局 position: sticky; top:20px&#xff1b;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

C语言程序设计上机前三题,C语言程序设计(含上机实验与习题解答)

本书根据作者多年来教授不同基础学员的经验&#xff0c;针对初学者的特点&#xff0c;由浅入深&#xff0c;从一般程序设计语言的共性到C语言自身的特性&#xff0c;从C语言的语法规则到其内部实现&#xff0c;对C语言进行了系统的介绍。全书分上、下两篇。上篇介绍C语言程序设…

最新PC游戏下载链接

http://www.newyx.net/list/5_1.htm转载于:https://www.cnblogs.com/vilyLei/archive/2009/07/28/1533057.html

VSCode中Markdown目录显示异常

更新最新的VSCode之后编辑Markdown文件发现TOC标签的目录格式异常&#xff0c;发现是因为行尾字符导致&#xff0c;必须设置行尾字符进行解决。 转载于:https://www.cnblogs.com/phonecom/p/10904785.html

string转换成enum

String转换为Enum类型public enum TypeItemName{News,Bulletin,Dispatch} TypeItemName item (TypeItemName )Enum.Parse(typeof(TypeItemName ), inText, false);转载于:https://www.cnblogs.com/sceo/archive/2009/08/04/1538369.html

发纸牌c语言指针,算了算学了有一个月c语言了,写了个扑克牌程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*将5张扑克牌转化为9种牌型 */int change(int card[]){if(checkTongHuaShun(card))//同花顺牌型8{return 8;}else if(checkSiTiao(card))//四条牌型7{return 7;}else if(checkSanTiaoYiDui(card))//三条一对牌型6{return 6;}else …

[html] 写一个垂直的三栏布局,第一栏固定顶部,中间铺满,第三栏固定底部

[html] 写一个垂直的三栏布局&#xff0c;第一栏固定顶部&#xff0c;中间铺满&#xff0c;第三栏固定底部 好像有几种写法 我个人比较喜欢的是&#xff0c; <style> html, body { margin: 0; padding: 0; width: 100%; height: 100%; } .top-level { position: fixed; …

dlp防泄密系统卸载_怎样做好数据防泄密?奥赛系统早知道

前言大数据是趋势&#xff0c;泄密和数据泄露时常发生。员工离职、文件外传、在线拷贝..... 数据安全已经是每家公司必做功课。企业现状企业垂青“工作经历”和“自带资源”,“高薪挖人”被认为是企业事务快速增长、企业研制效果快速显现、企业快速兴起的捷径。当所“挖”人才来…

jsonp使用

浏览器可以向其他服务器发送数据&#xff0c;但是默认不会接收从其他服务器返回的数据&#xff0c;这叫做浏览器的同源策略&#xff0c;即XMLHttpRequest无法接收其他服务器的数据。但在实际生活场景中经常需要向其他服务器发送数据&#xff0c;这就需要用到jsonp实现跨域。 &l…

[Microsoft][SQL Server 2000 Driver for JDBC]Error establishing socket

1. Install SQL Server 2000 Sp4. 2. Install SQL Server Driver for JDBC, then set the CLASSPATH. Install JRE 1.5 maybe needed. 3. Enable port 1433 on firewall. Enable TCP of your SQL Server maybe needed转载于:https://www.cnblogs.com/NickyYe/archive/2009/08/0…

c语言定义数组6,C语言教程6数组.ppt

C语言教程6数组.ppt#include main( ){ char name[13]; int i; for (i 0; i <12; i )scanf(“ %c”,&name[i]); for (i 0; i <12; i )printf(“ %c”,name[i]); scanf(“ %s”,name); printf(“ %s”,name);} 例2&#xff1a;采用不同的方式输入输出字符串 运行结果:P…

[html] 移动端布局的自适应如何做?

[html] 移动端布局的自适应如何做&#xff1f; 移动端的布局&#xff0c;如果是采用框架的话&#xff0c;小程序和uni-app等都有响应式单位rpx来做自适应。 如果单纯的用Vue或React的话&#xff0c;一般来说就是flex配合rem或者vw布局来实现自适应。 rem布局的原理是根据rem是…

30万手表推荐_一年收入20万—30万的小生意,市场上有哪些呢?推荐几个供参考...

目前经济形势不乐观&#xff0c;许多创业者都陷入泥潭中&#xff0c;总是想挣脱&#xff0c;却总是徒劳无功。我认为在这样的时期&#xff0c;如果能静下心来&#xff0c;选择去做一些有前景的小生意&#xff0c;也是一个很好的选择。那么在目前市场上&#xff0c;有哪些能年收…