新编51单片机C语言教程:从入门到精通实例详解全攻略
商品已成功飞到您的手机啦!快登录手机站看看吧!
> 扫一扫 下载客户端
> 微信关注“互动出版网”,便捷查询订单,更多惊喜天天有
编辑推荐
专家解读:编者是拥有多年实际项目研发经验的资深工程师,因此书中的内容涵盖了大量的实际项目中所采用的技术和技巧,具有极强的实时性和先进性,为读者铺就一条从单片机初学者晋级为工程师的康庄大道。
内容简介
书籍 计算机书籍
《新编51单片机C语言教程》是一本以实例详解方式介绍51单片机与C语言编程的图书,主要内容有单片机入门、51单片机的硬件系统、Keil C51编程软件的使用、单片机驱动LED与LED数码管的电路及编程、中断的使用及编程、定时器/计数器的使用及编程、独立按键与矩阵键盘输入电路及编程、点阵和液晶显示屏的使用及编程、步进电动机的使用及编程、串行通信的使用及编程、I2C总线通信的使用及编程、AD(模数)与DA(数模)转换电路及编程。
《新编51单片机C语言教程》起点低、由浅入深、语言通俗易懂,并且内容结构安排符合学习认知规律。本书适合作为初学者学习51单片机及编程的自学图书,也适合作为职业院校电类专业的单片机教材。
作译者
蔡杏山,电工电子领域专家,编有几十本电工电子类的畅销图书。其编写的图书最大的特点是“内容很容易看懂并且学到的东西非常有用”,曾有读者这样评价“以前看过很多同类书,总是看得模糊,买了蔡老师的书,一看就能理解,好象我的理解能力突然提高了似的!”
目录
第1章 单片机入门\t1
1.1 单片机简介\t1
1.1.1 什么是单片机\t1
1.1.2 单片机应用系统的组成及举例说明\t2
1.1.3 单片机的分类\t3
1.1.4 单片机的应用领域\t4
1.2 用实例了解单片机应用系统的开发过程\t5
1.2.1 明确控制要求并选择合适型号的单片机\t5
1.2.2 设计单片机电路原理图\t5
1.2.3 制作单片机电路\t6
1.2.4 用Keil 软件编写单片机控制程序\t7
1.2.5 计算机、下载(烧录)器和单片机的连接\t10
1.2.6 用烧录软件将程序写入单片机\t13
1.2.7 单片机电路的供电与测试\t15
1.3 与单片机有关的基础知识\t17
1.3.1 单片机基础电路\t17
1.3.2 数制与数制的转换\t24
1.3.3 单片机的数的表示及运算\t27
1.4 C51语言基础\t29
1.4.1 常量\t29
1.4.2 变量\t30
1.4.3 运算符\t31
1.4.4 关键字\t34
1.4.5 数组\t34
1.4.6 循环语句\t36
1.4.7 选择语句\t37
第2章 51单片机的硬件系统\t40
2.1 8051单片机的引脚功能与内部结构\t40
2.1.1 引脚功能说明\t40
2.1.2 单片机与片外存储器的连接与控制\t43
2.1.3 内部结构说明\t44
2.2 8051单片机I/O端口的结构与工作原理\t47
2.2.1 P0端口\t47
2.2.2 P1端口\t48
2.2.3 P2端口\t49
2.2.4 P3端口\t50
2.3 8051单片机的存储器\t51
2.3.1 存储器的存储单位与编址\t51
2.3.2 片内、外程序存储器的使用与编址\t52
2.3.3 片内、外数据存储器的使用与编址\t53
2.3.4 数据存储器的分区\t53
2.3.5 特殊功能寄存器(SFR)\t56
2.4 STC89C5x系列单片机介绍\t59
2.4.1 STC89C5x单片机的版本、封装形式和引脚功能说明\t60
2.4.2 STC89C5x系列单片机的型号命名规则\t63
2.4.3 STC89C5x系列单片机的常用型号的主要参数\t64
2.4.4 STC89C5x系列单片机的I/O端口\t64
2.4.5 STC89C5x系列单片机的程序存储器与数据存储器\t68
2.4.6 STC89C5x系列单片机的特殊功能寄存器\t69
第3章 Keil C51编程软件的使用\t72
3.1 Keil C51软件的安装\t72
3.1.1 Keil C51软件的版本及获取\t72
3.1.2 Keil C51软件的安装\t72
3.2 程序的编写与编译\t75
3.2.1 启动Keil C51软件并新建工程文件\t75
3.2.2 新建源程序文件并与工程关联起来\t77
3.2.3 编写程序\t79
3.2.4 编译程序\t81
3.3 程序的仿真与调试\t84
3.3.1 软件仿真调试\t85
3.3.2 硬件仿真调试\t91
第4章 单片机驱动LED与LED数码管的电路及编程\t95
4.1 单片机驱动LED的电路及编程\t95
4.1.1 发光二极管(LED)外形、性质与检测\t95
4.1.2 单片机连接8个LED的电路\t97
4.1.3 位操作与字节操作方式点亮单个LED的程序及详解\t98
4.1.4 单个LED闪烁发光的程序及详解\t100
4.1.5 单个LED以不同频率闪烁发光的程序及详解\t101
4.1.6 位操作和字节操作方式点亮多个LED的程序及详解\t102
4.1.7 多个LED以不同频率闪烁发光的程序及详解\t102
4.1.8 多个LED左移和右移的程序及详解\t103
4.1.9 LED循环左移和右移的程序及详解\t105
4.1.10 LED左右移动并闪烁发光的程序及详解\t106
4.1.11 用查表方式控制LED发光的程序及详解\t107
4.1.12 LED花样发光的程序及详解\t108
4.1.13 用PWM(脉宽调制)方式调节LED亮度的原理与程序\t108
4.2 单片机驱动一位LED数码管显示的电路及编程\t110
4.2.1 一位LED数码管外形、结构与检测\t110
4.2.2 单片机连接一位LED数码管的电路\t112
4.2.3 单个数码管静态显示一个字符的程序及详解\t113
4.2.4 单个数码管动态显示多个字符的程序及详解\t113
4.2.5 单个数码管环形转圈显示的程序及详解\t114
4.2.6 单个数码管显示逻辑电平的程序及详解\t115
4.3 单片机驱动8位LED数码管显示的电路及编程\t115
4.3.1 多位LED数码管外形、结构与检测\t115
4.3.2 单片机连接8位共阴极数码管的电路\t117
4.3.3 8位数码管显示一个字符的程序及详解\t118
4.3.4 8位数码管逐位显示8个字符的程序及详解\t119
4.3.5 8位数码管同时显示8个字符的程序及详解\t120
4.3.6 8位数码管动态显示8个以上字符的程序及详解\t120
第5章 中断的使用及编程\t122
5.1 中断的基本概念与处理过程\t122
5.1.1 什么是中断\t122
5.1.2 中断的基本概念\t122
5.1.3 中断的处理过程\t123
5.2 8051单片机的中断系统结构与控制寄存器\t123
5.2.1 中断系统的结构\t123
5.2.2 中断源寄存器\t124
5.2.3 中断允许寄存器IE\t125
5.2.4 中断优先级控制寄存器IP\t126
5.3 中断的应用编程举例\t127
5.3.1 中断使用的电路例图\t127
5.3.2 外部中断0以低电平方式触发中断的程序\t128
5.3.3 外部中断1以下降沿方式触发中断的程序\t128
第6章 定时器/计数器的使用及编程\t131
6.1 定时器/计数器的定时与计数功能\t131
6.1.1 定时功能\t131
6.1.2 计数功能\t132
6.2 定时器/计数器的结构原理\t132
6.2.1 定时器/计数器的结构\t132
6.2.2 定时器/计数器的工作原理\t133
6.3 定时器/计数器的控制寄存器与4种工作方式\t134
6.3.1 定时器/计数器控制寄存器TCON\t134
6.3.2 工作方式控制寄存器TMOD\t135
6.3.3 定时器/计数器的工作方式\t136
6.4 定时器/计数器的应用及编程\t140
6.4.1 产生1kHz方波信号的程序及详解\t140
6.4.2 产生50kHz方波信号的程序及详解\t141
6.4.3 产生周期为1s方波信号的程序及长延时的方法\t142
第7章 独立按键与矩阵键盘输入电路及编程\t144
7.1 独立按键输入电路及编程\t144
7.1.1 开关输入产生的抖动及软、硬件解决方法\t144
7.1.2 8个独立按键与8个LED的单片机电路\t145
7.1.3 一个按键点动控制一个LED亮灭的程序及详解\t146
7.1.4 一个按键锁定控制一个LED亮灭的程序及详解\t146
7.1.5 4路抢答器的程序及详解\t147
7.1.6 独立按键控制LED和LED数码管的单片机电路\t148
7.1.7 两个按键控制一位数字增、减并用8位数码管显示的程序及详解\t149
7.1.8 两个按键控制多位数字增、减并用8位数码管显示的程序及详解\t150
7.1.9 按键长按与短按产生不同控制效果的程序及详解\t152
7.1.10 8个独立按键控制LED和LED数码管显示的程序及详解\t154
7.2 矩阵键盘输入电路及编程\t156
7.2.1 16键矩阵键盘输入与8位数码管显示的单片机电路\t156
7.2.2 矩阵键盘行列扫描方式输入及显示的程序及详解\t158
7.2.3 中断触发键盘行列扫描的矩阵键盘输入显示电路及程序\t161
7.2.4 矩阵键盘密码锁程序及详解\t166
第8章 点阵和液晶显示屏的使用及编程\t170
8.1 双色LED点阵的使用及编程\t170
8.1.1 双色LED点阵的外形、结构原理与检测\t170
8.1.2 单片机配合74HC595芯片驱动双色LED点阵的电路\t177
8.1.3 双色点阵显示一种颜色字符的程序及详解\t178
8.1.4 双色点阵交替显示两种颜色字符的程序及详解\t180
8.1.5 字符移入和移出点阵的程序及详解\t182
8.2 1602字符型液晶显示屏的使用及编程\t185
8.2.1 1602字符型液晶显示屏的硬、软件资源\t185
8.2.2 单片机驱动1602液晶显示屏的电路\t192
8.2.3 1602液晶显示屏静态显示字符的程序及详解\t192
8.2.4 1602液晶显示屏逐个显现字符的程序及详解\t194
8.2.5 1602液晶显示屏字符滚动显示的程序及详解\t195
8.2.6 矩阵键盘输入与1602液晶显示屏显示的电路及程序\t196
第9章 步进电动机的使用及编程\t202
9.1 步进电动机与驱动芯片介绍\t202
9.1.1 步进电动机的结构与工作原理\t202
9.1.2 驱动芯片ULN2003\t205
9.1.3 五线四相步进电动机\t207
9.2 单片机驱动步进电动机的电路及编程\t208
9.2.1 由按键、单片机、驱动芯片和数码管构成的步进电动机驱动电路\t208
9.2.2 用单4拍方式驱动步进电动机正转的程序及详解\t209
9.2.3 用双4拍方式驱动步进电动机自动正反转的程序及详解\t209
9.2.4 外部中断控制步进电动机正反转的程序及详解\t211
9.2.5 用按键控制步进电动机启动、加速、减速、停止的程序及详解\t212
第10章 串行通信的使用及编程\t216
10.1 概述\t216
10.1.1 并行通信和串行通信\t216
10.1.2 串行通信的两种方式\t216
10.1.3 串行通信的数据传送方向\t218
10.2 串行通信口的结构与原理\t219
10.2.1 串行通信口的结构\t219
10.2.2 串行通信口的工作原理\t220
10.3 串行通信口的控制寄存器\t220
10.3.1 串行控制寄存器(SCON)\t220
10.3.2 电源控制寄存器(PCON)\t221
10.4 4种工作方式与波特率的设置\t221
10.4.1 方式0\t221
10.4.2 方式1\t223
10.4.3 方式2\t223
10.4.4 方式3\t224
10.4.5 波特率的设置\t224
10.5 串行通信的应用编程\t226
10.5.1 利用串行通信的方式0实现产品计数显示的电路及编程\t226
10.5.2 利用串行通信的方式1实现双机通信的电路及编程\t227
第11章 I2C总线通信的使用及编程\t231
11.1 I2C总线介绍\t231
11.1.1 概述\t231
11.1.2 I2C总线通信协议\t232
11.1.3 I2C总线的数据传送格式\t232
11.2 I2C总线存储器24C02(E2PROM)\t233
11.2.1 外形与引脚功能说明\t233
11.2.2 器件地址的设置\t234
11.2.3 读/写操作\t234
11.3 单片机与24C02的I2C总线通信电路及编程\t237
11.3.1 模拟I2C总线通信的程序及详解\t237
11.3.2 利用I2C总线从24C02读写一个数据并用LED显示的电路及程序\t240
11.3.3 利用I2C总线从24C02读写多个数据的电路及程序\t242
11.3.4 利用24C02存储按键的操作信息的电路及程序\t243
第12章 AD(模数)与DA(数模)转换电路及编程\t247
12.1 AD与DA转换\t247
12.1.1 AD转换\t247
12.1.2 DA转换\t249
12.2
前言
单片机是什么?单片机全称为单片微型计算机,由于单片机主要用在控制方面,故又称为微型控制器(MCU)。微型计算机(又称个人电脑、PC)是将CPU、存储器和输入/输出接口电路等安装在主电路板(简称主板)上,外部的输入/输出设备(如键盘、显示器等)通过导线与主板上的输入/输出接口电路连接起来。单片机则是将CPU、存储器和输入/输出接口电路等制作在一块半导体硅片上,再接出引脚并封装起来构成集成电路,外部的输入/输出设备通过单片机的引脚与内部的输入/输出接口电路连接起来。也就是说,单片机是一块内部包含CPU、存储器和输入/输出接口等电路的IC芯片。
哪些地方要用到单片机?单片机的应用非常广泛,已深入到工业、农业、商业、教育、国防及日常生活等各个领域。
单片机在家电方面的应用主要有:彩色电视机、影碟机内部的控制系统;数码相机、数码摄像机中的控制系统;中高档电冰箱、空调器、电风扇、洗衣机、加湿器和消毒柜中的控制系统;中高档微波炉、电磁灶和电饭煲中的控制系统等。
单片机在通信方面的应用主要有:移动电话、传真机、调制解调器和程控交换机中的控制系统;智能电缆监控系统、智能线路运行控制系统和智能电缆故障检测仪等。
单片机在商业方面的应用主要有:自动售货机、无人值守系统、防盗报警系统、灯光音响设备、IC卡等。
单片机在工业方面的应用主要有:数控机床、数控加工中心、无人操作、机械手操作、工业过程控制、生产自动化、远程监控、设备管理、智能控制和智能仪表等。
单片机在航空、航天和军事方面的应用主要有:航天测控系统、航天制导系统、卫星遥控遥测系统、载人航天系统、导弹制导系统和电子对抗系统等。
单片机在汽车方面的应用主要有:汽车娱乐系统、汽车防盗报警系统、汽车信息系统、汽车智能驾驶系统、汽车全球卫星定位导航系统、汽车智能化检验系统、汽车自动诊断系统和交通信息接收系统等。
本书讲授单片机技术有什么特色?由于单片机应用广泛,学习电工电子技术的人几乎都希望能掌握单片机技术,但真正掌握单片机技术并能进行单片机软、硬件开发的人却不多。为什么会这样呢?一句话概括就是“学单片机编程太难了!”。本书就是为解决学习单片机编程难而推出的,全书是以“单片机实际电路 大量典型的实例程序 详细易懂的程序逐条说明”方式编写的,读者阅读程序时,除了可查看与程序对应的单片机电路外,遇到某条程序语句不明白时还可查看该程序语句的详细说明,从而理解程序运行的来龙去脉。读懂并理解程序后,读者可模仿尝试采用类似方法自己编写一些程序,慢慢就可以自己编写一些复杂的程序,从而成为单片机软件编程高手。另外,读者可登录www.eTV100.com(易天电学网)免费下载或查看与本书有关的技术资源和其他图书。
本书在编写过程中得到了很多老师的支持,其中江西工程学院的蔡玉山教授编写了第2、5、6章内容,另外感谢刘元能、刘凌云、黄勇、蔡春霞、邓艳姣、何慧、詹春华、黄晓玲、万四香、邵永亮、蔡华山、王娟、李清荣、刘海峰、蔡理刚、何彬、王玉兰、何宗昌、蔡理忠、邵永明、蔡任英、余要先、石韧和王丽等参与了部分章节的编写工作,在此一致表示感谢。由于我们水平有限,书中的错误和疏漏之处在所难免,望广大读者和同人予以批评指正。
需要配套代码的读者,可发送电子邮件至etv100@163.com索取!