大家好,今天小编关注到一个比较有意思的话题,就是关于逻辑编程的语言有哪些的问题,于是小编就整理了3个相关介绍逻辑编程的语言有哪些的解答,让我们一起看看吧。
学通信工程要学哪种编程语言,没时间学太多只想学一两种,有哪些推荐?
我是通信工程的,学校开设课程主要是c++和汇编语言,都是很基本的语言,现在都不怎么火了,建议在学校里做好职业规划,我就是没在学校做好职业规划吃了大亏,做好职业规划,就知道自己应该学习哪门语言了,通信工程专业是偏硬件的,如今硬件开发工作机会相对软件开发少,但是待遇会高些,但学习难度也很大,建议转软件开发
作为一名从事嵌入式软件开发的工程人员,和您交流下我的理解。
学通信工程专业与哪些编程有交集
通信工程学习的东西很多很杂,而且很多学校对于这个专业开设的课程会略有差异,通信原理,数字信号处理等,汇编,单片机原理,VHDL,C语言等课程都会有安排,课程很多,但并不是所有学习的课程以后都必须用得到,那么就需要重点学习对以后工作有很大益处的课程。
你想从事什么职业?
通信专业学习的课程很多,根据其重点学习的课程不一样,职业规范也可以不一样,可以从事单片机软件开发,单片机硬件开发,FPGA开发等。各个专业侧重的基础知识是不一样,编程语言也有差异。
推荐编程语言呢?
第一门编程语言C语言,c语言的应用场景很多,我们常见的单片机软件开发,就使用C语言编程的,在规范特定的开发环境中,编程语法逻辑,编译无误后下载到硬件当中,完成相关设计除此之外,linux驱动编程,linux应用编程,包括一部分FPGA开发等岗位都会使用C语言。
- 第二门编程语言Verilog。前面提到的FPGA开发,很多人都不知道是什么,FPGA是硬件可编程逻辑芯片,因为可以硬件并行高速运行,并且可编程,所以通信领域常用到这类芯片,比如4G/5G信号编解码相关的开发。Verilog和VHDL语言,都是从事FPGA开发的语言,但目前主流开发还时使用Verilog,同时随着半导体技术的进步,FPGA目前自带SOC的型号越来越多,C语言也是目前FPGA开发的常用编程语言, 如果你想以后从事FPGA的开发,就必须学会FPGA和C语言.
概述
FPGA,linux,单片机的职业发展各有不同,但基本上C语言都要学习,因为你是通信工程专业,我建议Verilog和FPGA好好学习,对于后续的职业发展有很大的帮助。
我是科技电小二,一名嵌入式开发工程师,如果您觉得这篇文章对您有所帮助,那么点个赞,并加个关注吧。
一、偏底层的硬件:
C和Verilog都要学,
仅仅是C语言玩mcu肯定是不行,当然玩到操作系统级别的另当别论,
仅仅是Verilog玩FPGA肯定也不行,当然玩到芯片设计和系统级的另当别论,
普通人,还是两者都学,况且语法都差不多,甚至还要学画印制板(至少会原理图)和用C++写上位机程序。
二、偏算法的硬件:
C++和matlab肯定是要学的,特别是matlab研究算法离不开,然后再根据情况,偏硬就加一门verilog,偏软在SQL、java、C#中选一门。
三、纯软件
不是很了解,但数据库SQL肯定是必须的,JAVA或C#肯定是必须的,至少得会一样,Python这么火的,肯定是得占一样,即然纯软,那三门软件应该是必须的吧!其他的语言虽然也很牛,但总感觉是歪门邪道
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:
梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言, 指令表(IL)语言和结构文本(ST)语言,也有叫SCL语言,
LD语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,此编程语言使用最为广泛
SFC语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,可以使程序结构清晰,易于阅读及维护,减轻编程的工作量,缩短编程和调试时间。
ST语言是用结构化的编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,用于复杂算法的实现,主要用于其他编程语言较难实现的用户程序编制。
下图为的IL语言
下图为FBD编程语言
三菱编程语言有三种, SFC语言、ST语言和FB语言。这三种语言各自有自己的优缺点,都在行业中大量被应用。
一、SFC(Sequential Function Chart)是"顺序功能图”的缩写,一种编程语言。是将整个控制流程分割为一系列的控制步,用以清晰的表示程序执行顺序和控制条件。 SFC的优点
在程序中可以很直观的看到设备的动作顺序。编程规则像设各动作顺序一样被严格限制。机械设各工程师都能很容易地理解程序不同编程人员引起的程序差异性减到最小。更容易设计和维护系统,不需要复杂的互锁电路还可以用大家熟悉的梯形图编程方法。
二、ST语言,运算符·控制结构·函数等制作程序,运算符:*,+,一,<,>,=等,控制结构:条件式,重复,选择分支等,函数:MELSEC命令,IEC标准函数。
ST语言优点
2、支持的ST语言符合工EC61131-3标准,类似于高级语言VC的编程/
3、支持在线修改
4、使用ST功能块提高了设计的效率
PLC是一种最初被设计以替代继电器回路的电子设备,传统的继电器控制回路相当复杂,且不容易维护,PLC将继电器回路的硬接线工作替换为软件的编程,在外部仅保留必要的输入与输出接口,这样以避免继电器回路在设计、连接及维护时带来的不便。之后,随着技术的不断进步,PLC的应用范畴也逐渐超出了单纯的继电器控制回路,继承了诸如PID调节、运动控制等高级功能。
PLC的编程也是设计为面向工程师而非程序员的,按照IEC标准,可以采用梯形图、STL、功能块等不同的语言进行编程。在各种语言中应用最广泛的仍然是梯形图,这是将继电器回路形象化转化而成的一种语言,对于有经验的工程师而言,是最容易适应与学习的。
芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?
大致的思路就是:编程语言转化为二进制机器码,再把二进制机器码转化为高低电平输入给芯片电路。这个问题是计算机原理的问题,编程语言如何被硬件芯片执行?我们很多时候,听过计算机只认识“0”和“1”,除了0和1之外的信息,又是如何被计算机理解执行的呢?聊到这我想到了《易经》“无极生太极,太极生两仪”,“一生二、二生三,三生万物”。挺有意思,0和1可以表示整个世界,和几千年前我们中国哲学思想完全吻合。
如何做到呢?
1、编译。编译器把高级程序语言(英语)编译为二进制可执行文件,存储到硬盘上。
3、运行。CPU执行指令。
好像说的和电路还是没有什么关系呀?是的,我们没有讲明白这一点。“0”和“1”如何变成高低电平?
“0”和“1”如何变成高低电平?
我们回到打孔机时代,你的01010代码,需要专职的程序录入员将0和1用打孔和不打孔的方法,转换为纸条上的一串孔洞。然后有孔的程序纸通过光照区,有孔无孔转换为光点和暗点,再通过光敏元件,转化为高低电平。以后机器中就再也不会出现0和1,只有高低电平了。
可以说,录入员之前是一个世界,高级语言也好,汇编语言也好,机器代码也好,都是0101的二进制数字世界;光敏传感器之后,都是高低电平的世界。录入员+光电检测完成了这种转换。
现在的计算机,和打孔机时代的区别,只不过是输入变成键盘了,按键接通和断开代替了光线的有和无,在每个键下面的识别电路以后,就完全是高低电平的时代了,010已经不存在了啊。01在哪里?在我们的头脑中,在程序纸上,在键盘表面,在显示器上,就是不在键盘以下的空间中。
001是芯片指令,然后我们在001前面增加一个语言叫做语法识别!
最简单暴力理解,就是在001模块后面增加一个开关串联起来,当我在一个内存里面布局好一个英文单词,然后闭合对应对接这个开关实现电路导通,计算机就可以识别语法!
这个内存也可以理解为100个LED,我用LED摆成正方形,然后在正方形内部点亮这些灯,然后它显示成一个英文单词或一句语言!这些以来我们就可以用语言控制CPU!
CPU大多数是占存器占用的多,然后是解码器,这个电路组拼起来叫做缓冲器,意思是如果发现大量数据处理不过来,可以占时把一些小部份数据先放到一个小内存缓冲一下,就好比我给你5升水,然后你的容量只有1升所以你要先处理完这1升在来取!
解码器是由放大电路组成,形成信号放大,把波形放大到一定程度进行读取取波,运行内存所释放的信号非常小大约只有0.01毫安左右,那么我就需要放大到1毫安左右!所谓的高低电平就是低电平没有电压高电平有电压,也可以设计成加载低电平最低1伏,3伏为高电平这个模式一般用于控制记忆内存也就是硬盘,1伏为读取,3伏为控制!
这是解码器原理!通过解码后进入高频运行,也就是说用比较高电流电压来进行计算,因为低压计算很慢需要高压来控制,电压越低开关闭合速度越慢,电压越高刷新越快,那么开关闭合快计算就快很多!
数字电路指的是0123456789,列如我有10个LED代表1234567890,当我点亮第10个灯为9,11为10,当我显示10时候两端电路的灯分别为第一第一二灯亮,二进制代表11,点亮两个灯为10,一般0放到后面或前面由设计电路时候设计,设计在后面比较容易读,那么要显示11我们必须要用到上10左10一共100个LED灯才可以形成逻辑运算,不然不可能显示11,0有十个0,1有10个1一列排列类推下去就可以!
在得到的值后面要设定控制电路,用于控制内存一般编程时候叫做指针,也可以控制显示器,控制LED矩阵图,列如我要指定上横4下5横位置点亮这个灯,那么这个控制开关线路可以命名为XY垂直水平线,那么就可以控制上4下5亮,其中XY后面还有一个控制线路切换,叫做字节切换,列如为2个灯为1字节,1个,3个不等,在编程上一般int是4个灯,意思就是同时点亮4个灯!有了这些逻辑我们就可以自由控制内存!
要回答这个问题我们要明确芯片的种类有许多种,并不是所有的芯片都是数字电路,也有些芯片是模拟电路芯片,比如各种运放芯片、功放芯片等这些就属于模拟电路类型的芯片;那么还有相当部分的芯片属于数字类型的芯片,在这些数字类型的芯片当中又可分为不可编程的芯片和可编程的芯片!下面我们着重讲一下数字类型的芯片吧!
数字类型的芯片有一种叫数字功能芯片,它在电路中可以实现一定的功能,比如译码器74LS138、各种编码器以及各种触发器等,这些芯片只识别高电平和低电平也就是所谓的“1”和“0”。这种芯片不需要编写程序,它们都划规到数字逻缉芯片当中,它们也没有记忆功能,只要输入“1”或者“0”以及“1”和“0”的组合,其输出就会有相应的高电平“1”和低电平“0”。当输入高低电平消失时其输出也就没有了!
另一类则是通过编程才能使用的数字芯片,我们一般称它们为嵌入式芯片,比如各种单片机芯片、FPGA(可编程的逻辑阵列)芯片等,这类芯片需要通过编写程序,一般用汇编语言或者C语言,再或者用硬件描述语言(VHDL)等,这些语言数字芯片是不识别的,而我们人类对这些英文编写的语言能读懂。为了使这些可编程的芯片能读懂这些语言,我们要通过一种软件把它编译成芯片能读懂的是由“0”和“1”组成的机器语言,我们称这种程序叫目标程序,它是由一系列“0”和“1”组成的。这种语言芯片能读懂,我们人类很难懂!
以上就是我对这个问题的解答,欢迎朋友们讨论这个话题,敬请观注电子及工控技术!
数字电路的世界只有“0”和“1”
在数字电路中是用二进制来执行指令和处理数据的,所以数字电路的世界只有“0”和“1”。当然,不同长度的“0”和“1”组合起来就可以得到不同的指令或者数据了。
处理器是怎么识别编程语言的?
其实处理器是不认识英文的编程语言的,它只认识“0”和“1”。但如果用“0”和“1”来编写程序,对于人类来说是非常困难的,效率也相当的低,可读性也非常差。于是聪明的人们发明了汇编语言。
比如:“MOV”代表数据传递;“ADD”代表加运算;“JMP”代表跳转等。当然这些用汇编语言编写的程序是不能被处理器直接识别的。需要通过编译器,把我们编写的程序“翻译”为处理器认识的二制进机器码。
编程语言为什么要用英语?
其实汇编语言只是一种符号语言,用于帮助程序员代替机器指令和操作码。不同的机器,不同的芯片都有着不同的机器语言和指令集,用汇编语言编写的程序难以在不同平台中移植。
随着科技的进步,电子产品的功能越来越强大,芯片的处理速度也越来越快,我们编写的程序也越来越复杂了。汇编语言这种低级的语言已经难以满足我们的编程需求,也令程序员大吐苦水。于是聪明的人们又发明了高级的编程语言,比如:C,C++,JAVA,Python,PHP,VB等等。高级语言可以对多条指令进行整合,使得编程更为简单,有着较强的操作性。比如用“if”进行判断,用"while"作为循环。
当然高级语言编写出来的程序一样需要翻译为二进制的机器码才可以被处理器识别和执行。
因为目前所有的编程语言都是由外国人发明的,所以基本上都使用了英文。以后中国人发明一种用汉语进行编程的语言也不是不可能的。我们可以拭目以待哦!
如果发明一种汉语进行编程的语言,你会学习吗?不妨留言讨论一下哦!
欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习
- 记得点赞和评论哦!非常感谢!
到此,以上就是小编对于逻辑编程的语言有哪些的问题就介绍到这了,希望介绍关于逻辑编程的语言有哪些的3点解答对大家有用。