
学习情境三 通信系统设计与制作.ppt
37页学习情境三 键盘系统设计与制作知 识识 目 标标1.理解串行通信的基本概念、特点和分类;2.掌握单片机串行口的结构、特点、工作方式及应用;3.掌握I总线 的基本原理及应用;4.掌握EEPROM存储器的使用方法;5.掌握MAX232芯片的作用及使用方法 能 力 目 标标1.能实现 多个MCS-51单片机之间的单向、双向通信;2.能实现单 片机和PC机之间的单向、双向通信;3.能使用单片机I/O口模拟I2C总线 和EEPROM进行通信;4.能进行KEIL和PROTEUS联机仿真测试 ;5.能绘制程序流程图训练项目3-1】串口通信系统设计与制作一、项目要求在Proteus仿真软件上,采用单片机的串行口P3.0(RXD)和P3.1(TXD),实现单片机之间的双机通信和多机通信,并将接收到的数据通过1位数码管显示出来;在单片机实训板上采用MAX232实现单片机和PC机之间的串行通信,通过上位机软件发送时、分、秒数据给单片机,单片机将接收到的数据回发给PC机并通过数码管显示二、项目实训仪器、设备及实训材料工具、设备 和耗 材数量工具、设备 和耗材数量工具、设备 和耗材数量电脑1台51单片机下载线和USB线1根杜邦导线8PKeil uVision41套晶振11.059M1只AT89S51/STC60S21片Proteus7.5软件1套单片机实训 板1块稳压电 源1台三、项目实施过程及其步骤任务1 单片机之间的双机通信系统设计与制作任务描述:在Proteus仿真软件上,甲机发送1个数字0-9给乙机,乙机接收甲机发来的数据并通过数码管显示。
乙机将刚接收到的数据加1后再发送给甲机,甲机显示接收到的数据任务2 单片机之间的多机通信系统设计与制作任务描述:在Proteus软件上,主机发送两个0-9数字分别给从机1和从机2,从机接收到数据后在数码管上显示数字任务3 单片机和PC机之间通信系统设计与制作任务描述:在Proteus软件上,通过虚拟串口实现单片机和PC机之间的通信;在单片机实训板上,将单片机的串行口RXD和TXD连接到MAX232电路的J12,通过上位机软件发送时、分、秒3个数据给单片机,单片机将接收到的数据显示在6位数码管上四、思考与分析(1)本程序设置波特率为9600bps,若设置为2400bps,能采用几种方法?如何实现?(2)简述单片机进行多机通信的原理3)试比较MAX232、MAX422和MAX485之间的区别?(4)定时器1做串行口波特率发生器时,为什么采用方式2?任务2 实现简易计算器任务描述:在Proteus软件和单片机实训板上,采用单片机P0和P2.4—P2.6端口分别连接LCD1602的数据和控制端口,P3端口与4×4矩阵键盘相连;实现简易计算器功能,具有整数的加、减、乘、除四种基本运算,约束条件是操作数和计算结果都不能超过65535。
四、思考与分析(1)任务1采用LCD1602显示2)任务2的计算数值的范围放大一倍,且能进行浮点数运算3)绘制出任务2程序流程图3.1 串行通信3.1.1 串行通信基础1. 通信方式及特点单片机与外界进行信息交换的过程统称为通信可以将通信方式分为两种:并行通信和串行通信2. 串行通信的数据传送方式3. 串行通信的分类(1)同步通信 (2)异步通信4.串行通信的波特率波特率用于衡量串行通信系统中数据传输的快慢程 序数字通信所传输的是一个接一个按节拍传送的数字 信号单位波特率是指每秒钟传送信号的数量,单位为 波特B而每秒钟传送二进制数的位数定义为比特率, 单位是bps或写成b/s(位/秒)5. 串行通信总线标准及接口技术(1) RS-232C标准 (2) RS-232C标准信号定义 (3) RS-232C接口电路3.1.2 8051内核单片机的串行口串行口结构示意图串行口控制寄存器SCON SCON (98H)SM0SM1SM2RENTB8RB8TIRI串行口的工作方式SM0 SM1工作方式功能波特率0 0方式08位同步移位 寄存器fosc/120 1方式110位UART可变 1 0方式211位UARTfosc/64或 fosc/32 1 1 方式311位UART可变串行口控制寄存器SCON SCON (98H)SM0SM1SM2RENTB8RB8TIRIpSM2:多机通信控制位,用于方式2和方式3中。
pREN:允许串行接收位由软件置位或清零REN=1时,允许接收 ,REN=0时,禁止接收TB8:发送数据的第9位在方式2和方式3 中,由软件置位或复位一般可做奇偶校验位在多机通信中,可 作为区别地址帧或数据帧的标识位,一般约定地址帧时TB8为1,数 据帧时TB8为0 pRB8:接收数据的第9位功能同TB8串行口控制寄存器SCON SCON (98H)SM0SM1SM2RENTB8RB8TIRIpTI:发送中断标志位在方式0中,发送完8位数据后,由硬件 置位;在其他方式中,在发送停止位之初由硬件置位因此, TI=1是发送完一帧数据的标志,其状态既可供软件查询使用, 也可请求中断TI位必须由软件清0 pRI:接收中断标志位在方式0中,接收完8位数据后,由硬件 置位;在其他方式中,当接收到停止位时该位由硬件置1因此 ,RI=1是接收完一帧数据的标志,其状态既可供软件查询使用 ,也可请求中断RI位也必须由软件清0电源及波特率选择寄存器 PCON PCON主要是为CHMOS型单片机的电源控制而设置的专用 寄存器,字节地址为87H,不可以位寻址在HMOS的 AT89C51单片机中,PCON除了最高位以外其它位都是虚设 的。
PCON (87H) SMOD×××GF1GF0PDIDL与串行通信有关的只有SMOD位SMOD为波特率选 择位在方式1、2和3时,串行通信的波特率与SMOD有 关当SMOD=1时,通信波特率乘2,当SMOD=0时,波特 率不变MCS-51串行口的工作方式 方式0在方式0下,串行口作同步移位寄存器使 用,其波特率固定为fosc/12串行数据从RXD( P3.0)端输入或输出,同步移位脉冲由TXD(P3.1) 送出这种方式通常用于扩展I/O口 MCS-51串行口的工作方式 方式1发送时,当数据写入发送缓冲器SBUF后,启动发 送器发送 ,数据从TXD输出当发送完一帧数据后,置中断标志TI为1 方式1下的波特率取决于定时器1的溢出率和PCON中的SMOD位接收时,REN置1,允许接收,串行口采样RXD,当采样由1 到0跳变时 ,确认是起始位“0”,开始接收一帧数据当RI=0 ,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志 RI;否则信息将丢失所以,采用方式1接收时,应先用软件清 除RI或SM2标志MCS-51串行口的工作方式 方式2发送时,先根据通信协议由软件设置TB8,然后将要发送的数据写入 SBUF,启动发送。
写SBUF的语句,除了将8位数据送入SBUF外,同时 还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发 送,一帧信息即从TXD发送在送完一帧信息后,TI被自动置1,在发 送下一帧信息之前,TI必须在中断服务程序或查询程序中清0MCS-51串行口的工作方式 方式2当REN=1时,允许串行口接收数据当接收器采样到RXD端的负跳变 ,并判断起始位有效后,数据由RXD端输入,开始接收一帧信息当 接收器接收到第9位数据后,若同时满足以下两个条件:RI=0和SM2=0 或接收到的第9位数据为1,则接收数据有效,将8位数据送入SBUF, 第9位送入RB8,并置RI=1若不满足上述两个条件,则信息丢失 MCS-51串行口的工作方式 方式3方式3为波特率可变的11位UART通信方式,除了波特率以 外,方式3和方式2完全相同 MCS-51串行口的波特率 方式0和方式2 p在方式0中,波特率为时钟频率的1/12,即fosc/12,固 定不变 p在方式2中,波特率取决于PCON中的SMOD值,当SMOD=0 时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32 即波特率= 。
MCS-51串行口的波特率 方式1和方式3 在方式1和方式3下,波特率由定时器T1的溢出率和SMOD共同决定,即:方式1和方式3的波特率= ·定时器1溢出率其中,定时器1的溢出率取决于单片机定时器1的计数速率和定时器的预置值计数速率与TMOD寄存器中的C/位有关,当C/=0时,计数速率为fosc/12,当C/=1时,计数速率为外部输入时钟频率 MCS-51串行口的波特率 方式1和方式3 实际上,当定时器T1做波特率发生器使用时,通常是工作在模式2下,即作为一个自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次为了避免溢出而产生不必要的中断,此时应禁止T1中断溢出周期为12×(256-X)/fosc.溢出率为溢出周期的倒数 MCS-51单片机双机通信 MCS-51单片机双机通信 查询方式 1) 甲机发送编程将甲机片外1000H~101FH单元的数据块从串行口输出定义 方式2发送,TB8为奇偶校验位发送波特率375 kb/s,晶振为12 MHz, SMOD=12) 乙机接收编程使乙机接收甲机发送过来的数据块,并存入片内50H~6FH单 元。
接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志 为0,然后返回在进行双机通信时,两机应采用相同的工作方式和波特率RS-232C串行通信总线标准及其 接口 RS-232C的电气标准采用负逻辑 ,即:逻辑 “0”:+5V~+15V逻辑 “1”:-5V~-15V因此,RS-232C不能和TTL电平直接相连,否则将使TTL电路烧坏, 实际应 用时必须注意RS-232C和TTL电平之间必须进 行电平转换 ,常 用的电平转换 集成电路MAX232MAX232引脚图RS-232C串行通信总线标准及其 接口 RS-232C标准总线为 25根,可采用标准的DB-25和DB-9的D型 插头目前计算机上只保留了两个DB-9插头,作为提供多功能I/O 卡或主板上COM1和COM2两个串行接口的连接器引 脚名称功能引 脚名称功能1DCD载波检测6DSR数据准备完 成 2RXD发送数据7RTS发送请求 3TXD接收数据8CTS发送清除 4DTR数据终端准备 完成9RI振铃指示5SG(G ND)信号地线在简单 的RS232-C标准穿性通信中,仅连 接发送数据(2)、接收 数据(3)和信号地(5)三个引脚即可。
训练项目3-2】IIC通信系统设计与制作一、项目描述在Proteus软件和单片机实训板上,将单片机P1口连接到1位数码管的数据端口,P2口连接AT24C02的SCK和SDA引脚,将0-9数字依次写入AT24C02存储器,然后从存储器中读出,并在数码管上显示二、项目实训仪器、设备及实训材料工具、设备 和耗 材数量工具、设备 和耗材数量工具、设备 和耗材数量电脑1台51单片机下载线和USB线1根杜邦导线8PKeil uVision41套晶振12M1只AT89S51/STC60S21片Proteus7.5软件1套单片机实训 板1块稳压电 源1台三、项目实施过程及其步骤四、思考与分析(1)如何一次对AT24C02写入多个数据?(2)AT24C02串行EEPROM的SDA和SCL线必须外接上拉电阻,为什么?3.2 I2C串行通信与EEPROM数据 存储器3.2.1 I2C串行通信模式I2C总线(Inter Integrated Circuit内部集成电路总线)是 两线式串行总线,仅需要时钟和数据两根线就可以进行数据 传输,仅需要占用微处理器的2个IO引脚,使用时十分方便 。
