本书通过大量实例和采用程序逐行解说的方式介绍51单片机和C语言编程。全书主要内容有单片机快速入门、数制与C51语言基础、51单片机编程软件的使用、单片机驱动发光二极管的电路及编程、单片机驱动LED数码管的电路及编程、中断功能的使用及编程、定时器/计数器的使用及编程、按键电路及编程、双色LED点阵的使用及编程、液晶显示屏的使用及编程、步进电机的使用及编程、单片机的串行通信及编程、模拟I2C总线通信及编程、A/D(模/数)与D/A(数/模)转换电路及编程、51单片机的硬件系统、单片机开发常用电子元器件。
本书内容由浅入深、语言通俗易懂,并且内容结构安排符合学习认知规律,适合作为初学者学习51单片机C语言编程的自学图书,也适合作为职业院校电类专业的单片机教材使用。
第1章单片机快速入门 1
1.1 单片机简介 / 1
1.1.1 什么是单片机 / 1
1.1.2 单片机应用系统的组成及实例说明 / 2
1.1.3 单片机的分类 / 3
1.1.4 单片机的应用领域 / 4
1.2 单片机应用系统开发实例 / 4
1.2.1 选择单片机的型号 / 4
1.2.2 设计单片机电路原理图 / 5
1.2.3 制作单片机电路 / 6
1.2.4 用编程软件编写单片机控制程序 / 7
1.2.5 计算机、下载(烧录)器和单片机的连接 / 10
1.2.6 用烧录软件将程序写入单片机 / 13
1.2.7 单片机电路的通电与测试 / 16
第2章数制与C51语言基础 18
2.1 数制与数制的转换 / 18
2.1.1 十进制数 / 18
2.1.2 二进制数 / 18
2.1.3 十六进制数 / 20
2.1.4 二进制数与十进制数的转换 / 20
2.1.5 二进制数与十六进制数的转换 / 20
2.1.6 单片机的数的表示及运算 / 21
2.2 C51语言基础 / 23
2.2.1 常量 / 23
2.2.2 变量 / 24
2.2.3 运算符 / 24
2.2.4 关键字 / 27
2.2.5 数组 / 28
2.2.6 循环语句(while、do while、for语句) / 29
2.2.7 选择语句(if、switch…case语句) / 30
第3章51单片机编程软件的使用 33
3.1 Keil C51软件的安装 / 33
3.1.1 Keil C51软件的版本及获取 / 33
3.1.2 Keil C51软件的安装 / 33
3.2 程序的编写与编译 / 35
3.2.1 启动Keil C51软件并新建工程文件 / 35
3.2.2 新建源程序文件并与工程关联起来 / 38
3.2.3 编写程序 / 40
3.2.4 编译程序 / 42
3.3 程序的仿真与调试 / 45
3.3.1 编写或打开程序 / 45
3.3.2 仿真设置 / 46
3.3.3 编译程序 / 47
3.3.4 仿真调试程序 / 48
第4章单片机驱动发光二极管的电路及编程 52
4.1 LED(发光二极管) / 52
4.1.1 外形与符号 / 52
4.1.2 性质 / 52
4.1.3 检测 / 53
4.1.4 限流电阻的阻值计算 / 53
4.2 单片机点亮单个LED的电路及程序详解 / 53
4.2.1 单片机点亮单个LED的电路 / 53
4.2.2 采用位操作方式编程点亮单个LED的程序及详解 / 54
4.2.3 采用字节操作方式编程点亮单个LED的程序及详解 / 55
4.2.4 单个LED以固定频率闪烁发光的程序及详解 / 56
4.2.5 单个LED以不同频率闪烁发光的程序及详解 / 58
4.3 单片机点亮多个LED的电路及程序详解 / 59
4.3.1 单片机点亮多个LED的电路 / 59
4.3.2 采用位操作方式编程点亮多个LED的程序及详解 / 59
4.3.3 采用字节操作方式编程点亮多个LED的程序及详解 / 60
4.3.4 多个LED以不同频率闪烁发光的程序及详解 / 61
4.3.5 多个LED左移和右移的程序及详解 / 61
4.3.6 LED循环左移和右移的程序及详解 / 63
4.3.7 LED移动并闪烁发光的程序及详解 / 64
4.3.8 用查表方式控制LED多样形式发光的程序及详解 / 65
4.3.9 LED花样发光的程序及详解 / 66
4.4 采用PWM(脉宽调制)方式调节LED亮度的原理及程序详解 / 67
4.4.1 采用PWM方式调节LED亮度的原理 / 67
4.4.2 采用PWM方式调节LED亮度的程序及详解 / 68
第5章单片机驱动LED数码管的电路及编程 70
5.1 单片机驱动一位LED数码管的电路及程序详解 / 70
5.1.1 一位LED数码管的外形、结构与检测 / 70
5.1.2 单片机连接一位LED数码管的电路 / 72
5.1.3 单个数码管静态显示一个字符的程序及详解 / 73
5.1.4 单个数码管动态显示多个字符的程序及详解 / 73
5.1.5 单个数码管环形转圈显示的程序及详解 / 74
5.1.6 单个数码管显示逻辑电平的程序及详解 / 74
5.2 单片机驱动8位LED数码管的电路及程序详解 / 75
5.2.1 多位LED数码管外形、结构与检测 / 75
5.2.2 单片机连接8位共阴型数码管的电路 / 76
5.2.3 8位数码管显示1个字符的程序及详解 / 78
5.2.4 8位数码管逐位显示8个字符的程序及详解 / 79
5.2.5 8位数码管同时显示8个字符的程序及详解 / 80
5.2.6 8位数码管动态显示8个以上字符的程序及详解 / 80
第6章中断功能的使用及编程 82
6.1 中断的基本概念与处理过程 / 82
6.1.1 什么是中断 / 82
6.1.2 中断的基本概念 / 82
6.1.3 中断的处理过程 / 83
6.2 8051单片机的中断系统结构与控制寄存器 / 83
6.2.1 中断系统的结构 / 83
6.2.2 中断源寄存器 / 84
6.2.3 中断允许寄存器IE / 85
6.2.4 中断优先级控制寄存器IP / 86
6.3 中断编程举例 / 87
6.3.1 中断编程的电路例图 / 87
6.3.2 用外部中断0以低电平方式触发中断的程序及详解 / 88
6.3.3 用外部中断1以下降沿方式触发中断的程序及详解 / 89
第7章定时器/计数器的使用及编程 91
7.1 定时器/计数器的定时与计数功能 / 91
7.1.1 定时功能 / 91
7.1.2 计数功能 / 92
7.2 定时器/计数器的结构原理 / 92
7.2.1 定时器/计数器的结构 / 92
7.2.2 定时器/计数器的工作原理 / 92
7.3 定时器/计数器的控制寄存器与四种工作方式 / 94
7.3.1 定时器/计数器控制寄存器TCON / 94
7.3.2 工作方式控制寄存器TMOD / 94
7.3.3 定时器/计数器的工作方式 / 95
7.4 定时器/计数器的应用及编程 / 99
7.4.1 产生1kHz方波信号的程序及详解 / 99
7.4.2 产生50kHz方波信号的程序及详解 / 100
7.4.3 产生周期为1s方波信号的程序与长延时的方法 / 101
第8章按键电路及编程 103
8.1 独立按键输入电路与程序详解 / 103
8.1.1 开关输入产生的抖动及软、硬件解决方法 / 103
8.1.2 单片机连接8个独立按键和8个LED的电路 / 104
8.1.3 一个按键点动控制一个LED亮灭的程序及详解 / 104
8.1.4 一个按键锁定控制一个LED亮灭的程序及详解 / 104
8.1.5 四路抢答器的程序及详解 / 106
8.1.6 独立按键控制LED和LED数码管的单片机电路 / 107
8.1.7 两个按键控制一位数字增、减并用8位数码管显示的程序及详解 / 107
8.1.8 两个按键控制多位数字增、减并用8位数码管显示的程序及详解 / 110
8.1.9 按键长按与短按产生不同控制效果的程序及详解 / 111
8.1.10 8个独立按键控制LED亮灭和LED数码管显示的程序及详解 / 114
8.2 矩阵键盘输入电路与程序详解 / 116
8.2.1 单片机连接16键矩阵键盘和8位数码管的电路 / 116
8.2.2 矩阵键盘行列扫描方式输入及显示的程序及详解 / 116
8.2.3 中断触发键盘行列扫描的矩阵键盘输入及显示电路与程序详解 / 120
8.2.4 矩阵键盘密码锁的程序及详解 / 125
第9章双色LED点阵的使用及编程 129
9.1 双色LED点阵的结构原理与检测 / 129
9.1.1 共阳型和共阴型点阵的电路结构 / 129
9.1.2 点阵的混色规律 / 129
9.1.3 点阵的静态字符或图形显示原理 / 130
9.1.4 点阵的动态字符或图形显示原理 / 133
9.1.5 双色点阵的识别与检测 / 134
9.2 单片机驱动双色点阵的电路及编程 / 135
9.2.1 74HC595芯片 / 135
9.2.2 单片机配合74HC595芯片驱动双色LED点阵的电路 / 136
9.2.3 双色点阵显示一种颜色字符的程序及详解 / 136
9.2.4 双色点阵正反交替显示两种颜色字符的程序及详解 / 139
9.2.5 字符移入和移出点阵的程序及详解 / 141
第10章液晶显示屏的使用及编程 145
10.1 1602字符型液晶显示屏的硬、软件 / 145
10.1.1 外形与引脚功能 / 145
10.1.2 内部字库及代码 / 146
10.1.3 LCD屏各显示位与DDRAM的地址关系 / 146
10.1.4 1602显示屏的指令集 / 147
10.2 单片机驱动1602液晶显示屏的电路及编程 / 151
10.2.1 单片机驱动1602液晶显示屏的电路 / 151
10.2.2 1602液晶显示屏静态显示字符的程序及详解 / 151
10.2.3 1602液晶显示屏逐个显示字符的程序及详解 / 154
10.2.4 1602液晶显示屏字符滚动显示的程序及详解 / 154
10.2.5 矩阵键盘输入与1602液晶显示屏显示的电路及程序详解 / 156
第11章步进电机的使用及编程 160
11.1 步进电机与驱动芯片 / 160
11.1.1 步进电机的结构与工作原理 / 160
11.1.2 驱动芯片ULN2003 / 163
11.1.3 五线四相步进电机 / 165
11.2 单片机驱动步进电机的电路及编程 / 166
11.2.1 由按键、单片机、驱动芯片和数码管构成的步进电机驱动电路 / 166
11.2.2 用单4拍方式驱动步进电机正转的程序及详解 / 167
11.2.3 用双4拍方式驱动步进电机自动正反转的程序及详解 / 167
11.2.4 外部中断控制步进电机正反转的程序及详解 / 169
11.2.5 用按键控制步进电机启动、加速、减速、停止的程序及详解 / 171
第12章单片机的串行通信及编程 175
12.1 并行通信和串行通信 / 175
12.1.1 串行通信的两种方式 / 175
12.1.2 串行通信的数据传送方向 / 177
12.2 串行通信口的结构与原理 / 178
12.2.1 串行通信口的结构 / 178
12.2.2 串行通信口的工作原理 / 178
12.3 串行通信口的控制寄存器 / 179
12.3.1 串行控制寄存器(SCON) / 179
12.3.2 电源控制寄存器(PCON) / 180
12.4 四种工作方式与波特率的设置 / 180
12.4.1 方式0 / 180
12.4.2 方式1 / 182
12.4.3 方式2 / 182
12.4.4 方式3 / 183
12.4.5 波特率的设置 / 183
12.5 串行通信的应用编程 / 184
12.5.1 利用串行通信的方式0实现产品计数显示的电路及编程 / 184
12.5.2 利用串行通信的方式1实现双机通信的电路及编程 / 185
第13章模拟I2C总线通信及编程 190
13.1 I2C总线 / 190
13.1.1 概述 / 190
13.1.2 I2C总线通信协议 / 190
13.1.3 I2C总线的数据传送格式 / 191
13.2 I2C总线存储器24C02(E2PROM) / 192
13.2.1 外形与引脚功能 / 192
13.2.2 器件地址的设置 / 192
13.2.3 读/写操作 / 193
13.3 单片机与24C02的I2C总线通信电路及编程 / 196
13.3.1 模拟I2C总线通信的程序及详解 / 196
13.3.2 利用I2C总线从24C02读写一个数据并用LED显示的电路及程序详解 / 199
13.3.3 利用I2C总线从24C02读写多个数据的电路及程序详解 / 201
13.3.4 利用24C02存储按键的操作信息的电路及程序详解 / 202
第14章A/D(模/数)与D/A(数/模)转换电路及编程 206
14.1 A/D(模/数)与D/A(数/模)转换原理 / 206
14.1.1 A/D转换 / 206
14.1.2 D/A转换 / 208
14.2 A/D与D/A转换芯片PCF8591 / 208
14.2.1 外形与引脚功能 / 208
14.2.2 器件地址和功能设置 / 209
14.3 由PCF8591芯片构成的A/D和D/A转换电路及编程 / 210
14.3.1 单片机、PCF8591芯片与8位数码管构成的A/D和D/A转换及显示电路 / 210
14.3.2 1路A/D转换并显示转换值的程序及详解 / 210
14.3.3 4路电压测量显示的程序及详解 / 213
14.3.4 D/A转换输出显示的程序及详解 / 216
第15章51单片机的硬件系统 219
15.1 8051单片机的引脚功能与内部结构 / 219
15.1.1 引脚功能 / 219
15.1.2 单片机与片外存储器的连接与控制 / 221
15.1.3 内部结构 / 223
15.2 8051单片机I/O端口的结构与工作原理 / 225
15.2.1 P0端口 / 226
15.2.2 P1端口 / 227
15.2.3 P2端口 / 228
15.2.4 P3端口 / 228
15.3 8051单片机的存储器 / 229
15.3.1 存储器的存储单位与编址 / 229
15.3.2 片内外程序存储器的使用与编址 / 230
15.3.3 片内外数据存储器的使用与编址 / 231
15.3.4 数据存储器的分区 / 231
15.3.5 特殊功能寄存器(SFR) / 233
15.4 STC89C5X系列单片机 / 238
15.4.1 STC89C5X单片机的版本、封装形式和引脚 / 238
15.4.2 STC89C5X系列单片机的型号命名规则 / 242
15.4.3 STC89C5X系列单片机的常用型号的主要参数 / 242
15.4.4 STC89C5X系列单片机的I/O端口 / 242
15.4.5 STC89C5X系列单片机的程序存储器与数据存储器 / 246
15.4.6 STC89C5X系列单片机的特殊功能寄存器 / 247
第16章单片机开发常用电子元器件 250
16.1 基本电子元器件 / 250
16.1.1 电阻器 / 250
16.1.2 电位器 / 252
16.1.3 排阻 / 253
16.1.4 电容器 / 254
16.1.5 电感器 / 255
16.1.6 变压器 / 256
16.2 半导体元器件 / 259
16.2.1 二极管 / 259
16.2.2 整流二极管与整流桥堆 / 260
16.2.3 稳压二极管 / 261
16.2.4 肖特基二极管 / 262
16.2.5 快恢复二极管 / 263
16.2.6 三极管 / 264
16.2.7 单向晶闸管 / 267
16.2.8 绝缘栅型场效应管(MOS管) / 268
16.3 其他类型元器件 / 270
16.3.1 双色发光二极管 / 270
16.3.2 红外线接收组件 / 271
16.3.3 光电耦合器 / 271
16.3.4 光遮断器 / 272
16.3.5 耳机 / 273
16.3.6 蜂鸣器 / 274
16.3.7 石英晶体谐振器(晶振) / 276
16.3.8 电磁继电器 / 277
16.3.9 干簧管 / 278
16.3.10 自恢复熔断器 / 278
16.3.11 瞬态电压抑制二极管 / 279
16.4 贴片元器件 / 280
16.4.1 贴片封装规格 / 280
16.4.2 手工焊接方法 / 280
16.4.3 贴片电阻器 / 282
16.4.4 贴片电位器 / 282
16.4.5 贴片熔断器 / 283
16.4.6 贴片电容器 / 283
16.4.7 贴片电感器 / 284
16.4.8 贴片二极管 / 284
16.4.9 贴片三极管 / 285
16.5 集成电路 / 286
16.5.1 集成电路的引脚识别 / 286
16.5.2 三端固定输出稳压器(78XX/79XX) / 286
16.5.3 三端精密稳压器(TL431) / 288
16.5.4 双运算放大器(LM358) / 289
16.5.5 双电压比较器(LM393) / 291
16.5.6 单全桥/单H桥/电机驱动芯片(L9110) / 292
16.5.7 常用的74系列芯片型号 / 293
16.5.8 8路三态输出D型锁存器芯片(74HC573) / 294
16.5.9 三-八线译码器/多路分配器芯片(74HC138) / 296
16.5.10 8路选择器/分配器芯片 (74HC4051) / 297
16.5.11 串/并转换芯片(74HC164) / 298
16.5.12 并/串转换芯片(74HC165) / 299
视频讲解清单 3012100433B
#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit spk=P3^0;sbit k0=P3^...
你没有电路怎么出程序啊,首先要有测温的,设定温度的,之后就是去控制压缩机工作与否的。这些出来了就简单了,只要读出温度---比较---控制压缩机工作与否,这样就能达到设定温度的恒温了
加减一加法器,通过P1口输入一个八位无符号数,P2口输入另
1绪论 1.1 自动门的简介 自动门控制系统,在现当代社会是一个应用非常广泛的设备,自动门已经广 泛应用于酒店、银行、超市、停车场或公共建筑等入口,其主要核心部分——自 动门控制系统正是我们这篇论文的主要研究讨论的课题。 自动门是指 :可以将人接近门的动作 (或将某种入门授权) 识别为开门信号的 控制单元,通过驱动系统将门开启, 在人离开后再将门自动关闭, 并对开启和关 闭的过程实现控制的系统。 自动门的性能优劣主要取决于它的控制装置, 早期的 自动门控制系统采用继电器逻辑控制,造成安装繁琐、体积大、不稳定、不易维 修等缺点已逐渐被淘汰。 1.2 本设计研究的内容 1.2.1 自动平移门机组的部件组成 在本设计中主要研究自动平移门, 设计的自动平移门具有手动和自动开门功 能以及分时段控制功能, 同时配备防夹人光栅、 后备电源等辅助装置来满足商场 等人流众多场所的高效率、高安全性的要求。 (
89C51单片机论文 摘要:为了方便初学者使用单片机的各种片内资源以及 一些常用的外围扩展芯片,设计开发了基于 51系列单片机 的系统板。同时,该板还可做为学习各种仿真器所需的目标 板。 关键词: 89c51 单片机; tlc 2543 ; tlc5615 the development and application based on 51 series mcu system board li li,shao xinhui (changcheng institute of metrology&measurement,avic,beijing100095,china) abstract:in order to facilitate the beginner to use all kinds of microcontroller chip internal resources
全书结构合理、定位精准,从单片机发展历程到环境搭建及开发语言,拾级而上,顺利进入典型模块篇,内容简单而实用,键盘、显示器、D/A转换等,面面俱到;最后通过3个大型综合实例,汇总前面所学知识,使读者融会贯通,学以致用。
《51单片机开发应用从入门到精通》面向单片机及其编程语言的初学者,其中典型模块的设计思想与方法对于相关方向的大学课程毕业设计有非常好的指导意义。同时,《51单片机开发应用从入门到精通》也可作为单片机爱好者及单片机开发人员的实用参考书。
内容介绍
《Excel2007与VBA编程从入门到精通》将带领读者历经Excel 2007 VBA从入门到精通的全部学习过程,介绍Excel VBA的基础知识和基本语法结构,引导读者掌握Excel VBA的基本操作,如录制宏,以及使用Excel VBA操作Excel 的基本对象工作簿、工作表、单元格。
2100433B
《数控铣编程从入门到精通》共10章,内容包括:数控铣床加工基础、数控铣床的坐标系统、数控铣床的手动操作、数控铣削程序编制基础、数控铣削程序设计基础、平面图形加工、平面轮廓加工、孔加工程序设计、型腔零件加工程序设计、手工编程综合实例。
《数控铣编程从入门到精通》内容丰富,由浅入深、循序渐进,并且配图清晰,方便初学者自学。