靳琳:数字频率计的设计
来决定。INH是禁止端,当“INH”=1时,各通道均不接通。
CD4051实物如图2.1.41所示:
图2.1.41 CD4051实物图 Figure2.1.41 The true thing of CD4051
CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流信号。
CD4051的真值表如下表5:
表5 CD4051的真值表 Tablet.5 True table of CD4051
INH 0 0 0 0 0 0 0 0 1
C 0 0 0 0 1 1 1 1 X
B 0 0 1 1 0 0 1 1 X
A 0 1 0 1 0 1 0 1 X
输出 “0” “1” “2” “3” “4” “5” “6” “7” 均不接通
若模拟开关的供电电源VDD=+5V,VSS=0V,当VEE=-5V时,只要对此模拟开关施加0~5V的数字控制信号,就可控制幅度范围为-5V~+5V的模拟信号。使用十六
10
辽宁工程技术大学毕业设计
进制代码就可以对CD4051进行操作了。比如说P1=0X07,这样CD4051就选择的是7号(二进制111)通道了。当VEE=-5V时,就可控制幅度范围为-5V~+5V的模拟信号。当Vee=-8V时,就可以可控制幅度范围为-8V~+5V的模拟信号。Vee就是电子开关的8个输入端可以允许的信号范围下限。注意不要超过它的极限参数,峰-峰值达15V。
2.1.5 AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性: 1) 与MCS-51兼容
2) 4K字节可编程FLASH存储器; 3) 寿命:1000写/擦循环; 4) 数据保留时间:10年; 5) 全静态;
6) 工作:0Hz-24MHz; 7) 三级程序存储器锁定; 8) 128×8位内部RAM; 9) 32可编程I/O线;
10) 两个16位定时器/计数器; 11) 5个中断源; 12) 可编程串行通道;
13) 低功耗的闲置和掉电模式; 特性概述:
AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,
11
靳琳:数字频率计的设计
片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
引脚功能:
VCC:供电电压;GND:接地;
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流,当P0口的管脚第一次写1时,被定义为高阻输入,P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻;
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流,P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收;
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,并因此作为输入时,P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故,P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号;P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号;
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间; ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在闪存编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE
12
辽宁工程技术大学毕业设计
的输出可在特殊功能寄存器8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期
两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现;
EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管
是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在闪存编程期间,此引脚也用于施加12V编程电源;
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入; XTAL2:来自反向振荡器的输出;
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
表6 P3口的一些特殊功能
Tablet.6 Special function table of AT89C51 口管脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
备选功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1 (外部中断1)
T0(计时器0外部输入) T1(计时器1外部输入) WR(外部数据存储器写选通)
RD(外部数据存储器读选通)
振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无
13
靳琳:数字频率计的设计
任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯EA、PSEN单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。在串行口收发中,都只是使用到同一个寄存器SBUF而不是收发各用一个寄存器。SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF=0x99;当然你也可以用其它的名称。通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。它的各个位的具体定义如下:
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行工作模式设置。
SM2在模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。
14