计算机与单片机的串口通讯程序设计研究

2022-06-01 07:18于洋
电子测试 2022年9期
关键词:计数器电平字节

于洋

(抚顺市第一中等职业技术专业学校,辽宁抚顺,113001)

1 器件及原理分析

1.1 器件

(1)温度传感器。温度传感器为美国DALLAS公司设计研制的DS1820芯片,芯片具有加强的集成性,能在一根信号线上集成址线、数据线与控制线,并能在信号线上连接多个器件;(2)单片机。单片机也叫微控制器,在芯片上集成计算机系统,由于单片机在实际应用中体积小,质量轻,且价格便宜得到广泛运用。单片机属于在线式实时控制计算机,在具体应用中具有较强的抗干扰性能。

1.2 原理

DS18B20在工作运行过程中需按照一定工作原理完成相关操作。低温度系数振荡器会随振荡频率的变化而变化,计数脉冲可以为计数器1提供,确保计数脉冲的稳定性。对于高温度系数振荡器而言,对温度比较敏感,计数脉冲会提供给计数器2。温度寄存器的初始温度需设置为-55℃,对计数器数值进行调节,从1到0时温度也会发生变化,一般会增加1℃,重复进行这个过程,停止时需要确保计算器2计数到0。

在温度的变化下,提供的预置数也会发生变化。温度寄存器寄存值增加1℃计数器需要的计数个数为计数器1的预制数。计数器1中的剩余值需要在计数器2停止后进行转换,然后与0.25℃进行比较,温度寄存器的最低位与最高位设置,要以0.25℃为分解,低于该值与高于该值需分别设置为0与1。

2 系统设计

2.1 硬件设计

系统硬件结构如图1所示。被控对象实时温度是由温度传感器DS18B20采集完成的,数据输入利用AT89C2051的P3.2口完成操作。所处室温为被控对象。DS18B20属于小体积封装形式,为3引脚TO-92小体积形式。同时要明确相关参数,具体见表1。在3根或者2根线上并联DS18B20,为与众多DS18B20进行通信,可以使用一根端口连接CPU,不会占用太多微处理端。

图1 系统硬件结构

表1 参数要求

2.1.1 单片机

单片机的初始化操作为复位,要先完成复位然后才能启动单片机进行运行,需确保CPU与系统能处于一个确定的初始状态开始运行。但单片机自身不会完成复位,要通过外部电路实现此项操作。单片机所使用的系列为,MCS-15,当2个机器周期以上的高电平出现在复位引脚RST上时,就可以实现复位操作。单片机的复位状态需以RST为基准,当七宝池为高电平时,编能确保单片机保持复位的循环状态。上电复位与下电复位是复位操作的两种基本方式,电源接通后上电复位能进行自动操作,所以上电复位比较常见。

2.1.2 显示电路

显示期间使用的为LED,各种字符显示是通过二极管导通实现的,常见的显示器为七段LED显示器。发光二极管的阳极全部连在一起,这种方法为共阳接法,高电平是由公共端COMM连接的,字段点的字段阴极连接低电平时就会被点亮;全部阴极连在一起为共阴接法,低电平被连接在公共端COMM上,字段的阳极与高电平连接时会点亮该字段。

2.1.3 串行通信

计算机上常用的通信协议为串口,串口可以对远程设备的数据进行采集,发送与接收字节是通过串口按位(bit)实现的,接收数据与发送数据需分别使用两根线。串口所使用的芯片为RS232标准芯片,在计算机端的串口RS232电平为-10V +10V。串行通信需使用地线、发送与接收3根线完成,对于两个通讯端口的连接,需关注表2的几个要点。

表2 参数及要点

2.1.4 振荡电路

振荡电路在单片机系统设计中十分重要。按照厂家给出的参数确定振荡电路,如果在实际运行中难以正常工作,无需进行修改。对于PIC系列的单片机,依然根据Microchip的不同而需要合理确定,汽车级温度当工作电压的直流电压为2.5~5.5V时,要将温度控制为-40~125℃之间,振荡电路的性能会受到实际参数的影响,影响元素有温度与低电压等。在设计PIC系列单片机时,需重视下面几项工作:(1)合理选择晶振。晶振的选择要更加系统需要予以确定,同时也要关注众多指标,比如工作温度、频率的稳定性等,确保各项指标符合要求,才能提升单片机振荡电路的正常运行;(2)振荡器类型的选择。PIC系列的单片机有不同的振荡模式,其中LP、XT与HS等振荡模式主要条件为环路增益的确定。

2.1.5 MAX232的应用

MAX232是一款兼容RS232标准的芯片,串口电平为-10v+10v,在系统中信号电压为tt1电平0+5v,电平转换用max232完成操作,该器件主要包括驱动器与接收器等。期间符合国家标准,可以对电平进行有效转换。MAX232的特点主要表现为:所使用的技术为LinBiCMOSTM工艺;输入电平为±30V;驱动器与接收器的数量各为2个。MAX232应用电路在实际应用中还需注意很多讨点需注意。电荷泵芯片为323,能细线两路TTL/RS-232的转换。RS232在实际应用中的不足也比较明显,接口电路芯片易损坏、传输速率较低、传输距离有限等都对其有效应用产生极大影响,所以未来这些问题是关注的重点。

2.2 软件设计

MSComm在Visual Basic中属于专门的串口通信物件,在工程中设定好通信协议,在与单片机进行串行通信时需利用RS232。在通讯控制中MSComm作为特殊功能元件,在预设工具箱里不会主动出现,要在专门的使用元件中完成。设定RS232的通信口中的COM2传输口为2,16为最大值号码。确保VB程序与89C52编辑的频率参数均为1200bps。单片机的温度显示和测量程序主要包括:系统主程序、DS18B20初始化子程序等。

2.2.1 单片机发送部分

外部数据采集需利用8051单片机,在RAM20H~3DH的区域村塾数据,并能在计算机端接收到数据,需先将#55H(联络信号)发送给计算机端,然后在接收后再将#0AAH(回应信号)发送给单片机,在对数据进行验证后单片机将数据传送给计算机端,通过这样的方式能有效保证数据传输的正确性。

2.2.2 VB部分

VB项目的开启,能输数据采集的情况进行实时了解,数据在单片机上读出来后赋给数组,并描绘波形曲线。为构建起串行通信信道,需在开启一个VB项目后安排一个MSCOMM控件。调出属性窗口,将变量COMPORT属性与Rthreshold属性分别设置为2、1,字符被外界传送来后就会引发事件。连续动作的执行控件为定时器,数据发送完后就会中断,下一个数据开始发送。

3 计算机与单片机的串口通讯程序设计

3.1 方案一(本研究方案)

程序编写是通过MCS-51指令实现的,各项操纵的执行需通过指令实现,程序就是要求编排的指令。温度传感器为DALLAS公司生产的,型号为DS18B20,具有3引脚TO-92小体积封装形式。温度转换需通过初始化、ROM指令操作与存储器操作指令完成。启动DS18B20、开始转换工作、读出温度转换值。确定转换精度为12位,只设置一个芯片,电源方式为外接供电,WDMSB单元接收读取的温度值高位字节,在WSLSB单元接受低位字节。高速暂存RMA与非易失性的可擦除E2RAM为DS18B20的组成部分,高温度与低温度触发器TH存储于非易失性的可擦除E2RAM。在存储器中总共有8个连续字节,从第一个字节到第五个字节分别为温度的第八位、温度的高八位、TH的易失性拷贝、TL的易失性拷贝、结构存储器的易失性拷贝;第几六字节到第八字节均为内部计算。

TM R1 R0 1 1 1 1 1 是八个字节的意义,1 为低五位,测试模式位为TM,TM的作用是DS18B20模式设置。DS18B20出厂后不要随意改动运行模式,一般会将其设置为0。分辨率设置是通过R1与R0完成的。DS18B20设置的为12位,这时在分别率设置时,需重视温度最大转换时间。

在实现温度转换时,主机控制DS18B20需完成下面的几个步骤:复位→发送ROM指令→RAM指令。在复位时,也有一定要求,要CPU数据线需下拉500微秒,并释放,DS18B20在接收到信号后,需等待一段时间,时间为16~60微秒之间。CPU在受到60~240微秒的存在低脉冲后说明复位成功。DS18B20读写程序的数据脚与晶振分别为P1.5、12MHZ。DS18B20汇编程序锁使用的转化位为12位,最大转化时间为750微秒。

3.2 方案二(其他方案)

计算机通信程序的设计,所采用的编程工具为Boland C++ Builder5.0在设计时串口通讯方法为使用注册组件,由于C++ Builder不会提供串行通信组件,但是微软公司的MSCcomm32组件可通过注册获得。在串口中断接收程序、指令判断程序等在设计过程中,与方案一基本类似。但是方案二在设计时经常会遇到一些问题,虽然相对比较简单,但是C++Builder5.0在使用过程中,由于一部分计算机无法注册,影响设计工作的有效开展。

通过两种方案的对比,最终选择方案一。方案一的设计具有普遍性,能满足设计要求。但是在设计过程中,单片机温度测量装置的功能有待丰富,且需要曾氏时钟显示功能。

4 结束语

计算机与单片机的串口通讯程序设计期间,有很多要点需重视,首先要对器件及原理予以明确,然后做好硬件与软件设计。在硬件设计时需重视单片机、显示电路、串行通信等方面的科学设计,同时也要在软件设计时做好单片机发送与VB两个部分。最后通过方案对比,确定选择方案一。方案一在实际应用中适用性较强,能满足使用需求。未来在现代科学技术的快速发展下,芯片会朝智能化、微小化、集约化的方向发展,不断满足当下社会发展的实际需求。

猜你喜欢
计数器电平字节
采用虚拟计数器的电子式膜式燃气表
No.8 字节跳动将推出独立出口电商APP
二电平和三电平网侧变流器控制及谐波比较*
三电平PWM整流器下的地铁牵引供电系统探讨
五十一进制计数器的设计与仿真实现
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
三电平H桥逆变器差模干扰源研究
SR620型与53230A型计数器的性能测试
算盘是个“小气鬼”