侵权投诉

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

玩转单片机 2018-01-18 14:51 次阅读

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

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

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

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

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及嵌入式系统是否比学习其它一般单片机更有使用前景?对于一个初学者应当具备哪些相关知识?

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

文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何给C语言增加几个位操作函数

在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了...
发表于 07-14 18:15 91次 阅读
如何给C语言增加几个位操作函数

C语言的几种位操作运算

在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了...
发表于 07-14 18:14 81次 阅读
C语言的几种位操作运算

嵌入式软件开发ARM中断实验的报告资料说明

一、实验目的(1)、学会使用 Embest IDE 编写简单的 C语言程序并进行调试;(2)、了解不....
发表于 07-14 16:42 9次 阅读
嵌入式软件开发ARM中断实验的报告资料说明

单片机入门的四大误区

因为传统的教学方法都是一板一眼的,这和中国的教学体制有关。但这不是有效的教学。就我自己的经验和多年来....
发表于 07-14 11:42 42次 阅读
单片机入门的四大误区

单片机怎么进行供电

用4节1.5V电池供电,然后在输出端加一个普通的二极管,这样的话,出来的电压应该是5.2V左右,单片....
发表于 07-14 11:30 28次 阅读
单片机怎么进行供电

MCS-51的引脚功能说明

MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图
发表于 07-14 11:24 28次 阅读
MCS-51的引脚功能说明

单片机C语言延时程序的注意事项

标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语....
发表于 07-14 11:13 17次 阅读
单片机C语言延时程序的注意事项

单片机C语言代码编写技巧

下面发一些我在网上看到的单片机C语言代码编写技巧和自己的一些经验来和大家分享;
发表于 07-14 11:02 34次 阅读
单片机C语言代码编写技巧

基于AT89S51单片机的SPI与线阵CCD接口设计

电荷耦合器件CCD(chargecoupleddevice)是一种将光信号转换成电信号的图象传感器,....
发表于 07-14 10:54 24次 阅读
基于AT89S51单片机的SPI与线阵CCD接口设计

MSComm控件实现单片机与PC机的串口通信

本文主要利用MSComm控件实现单片机与PC机的串口通信,重点是软件部分的设计。采用VC++ 6.0....
发表于 07-14 10:50 44次 阅读
MSComm控件实现单片机与PC机的串口通信

串口导致单片机死机的四个原因

.USB转串口线质量不好,或是驱动不良,或是此设备在win7 64位机上工作不正常。
发表于 07-14 10:48 23次 阅读
串口导致单片机死机的四个原因

如何检测单片机是否正常工作

 单片机是指一个集成在一块芯片上的完整计算机系统,渗透到我们生活的各个方面,本文主要介绍了检测一个单....
发表于 07-14 10:44 26次 阅读
如何检测单片机是否正常工作

为什么选用AVR单片机来学习单片机

电子技术的迅猛发展,尤其单片机更广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表等领域,使....
发表于 07-14 10:17 23次 阅读
为什么选用AVR单片机来学习单片机

单片机的仿真软件

Multisim有超强板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语....
发表于 07-14 10:14 24次 阅读
单片机的仿真软件

请问有谁知道PIC24FJ256GA108单片机配置位?

PIC24FJ26GA108单片机配置位怎么设置,希望告知一下,说明手册全英文不会看。希望大家不吝赐教...
发表于 07-14 08:03 14次 阅读
请问有谁知道PIC24FJ256GA108单片机配置位?

C语言的进阶学习课件资料合集

本文档的主要内容详细介绍的是C语言的进阶学习课件资料合集包括了:第1节-数据的存储,第2节-指针的进....
发表于 07-14 08:00 16次 阅读
C语言的进阶学习课件资料合集

pic24fj256ga108单片机程序编写问题的解决办法?

自己写的程序,按要求本来是串口调试时,输入1 ,1路能够导通。但是不能达到要求。大神们看看,是不是我程序写错了,端口定义错了...
发表于 07-14 07:18 30次 阅读
pic24fj256ga108单片机程序编写问题的解决办法?

用单片机来设计的按键总有抖动请问怎么稳定呢?

     一般的做法都是延迟时间,有没有其他更有效,更稳定的办法呢?...
发表于 07-14 05:30 12次 阅读
用单片机来设计的按键总有抖动请问怎么稳定呢?

收一个myrio ,2000以下,成色无所谓

留个联系方式,或者私信
发表于 07-13 22:28 42次 阅读
收一个myrio ,2000以下,成色无所谓

应广单片机编程简单例程

/***********本程序实现1秒闪烁一次******************/#include        "extern.h"   ...
发表于 07-13 22:26 63次 阅读
应广单片机编程简单例程

单片机数码管显示

大一学生,正在学单片机,可以有大佬解答一下,这两种数码管显示方法有什么区别吗?各自的优劣在哪里? /*********************...
发表于 07-13 21:52 95次 阅读
单片机数码管显示

单片机驱动多个LED指示灯IO口不够的解决方法说明

有时使用单片机需要驱动多个LED指示灯时,发现IO口不够用,换多引脚单片机成本又不允许,那有没有尽可....
发表于 07-13 17:29 89次 阅读
单片机驱动多个LED指示灯IO口不够的解决方法说明

STM32单片机扩展下的IPUS SQPI PSRAM在应用领域

PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM的颗粒比较相似,但外部的接口跟SDRAM不同,不....
发表于 07-13 14:45 27次 阅读
STM32单片机扩展下的IPUS SQPI PSRAM在应用领域

请问单片机可以diy哪些有趣的东西?

之前计算器,用到了单片机,现在觉得单片机是个很有意思的东西。想学习一下并且假期试着做点儿小玩意儿,但一时又想不出有什么好...
发表于 07-13 10:40 20次 阅读
请问单片机可以diy哪些有趣的东西?

nrf24l01和esp8266这个WiFi模块能通过单片机控制进行通信吗?

如题,我手上这2个WiFi模块只有这2个,我需要使2台单片机无线通信,就传一些些字符之类的小数据...
发表于 07-13 10:35 15次 阅读
nrf24l01和esp8266这个WiFi模块能通过单片机控制进行通信吗?

LCD1602驱动为什么把字符代码写入DDRAM?

一般来说,LCD1602有16条引脚,据说还有14条引脚的,与16脚的相比缺少了背光电源A(15脚)....
发表于 07-13 10:06 55次 阅读
LCD1602驱动为什么把字符代码写入DDRAM?

使用单片机控制8只共阳数码管显示的程序和proteus仿真图

本文档的主要内容详细介绍的是由单片机控制8只共阳数码管,同时在数码管上同时显示8个数字1-8。文件含....
发表于 07-13 08:00 33次 阅读
使用单片机控制8只共阳数码管显示的程序和proteus仿真图

使用单片机实现数码管反复循环显示单个数字0到9

单片机控制一个数码管,数码管反复循环显示单个数字0-9,文件含keil51汇编源程序和proteus....
发表于 07-13 08:00 136次 阅读
使用单片机实现数码管反复循环显示单个数字0到9

使用AT89S52单片机实现函数信号发生器的设计资料说明

本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器....
发表于 07-13 08:00 27次 阅读
使用AT89S52单片机实现函数信号发生器的设计资料说明

Keil uVision4的使用详解教程概述

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有....
发表于 07-13 08:00 17次 阅读
Keil uVision4的使用详解教程概述

多电源供电电路的布局设计需要满足什么原则

做过电路设计的人都知道,当一个电路存在多组电源供电的时候,需要考虑的问题会很多,最基本的,每一个电源....
发表于 07-12 11:38 80次 阅读
多电源供电电路的布局设计需要满足什么原则

plc和单片机的差异

PLC能够改动程序。如今大有些的单片机(内部带有FLASH ROM)都能够在线烧录程序,更改程序,所....
发表于 07-12 09:49 101次 阅读
plc和单片机的差异

单片机接连照应时刻核算办法

接连照应时刻:从外部接连恳求有用(外部接连恳求象征置1)到转向接连进口地址所需求的照应时刻。每个机器....
发表于 07-12 09:45 41次 阅读
单片机接连照应时刻核算办法

单片机矩阵式键盘的构造原理及编程方法

矩阵式键盘由行线和列线构成,按键坐落行、列线的穿插点上,其构造如图所示。
发表于 07-12 09:40 53次 阅读
单片机矩阵式键盘的构造原理及编程方法

adc0809与单片机联接电路

ADC0809与MCS-51单片机的联接如图9.10所示。电路联接首要触及两个疑问。一是8路仿照信号....
发表于 07-12 09:32 32次 阅读
adc0809与单片机联接电路

51单片机入门点亮LED

51单片机入门点亮发光二极管
发表于 07-12 09:24 63次 阅读
51单片机入门点亮LED

单片机按键复位电路的原理

51单片机要复位只需求在第9引脚接个高电平继续2us就能够完结,那这个进程是怎样完结的呢?在单片机体....
发表于 07-12 09:17 61次 阅读
单片机按键复位电路的原理

单片机最小体系电路原理及封装说明

单片机最小体系,也叫做单片机最小运用体系,是指用起码的原件构成单片机能够作业的体系。单片机最小体系的....
发表于 07-12 09:14 54次 阅读
单片机最小体系电路原理及封装说明

51单片机概述

单片机的指令按字节可分为单字节(1个机器周期)、双字节(2个机器周期)、三字节指令(3个机器周期),....
发表于 07-10 17:44 91次 阅读
51单片机概述

基于LabVIEW和MCS-51单片机实现数据采集与信息分析系统的设计

LabVIEW提供了功能强大的VISA库。VISA(Virtual Instrument Softw....
发表于 07-10 17:31 52次 阅读
基于LabVIEW和MCS-51单片机实现数据采集与信息分析系统的设计

接口芯片Webchip PS200的结构与原理

如今,各类MCU已经广泛地应用于家用电器中。由于嵌入式微控制器MCU(或称之为单片机)都嵌入在有关的....
的头像 我快闭嘴 发表于 07-10 17:29 235次 阅读
接口芯片Webchip PS200的结构与原理

利用LabVIEW开发平台和单片机实现集成芯片测试仪的设计

根据多年数字电路教学和实验方面的经验,学生在不熟悉芯片性能,缺乏对芯片逻辑和时序关系的感性认识的前提....
发表于 07-10 16:59 56次 阅读
利用LabVIEW开发平台和单片机实现集成芯片测试仪的设计

关于ARM的三种中断调试方法介绍

在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,....
发表于 07-10 16:01 51次 阅读
关于ARM的三种中断调试方法介绍

MCU单片机通过SPI可实现数据的快速存取

随着MCU单片机主频越来越高,处理能力越来越强大,需要的RAM资源相应增加,单片上SRAM采用6T结....
发表于 07-10 14:35 53次 阅读
MCU单片机通过SPI可实现数据的快速存取

单键实现单片机开关机设计案例

单片机工作后,将最先进行IO口初始化,IO1设为输入状态,启用内部上拉;IO2设为输出状态,输出高电....
发表于 07-10 11:42 202次 阅读
单键实现单片机开关机设计案例

关于单片机的复位电路方案

单片机在牢靠的复位往后,才会从0000H地址初步有序的施行运用程序。一同,复位电路也是简略遭到外部噪....
发表于 07-10 10:46 61次 阅读
关于单片机的复位电路方案

单片机的作业进程说明

单片机主动结束赋予它的使命的进程,也便是单片机施行程序的进程,即一条条施行的指令的进程,所谓指令便是....
发表于 07-10 10:37 46次 阅读
单片机的作业进程说明

如何看懂单片机的时序图

 先说“次第疑问”,这个相对简略一些。咱们在学 UART 串口通讯的时分,先 1 位开端位,再 8 ....
发表于 07-10 10:28 64次 阅读
如何看懂单片机的时序图

单片机在按键实习运用中碰到的疑问及处理

 单片机在工业操控中运用十分的广泛,如单片机化的电气传动及操控体系中,单片机恰当于体系中的一个零部件....
发表于 07-10 10:26 59次 阅读
单片机在按键实习运用中碰到的疑问及处理

单片机操控直流电流的的正回转程序

本程序能经过按键操控直流电流的的正回转,按键的端口界说直接看程序的界说有些。
发表于 07-10 10:23 29次 阅读
单片机操控直流电流的的正回转程序

STC单片机开发的注意事项

程序无法下载进MCU,或许犯错的本地有:假定预备条件充沛(驱动程序设备成功STC_ISP.EXE设备....
发表于 07-10 10:21 49次 阅读
STC单片机开发的注意事项

单片机如何接收编码器发送的信号

旋转编码器是用来测量角度的装置,其分为单路输出和双路输出两种,通过这两种脉冲输出可以测量转速及判断旋....
发表于 07-10 10:19 47次 阅读
单片机如何接收编码器发送的信号

单片机部队扫描键盘程序说明

在键盘中按键数量较多时,为了削减I/O口的占用,一般将按键摆放成矩阵方法,如图1所示。在矩阵式键盘中....
发表于 07-10 10:12 34次 阅读
单片机部队扫描键盘程序说明

单片机烧录程序的方法步骤

怎么给单片机烧录程序?单片机keil程序烧录教程
发表于 07-10 10:06 51次 阅读
单片机烧录程序的方法步骤

单片机静态办法点亮数码管电路图解

电路只驱动一个数码管,该数码管为共阴管,公共端接地,段管直连到单片机的P2口,所用单片机为AT89C....
发表于 07-10 10:02 48次 阅读
单片机静态办法点亮数码管电路图解

如何构建单片机的最小体系

在了解原理之前, 首要让咱们考虑一个疑问,啥是单片机, 单片机有啥用? 这是一个有意思的疑问,因为任....
发表于 07-10 09:57 26次 阅读
如何构建单片机的最小体系

单片机串行口中止程序说明

当单片机接纳到一帧数据后,RI会置1,向CPU恳求中止,若之前有中止容许,则发作了中止,进入中止效劳....
发表于 07-10 09:51 30次 阅读
单片机串行口中止程序说明

单片机常用的调试接口有哪些

搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手....
发表于 07-10 09:12 61次 阅读
单片机常用的调试接口有哪些