第九章 AT89s52单片机串行通信
基于AT89S52的串口通信
基于AT89S52的串口通信本程序可实现PC机通过串口调试助手发送数据到单片机上,单片机就把收到的数据再发回PC机//以下程序基于AT89S52单片机,11.0592M晶振,//不能用12M,用12M数据会出乱,//以下程序已可以实现单片机与PC机的串口通信#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar date;uchar ch;bit flag;bit serflag;void init0()//初始化函数{TMOD=0x20;//方式2--8位自动重装TH1=0xfd;TL1=0xfd;//设波特率为9600TR1=1;//启动T1定时器REN=1;//启动串行接收数据SM0=0;SM1=1;//SM0,SM1设置串行口为工作方式1,10位异步收发器//PCON=0x00;//SM2=1;EA=1;//开总中断ES=1;//开串口中断// TR1=1;// REN=1;}void main(){init0();while(1){if(flag==1){ES=0;flag=0;SBUF=date;//发送数据while(!TI);//发送数据完毕才跳出死循环ES=1;TI=0;}}}void ser() interrupt 4{if(RI)//一定要加该判断句,不然串口调试助手那里会一直收到数据{RI=0;date=SBUF;//提取数据flag=1;}}/*//以下方法也可实现串口通信void main(){TMOD=0x20;//指定定时器1 工作在方式2SCON=0x50;//串行口工作方式1,10位异步收发,由定时器控制,串行口接收 PCON=0x00;//SMOD=0;TH1=TL1=0xfd;//Baud:9600 fosc=24MHzEA=1;ES=1;TR1=1;while(1);}void serial() interrupt 4//串口接收中断函数{while(!RI);if(RI){RI=0;ch=SBUF;serflag=1;}if(serflag==1){SBUF=ch;while(TI==0);TI=0;serflag=0;}} */。
基于AT89S52高性能单片机串行通信电路的设计
基于AT 89S 52高性能单片机串行通信电路的设计淮安广播电视大学电子工程系 陈京培[摘 要]随着单片机技术的发展,传统的依赖于仿真机的单片机实验成本高且效率低,已不适应现代科技开发需求。
串行通信是目前单片机应用中经常要用到的功能,本设计目的就是在传统实验板的基础上,利用功能强大的A T 89S52型单片机和编程软件Visual C++设计了一种新型单片机串口通信电路。
实验结果表明,该方案接口简单、使用方便、稳定可靠。
[关键词]新型串行通信 A T 89S52 硬件接口 程序设计 1、串行通信原理计算机与外界信息间的交换称为通信。
随着计算机应用技术和微机网络技术的发展,计算机与其外部设备之间的数据传输越发显得重要。
而串行通讯技术是实现这一功能的有效途径,它具有经济方便、数据传输可靠、适用于远距离通讯的特点,在工业监控、数据采集、检测等系统中有着广泛的应用[1]。
在异步通讯中,数据是一帧一帧传送的,在帧格式中,一个字符由4部分组成:起始位、数据位、奇偶校验位和停止位,见下图1。
首先是一个起始位“0”,然后是5~8位数据(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位“1”。
起始位“0”信号只占用1位,用来通知接收设备一个待接收的字符开始到来。
线路在不传送字符时应保持为“1”。
接收端不断检测线路的状态,若连续为“1”以后又检测到一个“0”,就知道发来一个新字符,应马上准备接收[2]。
2、A T 89S52单片机特点简介A T 89S 52单片机是AT M EL 公司新近推出的高档、增强型产品。
它是一个低功耗、高性能CM OS 8位微控制器,片内含通用8位中央处理器和ISP Flash 存储单元,8k By tes ISP (In -system pro gr ammable)的可反复擦写1000次的F lash 只读程序存储器,片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。
AT89S52与电脑之间的串口通讯
单片机与电脑之间的串口通讯(1)功能:单片机按一下P3.2,发送字母A给电脑,并用串口调试软件助手辅助,在电脑上显示A;按一下P3.3发送a给电脑,当单片机不发送时,电脑发送数字时,单片机的P1口LED能够显示结果(如发送12H,显示0001 0010,0:显示,1:熄灭)。
采用4800波特率,11.0592晶振。
1.要实现单片机与电脑之间的通讯,要用电平转换,本实验用MAX232。
这是为什么呢?答:因为电脑的数据传输采用的是RS-232C标准规定的(EIA)电平,即数字“1”在传输线上的电平是-3V~ -15V,传输数字0时电平是+3v~+15v;而单片机采用的是TTL电平,当单片机与PC机进行通讯时,由于电平不匹配,导致数据不能正确传输。
这样就存在TTL与PC机电平转换问题,这里用MAX232电平转换芯片。
本实验MAX232与RS-232C电路图:图(1)所有电容10uf全部换成1uf,精力有限,采用网上的电路,只是单片机芯片和电容不同,其他全相同。
注意:RS232引脚不要搞错了,我上次搞错了一个引脚,结果显示乱码。
单片机与MAX232的电路:图(2)图(1)和图(2)就构成了本实验的一个完整电路图(由于Protues 仿真时外围的晶振等不划都能与划了一样,所以一些部分省略了。
注意单片机仿真时晶振选择11.0592Mhz,程序如下:ORG 0000HLJMP MAINORG 50HMAIN:MOV SP,#5FHMOV SCON,#50HMOV TMOD,#20H ;波特率4800 MOV TH1,#250MOV TL1,#250ANL PCON,#7FHSETB TR1J0:JB P3.2,NEXT1LCALL DELAY10MSJB P3.2,J0JNB P3.2,$MOV A,#41HMOV SBUF,AJNB TI,$CLR TISJMP J0NEXT1:JB P3.3,NEXT2LCALL DELAY10MSJB P3.3,NEXT1JNB P3.3,$MOV A,#61HMOV SBUF,AJNB TI,$CLR TILJMP J0NEXT2:JNB RI,J0CLR RIMOV P1,#0FFHMOV A,SBUFMOV P1,ALJMP J0DELAY10MS:MOV R1,#19LOOP:MOV R2,#250DJNZ R2,$DJNZ R1,LOOPRETEND用Protues仿真效果如下:注明:由于Protues仿真软件中串口端口(注意:双击该图标将该波特率4800)只能显示字符,不能显示16进制,所以用Protues仿真发送数据时,只能发送该字符所对应的ASCII值,”A”对应65(41h),小a对应97(61h).按下P3.2显示A,按下P3.3显示a上面是仿真效果,现在来看看实物图效果。
第九章 AT89s52单片机串行通信
第九章 AT89S52单片机串行通信
16
9.3.1 串行口的控制
1.串行数据缓冲器SBUF 2.串行口控制寄存器SCON 3.电源控制寄存器PCON
第九章 AT89S52单片机串行通信
17
2.串行口控制寄存器SCON
31
(1)用T1产生波特率
模式1和模式3的波特率= SMOD 2 × T1溢出速率/32 T1设置为8位自动重装载的模式2 时,波特 f OSC 2 SMOD 率为:
32 × 12 × (256 - TH1)
模式1和模式3的波特率=T2的溢出速率/16
第九章 AT89S52单片机串行通信
32
(2)用T2产生波特率
38
JNB TI, DL2 CLR TI INC R0 DJNZ R7, DL1 CLR P3.5 LOOP: AJMP LOOP TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H DB 92H, 82H, 0F8H, 80H, 90H, 88H DB 83H, 0C6H, 0A2H, 86H, 84H
第九章 AT89S52单片机串行通信
40
解:(1)功能分析: (2)波特率的计算 串行口工作在模式1,定时器T1工作在模式 2作波特率发生器。波特率计算公式为: SMOD f OSC 波特率= 2 × (256 -TH1 )
32 12
f OSC - 设SMOD=0,则TH1= 256 32 × 12 × 1200
第九章 AT89S52单片机串行通信
27
9.3.4 波特率的确定
串行口的四种工作模式对应着不同波特 率。由于输入的移位时钟来源不同,因 此,各种模式的波特率计算公式也不相 同。
AT89S52单片机的串行接口 - 单片机
AT89S52单片机的串行接口 - 单片机AT89S52 单片机的串行接口单片机在当今的电子世界中,单片机扮演着至关重要的角色,就像一个智能的小大脑,控制着各种设备的运行。
而 AT89S52 单片机作为其中的一员,其串行接口更是有着独特的魅力和重要的应用价值。
首先,咱们来聊聊什么是串行接口。
简单来说,串行接口就是一种在单片机和外部设备之间进行数据传输的通道。
它不像并行接口那样同时传输多位数据,而是一位一位地按顺序传输。
这就好比是在一条狭窄的小路上,一个人一个人依次通过,而不是一群人一下子涌过去。
AT89S52 单片机的串行接口有两种工作模式,一种是同步模式,另一种是异步模式。
在同步模式下,数据的发送和接收是与一个时钟信号同步进行的。
这个时钟信号就像是一个指挥棒,指挥着数据传输的节奏,确保数据的准确性和稳定性。
而异步模式则不需要时钟信号来同步,它通过起始位、数据位、奇偶校验位和停止位这些特定的位组合来实现数据的传输。
咱们来具体说一说异步模式。
当 AT89S52 单片机要发送数据时,它会先发送一个起始位,这个起始位就像是一个信号,告诉接收方“我要开始发送数据啦”。
然后,单片机按照事先设定好的位数,依次发送数据位。
为了检验数据在传输过程中有没有出错,还会加上奇偶校验位。
最后,再发送一个停止位,表示这一组数据发送结束。
接收方呢,就根据这些约定好的规则来接收和解读数据。
串行接口在 AT89S52 单片机中的应用那可真是广泛。
比如说,在与计算机进行通信时,通过串行接口,单片机可以将采集到的数据发送给计算机,让计算机进行进一步的处理和分析。
在远程控制方面,单片机可以通过串行接口接收来自远程终端的指令,从而实现对设备的远程控制。
还有在多机通信中,多个单片机可以通过串行接口组成一个网络,相互之间交换数据和协调工作。
要使用 AT89S52 单片机的串行接口,还需要对相关的寄存器进行设置。
比如说,控制寄存器用来选择工作模式、设置波特率等。
最新单片机--第9章-AT89S52单片机串行通信精品课件
工作模式 模式0 模式1 模式2
模式3
说明 同步移位寄存器
波特率 fosc/12
8位UART
由定时器控制
9位UART
fosc/32或 fosc/64
9位UART
由定时器控制
第二十一页,共49页。
3.电源(diànyuán)控制寄存器 PCON
不能
位寻址
波特率加倍位。在 模式1、2、3时,波
特率和 2SMO成D 正
RCAP2H FFH
用波特率
RCAP2L
波特率
f o/sMc Hz
F3H
56800
11.059
RCAP2H FFH
RCAP2L FAH
FFH
E6H
38400
11.059
FFH
F7H
FFH
CCH
19200
11.059
FFH
EEH
FFH
98H
9600
11.059
FFH
DCH
FFH
30H
4800
11.059
1 0 0/1 0/1 … 0/1 0/1 1 1 1
低位
高位
起辑数制波奇校始(停择位空据l特验偶u1止位ó闲组或校、位率位j—位í无验1成——).—05——校位电,、———验——每2平低每数表位位—传个秒位示据。根送字钟先该位据字传符字传通紧符送开符送信之跟二始传双间进着送传方的制起结送的逻位始束通的的辑。位信标个1停电协传志数止平议送,位,,。起为可表始由逻选示位5辑择没~采1奇有电8用检进个平验逻行二,、传可进偶送选 如9600bit/s
第七页,共49页。
9.1.2 串行通信(tōng xìn)的通信
单片机原理及应用之AT89S52
单片机原理及应用之AT89S52AT89S52是一款由Atmel公司生产的8位单片机,采用CMOS工艺制造,并且内部集成了丰富的功能模块和外设接口。
它具有较高的性能和良好的稳定性,广泛应用于各种电子设备中。
AT89S52单片机的基本原理是通过控制器对内部资源进行配置和控制,从而实现各种功能。
它的主要构成部分包括中央处理器(CPU),存储器(RAM和ROM),输入/输出接口(IO),定时/计数器(Timer/Counter)和串行通信接口等。
首先,AT89S52单片机的CPU是其心脏部件,它采用基于8051内核的结构,具有8位数据总线和16位地址总线。
CPU负责执行程序指令,以及对数据进行运算和处理。
其次,AT89S52内部集成了包括RAM、ROM和EEPROM等多种存储器。
其中,RAM用于临时存储数据和程序,ROM用于存储程序代码,EEPROM可用于存储非易失性数据。
AT89S52还具有强大的输入/输出接口,用于与外部设备进行通信。
它具有多个I/O引脚,可以用于连接传感器、显示器、键盘等外部设备,并通过程序控制实现数据的输入和输出。
除此之外,AT89S52还内置了多个定时/计数器模块,用于生成精确的时间延迟和计算时间。
这些定时/计数器可以用于测量时间、产生脉冲信号、控制外设设备等。
此外,AT89S52还支持多种串行通信接口,如UART、SPI和I2C等。
这些接口可以与其他设备进行数据传输和通信,实现单片机与外部设备的数据交互。
AT89S52单片机应用广泛。
它既可以作为独立的控制芯片,也可以作为其他数字电路和模拟电路的核心控制部分。
在家电、电子仪器、工业自动化和电子玩具等领域,AT89S52都有着重要的应用。
具体来说,AT89S52可以用于控制家电设备,如洗衣机、空调、微波炉等。
它通过连接传感器和执行器,实现对温度、光照强度等参数的检测和控制。
此外,AT89S52还可以用于仪器设备的控制。
例如,可以将其用作控制面板上的核心处理器,实现对仪器设备的各种参数监测和控制。
AT89S52与PC机间的串口通信模式设计
!& T C + # 1 ! -’ !T C _ O JJ 1 ( O O # 1 !!YQ1 ! -’ !!!& +J# %d iT S A! 3 & + # %2 d iT S A _ O3 J 1 ( , #% !!& +J# % 2 2 d iT S A! 3 . + #% % !. +J# %-’ _ O JD
#"串口通信任务的介绍
5 考虑到完成这样一个任务" 微控制器响应 7 T ? 内" 每 $## R ‘ 机发送来的命令帧"在 0 R 采集多 路电压信号并将它们的值 打 包 为 数 据 帧 发 送 到 7 5 . )%-;" "在 5语 $ 硬件选择 ;$ 系列微控制器 E Z + P编程" 7 5软件使用 9 -5 ( 9 9控 言环境下用 6 ’环境下进行编写$ 件 "在 >
单片机AT89S52串行接口
数据转换为串行数据或将串行数据转换为并行数据。
串行接口在远程控制中的应用
远程控制
单片机AT89S52的串行接口可以用于实现远程控制功能,如通过 串行通信实现对设备的开关控制、参数设置等操作。
指令发送
控制中心通过串行接口向单片机发送控制指令,单片机接收到指令 后执行相应的操作。
状态反馈
单片机可以将设备的状态信息通过串行接口发送回控制中心,以便 控制中心了解设备的运行状态。
串行通信的优缺点
优点
线路简单,使用方便,成本低,适用 于远距离通信。
缺点
需要同步时钟信号,传输速度相对较 慢。
03
单片机AT89S52的串行接口
AT89S52的串行接口概述
01
02
03
串行通信接口
AT89S52单片机内置一个 全双工的串行通信接口, 支持异步和同步通信模式。
通信协议
该接口遵循RS-232标准, 支持数据传输速率为 2400bit/s、4800bit/s、 9600bit/s等。
04
串行接口的应用实例
串行接口在数据传输中的应用
数据传输
01
单片机AT89S52的串行接口可以用于数据的串行传输,如将数
据从单片机发送到其他设备或从其他设备接收数据。
通信协议
02
为了实现数据的正确传输,需要制定相应的通信协议,包括数
据的格式、波特率、校验方式等。
数据转换
03
在数据传输过程中,可能需要进行数据格式的转换,如将并行
05
总结与展望
单片机AT89S52串行接口的优势与局限性
高效的数据传输
AT89S52单片机具有高速的串行接口,可以实现快速的数据传输,满足实时性 要求高的应用场景。
AT89S52串行通信
AT89S52串行通信学习目标:¾了解串行通信的基本知识¾掌握串行口的工作方式¾掌握波特率的设计¾掌握串行口工作方式的应用¾掌握程序调试的基本方法和技巧。
技能目标:¾会对串行口进行初始化。
¾会计算串行口通信波特率。
¾能够实现单片机与单片机之间、单片机和PC机之间的通信。
项目一单片机点对点通信第一部分项目要求利用AT89S52实现单片机点对点通信。
要求将存放在甲机的数据存储器20H—27H单元中数据,首先在甲机上显示,然后发送到PC机,进而再发送到乙机,以实现单片机与PC机和单片机与单片机之间的通信。
第二部分 相关知识一、 串行通信基本知识(一) 串行通信基本概念串行通信的特点是:数据是按位的顺序进行传送,最少只需一根传输线即可完成,成本低但速度慢。
计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千公里。
并行通信的特点是:各数据位同时传送,传送速度快、效率高。
但并行数据传送有多少数据位,就需多少根数据线,因此传送成本高。
串行数据通信共有以下几种数据通路形式。
1.单工(Simplex)形式单工形式的数据传送是单向的。
通信双方中一方固定为发送端,另一方则固定为接1收端。
单工形式的串行通信,只需要一条数据线。
如图5.1(a)所示。
例如计算机与打印机之间的串行通信就是单工形式,因为只能是计算机向打印机传送数据,而不可能有相反方向的数据传送。
2.半双工(Half-duplex)形式半双工形式的数据传送也是双向的。
但任何时刻只能由其中的一方发送数据,另一方接收数据。
因此半双工形式既可以使用一条数据线,也可以使用两条数据线。
如图5.1(b)所示。
3.全双工(Full-duplex)形式全双工形式的数据传送是双向的,且可以同时发送和接收数据,因此全双工形式的串行通信需要两条数据线。
如图5.1 (c)所示。
图5.1 串行通信的数据通路形式(二) 串行通信基本通信方式按照串行数据的同步方式,串行通信可分为异步通信方式和同步通信方式。
单片机AT89S52中文资料
单⽚机AT89S52中⽂资料单⽚机AT89S52中⽂资料AT89S521主要性能l 与MCS-51单⽚机产品兼容l 8K字节在系统可编程Flash存储器l 1000次擦写周期l 全静态操作:0Hz~33MHzl 三级加密程序存储器l 32个可编程I/O⼝线l 三个16位定时器/计数器l ⼋个中断源l 全双⼯UART串⾏通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符功能特性描述AT89S52是⼀种低功耗、⾼性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使⽤Atmel 公司⾼密度⾮易失性存储器技术制造,与⼯业80C51 产品指令和引脚完全兼容。
⽚上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯⽚上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌⼊式控制应⽤系统提供⾼灵活、超有效的解决⽅案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O ⼝线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,⼀个6向量2级中断结构,全双⼯串⾏⼝,⽚内晶振及时钟电路。
另外,AT89S52 可降⾄0Hz 静态逻辑操作,⽀持2种软件可选择节电模式。
空闲模式下,CPU停⽌⼯作,允许RAM、定时器/计数器、串⼝、中断继续⼯作。
掉电保护⽅式下,RAM内容被保存,振荡器被冻结,单⽚机⼀切⼯作停⽌,直到下⼀个中断或硬件复位为⽌。
R8 位微控制器8K 字节在系统可编程FlashAT89S52Rev. 1919-07/01AT89S522 引脚结构AT89S523 ⽅框图引脚功能描述AT89S524 VCC : 电源GND: 地P0 ⼝:P0⼝是⼀个8位漏极开路的双向I/O⼝。
作为输出⼝,每位能驱动8个TTL逻辑电平。
对P0端⼝写“1”时,引脚⽤作⾼阻抗输⼊。
当访问外部程序和数据存储器时,P0⼝也被作为低8位地址/数据复⽤。
AT89S52单片机与PC机串行通信设计
引言单片机与PC机串行通信,又称为下位机与上位机的串行通信。
采用这种通信方式,可以解决工况条件差对工作人员带来的危害,又可以实现实时在线远距离集中监控,对工作现场分散的单片机采用控制平台管理,既可以改善工作条件,又可以提高工作效率。
本文针对串行通信的电路设计和程序设计做出了具体的阐述。
1 电路设计通信接口标准有RS232、RS423A、RS422A、RS485等,常用的接口标准有RS232和RS485。
RS232在微机串行通信接口中广泛采用,在加装了调制解调器(modem)的情况下,这种通信可以通过电话线传输数据,并且可以传输几千公里远的距离,如果没有modem可以传输十几米远。
本课题采用的是RS-232直连无modem方式和DB-9连接器,单片机采用AT89S52,使单片机的串行输入端(RXD)和串行输出端(TXD)与PC机的COM口相连接。
RS232是用正负电压来表示逻辑状态,与TTL高低电平表示逻辑状态的规定不同。
因此,为了能够同计算机接口相连或TTL器件相连,必须在RS232与TTL之间进行电平和逻辑关系的变换。
实现这种变换的方法可以用单立元件,也可以用集成芯片,本文采用MAX232来完成TTL- EIA(美国电子工业联合会)双向电平转换。
MAX232内部有电压倍增电路和转换电路,仅需+5 V电源便可工作,使用十分方便,其与AT89S52连接时可以采用最简单的方式连接(见图1),MAX232的T1 IN引脚与89S52的串行输入口线P3.1TXD相连,R1 OUT引脚与89S52的串行输入口线P3.0RXD相连,MAX232的T1 OUT、R1 IN分别于与RS232的2、3引脚相连。
MAX232泵电源引脚必须接0.1μf 电容,如图中的C26、C27、C28、C29。
因为电路中采用了电平转换芯片,只需把单片机所用到的连接器和PC机串口所用的连接器的2、3、5管脚对应连接起来,2、3管脚不需交叉连接(如图2所示);如果是PC机之间或同一个PC机的两个COM口相连,则两个连接器的2、3管脚需交叉相连。
at89s52单片机
AT89S52单片机简介AT89S52是由Atmel公司推出的高性能、低功耗8位单片机。
它基于MCS-51指令集架构,具有丰富的外设资源和强大的处理能力。
AT89S52单片机可以广泛应用于工业控制、仪器仪表、通信、家电等领域。
主要特性•8051核心,8位CPU•8KB的闪存程序存储器,存储容量大•256字节的RAM,处理能力强•3个定时器/计数器,可用于定时和脉冲宽度测量•2个串行通信接口,方便与其他设备通信•32个IO口,方便连接外部设备•4个中断源,能快速响应外部事件•器件供电电压范围广,3V至5.5V•低功耗设计,满足节能要求引脚布局AT89S52单片机有40个引脚,主要包括通用IO口、定时器/计数器引脚、中断引脚和串行通信引脚等。
以下是AT89S52单片机引脚布局:引脚编号引脚名称功能描述1P1.0数字IO口2P1.1数字IO口3P1.2数字IO口4P1.3数字IO口5P1.4数字IO口6P1.5数字IO口7P1.6数字IO口8P1.7数字IO口9RST复位引脚,用于系统复位10EA扩展内存ROM的控制引脚11VCC正电源引脚12P3.0数字IO口13P3.1数字IO口14P3.2数字IO口15P3.3数字IO口16P3.4数字IO口17P3.5数字IO口18P3.6数字IO口19P3.7数字IO口20GND地线引脚21XTAL1外部晶振接入口22XTAL2外部晶振接出口23P0.0数字IO口24P0.1数字IO口25P0.2数字IO口26P0.3数字IO口27P0.4数字IO口28P0.5数字IO口29P0.6数字IO口30P0.7数字IO口31VCC正电源引脚32RST复位引脚,用于系统复位33ALE地址锁存使能引脚34PSEN外部程序存储器读使能引脚35P2.7数字IO口36P2.6数字IO口37P2.5数字IO口38P2.4数字IO引脚39P2.3数字IO引脚40P2.2数字IO引脚AT89S52的编程AT89S52单片机通过“编程器”将目标程序写入其闪存程序存储器中。
单片机AT89S52介绍
单⽚机AT89S52介绍AT89S52简介AT89S52是⼀个8位单⽚机,⽚内ROM全部采⽤FLASH ROM技术,与MCS-51系列完全兼容,它能以3V的超低电压⼯作,晶振时钟最⾼可达24MHz。
AT89S52是标准的40引脚双列直插式集成电路芯⽚,有4个⼋位的并⾏双向I/O端⼝,分别记作P0、P1、P2、P3。
第31引脚需要接⾼电位使单⽚机选⽤内部程序存储器;第9引脚是复位引脚,要接⼀个上电⼿动复位电路;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接µF⾼频滤波电容。
第18、19脚之间接上⼀个12MHz的晶振为单⽚机提供时钟信号。
AT89S52单⽚机说明如下:此芯⽚是⼀种⾼性能低功耗的采⽤CMOS⼯艺制造的8位微控制器,它提供下列标准特征:8K字节的程序存储器,256字节的RAM,32条I/O线,2个16位定时器/计数器, ⼀个5中断源两个优先级的中断结构,⼀个双⼯的串⾏⼝, ⽚上震荡器和时钟电路。
引脚说明:·V:电源电压CC·GND:地·P0⼝:P0⼝是⼀组8位漏极开路型双向I/O⼝,作为输出⼝⽤时,每个引脚能驱动8个TTL逻辑门电路。
当对0端⼝写⼊1时,可以作为⾼阻抗输⼊端使⽤。
当P0⼝访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复⽤的形式。
在这种模式下,P0⼝具有内部上拉电阻。
在EPROM编程时,P0⼝接收指令字节,同时输出指令字节在程序校验时。
程序校验时需要外接上拉电阻。
·P1⼝:P1⼝是⼀带有内部上拉电阻的8位双向I/O⼝。
P1⼝的输出缓冲时,它们被内部的上拉电阻1⼝写P1逻辑门电路。
当对TTL个4能接受或输出拉升为⾼电平,此时可以作为输⼊端使⽤。
当作为输⼊端使⽤时,P1⼝因为内部存在上拉电阻,所以当外部被拉低时会输出⼀个低电流(I)。
IL·P2⼝:P2是⼀带有内部上拉电阻的8位双向的I/O端⼝。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
42
ORG 0000H AJMP START ORG 0100H START: MOV SCON, #80H #80H; MOV PCON, #80H MOV R0, #30H MOV R7, #20H
第九章 AT89S52单片机串行通信
43
LOOP: MOV A, @R0 MOV C, P MOV TB8, C MOV SBUF ,A WAIT: JBC TI, NEXT SJMP WAIT NEXT: INC R0 DJNZ R7, LOOP HERE: AJMP HERE
第九章 AT89S52单片机串行通信
35
9.4 串行通信应用举例
9.4.1 串行口模式0的应用 9.4.2 串行口模式1的应用 9.4.3 串行口模式2和模式3的应用
第九章 AT89S52单片机串行通信
36
9.4.1 串行口模式0的应用
例9.1:AT89S52的串行接口外接74LSl64移位寄存 器,每接一片74LS164可扩展一个8位并行输出口, 用以连接一个LED作静态显示器或作键盘中8根列 线使用。图9.4.1为串行口扩展两位LED显示器的实 用电路。
第九章 AT89S52单片机串行通信
2
9.1.1 串行通信的实现
1.串并转换和并串转换 2.设备同步 3.通信协议 (1)起始位(2)数据位(3)奇偶校验位 (或可编程第9位)(4)停止位(5)波特 率
第九章 AT89S52单片机串行通信
3
9.1.2 串行通信的通信方式
1.同步通信 2.异步通信
第九章 AT89S52单片机串行通信
44
谢谢!
第九章 AT89S52单片机串行通信
45
第九章 AT89S52单片机串行通信
12
9.2.3 RS232C接口的典型应用
第九章 AT89S52单片机串行通信
13
单片机和PC机采用1488和1489通信 连线图
第九章 AT89S52单片机串行通信
14
单片机和PC机采用MAX232通信 连线图
第九章 AT89S52单片机串行通信
15
9.3 AT89S52串行通信接口
16 16 16 16 12 12 12 12 12 11.059 11.059 11.059 11.059 11.059 11.059 6
2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2
EFH DDH BBH 75H F3H E6H CCH 98H FEEBH FDH FAH F2H E8H D0H A0H F3H
SMOD
C/ T
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
模式
重装值
4800 2400 1200 600 4800 2400 1200 600 300 56800 19200 9600 4800 2400 1200 600
第九章 AT89S52单片机串行通信
4
1.同步通信
同步通信的基本特征是发送和接收时钟保 持严格同步。 分为面向字符型和面向位(比特)型两种。 面向字符型的数据格式又有单同步、双同 步、外同步之分:
第九章 AT89S52单片机串行通信
5
面向位型:
第九章 AT89S52单片机串行通信
6
2.异步通信
波特率
fosc /
MHz 16 16 16 16 12 12 12 12 12 11.059 11.059 11.059 11.059 11.059 11.059 11.059
T1 SMOD 波特率
T1
f osc /
MHz
C/ T
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
模式
重装值
11
第九章 AT89S52单片机串行通信
9.2.2 RS232C接口的具体规定
1.电气性能规定 (1) 在TXD和RXD线上,RS232C采用负逻辑。 逻辑正(即数字“1”)=-3V~-15V 逻辑负(即数字“0”)=+3V~+15V 0 =+3V +15V (2) 在联络控制信号线上(如RTS、CTS、DSR、 DTR、RI、DCD等) ON(接通状态)=+3V~+15V OFF(断开状态)=-3V~-15V 2.传输距离
第九章 AT89S52单片机串行通信
27
9.3.4 波特率的确定
串行口的四种工作模式对应着不同波特 率。由于输入的移位时钟来源不同,因 此,各种模式的波特率计算公式也不相 同。
第九章 AT89S52单片机串行通信
28
1.模式0的波特率
f osc
模式0的波特率=
/12
第九章 AT89S52单片机串行通信
第九章 AT89S52单89S52单片机串行通信
23
. 模 式
2 1
第九章 AT89S52单片机串行通信
24
第九章 AT89S52单片机串行通信
25
. 模 式 和 模 式
3 2 3
第九章 AT89S52单片机串行通信
26
9.3.3 多机通信
1.多机通信原理 2.多机通信应用举例
模式1和模式3的波特率=T2的溢出速率/16 模式1和模式3的波特率=
f OSC 2 × 16 × [65536 (RCAP2H, RCAP2L)]
模式1和模式3的波特率=
外部时钟频率 16 × [65536 RCAP2H, RCAP2L)] (
第九章 AT89S52单片机串行通信
33
表9.3.1 由T1产生的常用波特率值
9.3.1 9.3.2 9.3.3 9.3.4 串行口的控制 串行口的工作模式 多机通信 波特率的确定
第九章 AT89S52单片机串行通信
16
9.3.1 串行口的控制
1.串行数据缓冲器SBUF 2.串行口控制寄存器SCON 3.电源控制寄存器PCON
第九章 AT89S52单片机串行通信
17
2.串行口控制寄存器SCON
第九章 AT89S52单片机串行通信
40
解:(1)功能分析: (2)波特率的计算 串行口工作在模式1,定时器T1工作在模式 2作波特率发生器。波特率计算公式为: SMOD f OSC 波特率= 2 × (256 -TH1 )
32 12
f OSC - 设SMOD=0,则TH1= 256 32 × 12 × 1200
fosc /MHz
11.059 11.059 11.059 11.059 11.059 11.059 11.059 11.059 11.059 6 6 6 6 6 6
RCAP2H FFH FFH FFH FFH FFH FFH FEH FDH FBH FFH FFH FFH FEH FDH F9H
RCAP2L FAH F7H EEH DCH B8H 70H E0H C0H 80H D9H B2H 64H C8H 8FH 57H
=256-24=232=0E8H
第九章 AT89S52单片机串行通信
41
9.4.3 串行口模式2和模式3的应用
例9.3编写串行发送程序,被发送的数据 存储在内部RAM的30H~4FH单元中,要 求每个数据要加上奇偶检验。 解:(1)功能分析: (2)采用查询方式程序清单如下:
第九章 AT89S52单片机串行通信
DL2:
第九章 AT89S52单片机串行通信
39
9.4.2 串行口模式1的应用
例9.2:设有两个单片机应用系统相距很 近,将它们的串行口直接相连,以实现 全双工的双机通信。设甲机发送乙机接 收,待发送的数据是标准的ASCII码,存 储在内部RAM单元20H~3FH中,要求在 最高位上加奇校验位后由串行口发送出 去,发送的波特率为1200b/s, f osc =11.059MHz。
第九章 AT89S52单片机串行通信
7
9.1.3 串行通信的传输方式
1.单工通信 2.半双工通信 3.全双工通信
第九章 AT89S52单片机串行通信
8
9.2 RS232C标准总线及通信设计
9.2.1 RS232C接口的引脚描述 9.2.2 RS232C接口的具体规定 9.2.3 RS232C接口的典型应用
第九章 AT89S52单片机串行通信
9
9.2.1 RS232C接口的引脚描述
第九章 AT89S52单片机串行通信
10
9针连接器和25针连接器间的对应关系
引脚描述 DCD RXD TXD DTR GND DSR RTS CTS RI 9针连接器 1 2 3 4 5 6 7 8 9 25针连接器 8 3 2 20 7 6 4 5 22
38
JNB TI, DL2 CLR TI INC R0 DJNZ R7, DL1 CLR P3.5 LOOP: AJMP LOOP TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H DB 92H, 82H, 0F8H, 80H, 90H, 88H DB 83H, 0C6H, 0A2H, 86H, 84H
第九章 AT89S52单片机串行通信
37
(2)程序清单:
ORG DISP: 8100H SETB P1.2 MOV R7, #02H MOV R0, #61H MOV SCON, #00H DL1: MOV A, @R0 ADD A, #0EH MOVC A, @A+PC MOV SBUF, A
第九章 AT89S52单片机串行通信
RCAP2H FFH FFH FFH FFH FFH FEH FCH F9H EEH FFH FFH FFH FEH FDH FBH
RCAP2L F3H E6H CCH 98H 30H 5FH BFH 7DH 3FH D9H B2H 64H C8H 8FH 1EH