单片机的原理和应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章单片机的原理和应用
1.1概述
单片机是一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM (程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
1.2单片机的应用
由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个MCS51系列的单片机(如Atmel89cxx)内部包含有RAM、FLASH ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。MCS51系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能相互连接来进行数据通信。根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。基于这种情况,设计时,可根据不同的使用要求,来采用不同的并行连接方法。下面介绍在两个单片机之间进行三种并行通信接口的实现方法。
单片机的主要目的是为了应用,以下的一些例子就可以看出其广泛的应用。应用于工业的测控是单片机的主要功能之一。单片机有丰富的I/O线,较大部分的这样的单片机都应用在汽车工业,使得汽车在局部的处理中拥有更多的智能。在汽车的局部处理中,单片机加上传感器,再辅以固定的算法,就能够在驾驶员不知不觉的情况下对车况进行调整。另外,随着单片机性能的增强,单片机也同样广泛应用在计算机网络和通信技术中。
单片机已经无处不在,与我们生活更加相关并渗透入生活的方方面面。单片机的特点是小,也就是其集成的特性,其内部的结构是普通的计算机系统的简化。在增加一些外围电路之后,就能成为一个完整的系统。比如,我们常用的一类电子秤,内部就安装了一块单片机,再加上传感器、显示器和一些附加电路,就形成了一个应用系统。所以单片机的可扩展性是相当好的。又比如K85这样的电脑中频电疗仪,能够从病人身上获取数据,然后根据现有的算法从几种治疗处方中选择,而在每一种处方中还能够根据病人的病情而改变中频和波形及输出电流强度。这样可以看出单片机本身也具有和普通计算机类似的强大的处理,可以增加复杂的算法,获得很强的数据处理能力。单片机也可以应用在电脑缝纫机上,这样单片机可以替代很多机械部分,还能提供很多老式的缝纫机无法实现的图案。所以单片机在工业中的应用,极大地提高了工业设备的智能化,提高了处理能力和处理效率,而且无需占用很大的空间和复杂的设备。
单片机已经为我们方便生产和生活发挥了巨大的作用,在未来的社会主义工业化的建设中,单片机无疑会发挥更大的作用的。
1.3 MCS—51系列单片机
MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL 公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。以后我们将用89C51来完成一系列的实验。
MCS-51单片机芯片内部逻辑结构
通过MCS-51单片机内部的逻辑结构图(书图2-2)掌握单片机内部的逻辑结构及各个部件的功能与特点。即:
中央处理器(CPU)、内部数据存储器、内部程序存储器、定时器/计数器、并行I/O口、串行口、中断控制系统、时钟电路、位处理器、总线。
MCS-51单片机的内部存储器
MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。
一是内部数据存储器的低128单元,它包括了寄存器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。
二是内部数据存储器高128单元,这是为专用寄存器提供的,地址范围为80H~FFH。所谓专用寄存器是区别于通用寄存器而言的,即这些寄存器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。
MCS—51结构框图
第2章程序总体设计
2.1定时器/计数器的结构
定时器/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期计数时,它是定时器;当它对外部分事件进行计数时,它是计数器.
时钟程序到了定时器的T0方式。
定时器/计数器有4种工作方式,由TMOD设置,并由TCON控制.TMOD和TCON都发球特殊功能.
定时/计数器的工作方式
MCS-51单片机内部的定时/计数器,定时器T0特性功能寄存器TL0(低8位)和TH0(高8位)构成,定时器T1由特性功能寄存器TL1(低8位)和TH1(高8位)构成。特殊功能寄存器TMOD控制定时寄存器的工作方式,TCON则用于控制定时器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。程序开始时需对TL0、TH0、TL1和TH1进行初始化编程,以定义它们的工作方式和控制T0和T1的计数。
MCS-51的定时/计数器共有四种工作方式
分别是:方式0、方式1、方式2、方式3
2.2 LED数码管工作原理
单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,我们从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理。
LED的发光原理,稍有电子技术基础的人士都很清楚,我们不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。
LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。