基于8051单片机的流水灯设计

2026/4/24 21:13:58

MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz。

从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。 2.1.2 8051的信号引脚

MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图2.1。

图2.1 MCS-51 引脚图、逻辑符号图

下面按其引脚功能分为四部分叙述这40条引脚的功能。

(1) 主电源引脚VCC和VSS: VCC——(40脚)接+5V电压; VSS——(20脚)接地。

(2) 外接晶体引脚XTAL1和XTAL2: XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,此引脚应接地; XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端。

(3) 控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP

①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。

7

VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。 ②ALE/PROG(30脚):在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来 ,以实现低位地址和数据的分时传送。 ③PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。 ④EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。 (4) 输入/输出(I/O)引脚P0、P1、P2、P3(共32根) ①P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用。 ②P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。 ③P2口(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。 ④P3口(10脚至17脚):是准双向8位I/O口, 作为第二功能使用时,各引脚的定义如表所示。 值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。 口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 引脚 10 11 12 13 14 15 16 17 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写脉冲) RD(外部数据存储器读脉冲) 表 P3各口线的第二功能定义 8

2.2 晶体振荡电路

1. 时钟信号的产生

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2 。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图2.1所示。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。一般地,电容C1和C2取30 pF左右,晶体的振荡频率范围是1.2~12 MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。MCS-51在通常应用情况下,使用振荡频率为6 MHz或12 MHz。

8051XTAL1C1晶振1C2XTAL2至内部时钟电路

图3.3 时钟振荡电路

2. 时序

时序是用定时单位来说明的。MCS-51的时序定时单位共有4个,从小到大依次是:节拍、状态、机器周期和指令周期。下面分别加以说明。

1) 节拍与状态

把振荡脉冲的周期定义为节拍(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期,其定义为状态(用S表示)。

这样,一个状态就包含两个节拍,具前半周期对应的拍节叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。

2) 机器周期

MCS-51采用定时控制方式, 因此它有固定的机器周期。规定一个机器周期

9

的宽度为6个状态,并依次表示为S1~S6。由于一个状态又包括两个节拍,因此,一个机器周期总共有12个节拍,分别记作S1P1、S1P2、?、S6P2。由于一个机器周期共有12个振荡脉冲周期, 因此机器周期就是振荡脉冲的十二分频。

当振荡脉冲频率为12 MHz时,一个机器周期为1μs;当振荡脉冲频率为6 MHz时,一个机器周期为2μs。本设计采用的晶振频率为12MHz。

3) 指令周期

指令周期是最大的时序定时单位, 执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,等等指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令执行速度越快。

单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。ALE引脚上出现的信号是周期性的,在每个机器周期内出现两次高电平。第一次出现在S1P2和S2P1期间,第二次出现在S4P2和S5P1期间。ALE信号每出现一次,CPU就进行一次取指操作,但由于不同指令的字节数和机器周期数不同,因此取指令操作也随指令不同而有小的差异。

2.2 上电复位电路

复位是单片机的初始化操作,其主要红能是把程序计数器PC内容初始化为0000H,也就是使单片机从0000H单元开始执行程序,同时使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。8051单片机采用两种复位方式:一种是加电自动复位,另一种为开关复位。

单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图3.4(a),(b)所示。图3.4(a)为上电复位电路,它是通过外部复位电路的电容充电来实现的。在电源Vcc的上升时间不超过1ms就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。在接电瞬间,RESET端的电位与VCC相同,随着充电

10


基于8051单片机的流水灯设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于8051单片机的流水灯设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219