搜索
bottom↓
回复: 1

单片机编程中的许多小技巧

[复制链接]

出0入0汤圆

发表于 2011-8-21 15:34:16 | 显示全部楼层 |阅读模式
1.C语言和汇编语言在开发单片机时各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码
的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的 CPU,
其汇编语言可能有所差异,所以不易移植。  
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使
用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。  
对于目前普遍使用的 RISC 架构的 8bit MCU 来说,其内部 ROM、RAM、
STACK等资源都有限,如果使用 C语言编写,一条 C语言指令编译后,会变成
很多条机器码,很容易出现 ROM 空间不够、堆栈溢出等问题。而且一些单片机
厂家也不一定能提供 C 编译器。而汇编语言,一条指令就对应一个机器码,每
一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起
来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。  
如果对单片机 C 语言有兴趣,HOLTEK 的单片机就有提供 C 编译器,可以
到 HOLTEK的网站(www.holtek.com.cn)免费下载使用。
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.请问作为学生,如何学好单片机?
答:学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践
机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可
以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安
排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有
帮助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可
能的话,可以到电子市场去买一些小零件,自己搭一个小系统让它工作起来。
HOTLEK的单片机是RISC结构的8位单片机, 它可以广泛应用在家用电器、
安全系统、掌上游戏等方面。大概来说可以分成I/O型单片机、LCD型单片机、
A/D型单片机、A/D with LCD型单片机等等。这些单片机的中文资料我们都公
开在 HOLTEK网站 www.holtek.com.cn。  
HOLTEK各类单片机的使用手册下载地址:  
http://www.holtek.com.cn/referanc/htk_book.htm  
HOLTEK单片机软件/硬件应用范例下载地址:  
http://www.holtek.com.cn/tech/appnote/appnote.htm  
HOLTEK单片机支持工具下载地址:  
http://www.holtek.com.cn/tech/tool/tool.htm   

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

10.  女性是否适合单片机软件编程这个行业?
答:要根据自己的兴趣,配合自己对软件编程的耐性,男女皆适合这个行业。 11. Holtek的数据手册在哪里下载?  
答:如果对 Holtek 的 IC 感兴趣的话,相应的数据手册可以到网站上
http://www.holtek.com.cn/products/index.htm去选 IC资料下载。

12. 8 位机还能延续多久!  
答:以现在MCU产品主力还是在 8 位领域,主要应用于汽车应用、消费性电子、
电脑及 PC 周边、电信与通讯、办公室自动化、工业控制等六大市场,其中车用
市场多在欧、美地区,而亚太地区则以消费性电子为主,  并以量大低单价为产
品主流,目前 16 位 MCU 与 8 位产品,还有相当幅度的价差,新的应用领域也
仍在开发,业界预计,至少在 2005 年前 8 位的 MCU仍是 MCU产品的主流。

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

15.  请介绍一下 MCU的测试方法。  
答:MCU 从生产出来到封装出货的每个不同的阶段会有不同的测试方法,其中
主要会有两种:中测和成测。
所谓中测即是 WAFER 的测试,它会包含产品的功能验证及 AC、DC 的测
试。项目相当繁多,以 HOLTEK产品为例最主要的几项如下:  
① 接续性测试:检测每一根 I/OPIN内接的保护用二极管是否功能无误。  
② 功能测试:以产品设计者所提供测试资料(TEST PATTERN)灌入 IC,检
查其结果是否与当时 SIMULATION 时状态一样。
③ STANDBY 电流测试:测量 IC 处于 HALT 模式时即每一个接点(PAD)在
1 态 0 态或 Z态保持不变时的漏电流是否符合最低之规格。
④ 耗电测试:整颗 IC的静态耗电与动态耗电。
⑤ 输入电压测试:测量每个输入接脚的输入电压反应特性。
⑥ 输出电压测试:测量每个输出接脚的输出电压位准。
⑦ 相关频率特性(AC)测试,也是通过外灌一定频率,从 I/O口来看输出
是否与之匹配。
⑧ 为了保证 IC生产的长期且稳定品质,还会做产品的可靠性测试,这些测
试包括 ESD测试,LATCH UP 测试,温度循环测试,高温贮存测试,湿
度贮存测试等。
成测则是产品封装好后的测试,即 PACKAGE 测试。即是所有通过中测的
产品封装后的测试,方法主要是机台自动测试,但测试项目仍与 WAFER TEST相同。PACKAGE TEST 的目的是在确定 IC在封装过程中是否有任何
损坏。

16.  能否利用单片来检测手机电池的充放电时间及充放电时的电压电流变
化,并利用一个 I/O端口使检测结果在电脑上显示出来?  
答:目前市场上的各类智能充电器,大部分都采用MCU 进行充电电流和电
压的控制。至于要在电脑上显示,好象并不实用,可能只有在一些专门的电池检
测仪器中才会用到;对于一般的手机用户来说,谁会在充电时还需要用一台电脑
来做显示呢?要实现单片机与电脑的连接,最简单的方式就是采用串口通讯,但
需要加一颗RS-232芯片。

17.  在 ARM 编程中又应当如何?
答:就以嵌入式系统观念为例,一般嵌入式处理器可以分为三类:嵌入式微处理
器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。
嵌入式微处理器就是和通用计算机的微处理器对应的 CPU。在应用中,一
般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功
能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器
主要包括:PowerPC、Motorola 68000、ARM 系列等等。
嵌入式微控制器又称为单片机,它将 CPU、存储器(少量的 RAM、ROM 或
两者都有)和其它接口 I/O 封装在同一片集成电路里。常见的有 HOLTEK MCUTEST相同。PACKAGE TEST 的目的是在确定 IC在封装过程中是否有任何
损坏。

16.  能否利用单片来检测手机电池的充放电时间及充放电时的电压电流变
化,并利用一个 I/O端口使检测结果在电脑上显示出来?  
答:目前市场上的各类智能充电器,大部分都采用MCU 进行充电电流和电
压的控制。至于要在电脑上显示,好象并不实用,可能只有在一些专门的电池检
测仪器中才会用到;对于一般的手机用户来说,谁会在充电时还需要用一台电脑
来做显示呢?要实现单片机与电脑的连接,最简单的方式就是采用串口通讯,但
需要加一颗RS-232芯片。

17.  在 ARM 编程中又应当如何?
答:就以嵌入式系统观念为例,一般嵌入式处理器可以分为三类:嵌入式微处理
器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。
嵌入式微处理器就是和通用计算机的微处理器对应的 CPU。在应用中,一
般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功
能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器
主要包括:PowerPC、Motorola 68000、ARM 系列等等。
嵌入式微控制器又称为单片机,它将 CPU、存储器(少量的 RAM、ROM 或
两者都有)和其它接口 I/O 封装在同一片集成电路里。常见的有 HOLTEK MCUTEST相同。PACKAGE TEST 的目的是在确定 IC在封装过程中是否有任何
损坏。

16.  能否利用单片来检测手机电池的充放电时间及充放电时的电压电流变
化,并利用一个 I/O端口使检测结果在电脑上显示出来?  
答:目前市场上的各类智能充电器,大部分都采用MCU 进行充电电流和电
压的控制。至于要在电脑上显示,好象并不实用,可能只有在一些专门的电池检
测仪器中才会用到;对于一般的手机用户来说,谁会在充电时还需要用一台电脑
来做显示呢?要实现单片机与电脑的连接,最简单的方式就是采用串口通讯,但
需要加一颗RS-232芯片。

出0入296汤圆

发表于 2011-8-25 13:01:15 | 显示全部楼层
以下蓝色文字由版主:Gorgon Meducer 于:2011-08-25,13:01:15 加入。
<font color=black>请发贴人注意:
本贴放在这分区不合适,即将移走
原来分区:[1038]傻孩子(Gorgon Meducer)专栏
即将移去的分区:[2070]其它单片机
移动执行时间:自本贴发表0小时后

任何的疑问或咨询,请可随时联系站长。谢谢你的支持!
</font>
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 23:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表