




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 单片机与PC 机的通信原理的设计分析 随着系统的广泛应用和计算机网络技术的普及,单片机的通信功能愈来愈显得重要。单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,通常单片机与计算机之间的通信用的较多。本文以温度检测数据为根底,研究了单片机与 机的及电路的设计。 引言 本文研究的是一种基于串口的温度检测数据收发模块。利用DS18B20 温度传感器设计温度监测模块,到0.1,用液晶显示当前温度,然后通过串口调试助手向单片机发送指令。当单片机收到十六进制指令01时,将当前温度值以1s 为间隔传回PC 机显示,同时PC 机显示Turn on temp;当单片机
2、收到十六进制指令02 时,停止温度值的回传,PC 机显示Turn off temp;当单片机收到其它指令时,PC 机显示Error。 1 总体设计 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。 本系统的硬件采用模块化设计,以AT89C52 单片机为,与LCD 显示电路、串行口通信电路及DS18B20 温度检测电路组成控制系统。该系统硬件主要包括以下几个模块: AT89C52 主控模块、LCD 显示模块、串行口通信模块、DS18B20 温度检测模块等。其中AT89C52 主要完成外围硬件的控制以及一些运算功能,LCD 显示模块完成字符、
3、数字的显示功能、串行口通信模块主要完成单片机和PC 机之间的通信功能,DS18B20 温度检测模块主要完成环境温度检测功能。系统组成方框图如图1.1 所示。 图1.1系统硬件组成方框图 应用软件采用模块化设计方法。该系统软件主要由主程序、串口接收发送数据中断子程序、LCD 显示子程序等模块组成,系统软件构造框图如图1.2 所示。 图1.2系统软件设计框图 2 系统工作原理 MCS-51 单片机串行口发送/接收数据时,通过2 个串行缓冲器SBUF 开展,这2 个缓冲器采用一个地址(98H),但在物理上是独立的。其中接收缓冲器只能读出不能写入,50 发送缓冲器只能写入不能读出。 1. 发送过程 当
4、数据被写入SBUF 存放器后,单片机自动开始从起始位发送数据,发送到停止位的开始时,由内部硬件将TI 置1,向CPU 申请中断,接下来可在中断服务程序中做相应处理,也可选择不进入中断。 2. 接收过程 串行口的接收与否受制于允许接收位REN 的状态,当REN 被软件置1后,允许接收器接收。串口的接收器以所选波特率的16 倍速对RXD 线开展监视。当1到0跳变时,检测器连续采样到RXD 线上低电平时。便认定RXD 端出现起始位,继而接收控制器开始工作。在每位传送时间的第7、8、9 三个脉冲状态采样RXD 线,决定所接收的值为0或1.当接收完停止位后,控制电路使中断标志R1置为1. 3. 温度检测
5、 温度检测采用DALLAS 单线数字温度传感器DS18B20,DS18B20 是一种新型的一线器件,其体积更小,更适用于多种场合,且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20 是世界上片支持一线总线接口的温度传感器。 温度测量范围为-55+125,可编程为9 位12位转换精度,可分辨温度分别为0.5,0.25,0.125和0.0625。在9 位分辨率时,多在93.75ms 内把温度转换为数字;在12 位分辨率时,多在750ms 内把温度值转换为数字。 3 温度传感器 3.1 温度传感器特性 DALLAS 单线数字温度传感器DS18B20是一种新型的一线器件,
6、其体积更小,更适用于多种场合,且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20 是世界上片支持一线总线接口的温度传感器。温度测量范围为-55+125,可编程为9 位12 位转换精度,可分辨温度分别为0.5,0.25,0.125和0.0625。在9 位分辨率时,多在93.75ms 内把温度转换为数字;在12 位分辨率时,多在750ms内把温度值转换为数字。DS18B20的性能特点如下: 1. 独特的单线接口仅需要一个端口引脚开展通信; 2. 多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能 3. 无须外部器件; 4. 可通过数据线供电,电压范围为3.
7、05.5V; 5. 零待机功耗; 6. 温度以 9 或12 位数字; 7. 用户可定义报警设置; 8. 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9. 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B02 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。 当 DS18B20 处于写存储器操作和温度A/D 转换操作时,总线上必须有强的上
8、拉,上拉开启时间为10us.采用寄生电源供电方式时VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。 图 3.1 DS18B20 引脚图 3.2 工作时序图 1. 初始化 图 3.2 初始化时序图 1)先将数据线置高电平1;2) 延时(该时间要求不是很严格,但是要尽可能短一些);3) 数据线拉到低电平0;4) 延时 750us(该时间范围可以在480960us);5) 数据线拉到高电平1;6)延时等待。如果初始化成功则在1560ms内产生一个由DS18B20 返回的低电平0,据该状态可以确定它的存在。但是要注意,不能无限地等待,不然会使程序进入死循环,所以要开展超时判断;7) 若
9、 CPU 读到数据线上的低电平0 后,还要开展延时,其延时时间从发出高电平算起少要480us;8)将数据线再次拉到高电平后结束。 2. DS18B20 写数据 图3.3 写数据时序图 1) 数据线先置低电平0; 2)延时确定的时间为15us; 3) 按从低位到高位的顺序发送数据(只发送一位); 4) 延时时间为 45us; 5) 将数据线拉到高电平1; 6) 重复 1)到5)步骤,直到发送完整个字节; 7)将数据线拉高到1. 3. DS18B20 读数据 图3.4 读数据时序图 1)将数据线拉高为1; 2) 延时 2us ; 3) 将数据线拉低0 ; 4) 延时 6us ; 5) 将数据线拉高
10、1 ; 6)延时 4us ; 7) 读数据线的状态得到1 个状态位,并且开展数据处理; 8) 延时 30us ; 9) 重复 1)到7)步,知道读取完一个字节。 4 硬件设计 4.1 时钟电路及复位电路 1.时钟电路 时钟电路可以产生CPU 校准时序,是单片机的控制,本次设计是通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1 和XTAL2 分别为反向放大器的输入端和输出端。外接晶体以及电容C3 和C5 构成并联谐振电路,接在放大器的反应回路中。当用外部时钟驱动时,XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动,外部振荡器通过一个2 分频的触发器而成为内部时
11、钟信号,故对外部信号的占空比没有什么要求,但和的高电平持续时间和低电平持续时间应符合技术要求。电路如图4.1 所示。 图 4.1晶振电路 2.空闲方式 在空闲方式下,CPU 的内部时钟信号被门控电路所封锁,CPU 即进入睡眠状态,但内部时钟信号仍继续供应中断系统,定时器和串行口。这种方式由软件调用。在空闲方式期间,片内RAM和所有专用存放器的状态仍被保存,空闲方式可通过任何允许的中断或硬件复位来终止。当空闲方式由硬件复位终止时,通常系统在空闲处恢复程序的执行。硬件复位只需要信号持续有效两个机器周期。当用复位终止空闲方式时,为防止防止意外写入端口引脚的可能性,调用空闲方式指令的下一条指令不应是写
12、端口引脚或外部存储器。 3.掉电工作方式 5.2 程序设计 5.2.1 主程序设计 主程序主要完成硬件初始化、子程序调用等功能。 1. 初始化。 首先调用 LCD 初始化程序,在LCD 上显示数据RECEIVE:和TEMP is: *C. 然后调用中断及串口初始化子程序程序,把串口接收数据单元RECDATA 清零。设置存放器SCON 的SM0、SM1 位定义串口工作方式,选择波特率发生器为定时器T1;设定定时器T1 工作方式为方式2;设置波特率参数为9600bps;允许串行中断及总中断;允许串口接收数据,定义REN=1;启动定时/计数器T1 工作,定义TR1=1. 2. 串口收发数据。 判断串
13、口成功接收数据标志位flag_UART 是否为0,若flag_uart 为0,说明串口未接收到数据,则继续等待串口接收数据;若flag_uart 为1,说明串口成功接收或发送数据,进入串口中断服务子程序,单片机接收数据,并将串口成功接收数据标志位flag_uart 清零,调用LCD 显示接收数据子程序,在LCD 上显示单片机从 判断串口成功接收数据标志位flag_UART 是否为0,若flag_uart 为0,说明串口未接收到数据,则继续等待串口接收数据;若flag_uart 为1,说明串口成功接收或发送数据,进入串口中断服务子程序,单片机接收数据,并将串口成功接收数据标志位flag_uart
14、 清零,调用LCD 显示接收数据子程序,在LCD 上显示单片机从串口接收到的数据,同时回传温度值给PC机显示。主程序设计流程图如图5.1 所示。 图 5.1 主程序流程图 5.2.2 串口中断服务子程序 判断串口发送标志位TI 是否为1,若TI 为1,则把数据从单片机发给PC 机,并把TI清零,中断子程序返回;若TI为0,说明RI=0,则把串口接收标志位RI清零,把串口接收缓冲器SBUF 中的数据写入串口接收数据单元RECDATA,再把该数据送到串口发送缓冲器SBUF 中,传给PC 机,置串口成功接收数据标志位RECOKBIT 为1,说明串口成功接收发送数据,中断子程序返回。串口收发数据中断服
15、务子程序设计流程图如图5.2 所示。 图5.2 串口中断服务子程序 5.2.3 读温子程序 读出温度子程序的主要功能是读出RAM 中的9 字节,在读出时需开展CRC 校验,校验有错时不开展温度数据的改写。其程序流程图如图5.3 示。 图5.3 读温子程序 5.2.4 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图5.4 所示。 图5.4 温度转换流程图 5.2.5 计算温度子程序 计算温湿度子程序将RAM 中读取值开展BCD 码的转换运算,并开展
16、温度值正负的判定,其程序流程图如图5.5 所示。 图5.5 计算温度流程图 5.2.6 显示数据刷新子程序 显示数据刷新子程序主要是对分离后的温度显示数据开展刷新操作,当标志位位为1时将符号显示位移入位。程序流程图如图5.6 所示。 6 结论 本系统的硬件采用模块化设计,以AT89C52 单片机为,与LCD 显示电路、串行口通信电路及DS18B20 温度检测电路组成控制系统。该系统硬件主要包括以下几个模块: AT89C52 主控模块、LCD 显示模块、串行口通信模块、DS18B20 温度检测模块等。其中AT89C52 主要完成外围硬件的控制以及一些运算功能,LCD 显示模块完成字符、数字的显示
17、功能、串行口通信模块主要完成单片机和PC 机之间的通信功能,DS18B20 温度检测模块主要完成环境温度检测功能。 在掉电方式下,片内振荡器停止工作。调用掉电指令是执行的一条指令。片内RAM 和专用存放器的值被保存,直到掉电方式终止。退出掉电方式只能靠硬件复位。复位后将重新定义所有专用存放器,但不改变RAM 的内容。在VCC 未恢复到正常工作电压之前,不能启动复位,复位信号应保持足够长的时间,以保证振荡器的起振和到达稳定。 为了使单片机正常工作,还需要参加上电复位电路和掉电检测电路。上电复位简要原理: 在系统不需要复位时,RST端是低电平;按下按键,RST端变为高电平。 图 4.2 上电复位电
18、路 AT89C51、晶振电路与上电复位电路共同组成单片机系统,如图4.3 所示。 图 4.3 系统 4.2 温度传感器 图4.4 DS18B20连线图 从图 4.4 可以看出,DS18B20 与单片机的连接非常简单,单片机只需要一个I/O 口就可以控制DS18B20.这个图的接法是单片机与一个DS18B20 通信,如果要控制多个DS18B20开展温度采集,只要将所有的DS18B20 的I/O 口全部连接到一起就可以了。 4.3 LCD显示模块 显示电路采用LCD1602 液晶显示屏,P2 作为液晶8 位数据输入端口。P1.0 口作为液晶数据/命令选择端口,P1.1 为液晶使能端口。 图 4.5
19、 LCD 显示模块 4.4 串行口通信模块设计 51 单片机有一个全双工的串行通信口,使单片机和计算机之间可以方便地开展通信。 电平范围是电路能够安全可靠识别信号的电压范围。 CMOS 电路的电平范围一般是从0 到电源电压。CMOS 电平中,高电平(3.55V)为逻辑1,低电平(00.8V)为逻辑0. RS232 接口的电平范围是-15V 到+15V,RS232 电平采用负逻辑,即逻辑1:-3-15V,逻辑0:+3+15V. 单片机的串口是TTL 电平的,而计算机的串口是RS232 电平,要使两者之间开展通信,两者之间必须有一个电平转换电路,即单片机的串口要外接电平转换电路芯片把与TTL兼容的
20、CMOS 高电平表示的1 转换成RS232 的负电压信号,把低电平转换成RS-232 的正电压信号。典型的转换电路给出-9V 和+9V. 本设计中实现逻辑电平转换可以采用MAX232 芯片的转换接口:MAX232 是MAXIM公司生产的,包含两路驱动器和接收器的RS-232 转换芯片。MAX232 芯片内部有一个电压转换器,可以把输人的+5V 电压转换为RS-232 接口所需的10V 电压,尤其适用于没有12V 的单电源系统。与此原理相同的芯片还有MAX202、AD 公司的ADDt101 以及SIL 公司的IC1232 芯片。 图 4.6 MAX232 芯片引脚 由于 protues仿真时不需开展电平转换,所以仿真时没有用上MAX232 芯片电路,但做实物时需开展电平转换,其硬件连线图如图4.7 所示。MAX232 芯片的T1in 引脚连接AT89C51 单片机的P3.1(TXD)引脚,MAX232 芯片的R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一活动糖葫芦活动方案
- 六一活动西餐厅活动方案
- 六一灯光活动策划方案
- 六一玩转蔬果活动方案
- 六一衣服活动方案
- 六反六查三确保活动方案
- 药品食品考试试题及答案
- 药品考试试题及答案解析
- 药二考试试题及答案分析
- 兰坪税务局活动方案
- 血管内导管相关性血流感染预防与诊治2025
- 2025年安庆宿松县县属国有企业招聘57人笔试参考题库附带答案详解析集合
- 部编人教版一年级下册道德与法治复习计划
- 新基建浪潮下临沂市智慧交通管理的创新与突破
- 临时用电施工方案技术交底
- 厂房维修合同协议书模板
- 2025年Z世代消费行为与品牌社群营销研究报告
- 2025年春季《中华民族共同体概论》第二次平时作业-国开(XJ)-参考资料
- 《流行性感冒辨证论治》课件
- JJG(交通) 208-2024 车货外廓尺寸动态现场检测设备
- 工厂精细化管理全案
评论
0/150
提交评论