基于avr单片机与上位机的通信系统设计精要内容摘要:

DS18B20 中的每个器件上都有独一无二的序列号。  实际应用中不需要外部任何元器件即可实现测温。  测量温度范围在- 55。 C到+ 125。 C之间。  数字温度计的分辨率用户可以从 9位到 12 位选择。  内部有温度上、下限告警设置。 DS18B20 的数据输入 /输出端连接于 Atmega16L 的 PA7 引脚 ,电路原理如图 6所示。 AGND31X113X212R E S E T9P D 2 ( I N T 0 )16P D 3 ( I N T 1 )17P D 4 ( O C 1 B )18P D 5 ( O C 1 A )19P B 0 ( T 0 )1P B 1 ( T 1 )2P B 2 ( A I N 0 )3P B 3 ( A I N 1 )4P B 4 ( S S )5P B 5 ( M O S I )6P B 6 ( M I S O )7P B 7 ( S C K )8( A D C 0) P A 040( A D C 1) P A 139( A D C 2) P A 238( A D C 3) P A 337( A D C 4) P A 436( A D C 5) P A 535( A D C 6) P A 634( A D C 7) P A 733P C 022P C 123P C 224P C 325P C 426P C 527( T O S C 1 ) P C 628( T O S C 2 ) P C 729P D 7 ( T O S C 2 )21P D 6 ( I C P )20A V C C30A R E F32P D 1 ( T X D )15P D 0 ( R X D )14GND11VCC10A T M E G A 1 6 L123D S 1 8 B 20R4 .7 KV C CV C CC10 .1 u FC20 .1 u FC30 .1 u FL10uFR0V C CA V C C 图 6 温度检测部分电路原理图 单片机显示 设计中的显示模 块采用 LCD1602。 LCD1602 通用型液晶模块可以显示 2行 16 个字符,有 8位数据总线 D0D7,和 RS、 R/W、 E 三个控制端口,工作电压为 5V,并且带有字符对比度调节和背光。 现 在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。 LCD1602 的引脚个功能见表 1所示。 10 表 1: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 双向数据口 2 VDD 电源正极 10 D3 双向数据口 3 VL 对比度调节 11 D4 双向数据口 4 RS 数据 /命令选择 12 D5 双向数据口 5 R/W 读 /写选择 13 D6 双向数据口 6 E 模块使能端 14 D7 双向数据口 7 D0 双向数据口 15 BLA 背光源正极 8 D1 双向数据口 16 BLK 背光源地 引脚功能及使用说明: VL: LCD 对比度调节端,电压调节范围为 0- 5V。 接正电源时对比度最弱,接地电源时对比度最高,通常使用一个 10K 的电位器来调整对比度,或者直接串接一个电阻到地; RS: MCU 写入数据或者指令选择端。 MCU 要写入指令时,使 RS为低电平; MCU 要写入数据时,使 RS 为高电平; R/W:读写控制端。 R/W 为高电平时,读取数据; R/W 为低电平时,写入数据; E: LCD 模块使能信号控制端。 写数据时,需要下降沿触发模块。 D0- D7: 8 位数据总线,三态双向。 如果 MCU 的 I/O 口资源紧张的话,该模块也可以只使用 4 位数据线 D4- D7 接口传送数据。 本 设计 就是采用 4位数据传送方式; BLA: LED 背光正极。 需要背光时, BLA 串接一个限流电阻接 VDD,BLK 接地,实测该模块的背光电流为 50mA 左右; BLK: LED 背光地端。 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块 的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示。 1602 液晶模 11 块内部显示地址 如表 2 所示 : 表 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 第一行 40 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 第二行 LCD1602 的数据 I/O 口连接于 Atmega16L 的 PB 引脚 ,电路原理如图7所示。 AGND31X113X212R E S E T9P D 2 ( I N T 0 )16P D 3 ( I N T 1 )17P D 4 ( O C 1 B )18P D 5 ( O C 1 A )19P B 0 ( T 0 )1P B 1 ( T 1 )2P B 2 ( A I N 0 )3P B 3 ( A I N 1 )4P B 4 ( S S )5P B 5 ( M O S I )6P B 6 ( M I S O )7P B 7 ( S C K )8( A D C 0) P A 040( A D C 1) P A 139( A D C 2) P A 238( A D C 3) P A 337( A D C 4) P A 436( A D C 5) P A 535( A D C 6) P A 634( A D C 7) P A 733P C 022P C 123P C 224P C 325P C 426P C 527( T O S C 1 ) P C 628( T O S C 2 ) P C 729P D 7 ( T O S C 2 )21P D 6 ( I C P )20A V C C30A R E F32P D 1 ( T X D )15P D 0 ( R X D )14GND11VCC10A T M E G A 1 6 LV C CC10 .1 u FC20 .1 u FC30 .1 u FL10uFR0V C CA V C C12345678910111213141516L C D 1 6 02R 10KV C C _ 5 V 图 7 显示部分电路原理图 12 第三章 串口通信 异步 串行通信原理 异步串行数据通信以帧为传输单位,每一帧包含 1 位起始位“ 0”、8或者 9位数据、 1 位奇偶校验位和 1位停止位“ 1”。 异步串行通信规定了数据的传送格式,如图 8所示。 图 8 数据传输帧格式 异 步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑 “1” 状态。 当发送设备要发送一个字符数据时,首先发出一个逻辑 “0” 信号,这个逻辑低电平就是起始位。 起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低 电平后,就开始准备接收数据位信号。 因此,起始位所起的作用就是表示字符传送开始。 当接收设备收到起始位后,紧接着就会收到数据位。 在字符数据传送过程中,数据位从最低位 D0 开始传输。 数据发送完之后,可以发送奇偶校验位。 奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。 就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。 在奇偶位或数据位之后发送的是停止位 , 停止位是一个字符数据的结束标志。 在异步通信中,字符数据以图所示的格式一个一个地传送。 在发送间隙,即空闲时,通信线路总是处于逻辑 “1” 状态,每个字符数据的传送均以逻辑 “0” 开始。 同步 /异步串行收发器 USART USART 收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。 控制寄存器为所有的模块共享。 起始位 校验位 停止位 数据位 0 D0 D1 D2 D3 D4 D5 D6 D7 N 1 13 时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。 发送时钟引脚 XCK 仅用于同步发送模式下,发送器部分由一个单独的写入缓冲器(发送 UDR)、一个串行移位寄存器、校验位发生器和用于处理不同浈结构的控制逻辑电路构成。 使用写入缓冲器,实现了连续发送多浈数据无延时的 通信。 接收器是 USART 模块最复杂的部分,最主要的是时钟和数据接收单元。 数据接收单元用作异步数据的接收。 除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收 UDR)。 接收器支持与发送器相同的桢结构,同时支持桢错误、数据溢出和校验错误的检测。 USART 支持 4 中模式的时钟:正常的异步模式、倍速的异步模式、主机同步模式、从机同步模式。 USART 控制位 UMSEL 和状态寄存器 C用于选择异步模式和同步模式。 倍速的异步模式(只是用于异步模式)受控于 UCSRA 寄存器的 U2X。 使用同步模式 ( UMSEL=1)时, XCK 的数据方向寄存器( DDR_XCK)决定时钟源是由内部产生(主机模式) 还是由外部产生(从机模式)。 表 3 给出了计算波特率(位 /秒)以及计算每一种使用内部时钟源工作模式的 UBRR 值的公式。 表 3: 使用模式 波特率计算公式 UBRR 值计算公式 异步正常模式( U2X=0) )1(16  U B R RfB AU D os c 116  BAUDfUBRR O SC 异步倍速模式( U2X=1) )1(8  U BRRfBAU D osc 18  BAUDfUBRR OSC 同步主机模式 )1(2  U BRRfBAU D osc 12  BAUDfUBRR OSC BAUD—— 波特率( bps)。 oscf —— 系统时钟频率; UBRR—— UBRRH 和 UBRRL 的数值( 04095) 14 串行数据帧由数据字加上同部位(开始位与停止位)以及用于纠错的奇偶校验位构成。 USART 接收一下 30 种组合的数据帧格式: 起始位: 1 位 数据位: 8或 9 位 校验位:无校验位、奇校验位、偶校验位 停止位: 1 或 2位 数据帧以起始位开始,紧接着是数据字的最低位,数据字最多可以有 9个数据位,以数据的最高位结束。 如果使能了校验位,校验位将紧接着数据位,最后是结束位。 当一个完整的数据帧传输后,可以立即传输下一个新的数据帧,或是传输线处于空闲状态。 进行通信之前首先要对 USART 进行初始化。 初始化过程包括波特率的设定,帧结构的设定,以及根据需要使能接收器或发送器。 RS232串行通信 在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行 通讯。 RS232C接口(又称 EIARS232C)是目前最常用的一种串行通讯接口。 严格的讲 RS232 接口是 DTE(数据终端设备 )和 DCE(数据通信设备 )之间的一个接口。 RS232 接口引脚定义见表 4: 表 4: 25 芯 9 芯 信号方向来源 缩写 描述名 2 3 PC TXD 发送数据 3 2 调制解调器 RXD 接收数据 4 7 PC RTS 请求发送 5 8 调制解调器 CTS 允许发送 6 6 调制解调器 DSR 通信设备准备 好 7 5 GND 信号地 8 1 调制解调器 CD 载 波检测 20 4 PC DTR 数据终端准备 好 22 9 调制解调器 RI 响铃指示器 15 162738495D S RR T SC T SRID C DR X DT X DD T RSG目前 RS232。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。