7343|10

1098

帖子

0

TA的资源

至上芯片

楼主
 

单片机应用编程技巧(FAQ)1 [复制链接]

1. C语言和汇编语言在开发单片机时各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
如果对单片机C语言有兴趣,HOLTEK的单片机就有提供C编译器,可以到HOLTEK的网站(www.holtek.com.cn )免费下载使用。
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 位微机原理、汇编语言及接口技术》
此帖出自单片机论坛

最新回复

看着这些都好熟悉哈 谢谢  详情 回复 发表于 2009-9-11 18:11
点赞 关注
 

回复
举报

130

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

Re: [分享] 单片机应用编程技巧(FAQ)1

路过,看看,还是沙发
此帖出自单片机论坛
 
 

回复

149

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

Re: [分享] 单片机应用编程技巧(FAQ)1

我在学习中,看看有没有可以学习的
此帖出自单片机论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(高级)

4
 

Re: [分享] 单片机应用编程技巧(FAQ)1

  3q
此帖出自单片机论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(高级)

5
 
看看,
此帖出自单片机论坛
 
 
 

回复

391

帖子

0

TA的资源

纯净的硅(高级)

6
 
没看,但是谢谢了
此帖出自单片机论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(高级)

7
 
学习中,xiexie a
此帖出自单片机论坛
 
 
 

回复

356

帖子

0

TA的资源

五彩晶圆(初级)

8
 
看看,谢谢,学习学习,呵呵
此帖出自单片机论坛
 
 
 

回复

1715

帖子

0

TA的资源

裸片初长成(中级)

9
 
路过,看了一下,谢谢楼主分享,我也要学一下用C来编,但也要加强一下汇编。
此帖出自单片机论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

10
 
学习中  谢谢:D
此帖出自单片机论坛
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(高级)

11
 
看着这些都好熟悉哈 谢谢
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表