技术文档

单片机技术及工程实践 上位机开发之单片机通信实践

小编 2024-11-24 技术文档 23 0

上位机开发之单片机通信实践

经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的。PLC的本质就是单片机,在单片机的基础上添加一些外围电路并形成产品化,即构成了PLC控制器。今天在这里给大家分享一个上位机与单片机通信的实例,希望对大家开发上位机有所启发。

1. 单片机硬件介绍

只要做上位机开发,就离不开通信协议。一般来说,单片机可以与上位机之间以串口通信为主,当然也不排除现在有的单片机也集成了以太网口。就串口通信而言,常用的几种通信方式,包括串口自定义协议、Modbus协议、CAN总线,接下来介绍的这个单片机是某个锂电池的核心板,它主要是支持Modbus协议和CAN总线的方式。

2. 通信分析

(1)这里我们选择的是基于485总线的ModbusRTU通信协议,如果要实现上位机开发,需要单片机开发人员提供一份通信变量表,如果读取变量较多或者不连续,需要进行分组读取。

(2)通信变量表一般包含参数名称、Modbus地址、存储区、数据类型、换算公式等内容,能够将通信变量表看明白并完成通信测试,是能够完成上位机开发的前提。

(3)这里,我截取部分变量表跟大家做一个分析:

上表中,以电芯总电压为例,Modbus地址为0x1003,对应十进制即为4099,寄存器地址即为44100,读取类型为ushort类型,换算公式为读取之后乘以0.01,比如读取值为5630,即为5.63V。

分析明白之后,我们就可以先用ModbusPoll软件来一波初步测试,如果需要Modbus软件资料的,可以私信我留下微信号,我让助教老师给到你。

这里我们需要通过485转USB连接到电脑中,然后通过设备管理器,看到端口号为COM4。

3. 通信测试

(1)打开ModbusPoll软件,通信参数选择COM4、9600、N、8、1,具体配置如下图所示:

(2)读取寄存器起始地址为4099,读取长度为10,具体配置如下图所示:

(3)配置完成后,即可读取到单片机的数据,具体如下图所示:

(4)实现读取之后,我们分析一下结果,4099读取到的值为4206,说明当前电池的电压为42.06V。我们可以用实际开发完成的上位机软件做下对比,验证一下数据是否正确:

4. 整体总结

本文主要针对单片机的Modbus通信实例做了较为详尽的描述,由于篇幅有限,仅仅介绍了通信测试部分,对于后续的项目实战部分,会通过后续的文章进行进一步的阐述。

我是新阁上位机付老师,用我的专业,成就你的梦想!

单片机入门学习一对一学习攻略!看完马上独立开发程序

大家好,我是华维单片编程的导师,今天给大家具体分享下关于51单片机的学习实践过程

以华维单片机学员入门教学为例,我们采用的基于STC 51单片机的实战项目教学。

下面我们来说下,初学者学单片机,从0到1的过程,手把手教你学单片机,从学员反馈来看,通过我们的教学,百分之九十九的学员一般会自己开发程序,从入门阶段,每个学员的情况不同,我这边大致讲解下,有兴趣的同学可以尝试下下。

华维单片机编程入门阶段,大致分为五个步骤

第一步:首先你得买一个开发板,在某宝买一个大致在一百左右的!假如你第一次学习,完全没有接触过,就买一个外设简单,价格一般的就好,你买复杂的,能用到资料少之又少

刚开始时按照例子程序自己实践一遍,熟悉单片机软件、下载器、开发板的使用,熟悉到一定程度之后自己更改软件代码实现自己想要的功能。

第二步:搭建单片机的基础开发环境,开发板到货后,立马安装Keil 软件,首先新建工程,完成控制LED 灯的程序,烧录程序,展示控制LED的效果。 简单的掌握单片机开发的整个流程。

这个过程完全可以零基础小白就可以上手,单片机初体验的同学也是可以做到的!

可以直接找我们华维单片机编程,指令搜索华维单片机编程找我们拿资源

第三步:学习单片机C语言。

C语言课程的内容比较多,也不难,对零基础的同学,融入算法和编程比较麻烦

如果真的要学习精通,学习指针,学习文件操作,对于0基础来说,可以很负责的告诉你,难于上青天!但是关于单片机开发基础你只要会如下就行

5条指令语句switch语句,if else语句,while语句,for语句,=赋值语句。

7个运算符+,-,*,/,|,&,!。

4个逻辑关系符||,&&,!=,==.

3个数据类型unsigned char, unsigned int, unsigned long。

3个进制相互转化,二进制,十六进制,十进制。

1个void函数。

1个一维数组code(或const) unsigned char array[]。

等你把这些基础知识学完以后,几乎可以完成任何单片机程序的编写。根本就不要学去C语言的高级用法,即使你用C语言的最基础的语句能够完成程序的编写,底层运行的机制是学习重中之重!

C语言是单片机开发必学的工具,具体入门教程可以跟华维单片机编程拿,这个教程是针对单片机开发定制的,可以无缝对接后续的单片机开发。

第四步:学习单片机的外设接口:

掌握GPIO输入输出、外部中断、串口、定时器等基本用法和驱动,能实现一些基本功能,大家按照下面的说明实现功能即可。

GPIO输入: 按键检测实验

GPIO输出: LED闪烁控制

外部中断: 外部中断检测按键

串口通讯: 和电脑通讯

定时器:完成精准的间隔1秒闪烁LED灯

第五步:项目实战

项目实战是学习的最重要的一个环节。能不能扎根单片机开发行业,就看你的实战项目经验

学习单片机的最终目的是做产品开发,软件和硬件相结合形成完整的控制系统,通过项目学习,能更好地开发验证所学知识,为以后独立开发产品打下基础。

华维单片机编程也给学员们提供了两套完整的实战项目,包括产品需求,硬件设计,软件开发,知识点也比较多(截图为一部分)

因为这两个实战项目是实打实的产品,算是比较接近企业开发需求的项目,帮助学员熟悉企业日常产品开发,简单来说,方便日后学员找工作!

最后总结,学习最初阶段都是模仿,需要不断的模仿学习,仔细品味其精髓,成为高手的过程,就是不断看,不断改,然后再自己重写的过程

学习单片机也是一样的,我们学完单片机的基础之后,就开始模仿别人做2-3个实战项目

独立完成简单项目,比如说智能小车,流水灯,作为初学者完全可以做到,完成后找个人带你学习资深项目 ,最后可以独立做产品开发了,扎根在这个行业!

学习单片机,只要大家用心学习实战项目,大家肯定可以学会单片机,对于想学习 片机的伙伴们,需要有一个正确的学习路径规划,尽量少走弯路。

如果方法正确,基础打好以后,你会感觉到单片机不再难学了,而且越学越起劲。当单片机乖乖的依照你的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让你信心十足、夜以继日、废寝忘食的投入到单片机的世界里

想要一起学习单片机的朋友,评论”我要入门“,有惊喜,加入我们,就可以与导师一对一互动,快速成长

相关问答

单片机 原理及应用怎么学?

学习单片机原理及应用可以从以下几个方面入手:首先,了解单片机的基本原理,包括内部结构、指令集、寄存器等。其次,学习单片机的编程语言,如C语言或汇编语...

单片机 考研参考书?

学单片机一下书必看,选择自己最感兴趣的,这样学起来比较快,或者加入正规的系统学习班:《51单片机工程师是怎样炼成的:基于C语言+Proteus仿真》《单片机C语...

工实训报告实训目的实训内容实验原理仪器设备、实训材料实训...

[回答]网络布线工程项目实训;以模块化仿真实训楼作为设计平台,能够进行综合布线系统工作区子系统、配线子系统、管理间子系统、垂直子系统、设备间子系统...

学会 单片机 后干什么?

学会单片机后,可以利用它来实现各种电子设备的控制和自动化,比如智能家居系统、智能车载系统、无人机控制等。还可以通过单片机开发各种嵌入式系统,比如温度...

应用 电子技术 就业前景 - cocoz_ 的回答 - 懂得

就业去向该专业毕业生具有技术适应性,就业面很广,就业毕业生强,工作上手快,可以在电子信息类的相关企业中,从事电子产品的生产、经营与技术管理和开...

大学电子信息 工程 专业,毕业五年,转 单片机 开发行业,有哪些建议?

可以关注我,不定期发布工程实践技术,不整表面文章,干货only可以关注我,不定期发布工程实践技术,不整表面文章,干货only

电子信息 工程技术 和应用电子技术有什么区别?

电子信息工程技术和应用电子技术有很大的区别,详细介绍如下:电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获...

渤海理工机电 工程 系学什么?

1、主干课程名称机械制造技术、电机拖动与控制、工厂供电、单片机原理、机床数控技术、机电设备故障分析与维修等。2、主要实践环节装配体测绘、操作技能实...

python可以 单片机 编程吗,怎么样?

以上就是python可以单片机编程吗的详细内容想了解更多Python相关,百度搜索圈T社区www.aiquanti.com,免费视频教程。纯干货板载重力传感、温湿度、加速度传感...

物联网 工程 需要学哪些课程?

物联网工程需要学的课程:物联网工程导论、嵌入式系统与单片机、无线传感器网络与RFID技术、物联网技术及应用、云计算与物联网、物联网安全、物联网体系结构...

猜你喜欢