虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

单片机<b>编程</b>器

  • Mini Isp Box单片机下载盒产品使用说明书

    产品简介1.1  产品功能:1.1.1  本产品是手持万用在线编程机的简化版。保留了 ISP/IAP 的核心功能。LCD/键盘/内置存储器、加密性能相应弱化,以降低客户应用成本。1.1.2  下载盒可储存 1 个用户程序代码文件。1.1.3  下载盒可储存 1 个固件代码,分别支持不同系列单片机/ARM 芯片的脱机/离线下载和编程。 1.1.4  可支持意法半导体公司 STM32F系列芯片的脱机 ISP 烧录。1.1.5  支持 STM32F 系列芯片的脱机加密 IAP程序烧录/升级。1.1.6  支持 FreeScale HCS08 系列和 RS08 系列芯片的脱机 BDM 编程。1.1.7  支持 MicroChip 的 PIC12/PIC16/PIC18系列芯片的脱机 ICSP 编程。1.1.8  支持 AVR 系列 8 位单片机的脱机 ISP。1.1.9  本产品将不断升级,支持更多种类和型号的芯片。如果客户需要使用暂不支持的芯片,可向单片机在线编程网提出,本网可在优先开发对应芯片的支持固件。1.1.10 可内置干电池(4 节 7 号)供电,也可用电脑 USB 口供电,或选配USB口电源适配器1.2  产品销售清单:1.2.1  单片机下载盒 1 个。1.2.2  miniUSB 连接线一条。1.2.3  10PIN 转 6PIN 排线一根。1.2.4  说明书一本(即本文件,初期以电子文件形式提供)。1.2.5  10PIN-DB9 串口转换器一个(选配件)。1.2.6  USB 型电源适配器一个(选配件)。

    标签: Mini Isp Box 单片机

    上传时间: 2013-10-10

    上传用户:003030

  • 基于UPD78F0034单片机的出租车计费器的设计与实现

    摘要:介绍了基于UPD78Foo34单片机和模块式结构的出租车计费器的硬件和软件设计方法,讨论了UPD78F0034单片机的主要特点;介绍了该单片机和PC机串行通信的硬件连接方法;同时给出了采用单、双信号防作弊技术来防止计费器作弊的具体实现方法。关键词:出租车计费器;UPD78F0034;串行通信;防作弊技术

    标签: F0034 0034 UPD 78F

    上传时间: 2014-01-24

    上传用户:LouieWu

  • 基于SPMC75单片机的通用变频器方案

    本文主要介绍利用SPMC75F2313A单片机和IPM模块FSBB20CH60实现通用变频器的方案。

    标签: SPMC 75 单片机 通用变频器

    上传时间: 2013-12-25

    上传用户:dddddd55

  • 基于SPMC75单片机的通用变频器方案

    摘要:本文主要介绍利用SPMC75F2313A单片机和IPM模块FSBB20CH60实现通用变频器的方案。关键词:SPWM、SPMC75、DSP、IPM、通用变频器。

    标签: SPMC 75 单片机 通用变频器

    上传时间: 2014-12-27

    上传用户:LP06

  • 基于单片机及FPGA的时码终端系统

    摘要:本文详细叙述了基于FPGA及单片机K实现时码终端系统的设计方法,该系统可用于对国际通用时间格式码IRIG码(简称B码)的解调,以及产生各种采样、同步频率信号,也可作为其它系统的时基和采样、同步信号的基准。关键词:单片机;IRIG-B格式码;FPGA;解调;控制;接口

    标签: FPGA 单片机 时码终端

    上传时间: 2013-12-16

    上传用户:CSUSheep

  • 给初学单片机的经典必备实验

    给初学单片机的经典必备实验单片机学习最重要是的是要搞清楚其内部的硬件结构。如:p0 p1 p2 p3 T1 T2 以及UART。 至于在编程方面,首先要理解单片机其编程语言和一般的汇编语言以及c语言的区别。 最大的不 同是在于单片机编程主要是围绕定时器和UART来编程的, 所以要你对那些特殊寄存器要特别的熟 悉,如TMOD PCON SCON PSW IP,一提起这些你应该马上知道这些寄存器里面所包含位及其中的意 义。如果你做到了这点,可以说单片机你算入门了。 刚开始不要学太多的单片机,单片机的种类很多,但你学精了一个,其他的很好学的,无非只是 在定时器和寄存器上有所不同罢了。 单片机学习是一个辛苦的过程,希望大家能吃苦耐劳,持之以恒。 鉴于本人学习的不足之处,少许错误,尽情谅解。 感谢您使用本教程。

    标签: 单片机 实验

    上传时间: 2013-11-19

    上传用户:xjy441694216

  • 单片机入门基础知识大全免费下载

    单片机入门基础知识大全免费下载 单片机第八课(寻址方式与指令系统) 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习8051的指令部份。 一、概述 1、指令的格式 我们已知,要让计算机做事,就得给计算机以指令,并且我们已知,计算机很“笨”,只能懂得数字,如前面我们写进机器的75H,90H,00H等等,所以指令的第一种格式就是机器码格式,也说是数字的形式。但这种形式实在是为难我们人了,太难记了,于是有另一种格式,助记符格式,如MOV P1,#0FFH,这样就好记了。 这两种格式之间的关系呢,我们不难理解,本质上它们完全等价,只是形式不一样而已。 2、汇编 我们写指令使用汇编格式,而计算机只懂机器码格式,所以要将我们写的汇编格式的指令转换为机器码格式,这种转换有两种方法:手工汇编和机器汇编。手工汇编实际上就是查表,因为这两种格式纯粹是格式不同,所以是一一对应的,查一张表格就行了。不过手工查表总是嫌麻烦,所以就有了计算机软件,用计算机软件来替代手工查表,这就是机器汇编。 二、寻址 让我们先来复习一下我们学过的一些指令:MOV P1,#0FFH,MOV R7,#0FFH这些指令都是将一些数据送到相应的位置中去,为什么要送数据呢?第一个因为送入的数可以让灯全灭掉,第二个是为了要实现延时,从这里我们可以看出来,在用单片机的编程语言编程时,经常要用到数据的传递,事实上数据传递是单片机编程时的一项重要工作,一共有28条指令(单片机共111条指令)。下面我们就从数据传递类指令开始吧。 分析一下MOV P1,#0FFH这条指令,我们不难得出结论,第一个词MOV是命令动词,也就是决定做什么事情的,MOV是MOVE少写了一个E,所以就是“传递”,这就是指令,规定做什么事情,后面还有一些参数,分析一下,数据传递必须要有一个“源”也就是你要送什么数,必须要有一个“目的”,也就是你这个数要送到什么地方去,显然在上面那条指令中,要送的数(源)就是0FFH,而要送达的地方(目的地)就是P1这个寄存器。在数据传递类指令中,均将目的地写在指令的后面,而将源写在最后。 这条指令中,送给P1是这个数本身,换言之,做完这条指令后,我们可以明确地知道,P1中的值是0FFH,但是并不是任何时候都可以直接给出数本身的。例如,在我们前面给出的延时程序例是这样写的: MAIN: SETB P1.0     ;(1)    LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,#250   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11)     表1  MAIN: SETB P1.0     ;(1)    MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,30H   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11) 表2    这样一来,我每次调用延时程序延时的时间都是相同的(大致都是0.13S),如果我提出这样的要求:灯亮后延时时间为0.13S灯灭,灯灭后延时0.1秒灯亮,如此循环,这样的程序还能满足要求吗?不能,怎么办?我们可以把延时程序改成这样(见表2):调用则见表2中的主程,也就是先把一个数送入30H,在子程序中R7中的值并不固定,而是根据30H单元中传过来的数确定。这样就可以满足要求。 从这里我们可以得出结论,在数据传递中要找到被传递的数,很多时候,这个数并不能直接给出,需要变化,这就引出了一个概念:如何寻找操作数,我们把寻找操作数所在单元的地址称之为寻址。在这里我们直接使用数所在单元的地址找到了操作数,所以称这种方法为直接寻址。除了这种方法之外,还有一种,如果我们把数放在工作寄存器中,从工作寄存器中寻找数据,则称之为寄存器寻址。例:MOV A,R0就是将R0工作寄存器中的数据送到累加器A中去。提一个问题:我们知道,工作寄存器就是内存单元的一部份,如果我们选择工作寄存器组0,则R0就是RAM的00H单元,那么这样一来,MOV A,00H,和MOV A,R0不就没什么区别了吗?为什么要加以区分呢?的确,这两条指令执行的结果是完全相同的,都是将00H单元中的内容送到A中去,但是执行的过程不同,执行第一条指令需要2个周期,而第二条则只需要1个周期,第一条指令变成最终的目标码要两个字节(E5H 00H),而第二条则只要一个字节(E8h)就可以了。 这么斤斤计较!不就差了一个周期吗,如果是12M的晶振的话,也就1个微秒时间了,一个字节又能有多少? 不对,如果这条指令只执行一次,也许无所谓,但一条指令如果执行上1000次,就是1毫秒,如果要执行1000000万次,就是1S的误差,这就很可观了,单片机做的是实时控制的事,所以必须如此“斤斤计较”。字节数同样如此。 再来提一个问题,现在我们已知,寻找操作数可以通过直接给的方式(立即寻址)和直接给出数所在单元地址的方式(直接寻址),这就够了吗? 看这个问题,要求从30H单元开始,取20个数,分别送入A累加器。 就我们目前掌握的办法而言,要从30H单元取数,就用MOV A,30H,那么下一个数呢?是31H单元的,怎么取呢?还是只能用MOV A,31H,那么20个数,不是得20条指令才能写完吗?这里只有20个数,如果要送200个或2000个数,那岂不要写上200条或2000条命令?这未免太笨了吧。为什么会出现这样的状况?是因为我们只会把地址写在指令中,所以就没办法了,如果我们不是把地址直接写在指令中,而是把地址放在另外一个寄存器单元中,根据这个寄存器单元中的数值决定该到哪个单元中取数据,比如,当前这个寄存器中的值是30H,那么就到30H单元中去取,如果是31H就到31H单元中去取,就可以解决这个问题了。怎么个解决法呢?既然是看的寄存器中的值,那么我们就可以通过一定的方法让这里面的值发生变化,比如取完一个数后,将这个寄存器单元中的值加1,还是执行同一条指令,可是取数的对象却不一样了,不是吗。通过例子来说明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 这个例子中大部份指令我们是能看懂的,第一句,是将立即数20送到R7中,执行完后R7中的值应当是20。第二句是将立即数30H送入R0工作寄存器中,所以执行完后,R0单元中的值是30H,第三句,这是看一下R0单元中是什么值,把这个值作为地址,取这个地址单元的内容送入A中,此时,执行这条指令的结果就相当于MOV A,30H。第四句,没学过,就是把R0中的值加1,因此执行完后,R0中的值就是31H,第五句,学过,将R7中的值减1,看是否等于0,不等于0,则转到标号LOOP处继续执行,因此,执行完这句后,将转去执行MOV A,@R0这句话,此时相当于执行了MOV A,31H(因为此时的R0中的值已是31H了),如此,直到R7中的值逐次相减等于0,也就是循环20次为止,就实现了我们的要求:从30H单元开始将20个数据送入A中。 这也是一种寻找数据的方法,由于数据是间接地被找到的,所以就称之为间址寻址。注意,在间址寻址中,只能用R0或R1存放等寻找的数据。 二、指令 数据传递类指令 1) 以累加器为目的操作数的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。第四条指令是将立即数data送到A中。 下面我们通过一些例子加以说明: MOV A,R1 ;将工作寄存器R1中的值送入A,R1中的值保持不变。 MOV A,30H ;将内存30H单元中的值送入A,30H单元中的值保持不变。 MOV A,@R1 ;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。 MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是34H。 2)以寄存器Rn为目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。

    标签: 单片机 免费下载 基础知识

    上传时间: 2013-10-13

    上传用户:3294322651

  • 800A全自动STC单片机实验开发板软硬件说明

    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”子目录下,双击右图伟福标志执行伟福软件,若跳出“检查电源……”的对话框,点击“取消”,跳出如下画面(下图仅左上部分)。

    标签: 800A STC 全自动 单片机实验

    上传时间: 2013-11-10

    上传用户:zuozuo1215

  • 定时器/计数器基础

    15-1.实现定时的方法15-2.定时器/计数器的结构和工作原理 15-3.定时器/计数器的控制15-4.定时器/计数器的工作方式 15-5.定时器/计数器应用 软件定时软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。例如延时程序。采用时基电路定时例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程,且定时时间容易漂移。可编程定时器定时最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时精确和硬件定时电路独立的特点。定时器/计数器的结构  定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。

    标签: 定时器 计数器

    上传时间: 2014-12-28

    上传用户:rnsfing

  • MCS-51单片机的编程应用范例

    [学习要求] 掌握MCS-51单片机的基本应用。[重点与难点]重点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例;A/D接口电路;矩阵式键盘接口技术及编程。难点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例。[理论内容]一、并行I/O口编程范例单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,下面从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。LED的发光原理,稍有电子技术基础的人士都很清楚,这里不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

    标签: MCS 51 单片机 编程应用

    上传时间: 2013-10-19

    上传用户:linlin