单片机第二讲_第1页
单片机第二讲_第2页
单片机第二讲_第3页
单片机第二讲_第4页
单片机第二讲_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1西京学院工程技术系电子信息教研室单片机原理与应用课程单片机原理与应用单片机原理与应用2单片机分类及内部组成单片机分类及内部组成 1.51 1.51系列单片机的分类系列单片机的分类51系列单片机有一下两种分类方法: (1)按芯片的半导体制造工艺划分,可以分为HMOS工艺性单片机和CHMOS工艺性单片机两种。HMOS工艺性单片机包括8051、8751、8052、8032;CHMOS工艺性单片机80C51、83C51、87C51、80C31、80C32和80C52。这两类器件在功能上是完全兼容的,但采用CHMOS工艺制造的芯片具有低功耗的特点,它所消耗的电流比HMOS器件消耗的电流小的多。另3外,

2、CHMOS器件比HMOS器件多了两种节电的工作方式(掉电方式和待机方式),常用于构成低功耗的应用系统。按片内不同容量的存储器配置划分,可以分为51子系列和52子系列单片机。51子系列单片机最后一位数字以“1”作为标志,片内带有4KB ROM/EPROM、128B RAM、两个16位定时器/计数器和5个中断源等;52子系列单片机最后一位数字以“2”作为标志,片内带有8KB ROM/EPROM、256B RAM、3个16位定时器/计数器和6个中断源等。4外,CHMOS器件比HMOS器件多了两种节电的工作方式(掉电方式和待机方式),常用于构成低功耗的应用系统。(2)按片内不同容量的存储器配置划分,可

3、以分为51子系列和52子系列单片机。51子系列单片机最后一位数字以“1”作为标志,片内带有4KB ROM/EPROM、128B RAM、两个16位定时器/计数器和5个中断源等;52子系列单片机最后一位数字以“2”作为标志,片内带有8KB ROM/EPROM、256B RAM、3个16位定时器/计数器和6个中断源等。52. 512. 51单片机的兼容性单片机的兼容性MCS-51系列单片机以优异的性价比使它从面世以来就获得了广大用户的认可,Intel公司把这种单片机的内核,即8051内核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips等。这些公司在保持与8051单片机兼容的基础

4、上,改造了8051单片机的许多性能。例如,80C51单片机就是在8051的基础上发展起来的更低功耗的单片机,两者外形完全相同,其指令系统、引脚信号、总线等也都完全相同,其指令系统、引脚信号、总线等也都完全一致。也就是说,6在8051下开发的软件完全可以在80C51上应用。80C51系列单片机也包含多个品种,其中AT89C51单片机近年来在我国非常流行。然而,由于89C51不支持在线更新程序功能,在市场化方面受到限制。在此背景下,89S51开始取代89C51。3.3.单片机的外形及内部组成单片机的外形及内部组成如图2.1所示为AT89S51单片机的外形。它有40个引脚,内部集成了CPU、存储器和

5、输入/输出接口电路,其引脚排列如图2.2所示。78MCS-51的内部结构如图1.3所示。下面介绍各个组成部分的基本功能。9(1)中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。它的结构非常复杂,但由于采用C语言设计程序,在编写程序时无须过多的了解它的结构和原理。MCS-51单片机的CPU能处理8位二进制数或代码的运算。(2)内部数据存储器(128 RAM)MCS-51芯片中共有256个RAM单元。其中,后128个单元被专用寄存器占用,通常称为特殊功能存储器。供用户使用的寄存器只有128个单元,用于存放可读/写的数据。因此通常所说的内部数据存储器是指前128个单元,简称内部RA

6、M。10常所说的内部数据存储器是指前128个单元,简称内部RAM。(3)内部程序存储器(4K ROM)MCS-51共有4KB 的掩膜ROM,用于存放程序或原始数据,因此成为程序存储器,简称内部ROM。(4)定时/计数器MCS-51共有两个16位定时/计数器,以实现定时或计数功能,并以定时或计数结果对计算机进行控制。(5)可编程I/O口MCS-51共有4个8位的I/O口(P0、P1、P2、P3),通过11编写程序可以实现数据的并行输入/输出,从而实现接收外部信号或输出控制信号。(6)串行接口MCS-51单片机有一个全双工的串行口,以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可以

7、作为全双工异步通信收发器使用,也可以作为同步移位器使用。(7)中断控制系统 当CPU执行正常的程序时,如果收到一个中断请求(如12定时时间到,需要鸣笛报警),中断控制系统马上会让CPU停止正在执行的程序,转而去执行程序存储器ROM中特定的某段程序,执行完成该段程序后再继续执行先前中断的程序。MCS-51单片机共有5个中断源,即两个外中断源、两个定时/计数中断源和一个串行中断源。(8)时钟电路 时钟电路产生时钟信号送给单片机内部各电路,以控制这些电路,使它们有节拍地工作。时钟信号频率越高,内部电路工作速度越快。132.2 单片机应用系统的结构及其工作过程 1.系统结构 单独一块单片机集成电路是无

8、法工作的,必须添加一些外围电路,构成单片机应用系统才能工作。如下图所示是基于单片机的抢答器结构简图。按下按键S,发光二极管VD1点亮,同时蜂鸣器SPK发出声音。从图中可以看出,一个典型的单片机应用系统应该包括输入电路、单片机和输出电路。14152.工作过程下面以上图抢答器的单片机控制电路为例,介绍单片机应用系统的工作过程。当按下抢答键S后,按钮接地,发光二极管VD1亮。同时,单片机输入低电平,经单片机内部的数据传输后,马上输出控制信号(这里为低电平),该信号经过R2送到驱动三极管的基极,三极管导通,有电流通过蜂鸣器,蜂鸣器发声。一旦松开抢答键,单片机输入信号为高电平,经过内部数据传输,马上输出

9、高电平,三极管截止,蜂鸣器停止发声。16 对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,亦或接受外部的控制,都是通过I/O口进行的。单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。17实例4:用单片机控制一个灯闪烁 本实例通用单片机控制一个灯(发光二极管)闪烁的实例来介绍单片机的工作频率电路图如下图所示。 (1)实现方法P1.0输出低电平,使VD1正向偏置,就会点亮发光二极管LED;P1.0输出高电平时,LED就熄灭。如果P1.0输出电平

10、在高低电平之间不停转换,则LED会产生闪烁。也就是说先点亮LED一段时间之后,再熄灭LED等,再延时一段时间后点亮LED等,如此反复。1819 (2)程序设计20 (3)软件仿真 启动软件仿真后,将示波器输入端A连接在P1.0引脚上,观察输出电平的变化。 为了研究单片机工作频率对闪烁速度的影响,将单片机的晶振改为“2MHz”后启动仿真,可以看到闪烁频率变慢。 (4)延时程序分析 为什么单片机时钟频率(工作频率)的改变会引起灯闪烁速度的变化?弄清楚这个问题很重要。 单片机需要一个时钟信号送给内部各电路,才能使它们2122实例5:将P1口状态送入P0、P2和P3口 本实例通过一个将P1口状态送入P

11、0、P2和P3口的实例,介绍单片机的输入/输出的基本结构和使用方法。本例采用的电路原理图如图3.1所示.要求当按下按键S时,发光二极管VD0VD3均被点亮;松开按键S时,VD0VD3均被熄灭。 (1)实现方法利用单片机工作速度快的特点,通过编程设置一个无限循环,让单片机不停地把P1口的电平状态送到P0、P2和P3口。在按下按键S时,P1.7引脚的灯被点亮的瞬间,P0.7引脚、P2.7引脚和P3.7引脚的三个灯也接着被点亮。23XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0

12、.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R3470RVCCR2470RR1470RD3D2D1VCCR0470RD0S24 (2)程序设计25 (3)口的状态被送到了P0口,

13、所以P1口还具有输出功能。同样的,P0、P2和P3口也有类似的输入/输出功能。26下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚一、一、P0P0口的结构口的结构271 1、P0P0口作为口作为普通普通I/OI/O口口输出时输出时CPU发出控制电平“0 0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开

14、关MUX把锁存器与输出D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚28驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚29 输入时输入时-分分读引脚读引脚或或读锁存器读锁存器读引脚:读引脚:由传送指令由传送指令(MO

15、VMOV)实现;实现; 下下面一个缓冲器用于读端口面一个缓冲器用于读端口引脚引脚数据,当执行一条数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。这样端口引脚上的数据经过缓冲器读入到内部总线。D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚30D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引

16、口引脚脚 输入时输入时-分分读引脚读引脚或或读锁存器读锁存器读锁存器:读锁存器:有些指令有些指令 如:如:ANL P0ANL P0,A A称为称为“读读- -改改- -写写” ” 指令,需要读锁存器。指令,需要读锁存器。 上上面面一个缓冲器用于读端口一个缓冲器用于读端口锁存器锁存器数据。数据。31*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*D Q

17、CLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚32P0iQ19013VCCGNDOUTPUT33D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向

18、口。 34D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。 35 CPUCPU发出控制电平发出控制电平“1 1”,打开,打开“与与”门,又使多路开门,又使多路开关关MUXMUX把把CPUCPU的的地址地址/ /数据总线数据总线与与T2T2栅极

19、反相接通栅极反相接通,输出地,输出地址或数据。址或数据。由图上可以看出,上下两个由图上可以看出,上下两个FETFET处于反相,构处于反相,构成了推拉式的输出电路,其负载能力大大增强。成了推拉式的输出电路,其负载能力大大增强。D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚36 P0P0引脚引脚输出地址输出地址/ /输入数据输入数据 输入信号是从引脚通过输入缓冲器进入输入信号是从引脚通过输入缓冲器进入内部总线内部总线。 此时,此时,CPUCPU自动使自动使MUXMUX向下,并向向下,并向P0

20、P0口写口写“1”1”,“读读引脚引脚”控制信号有效,下面的缓冲器打开,外部数据读入控制信号有效,下面的缓冲器打开,外部数据读入内部总线。内部总线。-真正的双向口D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚37二、二、P2P2的内部结构的内部结构1.P21.P2口作为口作为普通普通I/OI/O口口D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚CPUCPU发出控制电平发出控制电平“0” 0” ,使多路开关,使

21、多路开关MUXMUX倒向锁存倒向锁存器器输出输出Q Q端,构成一个准双向口。其功能与端,构成一个准双向口。其功能与P1P1相同。相同。38 2.P22.P2口作为口作为地址总线地址总线 在系统扩展片外在系统扩展片外程序存储器程序存储器扩展数据存储器且容量超过扩展数据存储器且容量超过256B 256B ( (用用MOVX DPTRMOVX DPTR指令指令) )时,时,CPUCPU发出控制电平发出控制电平“1 1”,使多路,使多路开关开关MUXMUX倒倒内部地址线内部地址线。此时,。此时,P2P2输出高输出高8 8位地址。位地址。D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁

22、存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚39三、三、P1P1口、口、P3P3口的内部结构口的内部结构 P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。D QD QCLK QCLK QP1.nP1.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚VCCRT TP1口引脚40D QD QCLK QCLK QP3.nP3.n读读锁存器锁存器内部总线内部总线写锁存器写锁存器读读引脚引脚VCCRT TP3口引脚第二第二输入功能输入功能第二第二输出功能输出功能作为通用I/O口与P1口类似-准双向口(W=1)W41D QD QCLK

23、QCLK QP3.nP3.n读读锁存器锁存器内部总线内部总线写锁存器写锁存器读读引脚引脚VCCRT TP3口引脚第二第二输入功能输入功能第二第二输出功能输出功能第二功能(Q=1)此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。W42第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制43444546473.5 MCS-513.5 MCS-51单片机存储器的基本结构单片机存储器的基本结构 MCS-51单片机有两种存储器,即程序存储器和数据存储器。程序存储器用来存储编入的程序;而数据存储器用来存放单片机工作时用到的一些临时数据。 从物理地址空间来看,MCS-51有四个存储地址空间,即片内程序存储器和片外程序存储器,以及片内数据存储器和片外数据存储器。3.5.1 3.5.1 程序存储器程序存储器 对单片机进行编程时,一般现在计算机中用软件编写程序,再通过编程器将编好的程序写入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论