第1章微型计算机基础知识
1.1微型计算机的组成
1.2计算机中数据的表示方法
1.2.1进位计数制
1.2.2数制间的相互转换
1.2.3二进制数的运算
1.2.4数值数据的表示<p> </p> <p>第1章微型计算机基础知识</p> <p> </p> <p>1.1微型计算机的组成</p> <p> </p> <p>1.2计算机中数据的表示方法</p> <p> </p> <p>1.2.1进位计数制</p> <p> </p> <p>1.2.2数制间的相互转换</p> <p> </p> <p>1.2.3二进制数的运算</p> <p> </p> <p>1.2.4数值数据的表示</p> <p> </p> <p>1.2.5非数值数据的表示</p> <p> </p> <p>1.3单片机概述</p> <p> </p> <p>1.3.1单片机的基本结构</p> <p> </p> <p>1.3.2单片机的发展</p> <p> </p> <p>1.3.3单片机的特点及应用</p> <p> </p> <p>习题</p> <p> </p> <p>第2章MCS51系列单片机的硬件结构</p> <p> </p> <p>2.1单片机的内部结构</p> <p> </p> <p>2.1.1内部结构框图</p> <p> </p> <p>2.1.2引脚与功能</p> <p> </p> <p>2.2单片机的存储器结构</p> <p> </p> <p>2.2.1程序存储器</p> <p> </p> <p>2.2.2数据存储器</p> <p> </p> <p>2.2.3特殊功能寄存器</p> <p> </p> <p>2.3单片机的并行I/O口</p> <p> </p> <p>2.3.1I/O口的特点</p> <p> </p> <p>2.3.2I/O口的内部结构</p> <p> </p> <p>2.3.3I/O口的功能</p> <p> </p> <p>2.3.4I/O口的负载能力</p> <p> </p> <p>2.4单片机的时钟与时序</p> <p> </p> <p>2.4.1时钟电路</p> <p> </p> <p>2.4.2CPU时序</p> <p> </p> <p>2.5单片机的复位</p> <p> </p> <p>2.6单片机*小系统</p> <p> </p> <p>习题</p> <p> </p> <p>第3章MCS51系列单片机的指令系统</p> <p> </p> <p>3.1指令系统简介</p> <p> </p> <p>3.1.1指令格式</p> <p> </p> <p>3.1.2指令分类</p> <p> </p> <p>3.2单片机寻址方式及实例解析</p> <p> </p> <p>3.2.1直接寻址</p> <p> </p> <p>3.2.2立即寻址</p> <p> </p> <p>3.2.3寄存器寻址</p> <p> </p> <p>3.2.4寄存器间接寻址</p> <p> </p> <p>3.2.5变址寻址</p> <p> </p> <p>3.2.6相对寻址</p> <p> </p> <p>3.2.7位寻址</p> <p> </p> <p> </p> <p>单片机原理及应用教程(第2版)</p> <p>目录</p> <p> </p> <p> </p> <p> </p> <p>3.3单片机指令系统及实例解析</p> <p> </p> <p>3.3.1数据传送指令</p> <p> </p> <p>3.3.2算术指令</p> <p> </p> <p>3.3.3逻辑指令</p> <p> </p> <p>3.3.4转移指令</p> <p> </p> <p>3.3.5位操作指令</p> <p> </p> <p>3.3.6伪指令</p> <p> </p> <p>3.4MCS51单片机C51语言</p> <p> </p> <p>3.4.1C51语言概述</p> <p> </p> <p>3.4.2C51语言的程序结构、数据与存储类型</p> <p> </p> <p>3.4.3C51语言的头文件与库函数</p> <p> </p> <p>3.4.4C51语言中**地址的访问</p> <p> </p> <p>3.4.5C51语言编程方法</p> <p> </p> <p>习题</p> <p> </p> <p>第4章汇编语言程序设计</p> <p> </p> <p>4.1汇编语言源程序汇编</p> <p> </p> <p>4.2程序设计的基本步骤</p> <p> </p> <p>4.3顺序程序的设计</p> <p> </p> <p>4.4分支程序设计</p> <p> </p> <p>4.4.1单分支程序</p> <p> </p> <p>4.4.2多分支程序</p> <p> </p> <p>4.5循环程序设计</p> <p> </p> <p>4.5.1单循环</p> <p> </p> <p>4.5.2多重循环</p> <p> </p> <p>4.5.3按条件转移控制的循环</p> <p> </p> <p>4.6查表程序设计</p> <p> </p> <p>4.7子程序设计和调用</p> <p> </p> <p>4.8应用控制流程设计</p> <p> </p> <p>习题</p> <p> </p> <p>第5章MCS51系列单片机的中断系统</p> <p> </p> <p>5.1中断的概念</p> <p> </p> <p>5.2中断源</p> <p> </p> <p>5.3中断控制寄存器</p> <p> </p> <p>5.4中断的优先级</p> <p> </p> <p>5.5中断的响应</p> <p> </p> <p>5.6由中断模块程序认知中断处理过程</p> <p> </p> <p>5.6.1外部中断模块代码</p> <p> </p> <p>5.6.2定时器中断模块代码</p> <p> </p> <p>5.7通过实例掌握外部中断</p> <p> </p> <p>习题</p> <p> </p> <p>第6章MCS51系列单片机的定时器/计数器</p> <p> </p> <p>6.1定时器/计数器的结构</p> <p> </p> <p>6.1.1计数功能</p> <p> </p> <p>6.1.2定时功能</p> <p> </p> <p>6.2定时器/计数器的相关寄存器</p> <p> </p> <p>6.2.1定时器/计数器的方式寄存器TMOD</p> <p> </p> <p>6.2.2定时器/计数器的控制寄存器TCON</p> <p> </p> <p>6.2.3中断允许寄存器IE</p> <p> </p> <p>6.2.4中断优先级寄存器IP</p> <p> </p> <p>6.3定时器/计数器的工作方式</p> <p> </p> <p>6.4定时器/计数器的知识扩展</p> <p> </p> <p>6.4.1定时器的溢出同步问题</p> <p> </p> <p>6.4.2运行中读取定时器/计数器</p> <p> </p> <p>6.4.3由定时器/计数器模块程序认知定时器/计数器处理过程</p> <p> </p> <p>6.5通过实例掌握定时器(例程: 定时器与LED)</p> <p> </p> <p>6.5.1采用中断处理方式的程序</p> <p> </p> <p>6.5.2采用查询方式处理的程序</p> <p> </p> <p>6.6通过实例掌握计数器(例程: 计数器与LED)</p> <p> </p> <p>习题</p> <p> </p> <p>第7章MCS51系列单片机的串行口</p> <p> </p> <p>7.1串行通信的概念</p> <p> </p> <p>7.2MCS51系列单片机串行口的结构</p> <p> </p> <p>7.2.1串行口的结构</p> <p> </p> <p>7.2.2串行口控制寄存器</p> <p> </p> <p>7.2.3串行口的工作方式</p> <p> </p> <p>7.2.4串行通信的波特率</p> <p> </p> <p>7.3串行口通信</p> <p> </p> <p>7.3.1双机通信</p> <p> </p> <p>7.3.2多机通信</p> <p> </p> <p>7.4通过实例掌握串行口通信(例程: PC控制数码管)</p> <p> </p> <p>7.4.1硬件设计</p> <p> </p> <p>7.4.2软件设计</p> <p> </p> <p>7.4.3PC与单片机串行通信的实现</p> <p> </p> <p>习题</p> <p> </p> <p>第8章MCS51系列单片机系统扩展及实用I/O接口技术</p> <p> </p> <p>8.1常用缓冲/驱动接口芯片介绍</p> <p> </p> <p>8.1.1SN7407缓冲/驱动芯片</p> <p> </p> <p>8.1.2达林顿晶体管阵列ULN2003A</p> <p> </p> <p>8.1.3光电耦合器</p> <p> </p> <p>8.1.4串行通信接口RS485</p> <p> </p> <p>8.2开关量输入接口设计</p> <p> </p> <p>8.2.1键盘接口</p> <p> </p> <p>8.2.24×4矩阵键盘扫描实例</p> <p> </p> <p>8.2.3继电器输入接口</p> <p> </p> <p>8.2.4行程开关输入接口</p> <p> </p> <p>8.2.5光电编码器输入接口</p> <p> </p> <p>8.3开关量输出接口设计</p> <p> </p> <p>8.3.1蜂鸣器输出接口</p> <p> </p> <p>8.3.2继电器输出接口</p> <p> </p> <p>8.3.3固态继电器输出接口</p> <p> </p> <p>8.4液晶显示模块接口设计</p> <p> </p> <p>8.4.1LCD的基本结构与驱动原理</p> <p> </p> <p>8.4.2段式LCD</p> <p> </p> <p>8.4.3点阵LCD</p> <p> </p> <p>8.5常用A/D转换接口设计</p> <p> </p> <p>8.5.1TLC2543与单片机接口实例</p> <p> </p> <p>8.5.2ADC0832与单片机接口实例</p> <p> </p> <p>8.5.3A/D转换器(TLC2543)应用实例</p> <p> </p> <p>8.6常用D/A转换接口设计</p> <p> </p> <p>8.6.1TLC5618与单片机接口实例</p> <p> </p> <p>8.6.2MAX518与单片机接口实例</p> <p> </p> <p>习题</p> <p> </p> <p>第9章MCS51系列单片机开发流程</p> <p> </p> <p>9.1总体方案设计</p> <p> </p> <p>9.1.1系统功能要求</p> <p> </p> <p>9.1.2硬件总体方案</p> <p> </p> <p>9.1.3软件总体方案</p> <p> </p> <p>9.2硬件和软件细分设计</p> <p> </p> <p>9.2.1硬件设计</p> <p> </p> <p>9.2.2软件设计及调试</p> <p> </p> <p>9.3系统的仿真与调试</p> <p> </p> <p>9.3.1Keil软件简介</p> <p> </p> <p>9.3.2利用Keil进行程序调试</p> <p> </p> <p>9.3.3Proteus软件使用简介</p> <p> </p> <p>9.3.4利用Proteus绘制电路原理图</p> <p> </p> <p>9.3.5在Proteus中调试程序</p> <p> </p> <p>9.3.6Altium Designer简介</p> <p> </p> <p>9.3.7利用Altium Designer设计电路板</p> <p> </p> <p>9.4系统调试</p> <p> </p> <p>9.4.1单片机应用系统的一般调试方法</p> <p> </p> <p>9.4.2数码管显示系统调试</p> <p> </p> <p>第10章常用单片机简介及应用举例</p> <p> </p> <p>10.1STC15系列单片机</p> <p> </p> <p>10.1.1STC15系列单片机简介</p> <p> </p> <p>10.1.2STC15W4K32S4应用举例</p> <p> </p> <p>10.2AVR系列单片机</p> <p> </p> <p>10.2.1AVR系列单片机简介</p> <p> </p> <p>10.2.2ATmega64单片机应用举例</p> <p> </p> <p>10.3MSP430系列单片机</p> <p> </p> <p>10.3.1MSP430系列单片机简介</p> <p> </p> <p>10.3.2MSP430F149单片机应用举例</p> <p> </p> <p>10.4Kinetis K60系列单片机</p> <p> </p> <p>10.4.1Kinetis K60系列单片机简介</p> <p> </p> <p>10.4.2MK60DN512ZVLQ10单片机应用举例</p> <p> </p> <p>10.5STM32系列单片机</p> <p> </p> <p>10.5.1STM32系列单片机简介</p> <p> </p> <p>10.5.2STM32F103VET6单片机应用举例</p> <p> </p> <p>第11章数字电子钟设计实例</p> <p> </p> <p>11.1设计要求</p> <p> </p> <p>11.2硬件设计</p> <p> </p> <p>11.2.1按键电路设计</p> <p> </p> <p>11.2.2时钟芯片DS1302的性能特点和工作原理</p> <p> </p> <p>11.2.3时钟芯片DS1302与单片机的连接</p> <p> </p> <p>11.2.4总体电路原理图</p> <p> </p> <p>11.3软件设计</p> <p> </p> <p>11.3.1显示子程序流程图</p> <p> </p> <p>11.3.2显示子程序的代码</p> <p> </p> <p>11.3.3主函数程序流程图</p> <p> </p> <p>11.3.4总的汇编语言源程序代码</p> <p> </p> <p>第12章LED阵列动态显示设计实例</p> <p> </p> <p>12.1设计要求</p> <p> </p> <p>12.2硬件设计</p> <p> </p> <p>12.2.174HC595简介</p> <p> </p> <p>12.2.2点阵LED简介</p> <p> </p> <p>12.2.3总体电路原理图</p> <p> </p> <p>12.3软件设计</p> <p> </p> <p>12.3.1程序流程图</p> <p> </p> <p>12.3.2源程序代码</p> <p> </p> <p>第13章数字温度计设计实例</p> <p> </p> <p>13.1设计要求</p> <p> </p> <p>13.2硬件设计</p> <p> </p> <p>13.2.1温度芯片DS18B20简介</p> <p> </p> <p>13.2.2一线式总线的概念</p> <p> </p> <p>13.2.3总体电路原理图</p> <p> </p> <p>13.3软件设计</p> <p> </p> <p>13.3.1DS18B20子程序流程图</p> <p> </p> <p>13.3.2DS18B20子程序代码</p> <p> </p> <p>13.3.3数码管串行方式显示子程序流程图</p> <p> </p> <p>13.3.4数码管串行方式显示子程序代码</p> <p> </p> <p>13.3.5主程序流程图</p> <p> </p> <p>13.3.6整体源程序代码</p> <p> </p> <p>第14章小型直流电动机驱动设计实例</p> <p> </p> <p>14.1设计要求</p> <p> </p> <p>14.2硬件设计</p> <p> </p> <p>14.2.1L298N双H桥电动机驱动芯片</p> <p> </p> <p>14.2.2L298N与单片机接口设计</p> <p> </p> <p>14.2.3总体电路原理图</p> <p> </p> <p>14.3软件设计</p> <p> </p> <p>14.3.1单片机产生脉宽调制信号</p> <p> </p> <p>14.3.2源程序代码</p> <p> </p> <p>第15章步进电机驱动设计实例</p> <p> </p> <p>15.1设计要求</p> <p> </p> <p>15.2硬件设计</p> <p> </p> <p>15.2.1步进电机概述</p> <p> </p> <p>15.2.2TA8435步进电机专用驱动芯片</p> <p> </p> <p>15.2.3TA8435细分驱动原理</p> <p> </p> <p>15.2.4总体电路原理图</p> <p> </p> <p>15.3软件设计</p> <p> </p> <p>15.3.1程序流程图</p> <p> </p> <p>15.3.2源程序代码</p> <p> </p> <p>附录AASCII码字符表(常规字符集)</p> <p> </p> <p>附录BMCS51系列单片机汇编指令表</p> <p> </p> <p>参考文献</p>显示全部信息前 言
《单片机原理及应用教程》第1版出版以来,受到了广大读者的好评。通过第1版的教学实践,第2版做了如下修订:①配套有高质量的PPT课件、习题答案、应用实例的源程序,读者可通过扫描书上印的二维码从网上下载;②增加一节C51语言内容介绍,引导读者用C语言编程;③增加计算机中数的表示方法介绍;④增加一章常用单片机简介及应用举例,使读者了解单片机的*新发展,引导读者在实际应用中采用*适合的、性价比*高的单片机;⑤在单片机开发流程一章中,增加Keil C51软件应用简介;⑥在应用实例中加入由作者课题组*新承担的实际工程应用课题实例。<p> </p> <p> 《单片机原理及应用教程》第1版出版以来,受到了广大读者的好评。通过第1版的教学实践,第2版做了如下修订: ①配套有高质量的PPT课件、习题答案、应用实例的源程序,读者可通过扫描书上印的二维码从网上下载; ②增加一节C51语言内容介绍,引导读者用C语言编程; ③增加计算机中数的表示方法介绍; ④增加一章常用单片机简介及应用举例,使读者了解单片机的*新发展,引导读者在实际应用中采用*适合的、性价比*高的单片机; ⑤在单片机开发流程一章中,增加Keil C51软件应用简介; ⑥在应用实例中加入由作者课题组*新承担的实际工程���用课题实例。</p> <p>全书共15章。第1章概述了单片机的有关基础知识,介绍了计算机数的表示方法。第2章介绍了MCS51系列单片机的内部结构、时序及单片机的*小系统。第3章介绍了MCS51系列单片机的指令系统,每一类型指令系统介绍结束后都有实例解析,帮助学生加深对51系列单片机程序指令的理解; 同时介绍了单片机C语言结构与编程方法。第4章通过实例介绍了单片机汇编语言程序设计的流程和方法。第5~7章分别介绍了单片机中断系统、定时器/计数器及串行口的结构与工作原理,在介绍中断系统、定时器/计数器以及串行口的章节后,都有非常简单、实用、完整的实例解析。详细解析电路原理图的设计、程序的编写以及仿真软件的应用。学生可以实际操作一遍,就相当于完成了一个完整的工程实际设计的仿真调试,从而了解单片机实际开发流程。第8章通过实例介绍了单片机系统扩展及实用接口技术。第9章系统地介绍了单片机开发流程,并简单明了地介绍了Keil、Proteus、Altium Designer等单片机系统常用设计和调试软件工具的使用和调试方法。第10章向读者**了几个常用单片机系列,并通过非常简单的实例解释其应用方法。第11~15章介绍了5个完整的工程实例。</p> <p>本书前几章的实例是非常简单的LED或数码管驱动电路和程序,后几章的实例是为学有余力的学生准备的。学生们可以用仿真软件Keil检查自己的作业,也可以对书中介绍的实例进行仿真调试。Protues软件可以对书中介绍的实例或学生自己的小设计进行软、硬件综合仿真。书中的实例多选用AT89C51或AT89S51,这两种单片机都是MCS51系列兼容机,引脚和指令系统完全兼容,因内部有Flash存储器而得到广泛应用。</p> <p>本书内容丰富,深入浅出,适合作为单片机原理及应用课程的教材,也可以帮助自学者解决在设计和应用单片机时所遇到的实际问题。</p> <p>本书主要由张元良(大连理工大学)、吕艳(大连工业大学)、周志民(大连测控技术研究所)、李涛(大连理工大学)、刘淑杰(大连理工大学)、刘伟嵬(大连理工大学)等编写,参加编写工作的还有刘全利、李乾坤、沈毅鸿、王若飞、勾万强、王金龙、张浩、郭俊飞、何希平、关泽明、张敏、赵清晨、姜辉、李瑞品等,在此表示感谢!</p> <p>限于作者的水平和经验,书中难免存在错误和不足之处,欢迎广大读者给予指正。</p> <p>作者</p> <p>2016年6月</p>显示全部信息媒体评论评论免费在线读
第1章
微型计算机基础知识
本章主要介绍微型计算机,特别是单片机的概念和组成,同时也对计算机中数据的表示方式进行系统的介绍,为读者以后的学习奠定一定的基础。在本章中,读者主要了解微型计算机与单片机的概念和组成,熟悉进位计数制、数值信息与非数值信息的表示方法,掌握不同进制之间的转换规则。
1.1微型计算机的组成一个完整的微型计算机系统包括两大部分,即硬件系统和软件系统。硬件是指构成计算机的物理设备,即由机械、电子器件构成的具有输入、存储、计算、控制和输出功能的实体部件。软件指的是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。1946年美籍匈牙利科学家冯·诺依曼提出存储程序原理,把程序本身当作数据来对待,程序和数据用同样的方式存储,并确定了存储程序计算机的五大组成部分和基本工作方法。这一组成结构与工作方法对计算机的发展有着不可磨灭的影响,一直沿用至今。将指令和数据同时存放在存储器中,是冯·诺依曼体系结构的主要特点。该体系结构的计算机应由控制器、运算器、存储器、输入设备、输出设备5部分组成。冯·诺依曼体系结构系统框图如图11所示。
图11冯·诺依曼体系结构系统框图
1. 运算器运算器又称算术逻辑单元(arithmetic logic unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数码进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。此外,它还能暂时存放运算的中间数据和结果。运算器在控制器的控制下实现其功能,运算结果由控制器指挥送到内存储器中。2. 控制器
单片机原理及应用教程(第2版)