(4)EAVPP:片外ROM允许访问端/编程电源端。
3.2 89C51单片机复位电路
单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。
89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位.复位后,PC程序计数器的内容为0000H,片内RAM中内容不变.复位电路一般有上电复位和上电∕按键手动复位2种,如图3.3所示。本设计中复位方式采用上电∕按键手动复位方式。
上电复位 上电∕按键手动复位
图3.3 单片机复位电路
3.3 时钟电路
单片机的晶振电路,即所谓的时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟方式分为内部时钟方式和外部时钟方式,如图3.4所示。单片机的外部时钟方式由外接时钟源提供,频率范围较广。单片机的内部时钟方式由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,频率范围有限,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz。本系统采用11.0592MHz晶振,电容选22pF或30pF均可。本系统采用内部时钟方式电路。
图3.4 时钟电路
3.4 键盘接口电路
在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指
7
令等输入到系统中,来实现简单的人机通信。
本设计中采用独立式键盘。独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。如图3.5所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路。
在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。
D[0...7]+5P1.0P1.1P1.2P1.3P1.4P1.5(MOS2)P1.6(MISO)P1.7(SCK)P3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)P3.4(T0)P3.5(T1)P3.6(WR)P3.7(RD)P2.0(A8)P2.1(A9)P2.2(A10)P2.3(A11)P2.4(A12)P2.5(A13)P2.6(A14)P2.7(A15)P0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)1234567891011121314151617181920212223242526272829303132D0D1D2D3D4D5D6D712345678R1~81615141312111090.3KR90.3KD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D712345678S1~8161514131211109SW-DIP8S933XTAL134XTAL2设置时间初值35ALE/PROG3637EA/VPPPSEN判断是否设置初值38RST39VCC40GNDAT89C51 图3.5 键盘接口电路
单片机接口与对应的数值功能见表3.1。
表3.1 接口与对应的数值功能表 P3.1 1 P1.7 * P1.6~P1.0 * 00H 01H ...... 63H 设置红灯初值 否 设置绿灯初值 否 0 1 ...... 99 0 0 否
8
00H 1 01H ...... 63H 0 1 ...... 99 否 当S9按下时P3.1为低电平,设置初值(当S8按下时设置设置绿灯初值,当S8断开时设置红灯初值);当S9断开时,不重新设置红绿灯初值。
3.5 8255A与74LS373简介
3.5.1 8255A简介
(1)8255A可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入[12]。引脚图如图3.6所示。
图3.6 8255A引脚图
8255A可编程并行接口芯片方式控制字格式说明:
8255A有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述。
方式控制字格式说明见表3.2。
表3.2 方式控制字格式
D7 D6 D5 D4 D3 D2 D1 D0 D7:设定工作方式标志,1有效。 D6、D5:A口方式选择。 00—方式0 01—方式1 1×—方式2
D4:A口功能(1=输入,0=输出)。
D3:C口高4位功能(1=输入,0=输出)。 D2:B口方式选择(0=方式0,1=方式1)。 D1:B口功能(1=输入,0=输出)。
9
D0:C口低4位功能(1=输入,0=输出)。
8255A可编程并行接口芯片工作方式说明:
方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。
方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。
方式2:双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。
(2)8255A常用于8051并行口的扩展。8051虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8051通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/O端口,显然8051的端口是不够,需要扩展。 扩展的方法有两种:1)借用外部RAM地址来扩展I/O端口;2)采用I/O接口芯片来扩充。我们用8255A并行接口芯片来扩展I/O端口。
(3)8255A与AT89C51的连接:
用AT89C51的P0口的p0.7连接8255的片选信号CS我们用89C51的地址采用全译码方式,当P0.7=0时片选有效,其他无效,P0.1,P0.0用于选择8255端口。
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 A7 A6 A5 A4 A3 A2 A1 A0
0 X X X X X 0 0 00H为8255 的PA口 0 X X X X X 0 1 01H 为8255的PB口
0 X X X X X 1 0 02H 为8255的PC口 0 X X X X X 1 1 03H 为8255的控制口
由于89C51是分时对8255和储存器进行访问,所以与89C51的P0口不会发生冲突。 3.5.2 74LS373简介
74LS373是一种带三态门的8D锁存器,本设计应用74LS373作为89C51的P0口地址锁存器,其管脚示意图如图3.7所示。
图3.7 74LS373引脚
其中:1D-8D为8个输入端。 1Q-8Q为8个输出端。
C为数据打入端:当C为“1”时,锁存器输出状态同输入状态;当C由“1”变“0”时,数据打入锁存器。
OC为输出允许端:当OC=0时,三态门打开;当OC=1时,三态门关闭,输出高阻。
10
3.6 八段LED数码管显示电路
LED数码管显示器是由发光二极管显示字段的MCS-51单片机输出设备。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dp,即点)。单片机应用系统常采用八段LED数码管作为显示器,这种显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点
[16]
。因此应用比较广泛。
LED数码管显示器可以分为共阴极和共阳极两种结构。
(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图3.8所示。本设计中采用这种结构。
(2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图3.8所示。
abcdefghD1D2D3D4D5D6D7D8+5V共阳极abcdefghD1D2D3D4D5D6D7D8共阴极
图3.8 八段LED显示器
LED灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形。以共阴极结构为例,如dp,g,f,e,d,c,b,a管角上加上7FH,因此dp上为0v,则二极管全亮显示为8。采用共阴极连接驱动代码,代码见表3.3。
表3.3 驱动代码表
显示数值 0 1 2 3 4 5 dp g f e d c b a 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0 驱动代码(16进制) 3FH 06H 5BH 4FH 66H 6DH
11