单片机应用编程技巧100问1.C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。2.C或汇编语言可以用于单片机,C++能吗?答:在单片机开发中,主要是汇编和C,没有用C++的。3.搞单片机开发,一定要会C吗?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
上传时间: 2013-12-10
上传用户:busterman
SPMC65系列单片机编程指南(中文版):SPMC65X系列是由凌阳公司设计开发的8位微控制器。每款芯片都独具特色,同时凌阳公司还开发了一款仿真芯片ECMC653,专门用于SPMC65X系列的仿真。采用 SPMC65 CPU 核,凌阳公司新开发了功能强大的8位SPMC65系列CPU。该系列CPU 具有可编程的通用I/O端口、不同大小的ROM 和RAM 区、8位/16位定时/计数器、强大的CCP (Capture/Compare/PWM)功能模块和看门狗复位电路等。并采用先进的微米制造工艺,保证了产品高的电磁兼容性和可靠性。除此之外,部分SPMC65X系列芯片具备高吸入电流和慢速输出的端口、丰富的外部中断源、低电压复位、ADC、PWM、标准通讯接口和多种时钟选择。SPMC65X系列芯片适用于通用工控场合、计算机外围控制和家电等。ECMC653采用8位SPMC65 CPU 核,具有928字节的RAM 和16k字节的ROM。同时还集成了1个时基、1个看门狗定时器、6个16位定时/计数器和9通道的ADC。为了降低整个仿真板的成本,该芯片还配有一个OTP ROM 的串行可编程接口。此外,为了帮助用户加快程序的调试,并发现程序中隐藏的错误,该芯片内部专门有一RAM区域用于记录程序最近一段时间执行的指令,用户可以从中了解到程序是否正确执行。
上传时间: 2013-11-01
上传用户:Jesse_嘉伟
800A全自动STC单片机实验开发板软硬件说明:① 将下载编程通信线的DB9串行通信RS232插头,插入PC机的RS232串行通信座,用以实现对STC单片机下载编程的通信。② 将下载编程通信线的USB插头(与DB9串行通信RS232插头线较短的一端,注意别搞错,否则不能工作),插入PC机的USB通信座,用以实现对全自动STC单片机实验开发板的供电。③ 将下载编程通信线的USB插头(与DB9串行通信RS232插头线较长的一端,注意别搞错,否则不能工作),插入全自动STC单片机实验开发板上的USB座,以实现对其下载编程的通信和供电。3. 所需软件① 各类文本编辑器软件,如Eidt,记事本等,编辑汇编语言源程序*.ASM;② 集成环境WAVE6000软件:将汇编语言源程序编译成*.hex文件(也可直接在此环境下编辑汇编语言源程序*.ASM);③ 官方提供的STC-ISP软件(http//www.MCU-Memory.com):将汇编语言源程序编译成的*.hex文件在线下载到STC单片机中。4. 使用说明4.1 WAVE6000软件使用说明① 在“WAVE6000”目录中的“BIN”子目录下,双击右图伟福标志执行伟福软件,若跳出“检查电源……”的对话框,点击“取消”,跳出如下画面(下图仅左上部分)。
上传时间: 2013-11-10
上传用户:zuozuo1215
这里介绍的一款多功能编程器,功能强大,支持大多数常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超过400种)。硬件成本较低,性价比很高。既适合于电子和电脑爱好者使用,也适合家电维修人员维修家电和单片机开发人员使用。图1为多功能编程器的主机,中间是32脚ZIF(零插力)锁紧插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左边是25芯并口插座,通过并口电缆连接计算机并口。左下方是电源插座。32脚ZIF插座下方是12位的DIP开关,对EPROM芯片进行读写等操作前,需将此开关拨至相应位置。具体开关位置可以参照软件提示。锁紧插座右侧依次排列3个DIP8插座和一个DIP18插座,分别用于25系列、24系列、93系列存储器和PIC系列单片机等;绿色电源指示灯(Power)用于指示编程器电源状态;红色指示灯(Vpp)用于指示芯片Vpp电源状态;黄色指示灯(Vcc)用于指示芯片编程状态。 一、 主要功能: ★ 可用此编程器升级、维修电脑主板,显卡等BIOS芯片。可支持3.3V低电压BIOS芯片。 ★ 用来写网卡启动芯片:用于组建无盘站写网卡启动芯片或制作硬盘还原卡等。 ★ 可用于复印机、传真机、打印机主板维护和维修。★ 可用于读写用来写汽车仪表、安全气囊、里程表数据。★ 可用于维修显示器、彩电、VCD、DVD 上面的存储芯片。可修改开机画面。 ★ 用来开发单片机: 通过添加不同适配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用来写大容量存储芯片:大容量的存储芯片,一般在卫星接收机上使用较多,可以用编程器直接来升级或改写。 二、电路简介图2是这台编程器的完整电路图,可以看到编程器电路由完全分离的两部分组成:串行部分和并行EPROM部分电路。限于篇幅,原理部分不再详述。对原理感兴趣的读者可以参考本文配套文件包中的“电路原理参考.PDF”文件。图2三、电路板设计与制作 图3是编程器参考元件布局图,双面PCB尺寸为160X100毫米,厚度1.6毫米。具体的PCB设计可以参考配套文件中的“PCB参考设计.PDF”。这个文件中包括电路板的顶层和低层布线和顶层丝印层。如果业余自制电路板,建议使用双面感光电路板制作,以确保精度。
标签: 多功能编程器
上传时间: 2013-10-14
上传用户:问题问题
自制一台ATMEL 89系列FLASH单片机编程器学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。支持的器件: 这个编程器支持以下ATMEL单片机AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20脚的单片机需要一个简单的适配器。(图 2 ) 硬件: 图1显示了这个FLASH 编程器的电路图,编程器和标准的计算机并口连接。电路图中的U2是用于控制计算机和控制器之间的数据流,U4 锁存低位地址字节 ,U5 锁存高位地址字节 ,U3用于产生控制信号给被编程的单片机。IC U1用于产生编程脉冲给单片机.当U7提供编程电压给控制器时,电源部分用U8产生逻辑5v供给。IC U6用于产生5V或6.5V VDD 电源电压给单片机。
上传时间: 2013-10-18
上传用户:bakdesec
学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。
上传时间: 2013-12-18
上传用户:xyipie
用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单片机系统设计中已得到越来越广泛的运用。针对PIC 单片机的软件开发,同样可以用C 语言实现。但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本书围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中笔者最常用的是Hitech 公司的PICC编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite 入手掌握PIC 单片机的C 语言编程。
上传时间: 2013-11-17
上传用户:aa54
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着 工程师。为帮助工程师解决单片机设计上的难题,《电子工程专辑》网站特邀Holtek香 港分公司工程部处长邓宏杰先生担任《单片机应用编程技巧》专题讨论的嘉宾,与广大 设计工程师交流单片机设计开发经验。现根据论坛中的讨论归纳出单片机开发中应掌握 的几个基本技巧。一、 如何提高C语言编程代码的效率邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。他强调:“ 如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的 时候,使用编译效率最高的语句。” 他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。他说:“对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很 多,反而导致执行效率低于汇编语言。” 二、 如何减少程序中的bug? 对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有: 1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参 数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或 非正常回应进行出错处理。 2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、 存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。 3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦 写次数与资料存储时间等应用参数界限。 4.过程参数。指系统运行中的有序变化的参数。
上传时间: 2013-10-21
上传用户:chukeey
AVR系统单片机C语言编程与应用实例针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LS8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内容资源和外部功能扩展,又包含了单片机的编程工具——ICC AVR C编程器的数据类型、控制流、函数和指针等。本书的特点是:深入浅出,从最基本的概念开始,循序渐进地讲解单片机的应用开发;列举了大量实例,使读者能从实际应用中掌握单片机的开发与应用技术。本书适合作为从事单片机开发人员的参考用书。
上传时间: 2013-10-19
上传用户:xz85592677
用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单机系统设计中已得到越来越广泛的运用。针对PIC 单片机的软件开发,同样可以用C 语言实现。但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本书围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中笔者最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite 入手掌握PIC 单片机的C 语言编程。
上传时间: 2013-11-12
上传用户:wfeel