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

命令行

命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。[1]
  • LM3S系列单片机串行(UART)升级方案解决

    LM3S系列单片机串行(UART)升级方案解决 介绍LM3S系列单片机如何通过串行(UART)接口更新用户程序。

    标签: LM3S UART 单片机串行 方案

    上传时间: 2013-12-17

    上传用户:ynwbosss

  • 单片机串行口

    单片机串行口 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

    标签: 单片机 串行口

    上传时间: 2014-12-27

    上传用户:x18010875091

  • 单片机串行通信发射机

    单片机串行通信发射机 我所做的单片机串行通信发射机主要在实验室完成,参考有关的书籍和资料,个人完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递。硬件部分主要分两大块,由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用6MHZ晶振和30pF的电容来组成内部时钟方式,控制信号用手动开关来控制,P1口来控制,P2、P3口产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示。毕业设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己的动手能力和实验能力,从而具备一定的设计能力。我做得的毕业设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。我的毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51 与MCS-51 兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8 位内部RAM,32 跟可编程I/O 线,两个16 位定时/计数器,5 个中断源,5 个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1 可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。例如P3.0RXD 作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件PLDA,后来的加电调试,及遇到的问题,在没问题后与接受机连接,发射数据,直到对方准确接收到。在软件调试过程中将详细介绍调试遇到的问题,例如:通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。

    标签: 单片机 串行通信 发射机

    上传时间: 2013-10-19

    上传用户:uuuuuuu

  • 用C18编译器进行Microwire串行EEPROM与PIC

    用C18编译器进行Microwire串行EEPROM与PIC18单片机的接口设计 AN1004中文资料 目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM 具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的首选。 为了满足市场需求, Microchip Technology 已经推出了一整套符合工业标准的串行EEPROM,覆盖了2 线式(I2C™)、3 线式(Microwire)和SPI 通信标准,并提供了不同的存储容量、工作电压范围和封装形式。

    标签: Microwire EEPROM C18 PIC

    上传时间: 2013-10-22

    上传用户:crazyer

  • 旺宏并行串行NOR Flash对比参考指南

    并行NOR Flash每次传输多个bit位的数据,而串行NOR Flash每次传输一个bit位的数据。并行NOR Flash比串行NOR Flash具有更快的传输速度。

    标签: Flash NOR 旺宏 并行

    上传时间: 2013-11-01

    上传用户:liu123

  • SPI串行EEPROM与PICmicro单片机的接口设计,A

    目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM 具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的首选。

    标签: PICmicro EEPROM SPI 串行

    上传时间: 2013-11-13

    上传用户:invtnewer

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

    单片机入门基础知识大全免费下载 单片机第八课(寻址方式与指令系统) 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习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

  • 89C51串行口及串行通信技术

    7.1  串行通信基本知识7.2  串行口及应用7.3  RS-232C标准接口总线 及串行通信硬件设计7.4  89C51与89C51点对点异步通信7.5  89C51与PC机间通信软件的设计7.6  PC机与多个单片机间的通信本章将介绍89C51串行口的结构及应用PC机与89C51间的双机通信一台PC机控制多台89C51前沿机的分布式系统,以及通信接口电路和软件设计,并给出设计实例,包括接口电路、程序框图、主程序和接收/发送子程序.

    标签: 89C51 串行口 串行通信技术

    上传时间: 2013-10-27

    上传用户:firstbyte

  • S51编程器制作包

    S51编程器制作包:自制AT89S51编程器教程AT89S51芯片的日渐流行,对我们单片机初学者来说是一个大好消息。因为做个AT89S51编程器非常容易,而且串行编程模式更便于做成在线编程器,给频繁烧片,调试带来了巨大的方便。 电路: 只要焊13根线就可以搞定这个电路。基本原理:RST置高电平,然后向单片机串行发送 编程命令。P1.7(SCK)输入移位脉冲,P1.6(MISO)串行输出,P1.5(MOSI)串行输入(要了解详细编程原理可以去看AT89S51的数据手册)。使用并口发出控制信号,74373只是用于信号转换,因为并口直接输出高电平的电压有点没到位,使用其他芯片也可以,还有人提出直接接电阻。并口引脚1控制P1.7,引脚14控制P1.5,引脚15读P1.6,引脚16控制RST,引脚17接74373 LE(锁存允许),18-25这些引脚都可以接地。建议在你的单片机系统板上做个6芯的接口。注意:被烧写的单片机一定是最小系统(单片机已经接好电源,晶振,可以运行),VCC,GND是给74373提供电源的。 还有一个方案:使用串口+单片机,这个方案已经用了半年了。电路稍微麻烦一点,速度比较快,而且可以烧AT89C51等等。其实许多器件编程原理差不多,由于我没太多时间研究器件手册,更没有MONEY买一堆芯片来测试,所以只实现了几个最常用单片机编程功能(AT89C51,C52,C55,AT89S51,S52,S53)。如果要烧写其他单片机,你可以直接编写底层控制子程序(例如,写一个单元,读一个单元,擦除ROM的子程序)。如果有需要,我可以在器件选择栏提供一个“X-CHIP”的选择,“X-CHIP”的编程细节将由用户自己去实现。当你仔细阅读器件手册后,会发现实现这些子程序其实好容易,这也是初学者学单片机编程的好课题。如果成功了会极大的提高你学单片机的积极性。 软件: 这个软件的通信,控制部分早在半年前就完成了,这回只是换了个界面和加入并口下载线的功能,希望你看到这个软件不会想吐。使用很简当,有一点特别,当你用鼠标右键点击按钮后,可以把相关操作设置为自动模式(只有打开文件,擦除芯片,写FLASH ROM,读FLASH ROM,效验数据 可以设置),点击‘自动完成’后会依次完成这些操作,并在开始时检测芯片。当“打开文件”设为自动后,第2次烧写同一个文件时不必再去打开文件,软件会自动刷新缓冲。软件在WIN XP,WIN 2000可以使用(管理员登陆的),在WIN 98 ,WIN ME使用并口模式时会更快些。这个软件同时支持串口编程器和并口下载线。操作正常结束后会有声音提示。如果没有声卡或声卡烂了,则声音会从机箱扬声器中发出。注意:记得在CMOS设置中把并口设为ECP模式。就这些东西,应该够详细吧,还有什么问题或遇到什么困难可以联系我,软件出现什么问题一定要通知我修正。祝你一次就搞定。  

    标签: S51 编程器

    上传时间: 2014-01-24

    上传用户:13162218709

  • 自动检测80C51串行通讯中的波特率

    自动检测80C51串行通讯中的波特率:本文介绍一种在80C51 串行通讯应用中自动检测波特率的方法。按照经验,程序起动后所接收到的第1 个字符用于测量波特率。这种方法可以不用设定难于记忆的开关,还可以免去在有关应用中使用多种不同波特率的烦恼。人们可以设想:一种可靠地实现自动波特检测的方法是可能的,它无须严格限制可被确认的字符。问题是:在各种的条件下,如何可以在大量允许出现的字符中找出波特率定时间隔。显然,最快捷的方法是检测一个单独位时间(single bit time),以确定接收波特率应该是多少。可是,在RS-232 模式下,许多ASCII 字符并不能测量出一个单独位时间。对于大多数字符来说,只要波特率存在合理波动(这里的波特率是指标准波特率),从起始位到最后一位“可见”位的数据传输周期就会在一定范围内发生变化。此外,许多系统采用8 位数据、无奇偶校验的格式传输ASCII 字符。在这种格式里,普通ASCII 字节不会有MSB 设定,并且,UART总是先发送数据低位(LSB),后发送数据高位(MSB),我们总会看见数据的停止位。在下面的波特率检测程序中,先等待串行通讯输入管脚的起始信号(下降沿),然后起动定时器T0。在其后的串行数据的每一个上升沿,将定时器T0 的数值捕获并保存。当定时器T0溢出时,其最后一次捕获的数值即为从串行数据起始位到最后一个上升沿(我们假设是停止位)过程所持续的时间。

    标签: 80C51 自动检测 串行通讯 波特率

    上传时间: 2014-08-22

    上传用户:dajin