0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于单片机和c语言的10个问题和解答

GReq_mcu168 2018-01-18 14:51 次阅读

1. C语言汇编语言在开发单片机时各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。

对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROMRAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。

2. C或汇编语言可以用于单片机,C++能吗?

答:在单片机开发中,主要是汇编和C,没有用C++的。

3. 搞单片机开发,一定要会C吗?

答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。

而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。

综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程

4. 当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好?

答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。

5. 初学者到底是应该先学C还是汇编?

答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。

6. 我是一名大三的学生,学了电子线路、数字逻辑、汇编和接口、C语言,但是总是感觉很迷茫,觉好象什么都不会。怎么办?

答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2--3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。

7.请问作为学生,如何学好单片机?

答:学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有帮助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可能的话,可以到电子市场去买一些小零件,自己搭一个小系统让它工作起来。

8. 如何才能才为单片机的高手啊?

答:要成为单片机高手,应该多实践,时常关注单片机的发展趋势;经常上一些相关网站,从那里可以找到许多有用的资料

9. 女性是否适合单片机软件编程这个行业?

答:要根据自己的兴趣,配合自己对软件编程的耐性,男女皆适合这个行业。

10. 学习ARM嵌入式系统是否比学习其它一般单片机更有使用前景?对于一个初学者应当具备哪些相关知识?

答:一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如PDA、手机等应用。而8位单片机因架构简单,硬件资源相对较少,适用于一般的工业控制、消费性家电等等。对于一个单片机方面的软件编程初学者,应以HOLTEK系列或8051等8位单片机来做入门练习。而初学者应当具备软件编程相关知识,单片机一般软件编程是以汇编语言为主,各家有各家的语法,但大都以RISC的MCU架构为主,其中 RISC (Reduced Instruction Set Computer) 代表MCU的所有指令。都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率。另外初学者要具备单片机I/O接口的应用知识,这在于周边应用电路及各种元器件的使用,须配合自己所学的电子学及电路学等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43944

    浏览量

    620441
  • C语言
    +关注

    关注

    180

    文章

    7521

    浏览量

    127210

原文标题:总结:关于单片机的10个好问题

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机C 语言轻松入门

    语言开发环境。这里以最为流行的80C51 单片机为例来学习单片机C 语言编程技术。本书共分六
    发表于 09-09 14:14

    单片机C语言和汇编

    那位大神有关于单片机C语言和汇编混合编程的资料啊。谢谢了。
    发表于 07-04 15:11

    【跟我学单片机C语言单片机C语言学习开篇寄语—导航贴

    本帖最后由 eehome 于 2013-1-5 10:03 编辑 单片机c语言是高效的单片机开发
    发表于 11-29 10:54

    学习单片机的40C语言实验

    本帖最后由 eehome 于 2013-1-5 10:04 编辑 学习单片机的40C语言实验
    发表于 08-17 20:24

    【高手问答】第1期——朱兆琪在线解答单片机C语言编程

    ` Elecfans论坛高手问答第1期朱兆琪在线解答单片机C语言编程本期高手问答(6月30日-7月6日)我们请来了 @zzq宁静致远为大家解答
    发表于 06-30 16:37

    单片机编程知识的10大难题,一一解答

    单片机编程知识的10大难题,一一解答!1. C语言和汇编语言在开发
    发表于 08-07 10:00

    总结:关于单片机10好问题

    编译器。而汇编语言,一条指令就对应一机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
    发表于 01-24 08:49

    C语言单片机编程使用的高级语言

    今天主要分享单片机编程使用的高级语言C语言单片机编程中使用C
    发表于 10-20 16:38

    单片机C语言程序设计实训

    术论坛了,关于这个资料已经创建了一单片机和嵌入式C语言的资料群,用于获取资料和交流用的:813238832原文链接:
    发表于 07-14 06:44

    关于C51单片机C语言的精确延时的例子和方法

    在网上搜了一些关于C51单片机C语言的精确延时(相对)的例子和方法现总结如下:1,_nop_()适用于us级的少量延时标准的
    发表于 07-14 07:35

    单片机c语言入门

    单片机c语言入门单片机c语言入门《新概念51单片机
    发表于 07-15 08:10

    关于LED模拟交通灯单片机C语言程序设计

    描述本文为大家带来三关于LED模拟交通灯单片机C语言程序设计。关于LED模拟交通灯
    发表于 07-15 09:00

    单片机为什么要使用C语言单片机C语言的优越性是什么?

    单片机为什么要使用C语言单片机C语言的优越性是什么?
    发表于 10-15 07:48

    如何入门单片机C语言

    ++)。但是到后面的关于单片机的部分就有点不尽人意了,草草的读完了这本书,感觉对单片机C语言入门还是很有帮助的。其中不得不提的是这本书被一位
    发表于 01-24 07:48

    单片机C语言编程宝典大全,初学必备

    单片机应用从零开始(400页PPT)6. 单片机程序设计实例 7. 单片机应用程序设计技术_周航慈.pdf 8. 8051单片机C
    发表于 04-18 10:04