单片机编程应用技巧问答

发布者:csZhou最新更新时间:2017-11-12 来源: eefocus关键字:单片机  编程应用 手机看文章 扫描二维码
随时随地手机看文章

1. C语言编程和汇编语言在开发单片机编程各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言编程是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不 够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆 栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
如果对单片机C语言编程有兴趣,HOLTEK的单片机就有提供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. 在教学中要用到8088和196芯片单片机教材,请问那里可以找到关于这方面的书或资料?
答:有关这方面的教材,大学里常用的一本是《IBM-PC汇编语言程序设计》清华大学出版社出版的,在网上以及书店都是可以找到的,另外网上还可以 搜索到很多其他的教材如:《微机原理及汇编语言教程》(杨延双 张晓冬 等编著 )和《16/32 位微机原理、汇编语言及接口技术》(作者: 钟晓捷 陈涛 ,机械工业出版社 出版)等,可以在较大型的科技书店里查找或者直接从网上订购。
6. 初学者到底是应该先学C还是汇编?
答:对于单片机编程的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
7. 我是一名武汉大学电子科技大3的学生,学了电子线路、数字逻辑、汇编和接口、C语言,但是总是感觉很迷茫,觉好象什么都不会。怎么办?
答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般 从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练 习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机 会2--3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循 序渐进。
8. 请问作为学生,如何学好单片机变成?
答:学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就 可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有帮 助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可能的 话,可以到电子市场去买一些小零件,自己搭一个小系统让它工作起来。
9. 如何才能才为单片机的高手啊?
答:要成为单片机编程高手,应该多实践,时常关注单片机的发展趋势;经常上一些相关网站,从那里可以找到许多有用的资料。
10. 女性是否适合单片机软件编程这个行业?
答:要根据自己的兴趣,配合自己对软件编程的耐性,男女皆适合这个行业。

关键字:单片机  编程应用 引用地址:单片机编程应用技巧问答

上一篇:浅谈分析51,AVR,PIC单片机的区别
下一篇:三个步骤学好单片机编程设计

推荐阅读最新更新时间:2024-03-16 15:44

浅谈51单片机的中断控制
51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。 现在很多兼容51的单片机已经有4个优先级(或更多)和更多的中断源了。 想要研究中断的嵌套,应该从中断优先级入手。 一些资料中,把有关中断优先级的中断响应原则,写成如下三条: 1、CPU同时接收到几个中断申请时,首先响应优先级级别最高的中断请求; 2、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断; 3、正在进行的低优先级中断过程,能被高优先级中断请求所中断。 中断优先级的设置,是在IP寄存器中进行,IP称为中断优先级控制寄存器。 把IP中的某位置为1,则相应的中断源为高优先级;为0,则为低优先级。 当把5个中断源,划分成两个优先级之后,它们的
[单片机]
浅谈51<font color='red'>单片机</font>的中断控制
Microchip推出32位MCU系列 及嵌入式固件开发工具
Microchip Technology Inc.(美国微芯科技公司)宣布推出两款最新创新产品。拥有24款器件的全新PIC32MZ嵌入式连接(EC)系列32位MCU提供了330 DMIPS和3.28 CoreMarks™/MHz的卓越性能,以及有双存储区的现场升级闪存(高达2 MB)、512 KB的大容量RAM,以及支持当今要求严苛的应用所需的连接外设。同时,Microchip还推出了业界最全面的32位单片机固件开发框架——MPLAB® Harmony。该框架是第一款把许可、转售及支持Microchip和第三方中间件、驱动程序、函数库和实时操作系统集成于一体的产品,简化了包括全新PIC32MZ系列在内的所有32位MCU的开发过程,
[单片机]
8051单片机的存储器组织采用何种结构
问题: 8051单片机的存储器组织采用何种结构?存储器地址空间如何划分围和容量如何?使用上和容量如何?使用上有何特点? 解答:(1)80C51在结构上的特点 80C51采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为Harvard结构。 (2)在物理和逻辑上的地址空间 存储器上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。 在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。 (3)访问格式 访问片内RAM采用MOV格式 访问片外RAM采用MOVX格式
[单片机]
富士通半导体推用于混动车供电系统的新MCU
    富士通半导体近日开发出一款新的微控制器,这款32位MB91F552微控制器适用于汽车电池供电系统以及混合动力车的电力传输电路。     除了汇集数字化供电系统各类优化控制外,MB91F552还支持峰值电流控制模式并促进了电源的稳定性,使系统成本降低。芯片中带有一个频率为200兆赫兹的脉宽调制(PWM)模块。     随着近年来电动车和混动车的普及率增加,行驶过程中产生的能量储存到电池中,这些能量随后将用来驱动电机,影音系统、灯光系统和其他车载电子电器系统。为了将这些储存的能量用于电机或其它电子器件中,则需要一个能量供应控制系统,负责管理功率转换电路,例如直流-直流转换器、直流/交流逆变器等。此外,系统中的集成电路也
[汽车电子]
PIC单片机定时器1的实际应用
#define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { /*if(intnum==20) { intnum=0; RD0=!RD0; }*/ } #include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { /*if(intnum==20) { intnum=0;
[单片机]
PIC<font color='red'>单片机</font>定时器1的实际<font color='red'>应用</font>
STM32单片机的PSAM卡驱动模块设计
引言 刷卡消费随着人们生活水平的提高已经成为常用的支付方式之一。为了保证刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(Purchase SecureAccess Module,销售点终端安全存取模块),由IC卡发行主管部门或者应用主管机构发行,是可以用于对IC卡进行脱机消费交易认证的安全认证卡,主要应用于商用POS、网点终端、直连终端等设备上,支持多级发卡机制,适用于多应用的环境,符合识别卡、带触点的集成电路卡标准、ISO/IEC 7816—1/2/3/4以及《中国人民银行PSAM卡规范》。 1 PSAM卡简介 PSAM卡是接触式CPU卡的一种。CPU卡也称智能卡,卡内集成电路带有微处理CPU,存储
[单片机]
STM32<font color='red'>单片机</font>的PSAM卡驱动模块设计
SPCE061A单片机在USB通讯中的应用
1 引言 IEEE制订的RS-232标准可谓无人不知不人不晓,在通讯领域风靡一时。随着计算机技术的快速发展USB接口有着更多的优势,使得USB接口应用的越来越广泛。在最新推出的计算机中外设集成的大多是USB接口,而具有RS-232接口设备仍然很多,这使得他们的通讯变得困难。为了克服这一矛盾,本文提出一种解决方法实现USB与RS-232的通讯。在方案中主要使用凌阳教育推广中心推出的USB/UART转换口模组,它的作用是将USB接口当作普通的UART口来使用,只要按照RS-232进行串行通讯即可。 2 芯片特性简介 2.1 SPCE061A特性简介 SPCE061A是凌阳科技研发生产的一款高性价比十六位单片机,可以非常方便灵
[单片机]
SPCE061A<font color='red'>单片机</font>在USB通讯中的<font color='red'>应用</font>
英飞凌新推8/16/32位微控制器,面向工业应用
英飞凌科技股份有限公司近日在国际集成电路展览会上(IIC)宣布推出全新微控制器(MCU)产品。全新闪存MCU,包括8位、16位和32位TriCore系列器件,经过优化,可满足工业应用的苛刻要求。 英飞凌MCU适用于电机控制系统,使工程师能提高工业驱动设备的能源效率与性能。英飞凌MCU具有较好的实时性能(如对外部事件的响应时间)。据称,与带有众多外部组件(如DSP、PWM ASIC、ADC、外部振荡器和微控制器等)的传统解决方案相比,高度集成的MCU可以削减高达40%的系统成本。除了使系统可靠性更高之外,电控驱动装置的广泛应用估计还可在全球范围内节省高达20%的电能消耗。 据市场研究公司IMS的报告称,英飞凌在全球工业半导体市场
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved