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

八皇后问题

  • 基于HT46R065V的24V VFD八位OTP型单片机

    基于HT46R065V的24V VFD八位OTP型单片机 增强A/D 型系列单片机是一款8 位具有高性能精简指令集的单片机,应用相当广泛。秉承HOLTEK 单片机具有的低功耗、I/O 灵活、定时器功能、振荡类型可选、休眠和唤醒功能、看门狗和低电压复位等丰富的功能选项,增强A/D 型单片机具有极高的性价比,其内部集成了系统振荡器HIRC,提供三种频率选择,不需要增加外部元器件。可以广泛适用于各种应用,例如工业控制,消费类产品,家用电器子系统控制等。

    标签: 065V R065 065 24V

    上传时间: 2013-11-09

    上传用户:ynzfm

  • HT46RS03系列2K OPA+Comparator型八位

    HT46RS03系列2K OPA+Comparator型八位单片机 此系列MCU 是8 位高性能精简指令集单片机,专门为需要运算放大器应用的产品而设计,比较常见的是应用在超声波感测器方案中。低功耗、I/O 使用灵活、可编程分频器、计数器、振荡类型选择、内置比较器及运算放大器、暂停和唤醒功能,使此系列单片机可以广泛地应用在遥控控制系统、汽车倒车系统、各类位计量器等等。

    标签: Comparator OPA HT 46

    上传时间: 2013-11-08

    上传用户:asaqq

  • 基于HT45R37V的低功耗C/R-F型八位OTP单片机

    基于HT45R37V的低功耗C/R-F型八位OTP单片机 HT45R37V 是一款低功耗C/R-F 型具有8 位高性能精简指令集的单片机,专门为需要VFD 功能的产品而设计。作为一款C/R-F 型的单片机,它可以连接9 个外部电容型或电阻型传感器,并把它们的电容值或电阻值转换成相应的频率进行处理。此外,单片机带有内部A/D 转换器,能够直接与模拟信号相连接,且它还集成了一个双通道的脉冲宽度调节器,用于控制外部的马达和LED 灯等。这款单片机是专门为VFD 产品应用而设计的,它能直接驱动VFD 面板。

    标签: 37V 45R R37 R-F

    上传时间: 2013-10-16

    上传用户:packlj

  • 基于HT45R37的低功耗C/R-F型八位OTP单片机

    基于HT45R37的低功耗C/R-F型八位OTP单片机 HT45R37 是一款低功耗C/R-F 型具有8 位高性能精简指令集的单片机。作为一款C/R-F 型的单片机,它可以连接16 个外部电容/电阻式传感器,并把它们的电容值或电阻值转换成相应的频率进行处理。此外,单片机带有内部A/D 转换器,能够直接与模拟信号相连接,且它还集成了双通道的脉冲宽度调节器,用于控制外部的马达和LED 灯等。

    标签: 45R R37 R-F OTP

    上传时间: 2013-11-23

    上传用户:chenlong

  • HT45R35VC/R-F型八位OTP单片机

    HT45R35VC/R-F型八位OTP单片机 HT45R35V 是一款C/R-F 型具有8 位高性能精简指令集的单片机,专门为需要VFD 功能的产品而设计。 秉承HOLTEK MCU 一般特性,该单片机带有暂停和唤醒功能,振荡器选项等等,这些都保证使用者的应用只需极少的外部元器件便可实现。这款单片机专门为直接与VFD 面板相连的VFD 应用而设计。集成C/R-F 功能,外加功耗低、性能良好、I/O 使用灵活、成本低等优势,使这款单片机可以广泛应用于VFD 相关产品中,例如家电定时产品,各种消费产品,子系统控制器,其他家电应用等方面。

    标签: R-F OTP HT 45

    上传时间: 2013-11-07

    上传用户:semi1981

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

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

  • 一款USBkey用MCU电路早期失效问题初探

    我公司生产的 USBkey 产品所使用的MCU 电路,自2007 年9 月初USBkey 产品开始量产化后,我们对其部分产品做了电老化试验,发现该款电路早期失效问题达不到我们要求,上电以后一段时间内失效率为千分之一点五左右。为此,我们从去年10 月到今年2 月对所生产的产品(已发出的除外)全部进行了电老化筛选,通过这项工作发现了一些规律性的东西,对提高电子产品的安全可靠性有一定指导意义。2 试验条件的设定造成电路早期失效的原因很多,从 IC 设计到半导体生产工艺、电路封装、焊接装配等生产工序和生产设备、生产材料、生产环境及人为的因素都有可能是成因,作为电路的使用方不可能都顾及到,也不可控。通过分析,我们认为还是着眼于该款电路在完成半导体生产工艺后,在后部加工中所产生的早期失效问题更有针对性。,因此决定从电路的后部加工工序即封装、COS 软件以及产品SMT 加工工艺等方面入手,安排几种比对试验并取得试验数据,以期找出失效原因。

    标签: USBkey MCU 电路 失效

    上传时间: 2014-12-28

    上传用户:894898248

  • 做DSP最应该懂得157个问题的回答

    TI DSP的发展同集成电路的发展一样,新的DSP都是3.3V的,但目前还有许多外围电路是5V的,因此在DSP系统中,经常有5V和3.3V的DSP混接问题。在这些系统中,应注意: 1)DSP输出给5V的电路(如D/A),无需加任何缓冲电路,可以直接连接。 2)DSP输入5V的信号(如A/D),由于输入信号的电压>4V,超过了DSP的电源电压,DSP的外部信号没有保护电路,需要加缓冲,如74LVC245等,将5V信号变换成3.3V的信号。 3)仿真器的JTAG口的信号也必须为3.3V,否则有可能损坏DSP。

    标签: DSP 157

    上传时间: 2013-10-16

    上传用户:gxy670166755

  • 利用动态密勒补偿电路解决LDO的稳定性问题

    利用动态密勒补偿电路解决LDO的稳定性问题:针对LDO稳压器的稳定性问题,设计了一种新颖的动态密勒补偿电路8与传统方法相比,该电路具有恒定的带宽,大大提高了系统的瞬态响应性能,同时将开环增益提高了,左右使6LDO稳压器具有较高的电压调整率和负载调整率。通过具体投片,验证了该方法的正确性和可行性。关键词:低压降稳压器,动态密勒补偿,稳定性,P型场效应管电容器

    标签: LDO 动态 密勒补偿 电路

    上传时间: 2013-10-24

    上传用户:小宝爱考拉

  • 八段码显示程序设计与调试

    所学的指令LD、LDI、OUT AND、ANI OR、 ORI LDP、 LDF、ANDP、ANDF、  ORP、 ORF ORB、 ANB MPS、 MRD、 MPP MC、 MCRSET RSTNOP  END 自锁电路触点的动作发光二极管的工作原理。八段码显示是利用发光二极管的不同段码组合来实现的,它可以实现0到F的显示。抢答器的显示就是利用八段码显示的特性,来完成几个不同组别的显示。用PLC实现八段码显示0~9组的3组以上抢答器的程序编写,并完成以下要求:1)设计由PLC实现的八段码显示0~9组的3组以上抢答器的程序编写,并完成以下要求: ①列出PLC的输入输出地址分配表 ②画出PLC的输入输出接线图(即I/O接线图) ③设计PLC的梯形图 ④根据梯形图列写指令表 2)按PLC控制I/O口(输入/输出)接线图在模拟实验设备上正确接线。

    标签: 显示程序 调试

    上传时间: 2013-11-22

    上传用户:lmeeworm