C语言是对单片机或者MCU进行编程的最常用语言吗?

作者&投稿:徵博 (若有异议请与网页底部的电邮联系)
如何快速的学会单片机C语言编程~

很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。

先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。

有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。

总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。


步骤:1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)

2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。 (二十天)

3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 (十天)

4.自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。 。。。。


看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了。
参考资料:

MCU单片机编程属于 电子工程师/工业控制/机电一体化 专业。
MCU单片机编程确切来讲应该不完全算电脑编程了,用电脑编好程序,再写入MCU中的ROM,不是在电脑里面运行,PLC则完全可以不用电脑来编程。这两门课程,确切讲应该归于电子工程师/工业控制/机电一体化等等,反正只要是电子方面的专业都是要开这门课。补充:微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。

是的。
做单片机,嵌入式,只有用c和汇编。
而c是用来做工程的,汇编是用来深入理解工程的。
当初大佬们就是因为不满汇编才发明出一系列中高级语言,虽然汇编现在还能做一些看起来很聪明很灵活的事,但9成9都能用c代替了。


学C语言对学单片机有用吗
学习C语言对学单片机还是有一定作用的,因为单片机的应用阶段,也就是熟练掌握单片机原理和基础知识后,一般原意用C来编程,可以减轻很多工作量,毕竟汇编语言对于大多数人而言是比较深奥点。

单片机为什么还在用C语言编程?
第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。高级语言编写单片机程序...

汇编语言和单片机的区别?
单片机是硬件,汇编是语言,是软件。单片机从诞生到现在,经过了将近70年的发展。众所周知,单片机是可以通过编写程序实现产品的功能,这么多年来,单片机的规格并没有多大变化,而单片机编程一般使用的都是汇编语言和c语言。汇编语言是一种用文字助记符来表示机械指令的符号语言,是最接近机械码的一种语言。

是学C++呢还是单片机呢
没有单单学一门的说法,你学C++就是为了用它编程,很实用,而且很重要,单片机呢也要用C++编程,基本上用C\/C++给单片机写程序已经成为潮流了,建议你先学C语言,再到C++,再到单片机,循环渐进,单片机很重要,学好了对就业会有很大帮助

汇编语言是一种什么程序设计语言?
汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。...

C语言与单片机C语言的区别 急求
1、单片机中C的语法一般都对ANSIC有些扩展,及一些特殊写法如C51扩展的dataxdatabitsbit一类的,还有一些中断程序写法voidint()interrput1一类的。2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样DOS上的TC2TC3 WINDOWS上的VC8051的C51都有自已的...

马上要参加电子设计竞赛了,但对这方面的知识一点都不懂。能否有参加过...
因此我们做电路板时小板子都是电熨斗转印,效果也不错)转印到覆铜板上,然后用氯化铁腐蚀,然后磨去碳粉、钻孔就OK了,具体可以继续追问。C语言对于单片机来说是必要的,不知道你说的比赛是什么性质的比赛,如果涉及单片机比较多的话C语言开发能力很重要,模电是所有电路的基础,必须掌握的。

我是单片机初学者,学单片机的话是学C语言还是学C++呀?
单片机不支持c++,学c就可以了

汇编语言和C语言先学那个好?
个人经验,先学汇编较好,因为汇编才最贴近单片机的硬件实际,更能辅助学好单片机基础知识,打下扎实基础。先学C的话,看起来似乎高屋建瓴,实际上会忽略掉很多的单片机细节,这样不利于对单片机的深刻认识和了解,犹如空中楼阁。

为什么说C语言是直接对硬件操作的语言?
而C语言介于高级和低级之间,代码容易理解,还可以用指针操纵硬件(不过还是很局限的,CPU就无法之间操纵了),执行效率为80%,对于一直语言来说很不错了。Basic语言完全是高级语言,代码简单,但是不具备操纵硬件能力,也就是你想写个代码直接让内存怎么怎么样,内存不听你的,只听编译好的程序的。而且执行...

宁陕县19528136896: C语言是对单片机或者MCU进行编程的最常用语言吗 -
琦秋风痛: 是的,现在基本所有的单片机都用C语言编程的,是很常用的一门语言,学通了C基本据够了,在单片机编程这一块.

宁陕县19528136896: C语言是什么东西? -
琦秋风痛: C语言是一种计算机程序设计语言.它既具有高级语言的特点,又具有汇编语言的特点.它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发.参考链接:http://baike.baidu.com/view/378391.htm

宁陕县19528136896: 计算机C语言是什么? -
琦秋风痛: C语言就是计算机识别的语言..你要是自学的话建议你去买一本谭浩强的《c程序设计》第三版的或者是第四版的,这本书适合初学者的,是c语言入门的钥匙,,,,,,,,,,,,,,,,,,

宁陕县19528136896: 什么是c语言程序设计 -
琦秋风痛: C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台.二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准.c语言程序设计 就是用c语言的功能函数开发的程序.

宁陕县19528136896: C语言是什么/怎么用,说下大概?
琦秋风痛: C是一种高级语言,与低级语言不同的是计算机不能直接识别,需要经过编译,生成机器语言才能执行的高级语言

宁陕县19528136896: c语言是做什么的 -
琦秋风痛: C语言是Combined Language(组合语言)的中英混合简称.是一种计算机程序设计语言.它既具有高级语言的特点,又具有汇编语言的特点.它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算...

宁陕县19528136896: 计算机c语言是什么意思 -
琦秋风痛: C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.C语言也很适合搭配汇编语言来使用(往往可以通过内联汇编语言或与汇编语言目标文件一起连接.对于任何一种操作系统环境,C函数的ABI(ApplicationBinaryInterface)与汇编语言的子过程(routine/procedure)的ABI一定是完全兼容的).尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台.

宁陕县19528136896: 学C语言和单片机有关吗 -
琦秋风痛: 单片机中的基本语言是机器语言,汇编语言和它是一一对应的.51单片机中,只有100多条汇编语言的指令,非常简单,很容易理解和记忆.正因为它的简单,编写较大程序时,篇幅就较长.这时就会体现出C语言的优势.用C语言编写单片机程序,其结构性、运算能力的优点比较突出,但是,涉及到硬件,还是要借助于汇编语言的方法.

宁陕县19528136896: 什么是C语言?
琦秋风痛: C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发.具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐. C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(...

宁陕县19528136896: 单片机用什么语言编写程序? -
琦秋风痛: 单片机一般用C语言或者汇编语言来编写程序.建议先学C语言,汇编语言要算地址,汇编语言比较难,所以建议先学C语言.汇编语言要算地址,大多数情况下,单片机运行的程序,都是C语言编写的.不过并不是一般意义上的C语言,而是变种后的C51语言.单片机是典型的嵌入式微控制器(Microcontroller Unit),由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机.与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网