北京化工大学北方学院毕业设计(论文)
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写入“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流,这是内部上拉的缘故。P2口可以用作通用I/O口外接I/O设备,也可以作为扩展系统的高八位地址总线使用,由CPU的控制信号控制模拟转换开关MUX来实现。当控制信号为低电平时,MUX拨向下方,P2口为通用I/O口,作用与P1口相同;当控制信号为高电平时,MUX拨向上方,P2口作为地址总线使用,端口输出高8位地址信号。在FLASH编程和校验时接收高八位地址信号和控制信号。在本设计中,P2口被用作模数转换器ADC0804和八位D型锁存器54ACT573W的控制端口。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收并输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。1作为输入,由于外部下拉为低电平,P3口将输出电流(ILL),这是被上拉的缘故。P3口有两个功能:第一功能是作通用I/O口,第二功能是作CPU的控制信号。P3口作通用I/O口输出时,其工作原理同P1口类似,但第二功能信号线应维持高电平“1”,使输出驱动电路的与非门与输出锁存器的Q端始终是畅通的。当P3口输出第二功能信号时,输出锁存器为“1”状态,使与非门输出由第二功能信号线的状态来决定,从而实现第二功能信号的输出。
P3口无论是作通用输入口还是作第二功能输入口,其输出锁存器和第二输出功能线都应保持高电平。在P3口线的输入通道上增加了一个缓冲器3,通用输入信号取自原缓冲器2(与P0口位置相同)的输出(读引脚),第二功能输入信号取自增加的缓冲器3的输出端。P3口的第二功能详见表2.2。P3口同时为闪烁编程和编程校验接收一些控制信号。在本设计中,P3口的某些端子起到了第一功能,还有一些端子起到了第二功能,主要是用于中断请求、中断响应的。
引脚 P3.0 P3.1 P3.2 12
表2.2 P3口第二功能2
第二功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断0) 摘自张毅刚《单片机原理与应用设计》. 摘自王迎旭《单片机原理与应用》.
16
北京化工大学北方学院毕业设计(论文)
续表 P3.3 P3.4 P3.5 P3.6 P3.7 /INT1(外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通)
RST:复位信号输入引脚。当振荡器复位器件时,要保持RST引脚两个机器周期的高电平时间。
ALE和/PROG:地址锁存允许信号和编程脉冲输入端。当CPU访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外输出的时钟或用于定时目的。然而有一点比较特殊:每当微处理器访问外部数据存储器时要跳过一个ALE脉冲,置位无效。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时才起作用。与此同时,该引脚被略微拉高。在本设计中,该管脚处于悬空状态。
/PSEN:外部程序存储器的读选通信号,低电平有效。单片机在访问外部程序存储器时,/PSEN在每个机器周期内两次有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/PSEN同样可以驱动8个LSTTL电路。
/EA和/VPP:内部ROM与外部ROM选择端和编程电压输入端。当/EA保持低电平时,则在此期间CPU访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当为加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,CPU访问内部程序存储器(PC地址小于4kB),但当PC值超过0FFFH时,将自动转去执行外部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:内部振荡电路的反相放大器的输入端,接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。
XTAL2:内部振荡电路的反相放大器的输出端,接外部晶振和微调电容的另一端。使用外部时钟时,对HMOS型工艺的单片机而言,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。
17
北京化工大学北方学院毕业设计(论文)
(4)振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。其余输入至内部的时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。在本设计中,在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如图2.6所示。
图2.6 单片机的时钟电路
(5)芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平,需要10ms 来完成。在芯片擦操作中,代码阵列全部被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,单片机保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.3.3单片机的工作原理
在本设计中,单片机的四个并行I/O口的具体作用如下:P3口与量程选择电路中的4路开关相连,单片机可以通过位查询或中断指令判断被测电压所属量程;P1口与模数转换器ADC0804相连,P1口的八位作为单片机的输入端口,ADC0804将转换后的数字电压通过数据总线传至P1口;单片
18
北京化工大学北方学院毕业设计(论文)
机通过一系列数据处理,将BCD码转换为四位数码管的段码,通过P0口输出,该段码可以使LED发光数码管上显示出被测电压的字符;单片机的P2口一共用到了五位,其中P2.0口向模数转换器ADC0804输入片选信号,P2.1口和P2.2口分别向ADC0804输入读使能和写使能信号,P2.6口和P2.7口分别控制八位D型锁存器54ACT573W,该锁存器直接驱动四位数码管,其中P2.6口属于段控,即控制每一个数码管的各段显示,P2.7口属于位控,即选中四位数码管中的其中一个。
第2.4节 电压显示电路
在本设计中,单片机需要将CPU处理后的数字量再次转换为人们易于接受的数字电压值(在0~5V内,该值与模拟电压值近似相等),并且通过简易的显示装置显示出来。这种显示装置是由LED数码管电路组成的。
(1)LED数码管电路及工作原理
7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛。
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如图2.7所示。图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字。
19
北京化工大学北方学院毕业设计(论文)
图2.7 数码管原理
(2)四位数码管
本设计使用的是四位数码管,内部的4个数码管共用a-dp这8根数据线,为人们的使用提供了方便。因为里面有4个数码管,所以它有4个公共端,加上a-dp,共有12个引脚。四位数码管也有共阴极和共阳极之分,共阳极的是为选线为高电平,段选线为低电平;共阴极的是为选线为低电平,段选线为高电平。具体到本设计的硬件连接电路中,采用的是四位共阳数码管,其内部逻辑图与实物引脚图分别如图2.8、图2.9所示。
管脚顺序:从数码管的正面观看,以第一脚为起点,管脚的顺序是逆时针方向排列。12—9—8—6—公共脚
A—11 B—7 C—4 D—2 E—1 F—10 G—5 DP—3
图2.8 四位共阳数码管内部逻辑图
20