单片机第8章 AT89S51单片机串行通信技术

合集下载

AT89S51单片机介绍

AT89S51单片机介绍

2007年12月11日星期二 08:45AT89C2051是精简版的51单片机,精简掉了P0口和P2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个I/O口,用AT89C2051更合适,芯片体积更小,而且AT89C2051的工作电压最低为2.7V,因此可以用来开发两节5号电池供电的便携式产品。

本文以ATMEL公司生产的51系列家族的AT89S51和AT89C2051两种单片机来讲解,两种单片机是目前最常用的单片机,其中AT89S51为标准51单片机,当然其功能比早期的51单片机更强大,支持ISP在系统编程技术,内置硬件看门狗。

一、AT89S51单片机引脚介绍AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构下图。

芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4。

40,其中芯片的1脚顶上有个凹点(见右图)。

在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线2、外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端3、控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

4、可编程输入/输出引脚(32根)AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

AT89S51系列单片机的特点(AT89S51引脚功能及应用电路)

AT89S51系列单片机的特点(AT89S51引脚功能及应用电路)

AT89S51系列单片机的特点(AT89S51引脚功能及应用电路)AT89S51概述AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

AT89S51性能参数1、4k Bytes Flash片内程序存储器;
2、128 bytes的随机存取数据存储器(RAM);
3、32个外部双向输入/输出(I/O)口;
4、2个中断优先级、2层中断嵌套中断;
5、5个中断源;
6、2个16位可编程定时器/计数器;
7、1个全双工串行通信口;
8、看门狗(WDT)电路;
9、片内振荡器和时钟电路;
10、与MCS-51兼容;
11、全静态工作:0Hz-33MHz;
12、三级程序存储器保密锁定;
13、可编程串行通道;
14、低功耗的闲置和掉电模式。

AT89S51引脚及功能VCC:电源电压输入端。

GND:电源地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,。

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍AT89S51单片机串行口的内部结构如下图所示。

它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。

发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。

串行口的控制寄存器共有两个:特殊功能寄存器SCON 和PCON。

下面介绍这两个特殊功能寄存器各位的功能。

1、串行口控制寄存器SCON串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。

SCON的格式如下图所示。

下面介绍SCON中各位的功能。

(1) SM0、SMl:串行口4种工作方式选择位。

SM0、SM1两位的编码所对应的4种工作方式见下表。

表串行口的4种工作方式(2) SM2:多机通信控制位。

因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3中。

当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才使RI置l,产生中断请求,并将接收到的前8位数据送人SBUF;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。

而当SM2=0时,则不论第9位数据是l还是0,都将前8位数据送入SBUF中,并使RI置1,产生中断请求。

在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。

在方式0时,SM2必须为0。

(3)REN:允许串行接收位。

由软件置1或清0。

REN=1,允许串行口接收数据。

REN=O,禁止串行口接收数据。

(4)TB8:发送的第9位数据。

在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置l或清O。

在双机串行通信时,TB8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。

(5) RB8:接收的第9位数据。

工作在方式2和方式3时,RB8存放接收到的第9位数据。

电脑与AT89S51单片机串口通信的51端程序 LCD显示

电脑与AT89S51单片机串口通信的51端程序 LCD显示

电脑与AT89S51单片机串口通信的51端程序要求在电脑上运行串口调试助手软件,在发送框输入字符,点击发送后,在下位机51系列单片机上接受并送到液晶1602上显示,求下位机的编程,实现接收PC发来的数据并在让它在1602液晶上显示.#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};uchar data RXDdata[ ] = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20 };uchar temp,buf,m,count;bit playflag=0;uchar code cdis1[ ] = {" SERILA TRANFER "};uchar code cdis2[ ] = {" "};/**********************************************************延时子程序**********************************************************/void delay1(uint ms){uchar k;while(ms--){for(k = 0; k < 120; k++);}}/******************************************************************//*检查LCD忙状态*//*lcd_busy为1时,忙,等待。

51单片机串口通信

51单片机串口通信

一、串口通信原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。

由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。

串口通信的工作原理请同学们参看教科书。

以下对串口通信中一些需要同学们注意的地方作一点说明:1、波特率选择波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。

MSC-51串行端口在四种工作模式下有不同的波特率计算方法。

其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。

在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。

在此模式下波特率计算公式为:波特率=(1+SMOD)*晶振频率/(384*(256-TH1))其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。

在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。

这要根据系统的运作特点,确定通信的频率范围。

然后考虑通信时钟误差。

使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。

为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。

下面举例说明波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。

则TH1=256-62500/波特率根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,19200。

列计数器重载值,通信误差如下表:因此,在通信中,最好选用波特率为1200,2400,4800中的一个。

2、通信协议的使用通信协议是通信设备在通信前的约定。

单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。

假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:0xA1:单片机读取P0端口数据,并将读取数据返回PC机;0xA2:单片机从PC机接收一段控制数据;0xA3:单片机操作成功信息。

单片机原理及接口技术AT89S51单片机系统的串行扩展

单片机原理及接口技术AT89S51单片机系统的串行扩展

单片机原理及接口技术AT89S51单片机系统的串行扩展在单片机系统中,为了扩展其功能和使用,需要与其他外部设备进行通信。

串行通信是一种常见的通信方式,它通过将数据逐位地进行传输和接收。

AT89S51单片机具有多种功能引脚,可以用来实现串行扩展。

包括UART串口、SPI接口和I2C总线等。

UART串口是一种常用的串行通信接口,它使用两根引脚(TXD和RXD)进行数据传输。

在AT89S51单片机中,可以使用其内置的UART模块来实现串行扩展。

首先,需要设置串口的波特率、数据位、停止位和校验位等参数。

然后,在程序中通过读写串口数据寄存器来进行数据的传输和接收。

SPI接口是一种全双工的串行通信接口,它使用四根引脚(SCLK、MISO、MOSI和SS)进行数据的传输和接收。

在AT89S51单片机中,可以使用其内置的SPI模块来实现串行扩展。

首先,需要设置SPI的工作模式、数据位、时钟极性和相位等参数。

然后,在程序中通过读写SPI数据寄存器来进行数据的传输和接收。

I2C总线是一种双向的串行通信总线,它使用两根引脚(SDA和SCL)进行数据的传输和接收。

在AT89S51单片机中,可以通过软件实现I2C总线的功能。

首先,需要设置I2C的时钟频率和器件地址等参数。

然后,在程序中通过控制I2C总线的起始、停止、发送和接收来进行数据的传输和接收。

串行扩展可以实现单片机与其他外设的数据交互,包括和PC机的通信、与传感器的连接等。

通过串行扩展,单片机能够实现更复杂的功能和应用。

在编程过程中,需要合理地使用串口、SPI接口和I2C总线等技术,根据具体的应用需求选择合适的通信方式。

总之,单片机原理及接口技术是一种重要的扩展技术,可以极大地增强单片机的功能和使用。

在AT89S51单片机系统中,串行扩展是一种常见的技术。

通过合理地使用UART串口、SPI接口和I2C总线等技术,可以实现单片机与其他外设的数据交互,进而实现更复杂的功能和应用。

51单片机串口通信程序。。含详细例子

51单片机串口通信程序。。含详细例子

{ P3_4=0; P3_3=1;
} void RstPro()//编程器复位 {
pw.fpProOver();//直接编程结束 SendData();//通知上位机,表示编程器就绪,可以直接用此函数因为协议号(ComBuf[0])还没被修改,下同 }
void ReadSign()//读特征字 {
} void serial () interrupt 4 using 3 //串口接收中断函数 {
if (RI) { RI = 0 ; ch=SBUF; read_flag= 1 ; //就置位取数标志 }
} main()
{ init_serialcom(); //初始化串口 while ( 1 ) { if (read_flag) //如果取数标志已置位,就将读到的数从串口发出 { read_flag= 0 ; //取数标志清 0 send_char_com(ch); } }
while(RI == 0); RI = 0; c = SBUF; // 从缓冲区中把接收的字符放入 c 中 SBUF = c; // 要发送的字符放入缓冲区 while(TI == 0); TI = 0; } }
4.//////////////// /////////////////////////////////////////////////////////
SendData(); } else break;//等待回应失败 } pw.fpProOver();//操作结束设置为运行状态 ComBuf[0]=0;//通知上位机编程器进入就绪状态 SendData(); }
void Lock()//写锁定位
{
pw.fpLock();
SendData();

微机原理与接口技术(单片机)试题答案

微机原理与接口技术(单片机)试题答案
3)中断服务程序能完成高低电平输出2分
4)定时时间能完成100us和350us交替定时2分
(未采用中断法,但能实现波形输出的,扣3分)
七、综合设计题(每题10分,共10分)
得分
评阅人
1、设有一个8路模拟量输入的巡回监测系统,如下图所示,试求:
(1)、该系统中所扩展的芯片片选信号采用的方法是线选法,此外还有译码法;(2分)
5、当RS1=1,RS0=0,将寄存器R1中的内容压入堆栈,应使用(A)指令。
A、PUSH 11HB、PUSH @R1
C、PUSH 01HD、PUSH R1
6、定时/计数器T1的工作方式2为(A)位工作方式。
A、8B、10C、13D、16
7、当单片机的振荡频率为12MHz时,则定时器每计一个内部脉冲的时间为(A)。
EX0
SCON
98H
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
得分
评阅人
1、内部RAM低128单元划分为哪3个主要部分?说明各部分的特点。
1)00H~1FH为通用工作寄存器区,共分为4组,每组由8个工作寄存器(R0~R7)组成。(2分)
由RS1、RS0决定当前组。工作时只有1组做当前组。(1分)
2)20H~2FH位地址区
分为128位,位地范围为00H~(2分)
3)30H~7FH用户数据区(2分)
2、指令MOV@Ri,A和指令MOVX@Ri,A的功能是否相同.如果不同区别是什么?
两条指令功能是有区别的。(2分)
1)MOV @Ri, A指令是对片内RAM 00H~7FH的访问(2分)

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工).答:全双工。

2。

串行通信波特率的单位是。

答:bit/s3。

AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。

答:fosc/125.AT89S51单片机的通讯接口有和两种型式。

在串行通讯中,发送时要把数据转换成数据。

接收时又需把数据转换成数据。

答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz.答:11。

05927.AT89S51单片机串行口的4种工作方式中, 和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的.答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式 . 答:方式1.9.在串行通信中,收发双方对波特率的设定应该是的。

答:相同的。

10.串行口工作方式1的波特率是 .答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。

A。

方式0 B。

方式1 C. 方式2 D。

方式3答:A2。

控制串行口工作方式的寄存器是。

A.TCON B。

PCON C。

TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义.对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。

对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中.错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。

对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。

对6。

串行口工作方式1的波特率是固定的,为fosc/32。

错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器.错8。

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工)。

答:全双工。

2. 串行通信波特率的单位是。

答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。

答:fosc/125.AT89S51单片机的通讯接口有和两种型式。

在串行通讯中,发送时要把数据转换成数据。

接收时又需把数据转换成数据。

答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。

答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。

答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。

答:方式1。

9.在串行通信中,收发双方对波特率的设定应该是的。

答:相同的。

10.串行口工作方式1的波特率是。

答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。

A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。

A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。

对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。

对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。

错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。

对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。

对6. 串行口工作方式1的波特率是固定的,为fosc/32。

错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。

单片机原理与应用(盛珣华)习题和思考题答案

单片机原理与应用(盛珣华)习题和思考题答案

单⽚机原理与应⽤(盛珣华)习题和思考题答案习题和思考题答案第⼀章单⽚机概述1. 第⼀台电⼦数字计算机发明的年代和名称。

1946年、ENIAC。

2. 根据冯·诺依曼提出的经典结构,计算机由哪⼏部分组成?运算器、控制器、存储器、输⼊设备和输出设备组成。

3. 微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?经历了4位、8位、16位、32位四代的变化。

4. 微型计算机有哪些应⽤形式?系统机、单板机、单⽚机。

5. 什么叫单⽚机?其主要特点有哪些?单⽚机就是在⼀⽚半导体硅⽚上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并⾏I/O、串⾏I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的⽤于测控领域的微型计算机,简称单⽚机。

单⽚机技术易于掌握和普及、功能齐全,应⽤⼴泛、发展迅速,前景⼴阔、嵌⼊容易,可靠性⾼。

6. 举例说明单⽚机的应⽤?略7. 当前单⽚机的主要产品有哪些?各⾃有何特点?MCS是Intel公司⽣产的单⽚机的系列符号,MCS-51系列单⽚机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进⼊我国,并在我国应⽤最为⼴泛的单⽚机机型之⼀,也是单⽚机应⽤的主流品种。

其它型号的单⽚机:PIC单⽚机、TI公司单⽚机、A VR系列单⽚机。

8. 简述单⽚机应⽤系统的开发过程。

(1)根据应⽤系统的要求进⾏总体设计总体设计的⽬标是明确任务、需求分析和拟定设计⽅案,确定软硬件各⾃完成的任务等。

总体设计对应⽤系统是否能顺利完成起着重要的作⽤。

(2)硬件设计根据总体设计要求设计并制作硬件电路板(即⽬标系统),制作前可先⽤仿真软件(如Proteus软件)进⾏仿真,仿真通过后再⽤硬件实现并进⾏功能检测。

(3)软件设计软件编程并调试,⽬前⼀般⽤keil软件进⾏设计调试。

调试成功后将程序写⼊⽬标单⽚机芯⽚中。

(4)综合调试进⾏硬软件综合调试,检测应⽤系统是否达到设计的功能。

第7章AT89S51单片机的串行口

第7章AT89S51单片机的串行口

PCONSMOD — — — GF1 GF0 PD IDL
GF1,GF0:用户可自行定义使用的通用标志位 GF1: General purpose Flag bit. GF0 :General purpose Fபைடு நூலகம்ag bit.
PD:掉电方式控制位 Power Down bit. =0:常规工作方式. =1:进入掉电方式:振荡器停振片内RAM和SRF的
例如:120字符/秒,1个字符10位, 波特率为:120×10=1200bps 平均每一位传送占用时间:Td=1/1200=0.833ms
常用的波特率有:(离散) 19200/9600/4800/2400/1200/600/300/150/100
/50, 还有10M/100M
7.1.1 与串行通信有关的寄存器
TB8:在串行工作方式2和方式3中,是要发送的第9位数据。 The 9th bit that will be transmitted in modes 2&3. Set/Cleared
by software 多机通信中: TB8=0 表示发送的是数据;
TB8=1 表示发送的是地址.
RB8:在串行工作方式2和方式3中,是收到的第9位数据.该数据来自发
REN:串行口接收允许控制位 Set/Cleared by software to Enable/Disable reception
=1 允许接收; (SETB REN) =0 禁止接收.
系统复位后,REN=0,不允许接受
SM0 SM1 SM2 REN TB8 RB8 TI RI
模式选择 多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
1
1
3 Split timer mode (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the

单片机第8章 AT89S51单片机串行通信技术

单片机第8章 AT89S51单片机串行通信技术
RI:接收中断标志位。串行口在工作方式0时,接收完第8 位数据时,RI由硬件置1。在其它工作方式中,串行口接收 到停止位时,该位置1。RI=1,表示一帧数据接收完毕, 并申请中断,要求CPU从接收SBUF取走数据。该位的状 态也可供软件查询。RI必须由软件清0。
单片机原理、应用与仿真
8.1.2电源控制寄存器PCON
AT89S51单片机的串口由2个数据缓冲器、1个移位寄存器和1 个串行控制寄存器等组成。数据缓冲器由串行接收缓冲器和发 送缓冲器构成,它们在物理上是独立的,既可以接收数据也可 以发送数据,还可以同时发送和接收数据。接收缓冲器只能读 出,不能写入,而发送缓冲器则只能写入,不能读出。它们共 用一个地址(99H)。
sm0sm1工作方式功能简述工作方式0移位寄存器工作方式波特率为12工作方式18位数据异步收发波特率可变工作方式29位数据异步收发波特率为32或64工作方式39位数据异步收发波特率可变表81串行通信工作方式单片机原理应用与仿真811串行口控制寄存器sconsm2
第8章 AT89S51单片机串行通信接 口技术
(1)电气特性
RS-485的信号传输采用两线间的电压来表示逻辑1和逻 辑0,数据采用差分传输,抗干扰能力强,传输距离可达 到1200m,传输速率可达10Mb/s。
驱动器输出电平在-1.5V以下时为逻辑1,在+1.5V以上时 为逻辑0。接收器输入电平在-0.2V以下时为逻辑1,在 +0.2V以上为逻辑0。
FDH
--
14400
FCH
FEH
9600
FAH
FDH
4800
F4H
FAH
2400
单片机原理、应用与仿真
1200
E8H D0H

单片机原理与接口技术

单片机原理与接口技术

《单片机原理与接口技术》教学大纲课程名称:单片机原理与接口技术Fundamentals of Mono-Chip b Computers and Interface Technology课程编号:202020课程类型:专业主干课学时/学分:32/2适用专业:电子信息工程一、前言(一)课程性质本课程是计算机科学与技术领域的专业理论课,它上承“电子技术基础”等专业理论基础课,下启“接口技术”和“计算机控制技术”等专业课,在其间起着桥梁和纽带的作用,因此是非常重要的应用技术专业理论课。

(二)教学目标通过本课程的学习,应使学生在掌握单片机基本理论知识的基础上,着重强化应用所学知识的能力和实际动手能力。

因此,在教学过程中既要重视基础理论的培养,也要重视实验等实践性环节,基础理论知识和基本应用能力并重,为后续专业课的学习及学生从业后自学相关知识、更好地从事相关技术工作奠定良好的基础。

(三)教学要求要求学生能够全面深入理解所学内容,并能够用分析、初步设计解答与网络相关的问题,能够举一反三。

了解单片机应用系统各主要环节的设计、调试方法,并了解单片机在测量、控制等电子技术应用领域的应用,要求学生能够较好地理解和掌握,并能够进行简单的分析和判断。

要求学生能够一般地了解所学内容。

掌握单片机应用系统设计与制作的基本方法与步骤,能够熟练运用仿真开发环境调试软、硬件。

(四)先修课程《模拟电子技术》、《数字电子技术》、《微机原理及应用》、《电路基础》、《C 程序设计》。

二、课程内容第一章单片机概述教学内容及总体要求:本章介绍有关单片机的基础知识、发展历史、应用领域以及发展趋势,并对当前8位单片机的主流机型、且占有较大市场份额的MCS—51系列单片机及其兼容的单片机(统称为51系列单片机)进行简要概述。

对目前流行的51的单片机的代表性机型:美国ATMEL 公司的AT89C5x/AT89S5x系列单片机以及其中最具代表性的产品AT89S51进行详细介绍。

单片机第八章 AT89系列单片机系统的扩展z1

单片机第八章 AT89系列单片机系统的扩展z1
#2存储器端口地址:A=1(P2.6=1),B=0(P2.7=0) ,C=0:选中#2存储器,所以#2存储器的端口地址为: 4000H~7FFFH。
8.2.3 数据存储器的扩展
1.数据存储器概述 数据存储器即随机存取存储器,用于存放可随时修改的
数据信息。它与ROM不同,对RAM可以进行读、写两种操作 。RAM为易失性存储器, 断电后所存信息立即消失。
2
2.片内无程序存储器的最小应用系统 片内无程序存储器的芯片构成最小应用系统时,必须 在片外扩展程序存储器。 由于一般用做程序存储器的 E2PROM芯片不能锁存地址,故扩展时还应加一个地址 锁存器,构成一个三片最小系统,如图8-1b所示。该 图中74LS373为地址锁存器,用于锁存低8位地址。
3
8.1.2 系统扩展的内容与方法
IN改数据指针
DJNZ R7, AGAIN ; 判断数据是否传送完成
RET
END
26
【C51程序】:
#include <AT89X51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
11
图8-5 74LS138管脚图
图8-6 74LS138的译码关系
12
8.2存储器的扩展
8.2.1 存储器扩展概述 AT89S系列单片机具有64 KB的程序存储器空间, 其中 AT89S51单片机含有4 KB 的片内程序存储器。当单片机程 序超过4 KB时,就需要进行程序存储器的扩展。
AT89S系列单片机的数据存储器与程序存储器的地址空 间是互相独立的,其片外数据存储器的空间可达64 KB, 而片内的数据存储器空间只有128 B。如果片内的数据存 储器不够用时,则需进行数据存储器的扩展。

单片机应用和原理课件 AT89S51单片机外部存储器的扩展 演示文稿

单片机应用和原理课件 AT89S51单片机外部存储器的扩展 演示文稿
2.译码法 使用译码器对AT89S51单片机的高位地址进行译码,译码 输出作为存储器芯片的片选信号。此方法能有效地利用存储 器空间,适于多芯片的存储器扩展。常用译码器芯片有 74LS138(3-8译码器)、74LS139(双2-4译码器)和 74LS154(4-16译码器)。
12
若全部高位地址线都参加译码,称为全译码;若仅部分高 位地址线参加译码,称为部分译码。部分译码存在着部分存 储器地址空间相重叠的情况。
1.线选法 是直接利用系统的某一高位地址线作为存储器芯片(或I/O
接口芯片)的“片选”控制信号。为此,只需要把用到的 高位地址线与存储器芯片的“片选”端直接连接即可。
1. 线选法 优点:电路简单,不需另外增加地址译码器硬件电路,体 积小,成本低。
缺点:可寻址的芯片数目受限制。另外,地址空间不连续, 每个存储单元的地址不唯一,这会给程序设计带来不便,适 用于外扩芯片数目不多的系统。
2
8.1 系统扩展结构 AT89S51采用总线结构,使扩展易于实现,系统并行扩 展结构如图8-1所示。
图8-1 AT89S51单片机的系统并行扩展结构
3
由图8-1可看出,系统扩展主要包括存储器扩展和I/O接口 部件扩展。
AT89S51存储器扩展即包括程序存储器扩展又包括数据 存储器扩展。AT89S51采用程序存储器空间和数据存储器空 间截然分开的哈佛结构。扩展后,形成了两个并行的外部存 储器空间。
15
(2)74LS139 双2-4译码器。这两个译码器完全独立,分别有各自的数 据输入端、译码状态输出端以及数据输入允许端,引脚如图 8-4,真值表如表8-2(只给出其中的一组)。
图8-4 74LS139引脚
16
以74LS138为例,如何地址分配。 例如,要扩8片8KB的RAM 6264,如何通过74LS138把 64KB空间分配给各个芯片? 由74LS138真值表可知,把G1接到+5V,G2A* 、 G2B* 接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138 的C、B、A端,对高3位地址译码,译码器8个输出Y7* ~ Y0* ,分别接到8片6264的各 “片选”端,实现8选1的片选。 低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的 6264芯片中的各个存储单元的“单元选择”。这样就把 64KB存储器空间分成8个8KB空间了。

单片机第8章新

单片机第8章新

;与R0配合,访问外RAM ;要取出数据的首地址 ;R0的初始值为0
;取ROM单元内容 ;送入外部RAM单元
INC R0
;循环次数加1,同时外部
2021/2/21 27
可以确定各芯片地址为: 2764(IC1)和6264(IC3) :4000H~5FFFH,或C000H~DFFFH ; 2764(IC2)和6264(IC4) :2000H~3FFFH ,或A000H~BFFFH ;
2021/2/21 28
【例8-3】采用译码法扩展2片8KB的6264 RAM和2片8KB的 2764 EPROM。可用地址线P2.6、 P2.5进行2-4译码,Y0~Y3选 通4片存储芯片,各片地址都不同。
如 27128为128K bit容量,或16K byte,需14根地址线。
芯片引脚功能: A0~A15:地址线引脚。它的数目由芯片的存储容量决定,
用于进行单元选择。 D7~D0:数据线引脚。 CE:片选控制端,低电平有效。 OE:输出允许控制端,低电平有效。
2021/2/21 17
§ 8.3.2 程序存储器的操作时序 一、访问程序存储器的控制信号 1、ALE:用于低8位地址锁存控制。 2、PSEN:片外程序存储器“读选通”控制信号。
常用的译码器芯片有74LS138(3-8译码器)、74LS139(双2-4 译码器)。
若全部高位地址线都参加译码,称为全译码; 若仅部分高位地址线参加译码,称为部分译码。部分译码 存在着部分存储器地址空间相重叠的情况。
2021/2/21 12
例如,要扩8片8KB的RAM 6264,如何通过74LS138把64KB空 间分配给各个芯片?(8K需13根地址线)
6216(1): 1 1 1 0 X 000 1 1 1 0 X 111

单片机AT89S51的概述

单片机AT89S51的概述

单片机AT89S51的概述AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。

主要性能参数:·与MCS-51 产品指令系统完全兼容·4k字节在线系统编程(ISP) Flash闪速存储器·1000次擦写周期·4.0---5.5V的工作电压范围·全静态工作模式:0Hz---33MHz·三级程序加密锁·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模式唤醒系统·看门狗(WDT)及双数据指针·掉电标识和快速编程特性·灵活的在线系统编程(ISP一字节或页写模式)功能特性概述:AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

引脚功能说明:·Vcc:电源电压·GND:地·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AT89S51单片机的串口由2个数据缓冲器、1个移位寄存器和1 个串行控制寄存器等组成。数据缓冲器由串行接收缓冲器和发 送缓冲器构成,它们在物理上是独立的,既可以接收数据也可 以发送数据,还可以同时发送和接收数据。接收缓冲器只能读 出,不能写入,而发送缓冲器则只能写入,不能读出。它们共 用一个地址(99H)。
8.1.3数据缓冲寄存器SBUF
数据缓冲寄存器SBUF用于保存要发送的数据或 者从串口接收到的数据,在特殊功能寄存器区的 地址是99H。CPU执行写 MOV SBUF,A指令便 开始触发串口数据的发送。SBUF便一位一位地 发送数据,发送完成后置标志TI=1;在CPU允许 接收串行数据的时,外部串行数据经RXD送入 SBUF时,电路便自动启动接收,第9位则装入 SCON寄存器的RB8位,直至完成一帧数据后将 RI置1,当串口接收缓冲器接收到一帧数据时,可 以执行MOV A,SBUF指令进行读取。
第8章 AT89S51单片机串行通信接 口技术
单片机原理、应用与仿真
第8章 AT89S51单片机串行通信接口技术
【知识目标】
1.掌握串行口的工作原理及相关的特殊功能寄存器。 2.熟悉标准串行接口的硬件接口设计。 3.掌握串行通信程序的设计。
【技能目标】
1.掌握串行口的硬件接口电路设计及软件驱动程序设计。 2.掌握基于PROTEUS的串行通信接口电路的仿真调试。
98H
位号 SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 SCON.0
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
SM0 SM1:串行口4种工作方式的选择位。如表 8-1所示。
表8-1串行通信工作方式
SM0
SM1
工作方式
功能简述
0
0
单片机原理、应用与仿真
8.2串行口的工作方式
AT89S51单片机的串行接口有4种工作模式,可 通过对SCON中的SM0、SM1位的设置选择。
1.工作方式0
串行数据通过RXD输入输出,TXD输出时钟。每次发 送或者接收8位数据。波特率为 /12。当以中断方式传 送数据时,CPU响应中断并不会自动清除TI、RI标志, 所以在中断服务程序中必须由指令清0。
RI:接收中断标志位。串行口在工作方式0时,接收完第8 位数据时,RI由硬件置1。在其它工作方式中,串行口接收 到停止位时,该位置1。RI=1,表示一帧数据接收完毕, 并申请中断,要求CPU从接收SBUF取走数据。该位的状 态也可供软件查询。RI必须由软件清0。
单片机原理、应用与仿真
8.1.2电源控制寄存器PCON
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
SCON是AT89S51单片机可位寻址的特殊功能寄 存器,主要用于控制串口的串行数据通信。单元 地址是98H,复位后位00H。各位的定义如下:
位名称 SM0
SM1
SM2
REN
TB8
RB8
TI
RI
位地址 9FH
9EH
9DH
9CH
9BH
9AH
99H
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
REN:允许串行接收位。由软件置1或清0。若 REN=1,允许串行口接收数据;若REN=0,禁止 串行口接收数据。
TB8:发送的第9位数据。在方式2和3时,TB8是 要发送的第9位数据。其值由软件置1或清0。在 双机通信时,TB8一般作为奇偶校验位使用;在 多机通信中用来表示主机发送的是地址帧还是数 据帧,TB8=1为地址帧,TB8=0为数据帧。
工作方式0
移位寄存器工作方式,波特率为/12
0
1
工作方式1
8位数据异步收发,波特率可变
1
0
工作方式2
9位数据异步收发,波特率为/32或/64
1
1
工作方式3
9位数据异步收发,波特率可变
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
SM2:多机级通信控制位。因为多机通信是在方式2和方 式3下进行的,因此,SM2位主要用于方式2和方式3中。 当串行口以方式2或方式3接收时,如果SM2=1,则只有 当接收到的第9位数据(RB8)为1时,才将接收到的前8位 数据送入SBUF,并置1RI,产生中断请求;当接收到的 第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。 而当SM2=0时,则不论第9位数据是1还是0,都将前8位 数据送入SBUF中,并将RI置1,产生中断请求。 在方式1时,如果SM2=1,则只有收到有效的停止位时才 会激活RI。 在方式0时,SM2必须为0。
单片机原理、应用与仿真
8.1 串行口的结构
AT89S51单片机内部有一个功能强大的全双工的异步通信串口。 全双工就是双机之间串行接收、发送数据可同时进行。异步通 信是指通信双方没有同步时钟来控制收、发双方的传送,而是 靠双方各自的时钟来控制数据的异步传送。单片机中使用的数 据都是并行数据,所以在发送端将并行数据转换为串行数据, 而在接收端要将串行数据转换为并行数据。这是由串行接口电 路实现,这种电路也称之为通用异步接收发送器(UART)。
RB8:接收到的第9位数据。在方式2和3时,TB8 存放接收到的第9位数据。在方式1,如果SM2=0, RB8是接收到的停止位。在方式0,不使用RB8。
单片机原理、应用与仿真
8.1.1串行口控制寄存器SCON
TI:发送中断标志位。串行口工作在方式0时,串行发送第 8位数据结束时由硬件置1,在其他工作方式,串行口发送 停止位的开始时置1。TI=1,表示一帧数据发送结束,可供 软件查询,也可申请中断。CPU响应中断后,在中断服务 程序中向SBUF写入要发送的下一帧数据。TI必须由软件清 0。
单片机原理、应用与仿真
2.工作方式1
串行数据通过TXD发送,RXD接收。一帧数据是10位, 包括1位起始位,8位数据为和1位停止位。波特率是可变 的,由定时器1溢出率和SMOD共同决定。方式1的波特率 由下式确定: 方式1波特率= 2SMOD 定时器T1的溢出率
PCON,不能位寻址。地址为87H。各位的定义 如下
位称 SMD IDL
其中,与串行通信相关的位是SMOD。 SMOD:串行口波特率系数控制位。若SMOD=1,
方式1、方式2和方式3的波特率加倍。若 SMOD=0,各工作方式的波特率保持不变。
单片机原理、应用与仿真
相关文档
最新文档