存取时,用以锁住地址的低位地址,即P0口输出。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时,P0口上的内容和锁存器输出一致。关于锁存器的内容,我们稍后也会介绍。在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。从这里我们可以看到,当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。PORG为编程脉冲的输入端:在第五课 单片机的内部结构及其组成中,我们已知道,在8051单片机内部有一个4KB或8KB的程序存储器
(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。
PSEN外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。 1、内部ROM读取时,PSEN不动作;
2、外部ROM读取时,在每个机器周期会动作两次; 3、外部RAM读取时,两个PSEN脉冲被跳过不会输出; 4、外接ROM时,与ROM的OE脚相接。
参见图2—(8051扩展2KB EEPROM电路,在图中PSEN与扩展ROM的OE脚相接)
EA/VPP访问和序存储器控制信号 1、接高电平时:
CPU读取内部程序存储器(ROM)
扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。
2、接低电平时:CPU读取外部程序存储器(ROM)。在前面的学习中我们已知道,8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。
3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压。 RST复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。
XTAL1和XTAL2 :外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 VCC:电源+5V输入 VSS:GND接地。
P0口 作为通用I/O和地址数据总线使用
P1口 是8位锁存器组成的特殊功能寄存器,它是通用的输入输出接口,有三种工作方式 输入输出和端口
P2口 可作为通用I/O口也可作为单片机扩展时候的地址总线 P3口 除了可作为通用I/O口外,还具有第二功能 如P3.0 RXD(串行输入通道)P3.1 TXD(串行输出通道) RS—232工作原理
上位机、下位机的接口,中间的电平转换电路。该系统采用三线制,独占MCU串口方式。RS-232它广泛地被借来用于计算机的数据发送和接受(更准确的说,是计算机接口与终端或外设之间的近端连接标准)。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,双方都能发送和接收。 大多数的PC机为串口使用一个9针插入式D-sub连接器。这些串口只包9个信号。这个较小的连接器可为PC机在扩展卡的后部面板上的其他连接器留出了更多的空间。这个连接器也被称作DE-9,E表示这个外壳的大小。有些资料将它称作DB-9,9针连接器有不同的命名,尤其是对25针连接器上的1-9针上的信号。容易混淆的是2和3是颠倒的,2为RD,而3为TD。
端口说明(PC机部分)
PC机上的串行口是9针公插座,引脚定义为: 1 CD 载波检测DCD 2 RXD 接受数据
3 TXD 发送数据 4 DTR 数据终端就绪 5 GND 信号地
6 DSR 数据装置就绪 7 RTS 请求发送 8 CTS 清除发送 9 RI 振铃指示
RS-232连接方式 最简单的是用3根导线连接。连接交换RD和TD线,因此每个TD连接到对应的RD。如 果设备不使用硬件握手,这样就可以完成通信。 复位电路
计算机在启动运行时都需要复位,复位使中央处理器CPU和系统的其他器件都处于一种初始状态,并从这个初始状态开始工作,MCS-51系列单片机有一个复位引脚RST。输入一个高电平信号,该高电平信号至少要维持两个机器周期(或者24个时钟周期)以上的时间,单片机被复位,为了可靠复位,复位时间一般在10MS以上,当RST引脚变为低电平时,单片机退出复位,CPU从初始状态开始工作。这里的设计中我采用上电自动复位电路,在RST复位引脚端接一个电容至+5V和一个电阻至地端,实现上电自动复位。在加电瞬间,电容通过电阻充电,就在RST上出现一定时间的高电平,高电平时间足够长就能使单片机有效的复位。 电源电路
8051单片机采用电源电压5V,它的最高上限电压为5.5V。为了避免CPU工作不稳定,经常使用稳压器对给入CPU的电源电压进行稳压以达到使单片机正常工作的目的
3)振荡电路
CPU的指令执行是靠机器周期进行存取的,因此CPU的正常工作离不开稳定的振荡频率,由于石英晶振频率稳定,常采用12MHZ的石英晶振作为单片机的振荡器使用
单片机串口通信
MCS-51的串行通信口
MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。下面我们分别介绍。
基本概念
数据通信的传输方式
常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。 半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。
全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。
多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资 源共享功能,我们盛之为多工传输方式。
串行数据通信两种形式 异步通信
在这种通信方式中,接收器和发送器有 各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位,图2是传输45H的数据格式。 同步通信
同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。
同步传输方式比异步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。 串行数据通信的传输速率
串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数—波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。 串行口控制寄存器
MCS-51单片机串行口寄存器结构如图3所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送