设计与开发

单片机编程汇编语言 硬件工程师:单片机编程,要学习汇编,还是学习C语言,我用C语言

小编 2025-08-03 设计与开发 23 0

硬件工程师:单片机编程,要学习汇编,还是学习C语言,我用C语言

首先解释一下什么是单片机。

单片机也被称为微控制器,英文为Microcontroler,它最早被用在工业控制领域。“单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。”早期的单片机是4位或者8位。其中最成功的是INTEL的8031。

单片机有一个很重要的优势,就是可编程,通过程序可以实现各种各样的逻辑功能,修改更灵活,更能减少硬件成本,尤其单片机已经发展到16位,32位,片上集成了各种丰富的片上资源后,单片机已经渗透到了我们生活的各个领域、各个方面。

编程

控制单片机执行逻辑功能,就需要编程。编程需要用到汇编语言或者是C语言。

1.汇编语言

汇编语言,英文为assembly language,是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间移植较为困难。早期单片机编程汇编比较普遍。

汇编

2. C语言

C语言是一门通用计算机编程语言,应用广泛。比较汇编,C语言是高级语言,可移植性好,颗结构化编程。使用标准C语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于标准C语言的部分也很少需要修改,而且程序很容易读懂。

C语言

现在单片机编程,C语言已经很普及了,汇编用的少了,从写代码、读代码的角度来讲,C语言的优势太明显了。

你用C语言,还是用汇编,欢迎评论。更多精彩,请关注我的头条号“玩转嵌入式 ”。谢谢。

精彩推荐:

如何才能成为一名出色的硬件工程师?我有三点建议

搞技术,一定不要眼高手低

对于程序员来说写代码并不是最难的事情!

单片机常用的编程语言有哪些?怎样能快速提高编程水平?

在我们上学的时候,很多专业都有开设C语言这门课程,但是汇编语言我是没见过有这门课。C语言和汇编语言都可以作为单片机的编程语言,那么它们具体有什么不同呢?

汇编语言的主要优势是程序可以优化,程序由我们编程人员所掌控,程序的安全性和执行速度取决我们编程者的水平,能力强的又快又安全,能力差的估计别人也看不上;就执行速度来说比C语言要快;因为汇编语言的代码占程序存储器的容量比C语言要小。所以汇编程序经常在那些程序存储器和数据存储器较小的老式单片机。汇编程序是机器语言的汇编助记符,指令比较难记住和指令功能弱的缺点,学习起来会有一定的难度。

C语言的优势与缺点正好与汇编相反。C语言是一种高级语言,记忆指令方便,学习容易,而且编译时的优化由编译器管理,对于使用者的要求不是很高。机器优化的东西就会有局限性,C语言总的执行速度比汇编语言慢,代码占程序存储器的容量较汇编语言大。

我个人建议初学者先使用C语言,这样方便我们入门,入门后再根据需求来决定要不要学习研究汇编语言。

怎样快速地让自己的代码提升?

我就说说我代码提升的经历,每次想起来脸上都能感觉火辣辣的。也就是七八年前我刚毕业那会,出学校时的第一份工作给我的教训真的太深刻了,刚出学校时都有一定的锐气。

入职后的第一个工作就是维护老产品的代码,每天的工作就是看代码;看着代码然后就觉得有些地方可以改得更简单一些,然后开会的时候就把自己的想法说了出来,然后领导就问原来负责这个代码的老员工可以不可以,老员工说估计没问题,现在都是年轻人的天下,没有创新就没有未来。后来换上去以后,第二天产品就出现了问题,然后责任肯定是我的。后面在公司做了大半年基本上做的事情对于自己的成长没什么帮助。后来就辞职了。

有时候我常常在想如果当时我先把我的想法以低姿态跟那位老员工请教,说不定当时他会告诉我为什么要加上那些我认为多于的代码,后面肯定可以从他的身上学到非常多的知识,对于我代码水平的提升至少会快上两年。

要想代码提升我们可以通过学习别人的代码,通过代码去学习思维,多想一下别人为什么这么写,通过别人的代码提升自己的眼界,眼界不提高代码永远提升不了,每个行业都是人外有人天外的地方,保持一颗学习的心态才能获取更多的知识。

希望以上的知识能够给大家提供帮助,这期我们先分享到这里,觉得有用的可以给华维点个赞关注一下!

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

相关问答

单片机 汇编语言 RLC是什么意思?

RLC是带进位的循环左移,RLCA即将A的内容左移一位,将进位位C中的值移到累加器A的最低位,A的最高位移到C里。譬如说:设A=01000001,C=1;则如果执行RL,则A=...

编写 单片机 程序用什么 语言 ?

单片机一般用C语言或者汇编语言来编写程序。建议先学C语言,汇编语言要算地址,汇编语言比较难,所以建议先学C语言。汇编语言要算地址,大多数情况下,单片机运行...

单片机 除了可以用 汇编 和c 语言编程 ,还有其他什么 编程语言 吗?

除了C和汇编,超子还接触过使用Arduino、Labview、Python以及Lua对单片机进行程序开发。不过这些相对比较小众,没有普适性。一、ArduinoArduino应该算是一种对...

单片机 汇编语言 设计一个彩灯控制系统,有4个控制开关,8盏LED灯?

对于这个问题处理起来是不难的,这是学习单片机常用的一个练习程序,比如我们用MCS-51来设计一个彩灯控制器,也俗称“跑马灯”。在硬件方面我们要焊接出一个单...

51 单片机汇编语言编程 怎么赋初值?

在51单片机汇编语言编程中,赋初值可以通过使用指令MOV来实现。具体步骤如下:1.首先,确定需要赋初值的变量或寄存器的地址。2.使用MOV指令,将需要的初值加载...

51 单片机 汇编语言 怎么烧录?

1所用到的硬件工具51单片机烧写程序需要用到单片机的UART串口,所用到的工具为USB/TTL,具有四个引脚分别为5V、GND、TXD、RXD,需要和单片机的UART口连接...

汇编语言 是如何控制 单片机 的,语言怎么和实际的电路联系在一起的?

汇编语言是你在电脑上面编译的语言,单片机是看不懂这个语言的,只有通过了编译,把汇编语言编程对应的机器码,单片机就认识了,单片机在执行过程中其实是执行了...

51 单片机汇编语言 的ifelse如何实现?

51单片机汇编语言的ifele语句实现如下:if语句由关键字“if”开始,后面跟随一个逻辑表达式。if语句根据该逻辑表达式的值来决定哪些语句会被执行。if语句可以...

单片机 是用什么 编程 的?

1.什么事单片机编程:就是硬件是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分就是能过单片机编程来实现。单片机能识别的...

单片机 MCS-51 汇编语言 中的ACC.7?

ACC就是A,是8位累加器,要具体对A上的每一位操作的时候,就要用ACC.*。ACC.7就是ACC的第七位,比如说A的值是11011010,那么ACC.7就等于1(第七位就是左数第二位...

猜你喜欢