您的位置 首页 > 资格资历

单片机用什么语言编程,为什么要用C语言

老铁们,大家好,相信还有很多朋友对于单片机用什么语言编程和为什么要用C语言的相关问题不太懂,没关系,今天就由我来为大家分享分享单片机用什么语言编程以及为什么要用C语言的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

随着技术的发展,电子产品越来越多,方便了我们的日常生活,大多数电子产品上都有单片机,而单片机是通过执行软件逻辑来实现功能的。而单片机编程最合适的编程语言是汇编语言,但是最常用、最普及的却是C语言。单片机为什么要用C语言来编程?

C语言最早是在1972年的时候在DECPDP-11计算机上首次跑起来的,它的设计者是美国人丹尼斯·麦卡利斯泰尔·里奇,他在贝尔实验室为UNIX操作系统设计的。后来他和同事共同编写了C语言编程标准--K&R。没想到日后C语言会成为广泛的编程语言并风靡全球。而之所以叫做C语言,是因为它是在B语言的基础上而设计出来的。

UNIX操作系统、Linux操作系统、MySQL等都是使用C语言编程实现的。

单片机是可编程器件,他的控制逻辑是通过软件来实现的。在单片机之前,控制逻辑是通过纯硬件来实现的,受硬件逻辑的约束无法实现太复杂的逻辑。而单片机是有指令集的,最开始通过使用汇编来编程,虽然汇编执行效率非常高,但是汇编的可读性和移植性非常差,而C语言正好能弥补汇编的不足。

举例:MOVCA,@A+DPTR\n功能:将DPTR+A中的值作为地址,寻找地址中的内容送到累加器A中

汇编语言举例

#include<stdio.h>\nvoidbubble_sort(intarr[],intlen){\ninti,j,temp;\nfor(i=0;i<len-1;i++)\nfor(j=0;j<len-1-i;j++)\nif(arr[j]>arr[j+1]){\ntemp=arr[j];\narr[j]=arr[j+1];\narr[j+1]=temp;\n}\n}\nintmain(){\nintarr[]={22,34,3,32,82,55,89,50,37,5,64,35,9,70};\nintlen=sizeof(arr)/sizeof(arr[0]);\nbubble_sort(arr,len);\ninti;\nfor(i=0;i<len;i++)\nprintf("%d",arr[i]);\nreturn0;\n}

冒泡排序的C语言实现

前文所说,单片机的汇编指令比较难记,可能存在两种情况:1)更换硬件平台,这要重新适配指令集、更新寄存器访问地址,比较麻烦;2)换人维护程序,汇编的可读性比较差需要较长的时间才能理解别人的程序。

而C语言就比较灵活了,正好能弥补汇编的劣势。

你用C语言编程吗?来评论区讨论一下吧。

单片机用什么语言编程和为什么要用C语言的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023