求单片机大神给我指点方向 想要精通单片机要学习什么 我现在学起来感觉很乱 没有方向 求大神指路 最

供稿:hz-xin.com     日期:2025-01-19
请各位前辈些给我指点下,到底是学单片机好,还是学plc好,哪一个要难一些,并且要有前景的?????

我是plc工程师,工作一年半多了,工资共计5000,s7-200,300,400精通,做过大小项目3,4个,做这东西经常长期出差。感觉写plc程序是次要的,比较好搞,关键要去现场调试,那个实在很累,通常要熬夜加班,绝大多数公司不给加班费的。
我单片机还好,因为在学校里我单片机和plc课程都是老大,感觉学过单片机,plc就很容易了
在工作时又买了几块板子学习了arm9,现在基本可以用arm9开发产品。对我的感觉就是,cpu结合操作系统再结合应用程序贯穿着去学还比较容易一点,关键是要坚持。虽然现在对各种东西有点融汇贯通,但是离随心所欲开发产品还是有距离,并且觉得自己要去学习的东西还有很多。
当初选择做plc是由于先找到了这么一个plc的工作。现在感到plc没啥技术含量,然后行业工资就值那么几千也还比一般的工作累多了因为要戴安全帽或无尘衣去工地跑,所以就想着转行到一个技术含量高一点的行业去。现在转行进行中.....
要是自己单干,不是很清楚,还没自己单干过。认为单干plc的话,不管做设备还是工程,在中国,关系和回扣格外重要,而技术能力属于次要,因为中国人多嘛,行业也有饱和趋势。

单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在里面的应用很多。学习单片机最好先从汇编语言入手,虽然汇编语言是低级语言,编程效率低,但它比C语言占用内存小,执行速度快等优点,在刚接触单片机时更容易学习。由于单片机涉及的知识很多,所以我们只能循序渐进的学习,
逐步的积累,没有什么捷径可循。刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。
由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。
它的应用范围很广,在工业自动化中应用有数据采集、测控技术。在智能仪器仪表中应用
有数字示波器、数字信号源、数字万用表、感应电流表,自动取款机等。在消费类电子产品中应用有洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。在通讯方面应用有调制解调器、程控交换技术、手机、小灵通等。在武器装备方面应用有飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。学习单片机要投入大量的时间,如果只想速成,几乎是不可能的。由于单片机涉及的知识面很广,不可能在朝夕间就学会,只能一点点的积累。不积跬步,无以至千里。只有当你一步步去学习、去积累之后,你的单片机水平才会
提高。
学习过程中还要注重理解,要逐渐养成自己的编程思路,在编程过程中还要注意细节问题,
如果因为粗心大意将程序写错,将会无形间给自己带来更大的工作量,随着学习的深入,我们编写的程序将越来越长,如果出现很多错误,在改错时将会很麻烦,出错越多你改的时间将会越长,就会无形间给自己带来更多麻烦 。
单片机(micro control unit)是一种集CPU、RAM、ROM、I/O、中断、定时/计数等功能为一体的完整的计算机,只需外加主频振荡器和电源,灌入应用程序就可以实现一定的功能。单片机的的应用特点是“面向测控”。因此,它必须有强力的信息处理、检测、控制的功能。学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编指令系统或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中 ,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线 上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一 个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以 要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有 多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称 控制 总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配 地址,才能 用,分配地址当?也是以电信号的形?给出的,由于存储单元比较多,所以 ,用于地址分的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是?串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据 。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的 一一对应关,不可以由 单片机的开发者更改。
三、P0口、P2口和P3的第二功能用法
初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间
要有个切换的过程,或者说要有一条指令,事实各端口的第二功能完全是自动,不需要指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口 时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3. 或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB P3.7
的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么做,
因为这通常这会导致系统当溃(即死机)。
四、程序的执行过程
单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’个单元,并且在‘0000’单元中存放的一定是一条指令。
五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特的数据传输指令,即‘PUSH’和甈OP,有一个特殊的专为其服务的单元,即堆栈指针SP
每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP
就(在原来值基础上)动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时?用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元
开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱

:中断当单片机应用于测控系统时,实时性就显得特别重要了。而中断技术就是处理这种实时性要求高的场合。单片机的特点是一段程序反复执行,程序中每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能是需要合理控制的,在使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,
监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情。
这就是中断功能的强大之处。
七:汇编语言与C语言
汇编指令有自己的一套繁琐的指令系统,不容易熟练掌握,编写程序不得不注意硬件细节。相对于C语言,汇编语言也有不可忽略的优势,就是在某些特殊场合需要高效的,占用存储空间小的地方。但随着技术的发展硬件的限制越来越小,C语言比较好理解,通用性和可移植性都很不错。也不用记专门的指令集合来,所以我还是比较倾向于用C编写程序的
接触单片机已经有一段时间了,我感觉自己动手学习编写程序,调试然后在开发板上做学习的很快,看到自己看到的结果通过自己亲手做出来的感觉很有成功感。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。同时也会从学习中体会成功的喜悦。

你知道学习单片机的几个要点就可以慢慢入门了:
1、学习IO口,知道IO口都干什么,输入、输出的条件。
2、学习中断:外部中断、定时器中断、串口中断
3、学习存储结构:内部寄存器的几大类(工作寄存器(4组R0~R7)、位址空间20H~2FH、用于寄存器30H~7FH、特殊功能寄存器80H~FFH)
外部扩展存储器。
4、学习P0~P3口的第二功能。
5、学习汇编指令。
好了,就这些,单片机就这么点东西,很简单的。

MCS51

求单片机大神给我指点方向 想要精通单片机要学习什么 我现在学起来感觉...
外部扩展存储器。4、学习P0~P3口的第二功能。5、学习汇编指令。好了,就这些,单片机就这么点东西,很简单的。

求各位大神们给想转行嵌入式的小弟指点迷津
你好 想要做嵌入式开发,首先你的c语言要过硬,这里的过硬是要很精通,玩c玩的很溜这才可以,其次,嵌入式需要掌握汇编语言,只要熟悉就可以了。学过单片机,并不代表就能入的了嵌入式行业。现在招嵌入式的,一般都是要求有工作经验,本科学历。嵌入式系统移植,搞的是内核里的代码,所以你要对内核熟悉...

单片机培训班好吗?
单片机培训是嵌入式开发培训的一部分,单片机工程师的就业前景也是比较好的。进阶嵌入式开发工程师,创业难度低,就业前景广,主要从业方向:单片机工程师、嵌入式Linux应用开发工程师、嵌入式Linux驱动开发工程师、嵌入式Linux系统移植与裁剪工程师、嵌入式Linux多媒体研发工程师、嵌入式uC\/OS-III开发工程师、...

电子信息工程专业学什么芯片
电子信息工程专业要学好芯片类的:单片机,FPGA(部分学校可能不开);DSP,ARM;这四个单片机是一定要学好的。电子信息工程专业重要的包括:电路分析、信号与系统、数字信号处理、数字电路、模拟电路、微机原理;接下来深入学和研究方向有关的:通信原理、电磁场与电磁波、数字图像处理;软件类:C语言自不...

...工大软件工程马上大三的学生,马上需要选择专业方向,求大神指点...
1、3D网游或者影视动漫。喜欢建模、动画、视频处理的可以选这个。2、应该指互联网相关网络开发运营,不确定。喜欢互联网的可以选这个。3、开发软件相关。喜欢并且擅长编写程序代码可以选这个。4、单片机或者手机的软硬件开发,你们应该是偏软件。应了解一下具体的课程,看看学校是讲一些老掉牙的芯片还是流行的...

计算机编程入门
详情请查看视频回答

Multisim10的滑动变阻器在哪里啊?我怎么都找不到啊...高手指点一...
4、鼠标放在元件上在,会显示一个像进度条的东西。用鼠标点着左右拉就可以调了也可以用键盘的方向键调前提是鼠标必须放在那个进度条上面才行,如果鼠标放上面没有那个像进度条的东西的话,就在变阻器周边移动,就会出现了。5、求单片机大神指点!请问Multisim中电阻在哪里找?——①打开Multisim软件,找到...

51单片机通过伺服驱动器控制伺服电机?
看你伺服电机的设置情况如何了,位置模式,信号可以是PULSE+PULSE或PULSE+DIR两种模式,及双脉冲或脉冲+方向。你只需要两个控制IO口就可以了,PUL-及DIR-接GND。要想伺服电机运转需要脉冲信号,伺服电机的速度是靠脉冲信号的频率决定的。所以发电平是无法让电机转动的。

大专的电气自动化主要学好那几门课程,求大神指点一下,现在不知道该吧时...
3、弱点方向:信号分析、通信原理、电磁学(无线通信的基础)、单片机(C51,这玩意是嵌入式入门基础)、Linux嵌入式系统与uC\/COS系统(ARM控制方向)、DSP原理与应用(信号的数字化处理)、FPGA与VHDL(IC芯片设计)。4、如果学校能上SCI和EI还有中国知网,多去看看上面的国外论文以及国内重点大学的硕士...

各位大神请问:电气工程及其自动化,电子信息工程,两个专业朝那个方向好就...
1. 我学的通信,电气工程走的强电方面,要涉及很多东西,但是这个学校的自动化方面不错,是个很好的专业,学的东西也蛮多的,数学物理肯定少不了,还有一些机械方面的东东;2.。。电子信息走的是弱电方面,和我们的通信工程差不多,学的东西也差不多,对物理数学要求也比较高、、、3、、我的数学...