打印
[经验分享]

用C语言开发单片机的好处

[复制链接]
3357|77
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mmbs|  楼主 | 2024-10-19 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先我们说一下C语言

C语言的优点,C51属于间接面向机器的终极语言,一样具有独特的特性,语言程序直观,结构性好,很容易维护和移植,编程效率非常高,生成的机器代码相对简洁,占用rom空间稍大,执行效率可以接受。再者我们是以汇编语言作为对比,C语言可能它的效率没有汇编语言那么高,但是绝对是够用的。

C语言它的优点还有,它具有很高的运算效率,C语言具有简洁紧凑以及使用灵活的语法机制,并能够直接访问硬件。C语言还具有出色的可移植性,能在多种不同体系结构的软硬件平台上运行,这样它的优点就比较明显了,因为我们在编程的时候肯定要求要有可读性和移植性呢,因为在做一款产品项目的时候,汇编语言的特性是可能这个程序是昨天写的,很有可能今天你自己再看就看不懂了,这就体现了它的可读性和移植性相对太差了。

但是C语言不同,C语言是可以直接看出你的运行意图还有移植性,复制过来就可以直接适用的,可读性非常强。

比方说在一个项目里面,现在这个项目是由我来管理,可能过一段时间我不在这个公司干了,那么你过来接受项目之后,如果我用的是汇编语言,短时间你很难读懂我的程序,更不用说怎么来维护这个产品项目给它升级,这就体现了它的可读性太差。

但是用C语言来编写的话,无论换了多少批人,只要稍微花一点时间,基本就可以看得懂。

C语言的缺点是汇编语言的优点还逊色那么一点点,具体的我就不多说了。




汇编语言的缺点,它是面向机器处于整个计算机语言层次结构底层,所以被视为一种低级语言,针对不一样的操作系统平台,不同的微控制器,指令都是完全不一样的,即使指令相似,也不具备可移植性。
汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难被读懂,不具有可移植性,以及维护和修改很困难。

还有就是难于从汇编语言代码上理解程序的设计意图,可维护性差,很容易产生bug,并且难于调试。

再者使用汇编语言需要对一些处理器非常了解,而且针对特定的体系结构和处理器进行优化,开发效率很低,且周期很长。

汇编语言的优点是目标代码剪短,占用内存少,执行速度快,面向机器并能够较好的发挥机器的特性,得到质量相对较高的程序,改善程序执行速度和效率,弥补高级语言在硬件控制方面的不足。

童鞋们在选择语言的时候一定要看它的优缺点,哪一种比较适用,就选哪一种!

51单片机的编程开发一般都会选择C语言,因为现在单片机半导体芯片技术已经达到了很高的水平,技术已经非常成熟,而且非常低廉的价格就可以买到超大内存高速的单片机芯片,相对于汇编语言它占用的内存和高执行速度来说,可以说已经完全没有什么优势了。所以相比之下C语言的优势更为突出明显,自然而然我们就会选择C语言作为51单片机的开发语言。

可能有些童鞋就说了,51单片机不是已经过时了吗?我们现在还学单片机还能干什么!学来有什么用!

首先我们了解一下技术的过时是什么意思,技术的过时是指技术的落后和被替代,从而失去应用和使用价值。




单片机在实际应用中会不会被其他产品取代,答案当然是否定的。增强型全功能的一片单片机成本价格最低有一毛多钱,最贵也就六七块钱。

高性能的嵌入式ARM芯片起步价格几十块,高端的上百甚至更贵。在电气设备中,90%的电器使用单片机已经足够了,没必要浪费成本使用高端的ARM芯片。

单片机可以说在我们生活中是无孔不入的,无处不在,已经渗透到我们生活中各个领域,小到玩具、电脑键盘、空调、手机、电话、刷卡机、电磁炉、彩电、冰箱、大到工业自动化、机器人、导航装置、汽车、导弹,甚至某些国家的火星车,这些设备里都含有一个或多个单片机。

单片机应用范围这么广泛,童鞋们一定要脚踏实地的学好,不要好高骛远,学一门就学精学透,多花一点时间学习单片机,因为技术都是相通的,把单片机学好,控制电路积累足够的多,它都是可以应用到嵌入式上面去的。盖房子都需要先把地基打好,童鞋们我说的对不对?

童鞋们不要觉得单机浪费你的时间,其实这是在打基础,单片机基础越好,积累的电路越多,你到时候再学习嵌入式或者更高端的芯片的时候,会更容易,会更得心应手。  

使用特权

评论回复
沙发
cemaj| | 2024-11-8 22:13 | 只看该作者
C语言是一种高级语言,它的语法和结构在不同的平台和架构上保持一致,这使得用C语言编写的代码具有很好的可移植性。开发者可以在不同的单片机平台上重用代码,只需进行少量的修改或无需修改。

使用特权

评论回复
板凳
linfelix| | 2024-11-8 22:26 | 只看该作者
C语言在单片机开发中的广泛应用,得益于其跨平台性、易用性和强大的标准库支持。这些优势使得C语言成为单片机开发的理想选择,特别是在需要快速响应市场需求和实现复杂功能的场景中。

使用特权

评论回复
地板
lzbf| | 2024-11-9 07:23 | 只看该作者
C语言拥有庞大的标准库和第三方库,这些库提供了丰富的函数和工具,可以帮助开发者快速实现复杂的功能。

使用特权

评论回复
5
modesty3jonah| | 2024-11-9 07:45 | 只看该作者
使用C语言编写的代码通常具有良好的可读性,便于团队协作和代码维护。

使用特权

评论回复
6
adolphcocker| | 2024-11-9 08:09 | 只看该作者
C语言是一种编译型语言,编译器会将源代码直接编译成机器码,这使得程序执行效率高。在资源有限的单片机环境中,高效的代码执行尤为重要。

使用特权

评论回复
7
kmzuaz| | 2024-11-9 08:29 | 只看该作者
在单片机开发中,C语言的语法和结构与硬件紧密相关,使得开发者能够更容易地理解和掌握硬件原理和编程技巧。

使用特权

评论回复
8
咕咕呱呱孤寡| | 2024-11-9 08:40 | 只看该作者
C语言现在常用

使用特权

评论回复
9
maudlu| | 2024-11-9 10:48 | 只看该作者
C语言允许开发者直接管理内存,这对于内存受限的单片机系统尤为重要。开发者可以优化内存使用,减少内存浪费。

使用特权

评论回复
10
lzbf| | 2024-11-9 12:57 | 只看该作者
通过指针类型,C语言可以直接对内存进行寻址和操作,这使得C语言能够实现汇编语言的主要功能,并直接操作硬件。

使用特权

评论回复
11
mmbs|  楼主 | 2024-11-9 13:53 | 只看该作者
C语言提供了硬件抽象层,使得程序编写更加灵活和高

使用特权

评论回复
12
cemaj| | 2024-11-9 15:01 | 只看该作者
C语言相对简单易学,语法规则清晰明了,适合初学者入门。同时,它也足够强大,能够满足专业开发者的需求。

使用特权

评论回复
13
linfelix| | 2024-11-9 15:53 | 只看该作者
C语言提供多种存储类型(auto、static、const等),以及针对特定单片机的存储类型(data、idata、pdata、xdata、code等),自动为变量合理地分配地址。

使用特权

评论回复
14
mollylawrence| | 2024-11-9 16:19 | 只看该作者
面向标准的编程语言,几乎可以在所有的单片机平台上使用。无论是基于ARM、AVR、PIC还是其他架构的单片机,都可以使用C语言进行开发。

使用特权

评论回复
15
updownq| | 2024-11-9 16:39 | 只看该作者
C语言允许开发者进行底层优化,如循环展开、位操作等,这对于需要高性能的嵌入式应用来说是必不可少的。

使用特权

评论回复
16
wwppd| | 2024-11-9 17:10 | 只看该作者
C语言拥有丰富的库函数和标准库,可以大大简化开发过程,提高开发效率。

使用特权

评论回复
17
elsaflower| | 2024-11-9 18:35 | 只看该作者
在一个实时数据采集系统中,使用 C 语言编写的数据采集和处理程序能够快速地响应外部事件,及时采集数据并进行处理,确保系统的实时性和准确性。

使用特权

评论回复
18
wengh2016| | 2024-11-9 19:05 | 只看该作者
C语言提供了对数据的专业处理,减少了运行中间数据被破坏的风险,增强了程序的坚固性

使用特权

评论回复
19
wengh2016| | 2024-11-9 22:15 | 只看该作者
C语言支持数组、结构、联合、枚举、指针等复杂数据类型,极大增强了程序的处理能力和灵活性

使用特权

评论回复
20
geraldbetty| | 2024-11-10 10:58 | 只看该作者
对于单片机编程,存在大量的C语言库和工具,如编译器、调试器和仿真器,这些工具可以帮助开发者更轻松地编写、调试和测试代码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

194

主题

6632

帖子

3

粉丝