当前位置:首页 > 制作
  • 雷军收到三星一份特别礼物:1亿像素CMOS晶圆制作 比黄金还贵

    雷军收到三星一份特别礼物:1亿像素CMOS晶圆制作 比黄金还贵

    今日晚间,雷军在微博上晒出了三星赠送的一份特别礼物:使用定制的1亿像素感光元件的wafer(圆晶)制作,中间是米兔形象,印了两句小米的slogan: “优秀的公司赚利润,伟大的公司赢得人心。永远相信美好的事情即将发生。” 雷军表示,我们定制1亿像素,超高清+大底,对手机相机技术的发展出了一点力。小米CC产品经理老魏表示:“应该是比黄金还贵的原材料了。” 去年11月5日,小米CC9 Pro首发和三星专门定制的一颗1/1.33英寸的超大感光元件—;—;ISOCELL Bright HMX,这也是业界第一款超过1亿像素的移动图像传感器。 它和市面上常见的4800像素一样,都采用了0.8um像素单位大小,但传感器面积变大了,相比4800万传感器,面积是它2倍之多。 ISOCELL Bright HMX也是第一款采用1/1.33英寸感光面积的大尺寸移动图像传感器,能够在低光照条件下比其它小型传感器吸收更多光线,同时通过四合一像素合并技术(Tetracell),实现更加明亮的2700万像素照片。 小米官方表示,这样一颗巨大的传感器,对手机的结构带来了空前的挑战。调用了近千人研发,牵动与之适配的Sensor、镜头、马达、光学系统等全产业的浩瀚工程。

    时间:2020-04-23 关键词: cmos 晶圆 雷军 制作 特别 礼物

  • 鹅肝界的一股清流!科学家用细菌养出天然鹅肝

    鹅肝界的一股清流!科学家用细菌养出天然鹅肝

    近日,据外媒报道,法国科学家现在正在开发“天然鹅肝”,即不使用传统的强制饲喂技术,而是通过菌群来促进鹅肝生长。 我们通常吃的美食法国鹅肝,是用鸭科动物鹅的肝脏为主材制作而成。是一种从被过份喂饲的鹅取出来的肝,欧洲人更是将鹅肝与鱼子酱、松露并列为“世界三大珍馐”。 但鹅肝养成及制作的过程非常残忍,为了让鹅的肝扩大至正常值的10倍以上,饲养者把20厘米长的喂食管强制塞入鹅的食管中,每隔8小时喂食一次。目前英国、芬兰等国已立法禁止出售鹅肝酱。 现在,这一残忍的生产鹅肝的方法有望得到解决,研究人员表示,他们通过给刚出生的雏鹅注入含天然细菌的血清,来促进小鹅肝的生长和脂肪堆积。 研究人员雷米·伯塞林解释说:“这个过程实际上是由肠道菌群引起的 ,我们发现用某些细菌的组合,能够触发小鹅肝脏的发育和脂肪堆积,我们称其为‘天然鹅肝’,因为不是通过强制喂食来达到脂肪肝的效果。” 目前,该公司正准备将“天然鹅肝”推向市场,但售价不菲,约为传统鹅肝的2到3倍。

    时间:2019-12-24 关键词: 制作 细菌 鹅肝 残忍 脂肪肝 脂肪堆积

  • Excel制作二维码的方法

    Excel制作二维码的方法

     今天跟大家分享下我们如何在excel中制作二维码,二维码在我们的生活中随处可见,但是如何制作二维码还有很多人都不知道,今天就让我们来学习下如何制作二维码吧! 一,在excel中制作二维码 在excel中制作二维码,我们需要用到Microsoft BarCode Control 16.0这个控件,它是一个条形码控件 首先我们点击开发工具,然后点击插入,选择其他控件找到Microsoft BarCode Control 16.0这个控件,然后单击鼠标左键拖动出一个条形码   紧接着我们点击条形码,点击鼠标右键找到Microsoft BarCode Control 16.0对象,然后选择属性,我们将样式更改为QR code,这样的话条形码就会变为二维码   然后点击二维码,选择属性,就会跳出二维码的属性窗口,我们找到value,在其后面输入我们想要的内容然后将属性窗口关闭即可,这样的话一个二维码就制作完成了   但是使用这种方法制作二维码,有一个严重的缺陷就是,在value值中不能输入汉字,如果说输入汉字的话,二维码就会不显示,因为这个控件是外国人开发的,不能兼容汉字,所以说,当输入汉字的时候二维码就会显示为空白,这个时候我们就可以使用wps来制作汉字二维码 二、使用wps制作二维码 使用wps制作二维码的过程比使用excel要简单许多,首先我们点击插入,然后找到功能图,在里面选择二维码,这样的话我们就进入了插入二维码的界面,我们可以在输入内容中输入想要显示的汉字,然后在二维码的右下角更改二维码的样式,让他看起来更加的美观,制作完成后点击确定就可以了   以上就是二维码的制作过程,怎么样你学会了吗?

    时间:2019-06-26 关键词: 二维码 excel 制作

  • 大师教你如何制作一个简单的16位CPU

    大师教你如何制作一个简单的16位CPU

     如何制作一个简单的16位CPU,首先我们要明确CPU是做什么的,想必各位都比我清楚,百度的资料也很全。。。。。 如果想要制作一个CPU,首先得明白下计算机的组成结构(或者计算机的替代品,因为并不是只有计算机有CPU,现在的电子产品都很先进,很多设备例如手机、洗衣机甚至电视和你家的汽车上面都得装一个CPU),数字电路基础,还最好有点编程的基础(当然,没有也没关系,这些知识都很容易获得,各种书上面都会提到,并且在接下来的过程中我会提到这些知识) 我们要实现的是一个RISC指令集的CPU,并且我们最后要自己为这个CPU设计指令并且编码。 首先我们来听个故事,关于CPU的诞生的故事: 日本客户希望英特尔帮助他们设计和生产八种专用集成电路芯片,用于实现桌面计算器。英特尔的工程师发现这样做有两个很大的问题。第一,英特尔已经在全力开发三种内存芯片了,没有人力再设计八种新的芯片。第二,用八种芯片实现计算器,将大大超出预算成本。英特尔的一个名叫特德?霍夫(Ted Hoff)的工程师仔细分析了日本同行的设计,他发现了一个现象。这八块芯片各实现一种特定的功能。当用户使用计算器时,这些功能并不是同时都需要的。比如,如果用户需要计算100个数的和,他会重复地输入一个数,再做一次加法,一共做100次,最后再打印出来。负责输入、加法和打印的电路并不同时工作。这样,当一块芯片在工作时,其他芯片可能是空闲的。 霍夫有了一个想法:为什么不能用一块通用的芯片加上程序来实现几块芯片的功能呢?当需要某种功能时,只需要把实现该功能的一段程序代码(称为子程序)加载到通用芯片上,其功能与专用芯片会完全一样。 经过几天的思考后,霍夫画出了计算器的新的体系结构图,其中包含4块芯片:一块通用处理器芯片,实现所有的计算和控制功能;一块可读写内存(RAM)芯片,用来存放数据;一块只读内存(ROM)芯片,用来存放程序;一块输入输出芯片,实现键入数据和操作命令、打印结果等等功能。 看完这个故事后,可以总结:CPU是一种用来代替专用集成电路的器件(这只是我的理解,不同人有不同理解,这个就智者见智了,我在接下来的例子中也会说明我的想法)。 然后考虑如下这个例子: 例1-1: mov eax,0 repeat:inc eax jmp repeat 例1-2: int main() { unsigned int i = 0; while(1) i++; } 例1-3: 可以看到,以上三个例子都产生了一个从0不断增加的序列,而且前两个例子会一直加到溢出又从0开始(这个取决于计算机的字长也就是多少位的CPU,eax是32位寄存器所以必然是加到4294967295然后回0,而后面那个c程序则看不同编译器和不同平台不一样),后面那个例子则看你用的是什么样的加法器和多少个D触发器 那问题就来了,我假设要一个递减的序列怎么办呢?前两个例子很好解释,我直接改代码不就得了: 例2-1: mov eax,0 repeat:dec eax jmp repeat 例2-2: int main() { unsigned int i = 0; while(1) i--; } 你只需要轻轻敲击键盘,修改了代码之后,它就会如你所愿的执行。 但是后面那个例子怎么办呢?可能你已经想到办法了:如例2-3所示。 例2-3: 问题就来了,你在键盘上敲两下可不能改变实际电路!上面(例1-3)中是个加法器,但是跑到这里却变成了减法器(例2-3)! 这样的话,你就得再做一个电路,一个用来算加法,一个用来算减法,可是两个电路代表你得用更多的电路和芯片,你花的钱就得更多,要是你不能同时使用这两个电路你就花了两份钱却只干了一件事! 这个问题能被解决吗?答案是能! 请看例3: 这个例子中使用了一个加法器一个减法器,没比上面的电路省(显然。。。。难道你想用减法器做加法器的功能?不可能吧!当然,加上一个负数的补码确实就是减去一个数,但是这里先不考虑这种问题),多了一组多路器,少了一组D触发器。总的来说,优势还是明显的(两块电路板和一块电路板的差别)。 而sel信号就是用来选择的(0是递增,1是递减)。 如果我们把sel信号看做“程序”的话,这个电路就像一个“CPU”能根据“程序”执行不同的“操作”,这样的话,通过“程序”(sel信号),这个电路就能够实现复用。 根据上面的结论,我认为(仅仅是个人认为啊~):程序就是硬件电路的延伸! 而CPU的基本思想,我认为就是这样的。 接下来我们就分析CPU的结构和各个部件,然后实现这个CPU。 什么是单周期CPU,什么是多周期CPU,什么是RISC,什么是CISC 首先大家得有时钟的概念:这个问题不好解释啊。。。。。。可以理解为家里面的机械钟,上上电池之后就会滴答滴答走,而它“滴答滴答”的速度就是频率,滴答一下用的时间就是周期,而人的工作,下班,吃饭和学习娱乐都是按照时钟的指示来进行的(熬夜的网瘾少年不算),一般来说,时钟信号都是由晶体振荡器产生的,0101交替的信号(低电平和高电平)。 数字电路都需要一个“时钟”来驱动,就像演奏交响乐的时候需要一个指挥家在前面指挥一样,所有的人都会跟着指挥的拍子来演奏,就像数字电路中所有的部件都会跟着时钟节拍工作一样。 如下是一个理想的时钟信号:(注意是理想的)。 当然,实际的时钟信号可能远没有这么理想,可能上升沿是斜的,而且占空比也可能不是50%,有抖动,有偏移(相对于两个器件),可能因为导线的寄生电容效应变得走形。 上面那段如果没听懂也没关系~~~反正就是告诉你,实际的时钟信号测出来肯定没这么标准。 而cpu的工作频率,是外频与倍频的积(cpu究竟怎么算频率,其实这个我也不太清楚呵呵),因为cpu是通过外部的晶振产生一个时钟信号,然后再通过内部的电路(锁相环),倍频至需要的频率。当然,有人问,为什么要这么麻烦呢?直接在电路外边做个时钟晶振能产生那么高的时钟信号就可以了嘛,这个是可以的,在某些简单的系统上(例如51单片姬)就是这样的,但是计算姬的cpu比较复杂,因为一些原因所以必须要做到cpu内。 下面简单说一下CPU的两种指令集:CISC和RISC。 说下我的看法(个人看法,如有错误还请高手指正): RISC是Reduced Instruction Set Computer,精简指令集计算机,典型例子是MIPS处理器。 CISC是Complex Instruction Set Compute,复杂指令集计算机,典型例子是x86系列处理器(当然现在的x86指令还是当初cisc的指令,但是实际处理器的结构都已经变成了risc结构了,risc的结构实现流水线等特性比较容易,在计算机前的你如果用的是intel某系列的处理器,则它使用的指令集看上去还是像cisc的指令,但是实际上你的cpu的结构已经是risc的了)。 一般CISC的处理器需要用微指令配合运行,而RISC全部是通过硬连线实现的,也就是说,当cisc的处理器在执行你的程序前,还得先从另外一个rom里面读出一些数据来“指导”处理器怎么处理你的命令,所以cisc效率比较低,而risc是完全通过部件和部件之间的连接实现某种功能,极大的提高了工作效率,而且为流水线结构的出现提供了基础。cisc的寄存器数量较少,指令能够实现一些比较特殊的功能,例如8086的一些寄存器: ax,bx,cx,dx,si,di等;段寄存器有:cs,ds,es,ss等。相对的指令功能比较特殊,例如xlat将bx中的值作为基地址,al中的值作为偏移,在内存中寻址到的数据送到al当中(以ds为段寄存器) 而risc的处理器则通用寄存器比较多,而指令的功能可以稍微弱一点,例如: 以nios嵌入式处理器来说明,nios处理器有32个通用寄存器(r0~r31),而指令功能相对x86的弱一些,而且x86进行内存访问是直接使用mov指令,nios处理器读内存用的是load,写内存用的是store, 二者响应中断的方式也不一样,举一个典型的例子,x86的处理器将中断向量表放在了内存的最低地址(0-1023,每个中断向量占四个字节),能容纳256个中断(以实模式的8086举例)响应中断时,将中断号对应的地址上的cs和ip的值装入到cs和ip寄存器而将原来的地址保存,并且保存状态寄存器然后进入中断处理,而risc则拥有一个共同的中断响应函数,这个函数会根据中断号找到程序向系统注册的函数的地址,并且调用这个函数。一般来说而是用的cisc指令的长度是不定的,例如x86的xor ax,bx对应机器码是0x31d8、而push ax是0x50、pop cx是0x59。而risc的指令确是定长的,例如32位。 如果还有不清楚的。。。。。自行百度,要理解这些概念需要一点时间 一个CPU的基本结构以及必要组件 这个例子引用自DE2开发板套件带的光盘上的Lab Exercise 9,我们从图中可以看到,一个CPU包含了通用寄存器组R0~R7,一个ALU(算术逻辑单元),指令寄存器IR,控制器(一般这部分是一个有限状态机或者是用微指令实现),还有就是数据通路(图中的连线)。当然真正的CPU不可能只包含这么一点点组件,这是一个模型CPU,也就是说只是说明CPU的原理,真正复杂的CPU要涉及到很多复杂的结构和时序,例如虚拟模式需要使用一些特殊的寄存器、为了支持分页需要使用页表寄存器等,为了加速内存的访问需要使用TLB,加速数据和指令的访问而使用data cache和instruction cache等等。。。。。当然,那都是后面该考虑的,所以我们先从这个简单的部分开始讲起。 例子中能实现如下指令: mv指令将Ry的数据转移到Rx中,mvi将立即数D转移到Rx当中,add将Rx和Ry的和放到Rx中,sub同上,不过执行的是减法。 首先来说明mv指令是如何执行的:mv指令将Ry的值移入Rx寄存器当中,这两个寄存器都是由一组D触发器构成,而D触发器的个数取决于寄存器的宽度,就像32位机、64位机这样,那他们的寄存器使用的D触发器的个数就是不一样的。当执行mv rx,ry时,中间的多路器(图中最大的那个multiplexer)选通Ry,让Ry寄存器驱动总线,这个时候Bus上的信号就是Ry的值;然后再看到R0~R7上分别有R0in~R7in信号,这个信号是使能信号,当这个信号有效时,在上升沿此触发器会将din的数据输入,所以说到这里大家一定想到了,这个时候Rx触发器上的Din信号就会变为有效,这样过了一个时钟周期后Ry的值就被送到了Rx当中。 与mv指令类似,mvi指令也将一个数据送入Rx当中,只不过这次的数据存在指令当中,是立即数,所以Rx的Din信号会变为有效,而多路器会选择IR中的数据,因为mvi指令的立即数存在指令当中。并且进行一定处理,例如扩展等。 add指令会让多路器先选择Rx,然后Ain信号有效,这样一个时钟周期后,Rx数据被送入Alu的A寄存器当中,这时多路器选择Ry,addsub信号为add以指示ALU进行加法操作,Gin有效让G寄存器存放运算结果,然后再过一个时钟周期G当中的数据就是Rx与Ry的和,这时多路器再选择Gin,Rx的Din有效,过了一个时钟周期后数据就被存放到Rx当中了。 sub的过程与add差不多,不过addsub信号是sub指示ALU进行减法。 我做的CPU模型 下面我就将我做的CPU模型的RTL网表发出来,代码我会上传的,但是这个还只能进行仿真,因为设计的时候理念有问题,出现了异步设计,而且出现了将状态机的输出作为另一个器件的时钟端的错误,所以这个模型只能用于仿真。我用的synplify pro综合出的RTL,而状态转移图是用的Quartus的FSM Viewer截下来的。 首先是整个系统的概览: 这个比上面的那个简单模型复杂多了吧!但是别担心,其实这个只是上面的那个CPU变得稍微复杂了一点,这个和上面那个不同的地方还有:这个CPU是一个多周期CPU而上面的Lab Exercise是一个单周期的CPU 下图是程序计数器(PC),也就是常见x86处理器里面的ip(instruction poiniter): 红色部分就是pc了,后面是一个三态桥,连接到了总线上面,这里的数据有时候是要送到地址总线,用于寻内存中的数据,以便完成Instruction Fetch过程。有时候又要送到通用寄存器的数据端,用于将pc的值送到其他寄存器。 下面这个是IR(Instruction Register),这个是多周期处理器的典型特征,因为处理器在第一个周期里面将机器码从内存取出,然后存放到这个寄存器里面,后面的几个状态都是通过这个寄存器里面的数据作为指示执行操作的。 下面介绍一下ALU,ALU是Arithmetic Logic Unit,即算术逻辑单元,这个装置的作用是进行算术操作和逻辑操作。典型的算术操作例如:1+1=2,11x23=253,而典型的逻辑操作例如:1 and 1=1,0 or 0 = 0,1<<3=8这种属于逻辑操作。 而从图中大家也看得到,ALU的输出用一根很长的线连接到了后面,参考整个CPU的图的话,会发现这些线连到了通用寄存器上面,这是为了让运算的结果存放回去,例如你用add eax,1的时候,eax的值被加上1然后放回eax,所以ALU的运算结果要用反馈送回到通用寄存器,而ALU的输入也应该有通用寄存器的输出。 下面再介绍ADDRMUX: 这个部件是用来选择地址的,右边的输出是CPU的地址总线,而CPU的地址总线就已经送出CPU了(也就是你能够在芯片的外表上看到引脚了),CPU的地址总线是送到存储器的地址端的,而现代的计算机系统实际上是相当复杂的,所以其实你家的计算机上CPU是通过北桥芯片访问内存的(当然也有将内存控制器做到CPU里面的)左边是地址的来源,地址的来源即有通用寄存器,也有程序计数器,还有一个是直接从IR里面送出,这是因为有的立即数里面也包含内存地址信息。 最后介绍通用寄存器: 通用寄存器的作用就是用来保存中间值或者用于运算,例如 add eax,2 相当于eax+2然后送回eax。 最后介绍一下状态机,这个部分就是CPU的“灵魂”,如果说有了上面那些部件CPU有了一副“躯体”的话,这一部分就是CPU的“灵魂”了: 状态机基本上与系统所有的组件都连接到一起了,因为上面所说的所有动作的执行,都需要状态机的控制,状态机其实就是由一部分触发器构成的记忆电路和另外一部分组合逻辑构成的次态译码电路构成,还有根据当前状态和输入进行译码的部分用于控制各个部件,下面是教科书上的典型FSM结构: 而我们用的状态机状态转移图如下: 因为这个处理器设计的很简单,所以没有出现很多状态,当处理器经历完以上的状态之后,处理器就执行完了一条指令。 有的CISC的处理器用微指令进行控制,作用和状态机相近,这种结构出现在一些比较古老的处理器上,因为那个时候的设计工具和方法没有现在的先进,所以往往改动硬件是困难的和高成本的,所以用微指令的话,做好了硬件的结构,要是需要改动只要修改微指令就好了,而现在的电子技术很发达,设计工具也很完备,所以就有很多直接通过硬连线实现的处理器。 好马配好鞍,有了处理器,我们就得给它配上一个好的程序,下面我们就用自己设计的处理器进行求和,从1加到100,因为我们没有设计编译器,也没有设计汇编器,所以程序只能用机器码写出,示例程序如下: 我们不妨先写出程序的汇编代码: mov [ADDR],r0;r0 = 0 mov r1,100 lop:add r2,r1 sub r1,1 cmp r1,0 jz ext mov r4,4 jmp r4(lop) ext:mov [ADDR],r2 jmp $ 先将内存中存放数据的地址清零,这样才能存放等下送来的结果,然后将r1寄存器存入循环次数(也就是求和的上限)。然后再将r1的值加到r2中来,r2其实就是放求和的寄存器,最后我们会将r2中的值送到内存中的某个地址存放的。 然后将r1减去1,看看是否为0?如果为0则说明求和结束了,如果不是0则说明还要继续,结束后程序就跳到ext部分将结果存放到内存中某个地址(例子中给的是49152也就是二进制的1100000000000000b),最后jmp $是为了让程序停在这一行,防止程序跑飞(跑飞的程序危害很大!有可能吧数据当代码或者把代码当数据!) 转换成VerilogHDL语言如下: module memory ( input [15:0] addr, inout [15:0] data, input rw ); reg [15:0] data_ram[0:16'b1111_1111_1111_1111]; integer i; initial begin for (i = 0; i <= 16'b1111_1111_1111_1111; i = i + 1) data_ram = $random(); data_ram[0] = 16'b1000000100000000; //mov [ADDR],r0;r0 = 0 data_ram[1] = 16'b1100000000000000; //ADDR data_ram[2] = 16'b1000000010001000; //mov r1,100 data_ram[3] = 100; //100 //data_ram[2] = 16'b1110011001000000; data_ram[4] = 16'b0010000100010001; //lop:add r2,r1 data_ram[5] = 16'b1110000011001000; //sub r1,1 data_ram[6] = 16'b0000000000000001; //1 data_ram[7] = 16'b1110000000001000; //cmp r1,0 data_ram[8] = 16'b0000000000000000; //0 data_ram[9] = 16'b1110011010000000; //jz ext data_ram[10] = 16'b0000000000000011; //+3 offset(ext) data_ram[11] = 16'b1000000010100000;//mov r4,4 data_ram[12] = 16'b0000000000000100; data_ram[13] = 16'b0110011001100000;//jmp r4(lop) data_ram[14] = 16'b1000000100000010;//ext:mov [ADDR],r2 data_ram[15] = 16'b1100000000000000;//ADDR data_ram[16] = 16'b1110011001000000;//jmp $ data_ram[17] = 16'b1111111111111110;//-2 offset($) /*data_ram[0] = 16'b1000000010000000; //mov r0,imm data_ram[1] = 16'b0011111111111111; //imm data_ram[2] = 16'b0000000001111000; //mov r7,r0 data_ram[3] = 16'b1000000010011000; //mov r3,0 data_ram[4] = 16'b0000000000000000; data_ram[5] = 16'b1000000010100000; //mov r4,code of jmp r5 data_ram[6] = 16'b0110011001101000; //jmp r5 data_ram[7] = 16'b0000000101011100; //mov [r3],r4 data_ram[8] = 16'b1000000011110000; //mov r6,[0] data_ram[9] = 16'b0000000000000000; //[0] data_ram[10]= 16'b1000000100000110; //mov [255],r6 data_ram[11]= 16'b0000000011111111; data_ram[12]= 16'b0110011001011000; //jmp r3 */ end always @ (addr or rw or data) if (rw) data_ram[addr] = data; assign data = rw ? 16'hzzzz : data_ram[addr]; endmodule 设计中CPU外围还需要一个内存设备(Memory),我用HDL对其建模,初始化的时候每个内存地址上对应的数据都初始化为随机的,然后只有从0开始的一系列地址被初始化为我写的代码,机器码对应的汇编指令在注释中已经给出。 然后是结果,结果应该是r2从0变化到5050(1+2+3+......+100=5050) 而r1则从100变化到0,变化到0后程序将进入死循环,停止在jmp $那一条。这是仿真开始的时候: 大家可以看到初始化后,d0~d7都变成了0,这是r0~r7寄存器的Q端,而state_current和state_next则是状态机的现态和状态机的次态,cpu的各个部件都通过这个状态机受到控制。状态名出现的顺序和上面的FSM Viewer的连线顺序是一样的。 而且大家可以看到,d2从0变化到了0x64也就是十进制100,说明已经执行了第一次加法了。 再来看看仿真结束: 这时候d1变化到了0而d2变化到了0x13ba(十进制的5050),说明程序已经在我们设计的处理器里面运行并且成功的得出了结果! 最后给出一些我用到的指令(跟x86的很像): add dst,src 将src和dst相加并且送到dst寄存器中 mov [addr],src 将src的值送到以addr位地址的内存单元 sub dst,src 将dst减去src并且送到dst中去 cmp dst,src 将dst减去src 然后不送到dst中 只改变标志位 jz dst 当zf=1时(即上次的算术操作结果为0)则跳转到dst中去 最后再提一下: 我是用synplify综合的电路,然后用debussy+modelsim仿真的, 相关资料请参考: CPU逻辑设计,朱子玉,李亚民著 Lab Exercise 9出自DE2的开发光盘

    时间:2016-03-15 关键词: CPU 仿真 电源技术解析 制作 算数逻辑

  • 爱奇艺:首席内容官马东10月将卸任

    爱奇艺:首席内容官马东10月将卸任

    7月14日消息,爱奇艺今日正式宣布,首席内容官马东将于今年10月卸任。据悉,马东将进行视频内容领域创业,并与爱奇艺继续保持深入长期合作。资料显示,马东为原央视主持人、导演兼制片人,于2013年初加入爱奇艺,出任爱奇艺首席内容官,负责爱奇艺的内容采编和制作工作,并主导了《奇葩说》、《盗墓笔记》等原创内容。马东表示,“未来将全身心投入视频原创领域,并和爱奇艺保持紧密合作,一如既往致力于优质视频内容的制作”。此外,爱奇艺新的首席内容官人选已确定,将于马东正式卸任后上任。(李儒超)

    时间:2015-07-15 关键词: 领域 制作 新鲜事 央视主持人 盗墓笔记 制片人

  • 测量仪器的原理及制作

    在物理实验和生产实际中。往往需要高精度的测量。环境温度对测量的影响是一个重要的因素。因此要求我们必须对环境温度进行精密的测量。对测量仪器也应有如下的要求,即制造成本低。测量精度高。湿度传感器探头,不锈钢电热管,PT100传感器,流体电磁阀,铸铝加热器,加热圈 线形度好,应用范围广。便于安装和调试。目前市场上有多种传感器可以用来实现温度的测量。常用的有石英温度计、光纤传感温度计、热敏电阻温度计等在上述几种器件中,石英温度计灵敏度最高,目前可达到℃数量级然而,这些传感器的价格一般都比较贵。线性度难以达到精密测量的要求。 我们所知道红外光的特性:单色性好,抗干扰,比较适合高精度的测量。我们所要设计的仪器结构简单.容易制作,便于安装,可进行高精度的温度测量,该温度测量可直接输出到微机或pc机进行后期的数据处理,十分方便易行。 2、仪器的原理和用途 我们采用微品玻璃陶瓷材料制成一个圆筒,这种微晶玻璃陶瓷材料具有真空性好、耐高低温、绝缘和耐酸碱腐蚀等性能,其基本性能指标如下:使用温度 -273℃~1000℃体积电阻率1.08x1014Ω·cm,热膨胀系数为αl=8.6x10-6/℃,微品玻璃陶瓷抗热冲击性能非常好,从800℃急冷至0℃不破碎,200℃急冷到0℃强度不变化。在筒内的一端固定一根长L=10cm的薄有机玻璃圆筒,在筒内另一端固定一个红外位移传感器,并且让有机玻璃棒的自由端将红外接收管的接收面遮住一半,使其工作在线性度最好的区域。由于有机玻璃的热膨胀系数为α2=1.7x10-4/℃,两者相差达2个数量级,所以当温度变化时,我们可以认为有机玻璃在陶瓷卡材料上的相对位移可以忽略,故有机玻璃的自由端同红外位移传感器之间的相对位置变化将改变红外接收管的有效接收面积。从而使位移传感器输出电压也随之改变。这种新型温度传感器的测量灵敏度为: ΔT=ΔL/L(α1-α2) 其中,△L为红外位移传感器对有机玻璃长度测量的灵敏度。 红外位移传感器,主要机构由红外发光二极管发射和接受装置,数据放大去噪部分以及数据采集处理系统组成。 我们可以看到它是利用红外光电二级管的光电转换规律,通过其遮挡的光通量与输出电流的关系确定遮挡体。能将微小的温度转换成电压的变化。在运用放大电路将其进行放大处理。结合数据采集卡建立电压信号与温度的函数关系。最后利于高精度的螺旋测微器进行定标,最终形成我们可以得到一个具有较高测量精度(3×10-7m)的位移测量仪。 由于光电转换的电流较小而且红外发光二极管的功率也较低,因此我们可以认为红外位移传感器不会对测量的温度环境有影响。 3、仪器的制作与实验结果 我们将设计好的温度传感器与灵敏度为0.001℃的石英温度计放入一个铜制的匣子里,并且尽可能将两者接近,这样减少两者间的环境温度差别。同时放置一个用黑盒子包裹的功率为1W的灯泡给匣子进行加热。采用黑盒子是为了减少匣子内背景光对红外位移传感器的影响。实验中我们的数据采集是利用 PCL-71IB数据采集卡。PCL-711B是一块具有高性能、高速度、多功能的数据转换卡,它适用于现行的IBMPC或其它兼容计算机。它的高性能、丰富的软件支持以及多种功用,使得PCL-71IB成为了工业应用和实验设备的理想选择。我们利用其A/D转换功能并结合串口通讯将数据输入到PC机进行后期处理。0

    时间:2014-10-23 关键词: 原理 制作 测量仪器

  • PCB板制作注意事项

    1.原理图常见错误:(1)ERC报告管脚没有接入信号:a. 创建封装时给管脚定义了I/O属性;b.创建元件或放置元件时修改了不一致的grid属性,管脚与线没有连上;c. 创建元件时pin方向反向,必须非pin name端连线。 (2)元件跑到图纸界外:没有在元件库图表纸中心创建元件。 (3)创建的工程文件网络表只能部分调入pcb:生成netlist时没有选择为global.(4)当使用自己创建的多部分组成的元件时,千万不要使用annotate. 2.PCB中常见错误:(1)网络载入时报告NODE没有找到:a. 原理图中的元件使用了pcb库中没有的封装;b. 原理图中的元件使用了pcb库中名称不一致的封装;c. 原理图中的元件使用了pcb库中pin number不一致的封装。如三极管:sch中pinnumber 为e,b,c, 而pcb中为1,2,3.(2)打印时总是不能打印到一页纸上:a. 创建pcb库时没有在原点;b. 多次移动和旋转了元件,pcb板界外有隐藏的字符。选择显示所有隐藏的字符, 缩小pcb, 然后移动字符到边界内。 (3)DRC报告网络被分成几个部分:表示这个网络没有连通,看报告文件,使用选择CONNECTEDCOPPER查找。 另外提醒朋友尽量使用WIN2000, 减少蓝屏的机会;多几次导出文件,做成新的DDB文件,减少文件尺寸和PROTEL僵死的机会。如果作较复杂得设计,尽量不要使用自动布线。 在PCB设计中,布线是完成产品设计的重要步骤,可以说前面的准备工作都是为它而做的,在整个PCB中,以布线的设计过程限定最高,技巧最细、工作量最大。PCB布线有单面布线、 双面布线及多层布线。 布线的方式也有两种:自动布线及交互式布线,在自动布线之前, 可以用交互式预先对要求比较严格的线进行布线,输入端与输出端的边线应避免相邻平行, 以免产生反射干扰。 必要时应加地线隔离,两相邻层的布线要互相垂直,平行容易产生寄生耦合。

    时间:2014-04-28 关键词: 电路设计 注意事项 制作 pcb板

  • 用NE571制作的扩展电路

    用NE571制作的扩展电路

    从压缩一扩展特性曲线中还可看到,在OdB时增益为I,由于线路输入0电平标准的 实际参考电平为0.775V,但是线路输入的信号大部分时间内都是低于OdB的,平均约为 一8血~一10dB,这时的实际增益只有0.3dBo因此经过扩展后的声音听起来反而减小了。 互口果在这时将扩展切换为直通,会造成音量的突变。为此,在运放的反馈回路中串人电阻 R3,以提高运放的增益,使扩展器在输人为一9dB时增益为1,这样不论在扩展状态或在 直通状态下音量的听感基本一致。     lC内部的偏置电路是按工作在最低电源电压6V设计的,即运放输出的静态直流电压 为3V。当电源电压高于6V时要用外接电阻来调整o方法有二:其一是反馈电路串人电 阻R3,但如前所述R3同时兼有交流负反馈功能,因此必须在首先满足运放增益的前提下 适当选取。其二是在5、12脚与地之间并联电阻,如图中的R2,当电源电压和R3确定 后,R2可按下式算出。

    时间:2013-10-18 关键词: 电路 扩展 制作 音响电路 ne571

  • 制作炫酷的多彩LED留声机

    像是很多人小时候都幻想拥有哆啦A梦的道具一样,这个灵感也来源于此。我们也制造了这个设备——时光留声机。它的功能简单说来,像是一台带有网络和蓝牙功能的录音机,又因为它只有一个按钮,所以我们又起了个名字给它——One Button。在生活中有这样的情景:家里只有一辆摩托车,有人有急事要骑车出门,又不必告诉家中的每一个人。离开前,他只要对着盒子录一段话,盒子的颜色就从蓝色变成了红色。别人看到后,点一点按钮就知道了原因。用灯光来提醒不同时间到来的人,这是留声机的第一个功能。留声机的第二个功能是通过蓝牙来遥控发声,它的应用场景或许是开不了口的道歉。文字通过手机发送到盒子,合成语音来帮你说出那句说不出口的抱歉,或许会让你轻松一些,也少一些尴尬。留声机的第三个功能是可以通过网络来留言,我们希望它变成一个礼物,在送出去以后,你还可以源源不断的送上祝福。WiFi模块可以帮助设备从网络上获取微信信息。微信客户端可以通过向该设备留言,将数据发送到网络,同时会返回哪些发出的信息已被读取,而哪些尚未被读到。我们是这样完成它的制作的:使用的材料有:Arduino UNOISD1820录音模块SYN6658TTS语音模块蓝牙模块WiFi模块RGB LED灯带及其它首先,是将Arduino和录音模块连接起来,使用数字端口8号来播放声音,使用9号端口来录制声音,再单独制作按钮连接在12号端口上。因为TTS语音模块是通过串口通讯的,所以我们把它的RX和TX分别连接在Arduino的2、3号端口,蓝牙模块的RX和TX连接在4、5号端口。因为RGB LED灯带的三色要使用PWM控制,所以红绿蓝三色的控制分别连接在了6、10、11号端口。串口的WiFi模块可以连接在7、13号端口。 1  2  3  电路连接的部分结束后,我们使用3D打印制作了留声机的外壳,并将电路部分固定在了里面。关于通过android端手机蓝牙控制的发声过程,首先发现蓝牙设备,并且连接上去。输入你要说的话,点击发送就可以让发声模块发声。还可以通过点击男声和女生来变换声音的语调。 1  2  3  蓝牙连接流程:下面是蓝牙的连接原理图,首先通过界面GUI点击连接按钮通过连接按钮的事件hitConnectButton()来发出连接命令,命令ACTION_CONNECT发送给后台服务Background Service通过checkAddressFormat来检查地址格式,然后通过initBuletoothDevice()来调用蓝牙连接库BlueTooth Library来初始化蓝牙连接。当蓝牙连接库返ready()的时候Background Service开始启动连接线程startConnectThread(),接着打开蓝牙连接socket,当返回socketOpen时启动socket连接池管理socket。然后Background Service返回给GUI命令ACTION_CONNECTED,表示连接成功。同时通过updateButtonState()来更新界面的显示状态。  数据格式生成代码:下面是从android手机端发送给发声模块的数据帧结构。下面的代码就是怎么样在android上用java代码生成这样的数据格式。经调试该发声模块目前能接受的是GBK的数据编码格式,所以我们用message.getBytes(“GBK”)来生成该编码格式。Msg_byte_len是数据帧总长度,byteHead代表帧头,byteLen代表数据区长度,byteType代表命令字和命令参数,然后将这些数据组合在destArray中,发送到发声模块上,发声即可。稍加调试,留声机就基本能工作起来了。对我们最具挑战的第三个功能——网络留言功能,也使用微信的API测试成功。当它被作为礼物送给对方的时候,你还可以在后面的日子里访问它,很喜欢为它设计的广告语:每一份爱都应该得到礼物,每一份礼物都应该持续不断地得到祝福。   1  2  3  

    时间:2013-09-27 关键词: LED 制作 留声机 多彩

  • 自己制作微型交流点焊机

    业余电子制作和维修过程中,难免遇到焊接电池极片或薄钢板,而要确保顺利完成这一任务就离不开电焊机。电焊机通常可分为直流电焊机和交流电焊机两种,这里介绍的是交流电焊机,它由降压变压器、电流调节器和散热系统以及焊接导线、把手等附件组成。焊接时不必使用电焊条,只需把欲焊接的两工件分别作为电路的两个电极,利用接触电阻处产生的高温,将金属瞬间熔化,从而将工件牢牢焊接在一起。由于购买成品电焊机价格不菲,倘若你觉得自己动手能力还不算太弱,也可以和笔者一样充分发挥DIY精神,来制作一台实用的微型交流电焊机。 电路工作原理 如图1所示,B2是降压变压器。也是电焊机的核心部件。AB2整流桥、单向可控硅SCR、单结晶体管UJT、电阻R2、R3、R4、R5、电容C2及电位器RP构成了焊接电流无级调节器。直流电流表A用于间接指示焊接工作电流大小。刚与LED组成电源指示电路。小型变压器B1、整流桥AB1、电容C1以及风扇M构成了散热系统。 由图可以看出设备电路十分简洁,要说复杂就只能算是电流调节器了。它利用单结晶体管的负阻特性组成张弛振荡器,来作为单向可控硅的触发电路由于单结晶体管张弛振荡器的电源取自桥式整流电路输出的全波脉动直流电压。当可控硅没有导通时,张弛振荡器的电容C2经R2、R5及RP充电,电容两端电压VC2按指数规律上升。到单结晶体管的峰点电压VP时。单结晶体管UJT突然导通,基区电阻RB1急剧减小。电容C2通过PN结向电阻R4迅速放电,使R4两端电压Vg发生一个正跳变。形成陡峭的脉冲上升沿,随着电容C2放电,VC2按指数规律下降,当低于谷点电压V 时单结晶体管截止。 在R4两端输出的是尖顶触发脉冲。使得可控硅SCR导通。B2初级绕组内有交流电流流过,同时可控硅两端压降变得很小,迫使张弛振荡器停止工作,当交流电压过零瞬间,可控硅被迫关断。张弛振荡器再次得电,电容C2又开始充电,这样周而复始不断重复上述过程。调节电位器RP可以改变电容C2的充电时间也就是改变张弛振荡器振荡周期。自然也就改变了每次交流电压过零后张弛振荡器发出第一个触发脉冲的时刻。相应地改变了可控硅SCR的导通控制角,使加在B2初级绕组两端的电压发生变化。最终达到调节控制次级输出电流的目的。 器件的选择及测试 降压变压器B2选用的是废旧彩色电视发射机声末高功放电子管FU-720F的灯丝变压器。初级交流电压220V。次级交流电压4 V。稳定输出电流可达80A。如果一时找不到诸如此类合适的低电压大电流变压器,也可以自制,首先找一个功率300W以上的220V交流电源变压器,拆除原次级绕组线圈。另用0,5平方厘米以上的铜质电缆线在变压器上绕6~10匝,确保输出电压约为4V即可。 单结晶体管选用BT33F,单向可控硅选用CR10AM,实际制作前还要检测一下好坏并分清引脚电极。对单结晶体管。首先判定发射极e,将指针式万用表电阻档置于R X 1k档,用两表笔测得任意两个电极间的正、反向电阻均相等(约2~1OkΩ)时,这两个电极即为b1和b2,余下的一个电极为发射极e,接着区分第一基极b1与第二基极b2,将黑表笔接E极,用红表笔依次去接触另外两个电极,分别测得正向电阻值。由于管子构造上的原因,第二基极b2靠近PN结,所以发射极e与b2间的正向电阻应略小于e与b1间的正向电阻,范围均在几到十几kΩ。因此测得阻值较小时红表笔所接的电极即为b2。阻值较大时红表笔所接的则为b1。不过即使b1、b2弄颠倒了。正常情况下也不会损坏管子。只会影响输出脉;中的幅度,如果发现输出的脉冲幅度偏小时。只需将两个基极对调就可以了。 单向可控硅外形酷似大功率三极管。判别其阳极(a)、阴极(k)和控制极(g)三电极引脚时。要用指针式万用表R×10档。测量阻值与其余两脚 均不通(正反阻值达几百千欧以上)的则为A极。再测剩余两脚问阻值。阻值较小(约为几十或几百欧)时。黑表笔所接的为g极。另一脚为k极。如果测试结果与上述情况不符。说明元件已坏。 直流电流表A可以用易购的毫安表并接一段长导线代替。导线就相当于一个小阻值的分流电阻。具体长度要根据实际使用显示情况适当修剪后确定。散热风扇使用常见的直流12V电脑风扇,变压器B1次级取10V即可。电阻要选2W 以上的,FU 选250V、4A的保险丝。考虑次级输出的电流较大,焊把导线应采用紫铜芯线,并要有足够的截面,以保证在使用过程中不会因过载而发烫。 最后提请注意的是,电路组装完毕要安放到合适的金属外壳内,除保证良好通风外,整个电路要与外壳良好绝缘,同时外壳还要可靠接地。 使用注意事项 三芯插头接好220V市电,将电源开关K闭合。电源指示灯LED点亮。同时散热风扇开始运转工作,转动电位器RP旋钮,调节好合适的焊接电流,即可进行焊接作业了。因焊接电流限制,金属工件直径不能大于3mm或厚度不大于0.5mm,焊接时要保持工件平稳,可用老虎钳等夹具将一焊把固定在一工件上,另一焊把接触另一工件,待金属熔化后断开一个焊把电极即可。此外,还可以在薄金属板上打孔,或将一焊把夹紧金属工件,用另一焊把电极作笔在工件上刻字、绘画等。 操作电焊机应了解和掌握安全用电知识。带有市电的线路部分绝缘要可靠。焊接导线与电焊机、焊钳连接应用螺栓、螺母,加上垫圈并拧紧。对电焊机内部还须定期检查,发现连接有松动或脱焊现象,应及时拧紧和焊牢。导线有残破时,应及时更换或处理;当焊接工作完毕或暂停使用时,应立即切断电源移动电焊机时务必切断电源;由于电焊时有大量火花喷出,焊件温度也极高,为安全起见,焊接时要远离易燃易爆物品,室外作业还要注意防雨;为减少焊接时产生的较强紫外线辐射危害。连续工作时间不能过长,并尽量穿戴帆布做的防护服和手套。 更多资讯请关注:21ic模拟频道

    时间:2012-07-14 关键词: 交流 电源技术解析 制作 微型 自己 点焊机

  • 简单的电感/电容表制作步骤

    一、原理图        电子爱好者在制作均衡电容、音箱分频电感时,稍有误差就会令音质受到损害。这里向广大爱好者介绍一款制作简单的电感/电容表,电路数字显示,直观、方便、精度高。   一、原理   1、参数变换电路:   参数变换电路由555时基构成多谐振荡器,可把被测元件Lx/Cx转换成与元件参数成正比的脉宽。然后把这具有特定脉宽的矩形作为门控信号,在脉宽时间内对一个已知周期的标准脉冲计数通过显示器就可以把脉宽(实际上是元件参数)显示出来。   测量电容时(这时波段开关在5、6、7位)是以Cx为定时元件的多谐振荡器,产生的矩形波经3脚输出,送到计数器的门控端,脉宽tw=CRcln2。   测量电感时(波段开关在1、2、3位),是以Lx为定时元件的多谐振荡器,刚接通电源时,V2(6)=Vcc,555的3脚输出低电平,7脚通地,电源经RL的Lx充电,随着充电的进行,V2(6)↓,当达到V2(6)=1/3Vcc时,电路翻转,3脚输出高电平,7脚与地断开,因Lx电流不能突变,必将产生一个感生电动势使D1导通,Lx经D1、RL放电,V2(6)↑,当达到V2(6)=2/3Vcc时,电路又翻转,5脚输出低电平,7脚又与地接通,Lx又开始充电,这样5脚输出占空比为1:1的方波,送到计数器的门控端。这时脉宽为tw=Lx/RLln2。   2、标准脉冲发生器:   该电路由反相器3、4和晶体构成,晶振频率为1MHz,标准脉冲周期为T=1μs,以它作为计数器的计数脉冲。   3、计数、显示电路:   显示器由三位LED数码管构成,计数器由MC14553三位动态扫描计数器为核心构成。T=1μs的标准脉冲送入MC14553的12脚,多谐振荡器产生的矩形脉冲送入MC14553的11脚,当11脚为高电平时,4553的12脚标准脉冲不能加入,11脚为低电平时,经反相、微分后,得到一正尖脉冲,先给计数器清零,同时,4553闩锁解除,开始对标准脉冲计数,等11脚再输入高电平时,计数器又闩锁,同时10脚也为高电平,计数器的数据锁存,显示器对前面计数结果稳定显示,设在这一循环中计数器为N,那么tw=NT亦即Lx/RLln2=NT,合理地选择RL或 Rc,显示器就能显示Lx的微享数或Cx的皮法数,十分直观,本仪器Lx共有0~999μH和0~999mH两档,Cx共有0~999pF, 0~999nF(纳法),0~999μF三档。   二、制作要点   关键元件是量程电阻RL及Rc,0.693Ω及1.443Ω两电阻可用高强度漆包线以线绕制,最好在电桥上进行校对,保证1%的精度。其它量程电阻可用多个电阻串并联获得,也应保证1%的精度。   三、调试   本电路调整极为简单,只需调整C2使标准脉冲频率为1MHz即可,以后使用无需校零。   本电路虽只用3位数码管作显示,但可以显示六位有效数字。如有一个47312pF的电容器,在pF档只显示732pF,拨至nF档后,显示器就显示出004nF,所以被测电容为004732pF即4.732nF,也就是0.04732μF。电感测量时也一样。极为方便。

    时间:2012-07-07 关键词: 电容 电感 简单 电源技术解析 制作 步骤

  • 数显温度计的设计与制作

    一、测温探头的工作原理   如图所示的电路中,电阻R1-R3二极管V1-V3,三极管V1构成温度传感器电路。其中,VD1,VD2串接作为测温探头,R1-R3、VD3、V1构成恒流源电路,给测温探头提供恒定的正向电流。   大家知道,半导体二极管的正向电压降取决于正向电流的大小和温度,当正向电流一定时,正向压降随温度的升高而下降。对于普通的硅二极管1N4148而言,具有约-2.1mV/℃的温度系数,当两个1N4148串接时,总的正向压降与温度的关系约为-4.2mV/℃。理论和实降都已证明,在-50℃~+150℃的范围内,二极管的测温精度可达±0.1℃。与其它温度传感器相比,二极管的温度传感器具有灵敏度高、线性好、简便的特点。而且当二极管的正向电流和温度一定的情况下,其正向压降是非常稳定的。   二、测温显示原理   测量探头把待测温度转换为相应的电压后,因为要实现温度的数字显示,就必须有模拟/数字转换装置。在本电路中,是以Motorola公司生产的A/D转换器MC14433为核心。   MC14433是单片CMOS3 1/2双积分型A/D转换器,该A/D转换器的转换精度高达±0.05%±1字;转换速率为2-25次/秒;输入阻抗大于1000M欧;外围元件少,电路结构简单;量程为1.999V和199.9mV两档;输出8421BCD代码,经译码后实际LED动态扫描显示。MC14433的第2脚为外接基准电压Vref输入端;第3 脚为被测电压Vin输入端;第1脚为模拟地,此端为高阻输入端,是被测电压和基准电压的地;第15脚为过量程输出标志端OR,平时OR为高电平,当|Vin|>Vref 即超过量程时,OR为低电平。被测电压Vin与其准电压Vin与基准电压Vref成下列比例关系(当小数点定位于4个LED数码管的十位数时):   输出读数=Vin/Vref×199.9   因为MC14433以扫描方式输出数据,所以只需要用一个译码器就能驱动4只共阴极LED数码管,其中千位数的数码管只接“b、c”两段。4个LED数码管的公共阴级分别由MC1413中的4个达林顿复合晶体管驱动。   负号由千位数的LED数码管“g段”来显示,显示负号的“g段”由MC14433的Q2控制,当输入负电压时(对应温度为0℃以下),Q2=“0”,显示负号的“g段”通过R15欧电阻点亮;当输入正电压时(对应温度为0℃以上),Q2=“1”使MC1413的另一个达林顿复合晶体管把流过R15的电流旁路到地,使显示负号的“g段”熄灭。   小数点固定在十位数的LED数码管,通过R16给小数点“dp”提供电流,使小数点“dp”点亮。   三、调试   调试前先准好0℃冰水各100℃的沸水。   调试方法如下:   1,将调沸点的电位器调最上端,使Vref为最高电压,把二极管测温探头置于0℃的冰水中,调节调沸冰点电位器,使四只LED数码管显示的读数为“00.0”   2,将二极管测温探头置于100℃的沸水中,调节调点电位器,使得四只LED数码管显示的读数为“100.0”,且MC14433的第15脚的0R为高电平。   经过上述调试后,该数显温度计就可以正常工作了,其测温范围是-50℃~150℃.。该数显温度计的测温范围仅受二极管测温探头的限制,若改用其它的温度传感器,则无需变动附图所示电路的其他部分,就可获得不同测温范围的数显温度计。   

    时间:2012-07-07 关键词: 电源技术解析 设计 制作 数显 温度计

  • 采用ICM7216制作150MHz数字频率计

    在制作高频电路时,会经常碰到频率测量的问题,实际上频率计(frequency counter)是一种比较容易自制的电子设备。以下将要制作的频率计,其性能并不逊色于一般厂商所制造的产品。   所制作的频率计电气指标如下:   (1)显示的位数:8位数LED   (2)频率测试范围:10Hz"10MHz,利用预置分频器(Prescaler)做1/100分频,可达150MHz   (3)基准时间稳定度:由於使用TCXO单元(温度补偿型晶体振荡电路),温度特性±3PPm/-20"60℃aging rate±1ppm/年。   以上指标参数达到甚至超过了一般厂商所生产的频率计指标参数。        频率计方块图   (主要电路为输入用放大器,Prescaler,显示器。除此之外,王要的控制电路,计数电路,显示电路等,都已经包括在频率计用LSI的内部。)   频率计的构成        准备制作的频率计电路原理图   ▲计数用(计频用)IC;   此制作使用ICM7216B(Intersil)公司。此一IC的内部含有8位数BCD计数器,BCD to 7 字节解码器segment decoder,控制电路等。再追加周边的宽频带放大器,LED躯动器等,便可以完成频率计。   ▲基准时间信号产生电路   TCXO单元主要参数指标,可以看出它具备了相当优异的频率稳定性能。TCXO的振荡频率为12.8MHz,利用分频用IC 74HC4060,做1/12 8分频,然后将基准频率100kHz供给频率计用LSI。             温度补偿型晶体振荡器TCXO TCO·703A的特性(由於内藏有温度补偿电路,频率稳定度良好。振荡频率为12.8MHz,再利用分频用IC74HC4060做1/128分频,成为100kHz)[!--empirenews.page--] TCXO TCO-703A性能指标参数       输出频率 10MHz 12.8MHz或14.5MHz   电源电压 5V±5%   工作耗电 ≤5mA   输出电平 1VP-P   负载 20KΩ//5pF   频率稳定度 温度特征 ±3ppm/-20"60℃   电源变动特征 ±0.3ppm/5V±5%   长期特征 ±1ppm/(年)   频率可调范围 大于(内含修整电容)   同系列产品可供频率选择 10MHz"24MHz   ▲前置分频器电路   由於ICM 7216B的频率上限为10MHz,利用前置分频器,可以提高频率的应用上限。图41所示的为前置分频器电路图,前置分频器为做1/100分频。        l/100分频的前置分频电路   (计频器IC最大输入频率仅为10MHz,因此,利用预置分频器做1/100分频,可以扩大测试的频率范围。)   频率计的制作与调整        频率计的零件配置与印刷电路基板图样   在印刷电路基板上,包含有整流电路与稳压电路。   数值显示用的LED使用八段共阴极型(Common Cathode) LED,尺寸大点可以得到良好的观察效果。当然如果无法得到此种规格的LED,也可以视所能取得LED规格,对印刷电路基板作必要的修改。   基板完成后,利用宽频带放大器的VR 10k,将2SC2347的集电极电压调整为2.5V。其它没什么需要调整的地方,找个漂亮的外壳把整个电路装上,整个频率器的制作便算完成了。

    时间:2012-07-07 关键词: 频率 数字 电源技术解析 采用 制作 150mhz icm7216

  • 工程师制作故事:手工制作光能转动机器人

    本项目介绍的是与之前几个项目的机器人一样,同样是采用太阳能脉动充放电控制电路。通过这些项目,我们可以再了解一种新的机器人驱动方式。 本项目机器人可以看成一个“太阳能风车”,风车转动的能量是风能,而“太阳能风车”转动的能量却是太阳能——有太阳的时候会转动,把太阳能转变为动能。本项目采用的同样是与之前几个项目一样的脉动充放电控制电路,运行的效果就是晒一会太阳充会电,然后转动一会,太阳越大转动越快;如果太阳足够火辣则可以几乎连续转动而中间没有停顿,而且这个时候会产生较大的震动,机器人整体也会发生移动,这有点类似2号蚊子的移动方式,看来作为亲戚还是有不少地方的相似的,呵呵。 1   基本原理 本项目的机器人采用太阳能电池作为电源,驱动电机带动一个转轴进行转动。 1.1   驱动原理 本项目机器人的驱动原理很简单,就是驱动电机旋转的传动方式,不过和通常的应用有点区别:一般的电机传动结构,电机是固定的,电机的轴是旋转的;而本项目的结构是正好相反,电机的轴是固定的,电机本身却是旋转的——电机的轴是固定在底座的,而电机和太阳能电池板、以及控制电路等都是和电机绑定在一起可以转动的,就是说除了一个固定的底座,其他部分都会跟着一起旋转。 1.2   机械结构 本项目采用的“电机轴固定、而电机本身旋转”的机械结构,其实效率并不如果“电机本身固定,而电机轴旋转”,毕竟这样电机转动时除了负担实际的负载之外,还要负担电机本身的重量。实际应用时一般不会采取这种方式,如果真的是作为太阳能风车,合理的方式应该是尽可能的减少驱动的负载,除了电机和控制电路等应该固定在底座不要跟着转动之外;同时还应该考虑太阳能电池板的安装角度,尽可能对着太阳以充分获得太阳能;实在不行至少应该固定太阳能电池板的安装角度,不至于说获得太阳能会那么不稳定(转到对着太阳的角度则效率高转得快,转到背着太阳的角度则效率低转得慢)。 本项目机器人之所以采用这样传动方式,主要是为了增加一个趣味性的效果,同时也作为介绍一种新驱动方式来拓宽视野而已。 此外,对于本项目机器人,让电机本身也一起转动,可以增加转动时整体的动能,让转动时产生的震动更大,而底座相对接触地面的面积尽可能小一点,就可以在转动速度比较快的时候机器人整体也会进行移动,而这个时候本项目也不再仅仅是一个固定的太阳能风车,而可以称得上是一个会移动的机器人(见视频中在灯光下快速转动时的效果),当然这个移动效果也不明显,效率也不高,所以本项目可以说有点不伦不类——低效率的太阳能风车,或低效率的移动机器人,可以说作为一种反面教材普及相关知识而已。 如果说作为移动机器人,为了让移动的效果更明显,就要增加转动时产生的震动。要产生更大的震动,除了说转动时带动更重的负载外,可以考虑用偏心轮的结构,就是说把除了电机上的其他绑定的负载(太阳能电池板、电路板等)都装在电机的一侧,而不是与电机同轴的位置,这个原理详见PVC-Robot 2号机器人的震动马达的原理(具体见: 晒太阳的蚊子·光能电机昆虫的移动原理 )。 不过,如果采用偏心轮的效果,会造成电机转动时的负载过大(转不动),在普通强度的太阳光下太阳能风车的效果就不是很好——转动太慢,转动角度太小。本项目机器人早期有一个设计版本就是属于偏心轮的结构,后来为了兼顾太阳能风车的效果(太阳不大的情况下也能转动得比较顺)所以被淘汰了。   新旧版本对比(左旧--右新)   另外,本项目如果从移动机器人来看,为了增加移动效果,还可以把底座的四只脚都装上一个小轮子,这样转动时产生的震动就可以让机器人移动的幅度更大,可以说这作为本项目机器人的扩展装备。 1.3   电路原理 本项目的电路与PVC-Robot 2号机器人项目的电路是一摸一样的,电路原理也是一摸一样的——典型的脉动充放电控制电路。 基本原理如下: 1)太阳能电池板给电解电容充电,电解电容两端的电压不断上升; 2)当电路电压达到LED二极管的导通电压(2V左右)时,LED二极管导通; 3)三极管9015的基极从导通的LED二极管获得足够的导通电压,则三极管9015导通; 4)三极管9015导通后,又使三极管9014的基极获得足够的导通电压,则三极管9014导通; 5)三极管9014导通后,电机获得电流开始转动; 6)电机转动,消耗电解电容中存储的电能,电路电压下降; 7)当电路电压下降到低于LED二极管的导通电压时,LED二极管截止; 8)虽然三极管9015的基极失去了来自LED的导通电压,但是由于此时三极管9014已经导通,导通后的电流除了提供给电机转动之外,还通过电阻分流了一部分重新回到三极管9015的基极(形成一个循环),即三极管的基极还是有足够的导通电压; 9)当电机继续转动消耗电解电容的电能时,电路电压进一步下降,则即便三极管9014导通后回流给三极管9015基极的电压也无法保证三极管9015继续导通(循环被破坏),则两个三极管都截止,电机停止转动; 10)电解电容重新充电,继续重复上面的各环节。 简单的说,即:太阳能电池对电解电容充电,当充电量达到由LED二极管设置的充电上限后,则电路开始瞬间放电提供给电机转动;虽然电机转动消耗电能使电压下降至低于LED二极管的下限,但是由于电路存在一个导通循环的机制,仍然会继续放电让电机转动,能够尽可能的把电解电容中存储的电能都消耗掉;消耗完电解电容中的电能后,重新由太阳能电池对其进行充电……如此循环往复。 也可以这样理解:太阳能电池对电解电容进行缓慢充电(太阳能电池的电流比较小),充电达到上限后对电机进行瞬间放电(电机的电流比较大);放电停止的下限比较低,可以比较彻底的把充电的电量消耗完。 在PVC-Robot 2号机器人的项目中已经对该电路原理进行了更详细的分析,这里不再重复。如果还有不清楚的,或者有兴趣继续了解的,戳这里 晒太阳的蚊子·光能电机昆虫的电路原理 。 2   准备工作 本项目需要的器材主要包括:PVC线槽、小型电机(马达)、太阳能电池、电阻、电解电容、二极管、三极管、螺丝/螺帽等。 电子电路是与前几个项目一样的太阳能脉动充放电控制电路,作为一个经典的电路基本上可以做成通用电路板,见下图,其中LED发光二级管这次选择黄色的。 以下列出本项目主要器材,其中的采购预算,由于有些器材采购时一般是批量的,而本项目中实际使用用不了那么多(剩下的可以留在以后的其他项目上),所以另外加了一项成本折算。 主要的器材都可以从网上购买,我列出了一些淘宝上的网址,基本上我也是通过这个渠道进行采购的,供大家参考。 名称 规格 数量 采购预算/成本折算 来源 用途 名称 规格 数量 采购预算/成本折算 来源 用途 PVC线槽 2.5CM宽度 1段 4元 / 0.5元 实体五金店 主要结构材料 小电机 微型马达 1个 3元 淘宝:morehave 动力 太阳能电池 1.5V 2片 2.2元 淘宝:zhiqiang588 电源 电阻 2.2K 1个 8元 / 0.03元 淘宝:jxpjihao 电子元件 电解电容 4700uf 1个 0.4元 淘宝:东莞创博电子 电子元件 二极管 LED发光二极管(红/黄/绿) 1个 0.08元 淘宝:lc工作室 电子元件 三极管 9014、9015各1个 2个 4.5元 / 0.15元 淘宝:jxpjihao 电子元件 电路板 电路板/实验板/万用板/洞洞板 1块 1.5元 淘宝:lm750811   齿轮 模数M0.3,70T(轴径1mm) 1个 2元 淘宝:morehave 底座 M1.2*5螺丝 1.2mm直径,长5mm 4颗 4元/0.16元 淘宝:精隆五金制品有限公司 固定PVC材料 M2*6螺丝 2mm直径,长6mm,平头 1颗 2元/0.02元 淘宝:精隆五金制品有限公司 固定PVC材料 M1.2螺母 1.2mm内径 4个 15元/0.6元 淘宝:微型螺丝小王 固定PVC材料 M2螺母 2mm内径 1颗 2元/0.02元 淘宝:精隆五金制品有限公司 固定PVC材料 合计     48.68元/10.66元       3   制作过程   以下将按照制作的顺序,全程介绍本项目机器人的制作过程。 3.1   电路焊接 本项目机器人的控制电路与PVC-2号机器人项目是一样的,关于电路焊接的说明这不再重复,具体请参考 晒太阳的蚊子·光能电机昆虫的电路焊接 。 这是“电路板正面布局图”(无焊点的一面,黑芯蓝点为焊点,蓝色带代表焊点相连): 这是“电路板底面布局图”(有焊点的一面,黑芯蓝点为焊点,蓝色带代表焊点相连): 3.2   四足底座 用剪刀把PVC线槽裁剪成如下的形状和尺寸,即两组双足支架。 把两组支架叠在一起,中间打一个孔,并把齿轮按下图所示装好。 这里之所以用这个齿轮,一方面是这个齿轮的孔径是1mm正好可以装上我们选择的轴径为1mm的电机;另一方面可以比较方便的把底座的两组四足支架固定在一起。[!--empirenews.page--] 把两组支架用502胶水贴在齿轮上,并且把支架的前端剪小一点,并且用尖嘴钳折成如下图所示的样子。 3.3   太阳能电池   把两片太阳能电池板用双面胶布贴在一块PVC方条上,并且在方条中心打一个孔供M2*6的螺丝固定用。 因为太阳能电池板的背面有电极,所以只能对没有电极的一端进行固定,同时用金属线把两片太阳能电池板的正负电极焊接在一起,即把太阳能电池串联起来。 3.4   安装电机 用PVC线槽剪一个长方条,对比电机的长度和电路板的尺寸,折成如下图所示形状的支架。 把电机如下图所示用透明胶固定在长方条支架上。注意电机的轴要穿过方条支架上的小孔,同时方条支架的另一端用M1.2*5mm的螺丝如图所示固定好。 3.5   整机组装 把电路板通过M1.2*5mm的螺丝螺母安装到支架上,因为电路板的主要重量是电解电容,为了保证转动时摆动不要太大,注意电解电容应该与电机在同一个中心轴上。   把太阳能电池板的固定方条用M2*6的螺丝螺母安装到支架上。   把电机的轴插入底座的齿轮的孔中,整体组装在一起。 3.6   整机调试 完成整机组装后,需要进行调试。 首先,调试机械结构。可以在没有阳光的情况下,即在电路没有接通的时候,把机器人放置在水平的桌面上(底座着地),然后用手拨动太阳能电池板,手动让转轴转动起来,看看转轴是否能够转动得比较平滑,一般手工拨动可以让转轴转动几圈。如果发现转轴比较卡,转动不平滑,可以检查太阳能电池板支架的中心是否正好在电机转轴的中心线上,或者检查电路板的电解电容的中心也正好在电机转轴的中心线上。 然后,测试电路是否正常工作,可以在100W白炽灯光下测试电路的充放电控制是否正常,电机是否能够正常转动(见视频中在灯光下的效果)。     3.7   最终展示   最终的效果展示。 3.8   完善升级 为了增加移动效果,还可以把底座的四只脚都装上一个小轮子,这样转动时产生的震动就可以让机器人移动的幅度更大。 4   项目总结 本项目是一个以简单电子元件电路为控制基础的智能机器人。对于刚入门的朋友,可以通过这个项目: 1、加深脉动充放电控制电路在太阳能驱动应用方面的理解; 2、了解太阳能风车结构的原理以及应用; 3、动手制作太阳能风车。 本项目的机械结构也比较特殊,建议有条件的朋友可以试试手作为一次实践经历。  

    时间:2012-07-07 关键词: 工程师 机器人 光能 电源技术解析 制作 故事 手工 转动

  • 岛津制作所推出全新微焦点X射线检查装置SMX-800

    21ic讯 全球分析仪器、医疗仪器等各种科学计测仪器专业公司岛津制作所日前宣布,推出全新微焦点X射线检查装置SMX-800,用户用指尖轻触即可实际感受到真正的高通量高效处理能力,实现了易用性、高可靠性、优异节能设计、环保措施及坚固耐用的完美结合。 岛津SMX-800是实现高效率现场品质管理的理想选择,该装置采用触摸屏显示及控制杆,具有直观式用户界面,且全新设计了高速载物台,大大减少了检查所需的程序及花费的时间,操作人员可以简单迅速地观察、检测到基板及电子零部件内部的细微缺陷。 实时检测,操作直观 岛津SMX-800的最大特点是操作直观、使用简便。其显示器采用22英寸大型触摸屏,用手指轻轻触摸,即可直接完成定位、扩大、缩小等各种操作,任何人都可以立刻掌握操作方法,进而提高了使用效率。例如,在具体使用中,从左到右拖拽透视图像显示区域,即可使拖拽范围扩大覆盖显示区域;从左到右拖拽,可按一定倍率进行缩小。 SMX-800具有提高检查效率的各种便利功能。教学功能可根据事先注册检查点反复高效地检查同样的样品;仅通过外观图像上指定的摄影范围就可拍摄出最合适的全景图像;步进功能便于检查排列成网格状的样品,可设定递进距离和反复次数、横竖移动方向,使载物台按方格状反复进行步进移动;预设功能可简单预先注册观察位置与观察条件和摄影条件;为便于查看测量结果,还可以用一览表的形式显示计量结果,便于确定不良点所在的位置。 另外,AGC功能可配合各种情况设定最适当的观察条件,即使条件变化多样,也可即时设定适当的亮度对比,观察指定的范围。在定位方面,直接用手指触摸宽大的透视图像显示区域,即可轻松确定位置。外观图像显示区域可通过宽大的显示区域直观把握正在观察的点及观察视野。与透视图像显示区域一样,只需用手指触摸,即可轻松确定位置。中心位置确定也很简单,只要点击透视图像显示区域,点击位置即成为显示区域的中心。 步骤简单,快速检查 SMX-800使用步骤简单,初次使用者也可简单操作。由于采用了高速化新结构,全新设计的高速移动载物台机构可在短时间内移动到目标观察位置。从放置样品到快速移动到要观察的位置,最大限度简化了检查程序,大大缩短了检查时间。 在实际操作中,第一步是样品更换,只需按压样品更换按钮,即可停止X射线照射,解除正面门的电磁锁;同时,载物台自动移动到便于更换样品的位置,放置样品简单易行,4秒内即可完成。第二步是开始检查,关上门,轻轻点击开始按钮,装置将自动发射X射线,同时拍摄载物台全景外观图像,3秒内即可完成;第三步是定位,在拍摄的外观图像上轻轻点击,大体对准位置,然后轻轻点击透视图像,即可到达目标观测点,从而实现高速载物台的轻松定位,4秒内即可完成。[!--empirenews.page--] 精巧设计,功能齐全 SMX-800紧凑精巧,搬运方便,不受放置场地限制。其控制器使用3轴控制杆,单手即可完成透视图像定位、扩大缩小等操作。根据控制杆的倾斜方向,透视图像可随之移动、旋转或扩大缩小;操作量不同,移动速度也不一样,完全硬件控制可实现良好应答,轻松控制载物台。这样,所有作业均可在手所触及的范围内完成,实现最短路径,杜绝了不必要的时间浪费。 为了确保安全,SMX-800发射过程中使用正面门的电磁锁锁紧正面门,其联锁机构可在门处于打开状态时停止X射线发射及载物台动作。优异的节能设可在节电模式启动时,在一定时间过后自动停止X射线发射及关闭电源,待机功耗可减少30%以上。在环保方面,在X射线防护能力不变的前提下,大幅减少了迄今为止在防护箱中使用的铅,与公司既有产品相比减少了95%以上。在可靠性方面,利用PC系统保护功能有效防止病毒感染造成的非法保存、瞬间停止等,避免系统崩溃,实现硬盘保护。 图像鲜明,应用广泛 岛津制作所技术负责人表示:“SMX-800是一款图像鲜明、应用广泛的微焦点X射线检查装置。其失真修正和浓度补偿功能使图像更加鲜明,没有失真,分辨率可达10微米。而且它也充分彰显了岛津制作所一直以来的节能保护理念。” SMX-800可用来确认BGA芯片的各种贴装不良情况,如短路、锡球变形、虚焊等;还可确认各种样品内部的状态,如连接器电源、微动开关、SD卡、焊线、LED指示灯、晶振、引线接合、电容器、锂离子电池、手机用小型马达、光电耦合器等。 上市时间 全新岛津微焦点X射线检查装置SMX-800现已面向全球发售。    

    时间:2012-07-06 关键词: 装置 制作 全新 推出 射线 焦点 电源新品 检查 smx-800

  • 基于Keil的实验仿真板的制作

    前面介绍了Keil 软件的使用,从中我们可以看到Keil 的强大功能,不过,对于初学者 来说,还有些不直观,调试过程中看到的是一些数值,并没有看到这些数值所引起的外围电 路的变化,例如数码管点亮、发光管发光等。为了让初学者更好地入门,笔者利用Keil 提 供的AGSI 接口开发了两块仿真实验板。 这两块仿真板将枯燥无味的数字用形象的图形表达出来,可以使初学者在没有硬件时就能感受到真实的学习环境,降低单片机的入门门槛。图1 是键盘、LED 显示实验仿真板的图,从图中可以看出,该板比较简单,有在P1 口接有8 个发光二管,在P3 口接有4 个按钮,图的右边给出了原理图。 图2 是另一个较为复杂的实验仿真板。在该板上有8 个数码管,16 个按键(接成4*4 的矩阵式),另外还有P1 口接的8个发光管,两个外部中断按钮,一个带有计数器的脉冲发生器等资源,显然,这块板可以完成更多的实验。 一、实验仿真板的安装 这两块仿真实验板实际上是两个dll 文件,名称分别是ledkey.dll 和simboard.dll,安装时只要根据需要将这两个或某一个文件拷贝到keil 软件的c51bin 文件夹中即可。 二、实验仿真板的使用 要使用仿真板,必须对工程进行设置,设置的方法是点击Project->Option for Target‘Target1’打开对话框,然后选中Debug 标签页,在Dialog :Parameter:后的编缉框中输入-d 文件名。例如要用ledkey.dll(即第一块仿真板)进行调试,就输入-dledkey,如图3所示,输入完毕后点击确定退出。编译、连接完成后按CTRL+F5 进入调试,此时,点击菜 单Peripherals,即会多出一项“键盘LED 仿真板(K)”,选中该项,即会出现如图1 的界面, 键盘、LED 显示实验仿真板 图2 单片机实验仿真板 同样,在设置时如果输入-dsimboard 则能够调出如 图2 的界面。 第一块仿真板的硬件电路很简单,电路图已在板上,第二块板实现的功能稍复杂,其键盘和数码 显示管部份的电路原理图如图4 所示。下表给出了常用字形码,读者也可以根据图中的接线自行写出 其它如A、B、C、D、E、F 等的字形码。 除了键盘和数码管以外,P1 口同样也接有8 个发光二极管,连接方式与图1 相同;脉冲发生器是接入T0 即P3.4 引脚。 0c0h 0f9h 0a4h 0b0h 99h 92h 82h 0f8h 80h 90h 0FFH 0 1 2 3 4 5 6 7 8 9 消隐 三、实例调试 以下以一个稍复杂的程序为例,说明键盘、LED 显示实验仿真板的使用。该程序实现 的是可控流水灯,接P3.2 的键为开始键,按此键则灯开始流动(由上而下),接P3.3 的键 为停止键,按此键则停止流动,所有灯暗,接P3.4 的键为向上键,按此键则灯由上向下流 动,接P3.5 的键为向下键,按此键则灯由下向上流动。 例8: UpDown BIT 00H ;上下行标志 StartEnd BIT 01H ;起动及停止标志 LAMPCODE EQU 21H ;存放流动的数据代码 ORG 0000H AJMP MAIN ORG 30H MAIN: MOV SP,#5FH MOV P1,#0FFH CLR UpDown ;启动时处于向上的状态 h g f e P0.7 P0.0 P0.5 P0.4 P0.7 P0.6 d c b a P0.3 P0.2 P0.0 P0.1 P2.7 P2.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 驱 动 P3.0 P3.1 P3.2 P3.5 P3.3 P3.4 P3.6 P3.7 2 3 6 7 A B E F 0 1 4 5 8 9 VCC C D 89C51 [!--empirenews.page--] 图4 实验仿真板2 数码管和键盘部份的电路图 图3 实验仿真板的设置 Keil 软件实全教程(五) CLR StartEnd ;启动时处于停止状态 MOV LAMPCODE,#01H ;单灯流动的代码 LOOP: ACALL KEY ;调用键盘程序 JNB F0,LNEXT ;如果无键按下,则继续 ACALL KEYPROC ;否则调用键盘处理程序 LNEXT: ACALL LAMP ;调用灯显示程序 AJMP LOOP ;反复循环,主程序到此结束 ;延时程序,键盘处理中调用 DELAY: MOV R7,#100 D1: MOV R6,#100 DJNZ R6,$ DJNZ R7,D1 RET KEYPROC: MOV A,B ;从B 寄存器中获取键值 JB ACC.2,KeyStart ;分析键的代码,某位被按下,则该位为1 JB ACC.3,KeyOver JB ACC.4,KeyUp JB ACC.5,KeyDown AJMP KEY_RET KeyStart: SETB StartEnd ;第一个键按下后的处理 AJMP KEY_RET KeyOver: CLR StartEnd ;第二个键按下后的处理 AJMP KEY_RET KeyUp: SETB UpDown ;第三个键按下后的处理 AJMP KEY_RET KeyDown: CLR UpDown ;第四个键按下后的处理 KEY_RET: RET KEY: CLR F0 ;清F0,表示无键按下。 ORL P3,#00111100B ;将P3 口的接有键的四位置1 MOV A,P3 ;取P3 的值 ORL A,#11000011B ;将其余4 位置1 CPL A ;取反 JZ K_RET ;如果为0 则一定无键按下 CALL DELAY ;否则延时去键抖 ORL P3,#00111100B MOV A,P3 ORL A,#11000011B Keil 软件实全教程(五) CPL A JZ K_RET MOV B,A ;确实有键按下,将键值存入B 中 SETB F0 ;设置有键按下的标志 ;以下的代码是可以被注释掉的,如果去掉注释,就具有判断键是否释放的功能,否则 没有 K_RET: ;ORL P3,#00111100B ;此处循环等待键的释放 ;MOV A,P3 ;ORL A,#11000011B ;CPL A ;JZ K_RET1 ;读取的数据取反后为0 说明键释放了 ;AJMP K_RET ;K_RET1:CALL DELAY ;消除后沿抖动 RET D500MS: ;流水灯的延迟时间 MOV R7,#255 D51: MOV R6,#255 DJNZ R6,$ DJNZ R7,D51 RET LAMP: JB StartEnd,LampStart ;如果StartEnd=1,则启动 MOV P1,#0FFH AJMP LAMPRET ;否则关闭所有显示,返回 LampStart: JB UpDown,LAMPUP ;如果UpDown=1,则向上流动 MOV A,LAMPCODE RL A ;实际就是左移位而已 MOV LAMPCODE,A MOV P1,A LCALL D500MS LCALL D500MS AJMP LAMPRET LAMPUP: MOV A,LAMPCODE RR A ;向下流动实际就是右移 MOV LAMPCODE,A MOV P1,A LCALL D500MS LAMPRET: RET END 将程序输入并建立工程文件,设置工程文件,在Debug 标签页中加入“-dledkey”,汇 编、连接文件,按Ctrl+F5 开始调试,打开仿真板,使用F5 功能键全速运行,可以看到所 Keil 软件实全教程(五) 有灯均不亮,点击最上面的按钮,立即会看到灯流动起来了,点击第二个按键,灯将停止流 动,再次点击第一个按钮,使灯流动起来,点击第三个按钮,可以发现灯流动的方向变了, 点击第四个按钮,灯的流动方向又变回来了。如果没有出现所描述的现象,可以使用单步、 过程单步等调试手段进行调试,在进行调试时实验仿真板会随时显示出当前的情况,是不是 非常的直观和方便呢? 下面的一个例子是关于第二块实验仿真板的,演示点亮8 位数码管。例9: ORG 0000h JMP MAIN ORG 30H MAIN: MOV SP,#5FH MOV R1,#08H MOV R0,#58H ;显示缓冲区首地址 MOV A,#2 INIT: MOV @R0,A ;初始化显示缓冲区 INC A INC R0 DJNZ R1,INIT ;将0-7 送显示缓冲区 LOOP: CALL DISPLAY JMP LOOP ;主程序到此结束 DISPLAY: MOV R0,#7FH ;列选择 MOV R7,#08H ;共有8 个字符 MOV R1,#58H ;显示缓冲区首地址 AGAIN: MOV A,@R1 MOV DPTR,#DISPTABLE MOVC A,@A+DPTR MOV P0,A MOV P2,R0 MOV A,R0 RR A MOV R0,A INC R1 DJNZ R7,AGAIN RET DISPTABLE: DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0FFH ;字形码表 END 这一程序内部RAM 中58H 到5FH 被当成是显示缓冲区,主程序中用2-9 填充该显示 区,然后调用显示程序显示2-9。这里是用了最简单的逐位显示的方式编写的显示程序。 最后介绍一个小小技巧,将鼠标移入按钮区域,按下左键,按钮显示被按下,不要放开 Keil 软件实全教程(五) 鼠标左键,将光标移出按钮区域,松开左键,可以看到,按钮仍处于按下状态,利用这一功 能,在需要I/O 口长期处于低电平时,你就不必一直用手按着鼠标的左键啦。

    时间:2012-07-05 关键词: 实验 仿真 keil 电源技术解析 基于 制作

  • 制作太阳能手机充电器电路图

    制作太阳能手机充电器电路图

    工作原理如下: 三极管VT1为开关电源管,它和T1、R1、R3、C2等组成自激式振荡电路。加上输入电源后,电流经启动电阻R1流向VT1的基极,使VT1导通。 VT1导通后,变压器初级线圈Np就加上输入直流电压,其集电极电流Ic在Np中线性增长,反馈线圈Nb产生3正4负的感应电压,使VT1得到基极为正,发射极为负的正反馈电压,此电压经C2、R3向VT1注入基极电流使VT1的集电极电流进一步增大,正反馈产生雪崩过程,使VT1饱和导通。在VT1饱和导通期间,T1通过初级线圈Np储存磁能。 与此同时,感应电压给C2充电,随着C2充电电压的增高,VT1基极电位逐渐变低,当VT1的基极电流变化不能满足其继续饱和时,VT1 退出饱和区进入放大区。 VT1进入放大状态后,其集电极电流由放大状态前的最大值下降,在反馈线圈Nb产生3负4正的感应电压,使VT1基极电流减小,其集电极电流随之减小,正反馈再一次出现雪崩过程,VT1迅速截止。 VT1截止后,变压器T1储存的能量提供给负载,次级线圈Ns产生的5负6正的电压经二极管VD1整流滤波后,在C3上得到直流电压给手机电池充电。 在VT1截止时,直流供电输人电压和Nb感应的3负4正的电压又经R1、R3给C2反向充电,逐渐提高VT1基极电位,使其重新导通,再次翻转达到饱和状态,电路就这样重复振荡下去。 R5、R6、VD2、VT2等组成限压电路,以保护电池不被过充电,这里以3.6V手机电池为例,其充电限制电压为4.2V。在电池的充电过程中,电池电压逐渐上升,当充电电压大于4.2V时,经R5、R6分压后稳压二极管VD2开始导通,使VT2导通,VT2的分流作用减小了VT1的基极电流,从而减小了VT1的集电极电流Ic,达到了限制输出电压的作用。这时电路停止了对电池的大电流充电,用小电流将电池的电压维持在4.2V。 元器件选择和安装调试 VT1要求Icm>0.5A,hEF为50-100,可用2SC2500、2SC1008等,VD1为稳压值为3V的稳压二极管。 高频变压器T1要自制,用E16的铁氧体磁芯,Np用φ0.21漆包线绕26匝,Nb用φ0.21漆包线绕8匝,Ns用φ0.41漆包线绕15匝。绕制时要注意各线圈的起始端不要搞错,以免电路不起振或输出电压不正常。组装时在两块磁芯间垫一层厚度约为0.03mm的塑料薄膜作磁芯气隙。 太阳能电池板使用4块面积为6cm×6cm的硅太阳能电池板,其空载输出电压为4V,当工作电流为40mA时输出电压为3V。由于直流变换器的工作效率随着输入电压的的增高而增高,因此4块太阳能电池板串联后使用,这时电路的输入电压为12V。读者可根据你能购到的太阳能电池板规格决定使用的数量和联接方法。 印刷电路板如下图,尺寸为45×26mm2。 安装完成后,接上太阳能电池板,并将其放在阳光下,空载时电路输出电压约为4.2V,当空载输出电压高于4.2V时可适当减小R5的阻值,反之增加R5的阻值。电路工作电流跟太阳光的强弱有关,正常时约为40mA,这时充电电流约为85mA。

    时间:2012-06-24 关键词: 手机 太阳能 充电器 电路图 制作 电源充电电路

  • 小功率UPS电源电路及制作

    小功率UPS电源电路及制作

    小功率UPS电源电路: 下图是一款小功率在线式后备(UPS)电源电路。其工作原理是: IC1构成50Hz时钟发生器,由10、11脚输出对称的但相位相方的方波。T1、T2组成功率放大电路,其轮流导通,在X2的原边形成频率为50Hz的脉动电流,并在X2的副边感应出同样频率的220伏电压。 图 小功率UPS电源电路 制作及调试: 制作时,X2可使用带中心抽头的(9-12伏)电源变压器,其低压端接T1、T2,中心抽头接电源正极。变压器功率由实际需要定,并要考虑T1、T2的功率,需要在T1,T2上加上散热器。另外,制作时注意安全,输出端的C3,C4,MOV可以根据需要取消掉。如果负载为电阻性,可以提高IC1的震荡频率,并且将变压器换成铁氧体变压器,可以做更大功率。

    时间:2012-06-17 关键词: 电路 电源 功率 ups 制作 电源其他电源电路

  • 制作单片机的几点心得体会

    1.在电源的输入端正向串联或反向并联一个二极管,当不小心接反电源的时候,二极管可以保护单片机不受反向电压的袭击,如下左图、下右图所示。   2.在电源的输入端并接一个指示灯,以指示是否有电接入电路,如下图所示。   3.一般在正负之间接一个电容,以消除来自电源的高频噪声。典型值是0.1μF,如下图所示。   4.如果需要串行通信,晶振选择11.0592MHz较好,因为这样可以得到比较稳定的传输波特率。   5.在使用51单片机时,若不用外部程序存槠器,记得将EA引脚接上电源正极(即VCC),否则单片机将不会执行内部程序存槠器的程序,即自己烧进去的程序没有用。   6.51系列单片机的I/O口输出能力较弱(即便像Pl,P2和P3有内部上拉电阻),所以在用I/O口做流水灯或指示灯时,应让发光二极管的负极接单片机的I/O口,正极通过一个500Ω左右(可以选470Ω或510Ω)的电阻与电源正极相连。发光二极管与电阻的位置可以互换,不过以上方法可以用一个470Ω的上拉电阻代替,简化的电路。当然,也可以让1/0口作为输出来驱动LED,此时要在I/O加一个上拉电阻,否则LED会很暗,如下图所示。   7.要让51系列单片机的PO口能输出高电平,必须给其加上拉电阻,因为PO口内部没有上拉电阻。   8.复位电路中的接地的那个电阻选择lOk左右的,可确保较稳定的复位。(不管是上电复位还是按键复位)9.若所做电路比较复杂,可分块做板子(特别是单层板时),通过排针或排线相连。不仅容易检查,而且也容易布线。   10.尽量不要用手直接接触单片机的引脚,以防止人体静电把单片机击坏。   11.晶振电路比较简单,在PCB布局时可以让此电路靠近单片机。如单片机有底座,也可以把它放在底座下。   12、编程时加入适当的注释,以防止自己年久遗忘,或者别人看不懂。   13.尽量用C语言来编写程序,这样开发速度比较快。

    时间:2012-06-14 关键词: 单片机 电源技术解析 制作 心得体会

  • 友达32英寸OLED面板IGZO TFT采用7枚光掩模制作

    友达光电(AU Optronics,AUO)在美国波士顿举行的最大规模显示器国际学会“SID 2012”上发表了32英寸OLED面板的实现技术 [论文序号:9.3]。像素为1920×1080,亮度为200cd/m2,对比度为100万:1。 32英寸开发品的驱动元件采用氧化物半导体IGZO(In-Ga-Zn-O)TFT。载流子迁移率为14.1cm2/Vs,阈值电压约为1.4V,亚阈值摆幅为0.38V/dec.以下。 IGZO TFT构造为底栅型,光掩膜数量为7枚,分别是(1)栅极电极(Al/Mo)、(2)通道层(IGZO)、(3)蚀刻阻挡层(SiOx)、(4)源漏电极(MoN/Al/MoN)、(5)保护膜(钝化膜,SiOx/SiNx)、(6)阳极(ITO)、(7)Bank层(有机膜)。 IGZO层的成膜采用DC溅射技术。友达光电开发IGZO TFT驱动的32英寸液晶面板时利用5枚掩模制作,此次为形成OLED元件追加了掩模。 OLED元件构造采用从TFT基板侧提取光的底部发光型。利用金属掩模蒸镀法分涂低分子型RGB三色发光材料形成彩色面板。

    时间:2012-06-11 关键词: 英寸 面板 采用 tft OLED 制作 igzo 电源资讯 友达

首页  上一页  1 2 3 4 5 6 7 下一页 尾页
发布文章

技术子站

更多

项目外包