单片机编程技巧一

发布者:烟雨江湖最新更新时间:2015-10-28 来源: 51hei关键字:单片机  编程技巧 手机看文章 扫描二维码
随时随地手机看文章
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 位微机原理、汇编语言及接口技术》(作者: 钟晓捷 陈涛 ,机械工业出版社出版)等,可以在较大型的科技书店里查找或者直接从网上订购。

 

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产品的主流。

关键字:单片机  编程技巧 引用地址:单片机编程技巧一

上一篇:学习单片机心得体会和大家分享一下
下一篇:单片机教程-MCS-51单片机简述

推荐阅读最新更新时间:2024-03-16 14:37

什么是单片机?单片机的分类
什么是单片机? 单片机是指一个集成在一块芯片上的完整计算机系统。在一块小芯片上有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。目前大部分还会具有外存。同时还集成了通信接口、定时器、实时时钟等外围设备。而现在最强大的单片机系统称之为偏上系统,在一块芯片内可以集成声音、图像、网络、数模转换等复杂的输入输出系统。在通用微机中央处理器基础上,将输入/输出(I/O)接口电路、时钟电路以及一定容量的存储器等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器,就构成了一个较为完整的计算机硬件系统。由于这类计算机系统的基本部件均集成在同一芯片内,因此被称为单片微控制器(Single-Chip-Micro Contro
[单片机]
液晶显示模块与8031单片机的接口电路及编程
  液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。LCD可分为段式LCD、字符式LCD和点阵式LCD。其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。本文主要阐述点阵式液晶显示模块QPYD-03与单片机8031的接口及编程方法。   QPYD-03液晶显示控制器是北京精电蓬远显示技术有限公司开发的液晶显示控制IC。其特点为:   控制彩色320*3*24
[嵌入式]
8位MCU升级至32位MCU的最佳设计
一个古老的嵌入式设计问题,就是在你的新设计中使用 8位还是32位内核?如果你问自己的同事,可能会发现他们的观点截然不同。无论是否喜欢,32为内核存在于今。那么这意味着什么呢?它意味着,在某一天,无论你多么努力尝试避免,都不得不从你喜爱的8位内核转向新的、复杂的32位内核。这类移植是痛苦的吗?使用正确的技巧和方法,情况并非如此。 目前的MCU市场分为三个部分, 8位、16位和32位内核(4位内核MCU现在已相当少用,故在本次比较中将其忽略)。对于这三个部分中的每一个,其规模大体相同。传统上8位内核占最大的市场份额。根据一些分析人士报告,可能32位内核市场占有率已经超过了8位内核。即使目前尚未超过,时间也不会太长。32位内核市场份额是
[单片机]
8位<font color='red'>MCU</font>升级至32位<font color='red'>MCU</font>的最佳设计
学51单片机-UART口发送一个字符
UART口,又叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),是单片机常用功能的一部分,也是早期台式电脑必备的一个硬件接口。 当年我调试UART口的时候,用的还是超级终端,现在都用串口助手了,比我们当时方便多了。 UART口按位发送和接收字节,虽然相比于并口,慢了很多,但是在有限的IO资源面前,这种方式是非常可取的。 UART口主要用于ASCII码的传输,传输过程遵循ANSI/EIA-232标准。ASCII码是啥?看下表: 就是说,当我想发送字符“A”的时候,我要向串口发送十进制数65,或者十六进制数41。 驱动电
[单片机]
学51<font color='red'>单片机</font>-UART口发送一个字符
单片机对SD卡读写系列(二)
写命令的例程: //----------------------------------------------------------------------------------------------- 向SD卡中写入命令,并返回回应的第二个字节 //----------------------------------------------------------------------------------------------- unsigned char Write_Command_SD(unsigned char *CMD) { unsigned char
[单片机]
<font color='red'>单片机</font>对SD卡读写系列(二)
义隆电Q4触控笔电营收估约减4-9%
IC设计义隆电举行法说会,展望第4季,发言人刘代铭指出,第4季是传统澹季,因此营收仍会向下修正,估掉到18.2至19.2亿元左右,较第3季减少4%至9%,其中笔电用触控板(TouchPad)出货预期会较第3季微幅成长,季增3%内,触控笔电IC出货量则明显向下修正,估减7至30%,手机触控则预期与第3季持平,平板表现较好,估成长1至2成,毛利率在触控IC出货稳定的带动下,预期可与第3季持平,约在46-47%左右,营益率约18至20%,也与第3季持平。 刘代铭指出,第4季是传统澹季,因此预期触控IC出货会向下修正,其中触控笔电出货估达300至400万颗,较第3季428万颗减少7至30%,下滑幅度最大,平板触控IC估可较第3季成长,估出货
[嵌入式]
单片机+CPLD结构体系在电子设计中的应用
    摘要: 介绍在数字电路设计中,单纯以单片机为主体结构的优缺点;结合CPLD的特点,提出单片机+CPLD体系结构在实际应用中的优势,并给出应用实例。     关键词: 单片机 CPLD VHDL 自20世纪80年代单片机引入我国以来,学习和应用单片机的热潮始终不减,特别是MCS51系列。这是由单片机的特点决定的。实际上,从应用通用数字集成电路系统,到广泛应用单片机,是我国电子设计在智能化应用水平上质的飞跃。据统计分析,单片机的销量到目前为止依然逐年递增,而且在很长一段的时间内,单片机依然会是电子设计的主角(虽然这一地址已经受到了CPLD的挑战)。 1 纯单片机系统优缺点 ①大量的外围芯片和接口电路
[半导体设计/制造]
基于51单片机的电子钟闹钟温度显示设计
仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0057 1.主要功能: 基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用) 1、通过DS18B20检测环境温度。 2、能通过LCD1602显示年月日时分秒和温度。 3、有整点报时和闹钟功能。 4、具有高低温报警功能,上下限值可调,蜂鸣器提醒。 5、可以通过按键调整年月日时分秒和闹钟功能,具有闰年判断,自动计算星期功能。 需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是
[单片机]
基于51<font color='red'>单片机</font>的电子钟闹钟温度显示设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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