综述从问世,到协议规范2.0版本,USB(通用串行总线,简写为USB)在不断自我完善,并走向成熟。从普通计算机用户,计算机工程师,到硬件芯片生产厂商,都已经完全认可了USB。厂商对于USB的硬件和软件支持的也越来越完备,现在开发一个USB外设产品,所需要投入的成本和时间大大降低了,几年前是没有办法做到这一点的。但是,随着USB应用领域的逐渐扩大,人们对于USB的期望也越来越高,希望USB能应用在各种计算机领域中,尤其是在移动通讯领域中,希望能通过PDA等移动设备来直接和USB外设通信,使得USB能应用在没有PC的领域中。 非PC应用领域?这正是USB一个致命的弱点。USB的拓扑结构中居于核心地位的是Host(也称为主机),任何一次USB的数据传输都必须由Host来发起和控制,所有的USB外设都只能和Host建立连接,任何两个外设之间或是两个Host之间无法直接通信。而目前,大量的扮演Host角色的是个人电脑PC。因此,“如何将USB应用到嵌入式领域?如何实现USB点对点的通讯?”等问题,开始进入了USB开发者的讨论议程。正是在这种新的需求之下,USBHost的嵌入式应用成了USB领域新的兴奋点。 本项目也就是在嵌入式USBHost技术即将起步发展的背景之下产生的。 传统意义的USB开发,仅仅是对USB外设的开发,USB底层驱动程序和USB主控制器驱动程序都由Windows等操作系统提供,有关这些驱动程序的细节过程都蒙着一层神秘的面纱。所以,要设计USBHost,就须设计这两部分驱动程序,Windows源码不公开,这些细节资料就无从得到。
上传时间: 2013-11-12
上传用户:维子哥哥
随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的µ’nSP™(Microcontroller and Signal Processor)16位微处理器芯片(以下简称µ’nSP™)。围绕µ’nSP™所形成的16位µ’nSP™系列单片机(以下简称µ’nSP™家族)采用的是模块式集成结构,它以µ’nSP™内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。
上传时间: 2013-11-07
上传用户:wpwpwlxwlx
单片机串行通信发射机 我所做的单片机串行通信发射机主要在实验室完成,参考有关的书籍和资料,个人完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示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
SDRAM的原理和时序 SDRAM内存模组与基本结构 我们平时看到的SDRAM都是以模组形式出现,为什么要做成这种形式呢?这首先要接触到两个概念:物理Bank与芯片位宽。1、 物理Bank 传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数 据容量就是CPU数据总线的位宽,单位是bit(位)。当时控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽 等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,下文简称P-Bank)的位宽。所以,那时的内存必须要组织成P-Bank来与CPU打交道。资格稍老的玩家应该还记 得Pentium刚上市时,需要两条72pin的SIMM才能启动,因为一条72pin -SIMM只能提供32bit的位宽,不能满足Pentium的64bit数据总线的需要。直到168pin-SDRAM DIMM上市后,才可以使用一条内存开机。不过要强调一点,P-Bank是SDRAM及以前传统内存家族的特有概念,RDRAM中将以通道(Channel)取代,而对 于像Intel E7500那样的并发式多通道DDR系统,传统的P-Bank概念也不适用。2、 芯片位宽 上文已经讲到SDRAM内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank位宽怎么得到呢 ?这就涉及到了内存芯片的结构。 每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为64bit的芯片来满足P-Ban k的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。台式机市场所用的SDRAM芯片 位宽最高也就是16bit,常见的则是8bit。这样,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。对于16bi t芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。以上就是芯片位宽、芯片数量与P-Bank的关系。P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的 总位宽必须与CPU数据位宽相符。随着计算机应用的发展,
上传时间: 2013-11-04
上传用户:zhuimenghuadie
单片机入门基础知识大全免费下载 单片机第八课(寻址方式与指令系统) 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习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
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。
上传时间: 2013-10-16
上传用户:gxy670166755
单片机语言C51应用实战集锦使用C语言开发速度快,代码可重复使用,程序结构清晰、易懂、易维护,易开发一些比较大型的项目。目前,许多编译器都已经支持了C51,而且是Windows视窗界面。Kelic51是目前单片机开发最为流行的软件。本书收集并整理了许多实用的采用C51单片机开发的程序,这些程序既可以给读者以开拓思路,参考的用途又是实际的开发程序,可以直接作为程序应用在相同的开发系统上。通过本书的学习,读者可以进一步了解和掌握C51编程的思路和方法。单片机语言C51应用实战集锦目录:程序一 实时时钟芯片DS1302的C51程序例子程序二 C430与CSI的一点区别程序三 一个菜单的例子程序四 DS1820单芯片温度测量程序五 keilc 6.20c版直接嵌入汇编的方法程序六 用计算机并口模拟SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模拟I(平方)C总线的C源代码程序九 一种在C51中写二进制的方法程序十 CRC算法原理及C语言实现程序十一 软件陷阶程序十二 一个简单的VB串口发送程序程序十三 12864汉字液晶显示驱动程序程序十四 12232点阵液晶基本驱动程序程序十五 串口中断服务函数集程序十六 93C46读写程序程序十七 20045读写程序程序十八 一组小程序集锦程序十九 AVR asm源程序程序二十 AVR单片机一个简单的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模拟方式)程序二十三 常用的几种码制转换BCD,HEX,BIN程序二十四 16x2字符液晶屏驱动演示程序一程序二十五 16x2字符液晶屏驱动演示程序二程序二十六 PS7219代码程序二十七 2051的AD代码程序二十八 ARV19264型液晶显示字库程序二十九 液晶CKW19264A型接口程序(模拟方式)程序三十 I(平方)C总线驱动程序程序三十一 240128型液晶代码程序三十二 飞机游戏程序三十三 PC键代码程序三十四 拼音输入法模块程序三十五 串行口代码程序三十六 蛇游戏代码程序三十七 与液晶模块T6963C连接代码程序三十八 键盘输入法设计草案程序三十九 16*4液晶汉字代码程序四十 智能化家电控制附录C 单片机C51编程几个有用的模块附录D 头文件W77E58.h附录A MCS-51单片机定点运算子程序库附录B MCS-51单片机浮点运算子程序库
上传时间: 2013-11-02
上传用户:kbnswdifs
《微机原理及应用》课程教案目 录 下载WORD文档前 言 下载WORD文档第一章 51系列单片机概述 下载WORD文档 第一节 概述 第二节 51系列单片机分类 思考题与习题 第二章 MCS-51系列单片机组成及工作原理 下载WORD文档 第一节 MCS-51系列单片机组成 第二节 8051的内部数据存储器(内部RAM) 第三节 8051的内部程序存储器(内部ROM) 第四节 MCS-51系列单片机典型芯片的外部引脚功能 第五节 并行输入/输出口 第六节 CPU的时钟电路和时序定时单位 第七节 单片机指令执行的过程 思考题与习题 第三章 指令系统 下载WORD文档 第一节 指令格式和寻址方式 第二节 指令系统 思考题与习题 第四章 算法与结构程序设计 下载WORD文档 第一节 算法 第二节 程序基本结构 第三节 结构化程序设计 第四节 汇编语言程序设计举例 思考题与习题 第五章 中断 下载WORD文档 第一节 中断技术概述 第二节 8051中断系统 第三节 中断控制 第四节 中断响应 第五节 中断系统应用举例 思考题与习题 第六章 定时器/计数器 下载WORD文档 第一节 概述 第二节 定时器/计数器基本结构 工作方式及应用 思考题与习题 第七章 8051单片机系统扩展与接口技术 下载WORD文档 第一节 8051单片机系统扩展概述 第二节 单片机外部存储器扩展 第三节 单片机输入/输出(I/O)口扩展 第四节 LED显示器接口电路及显示程序 第五节 单片机键盘接口技术 第六节 单片机与数模(D/A)及模数(A/D)转换器的接口及应用 思考题与习题 第八章 8051单片机的异步串行通信技术 下载WORD文档 第一节 概述 第二节 8051串行口基本结构 第三节 8051串行通信工作方式及应用 第四节 多机通信原理 下载WORD文档 思考题与习题 第九章 单片机应用举例 下载WORD文档 第一节 单片机数据采集系统 第二节 电机转速测量 第三节 步进电机控制系统 第四节 机器人三觉机械手信号处理及控制算法 思考题与习题 第十章 单片机与字符式液晶显示模块连接技术 下载WORD文档 第一节 字符式液晶显示模块简介 第二节 模块指令系统 第三节 模块与8051单片机的接口 第四节 模块字符显示举例 第五节 自定义字符显示 思考题与习题 附录一 计算机数的运算基础 下载WORD文档 第一节 进位计数制及相互转换 第二节 计算机中数和字符的表示附录二 美国标准信息交换码(ASCII)字符表附录三 MCS-51指令表 下载WORD文档
上传时间: 2014-04-16
上传用户:hhkpj
含原理图+电路图+程序的波形发生器:在工作中,我们常常会用到波形发生器,它是使用频度很高的电子仪器。现在的波形发生器都采用单片机来构成。单片机波形发生器是以单片机核心,配相应的外围电路和功能软件,能实现各种波形发生的应用系统,它由硬件部分和软件部分组成,硬件是系统的基础,软件则是在硬件的基础上,对其合理的调配和使用,从而完成波形发生的任务。 波形发生器的技术指标:(1) 波形类型:方型、正弦波、三角波、锯齿波;(2) 幅值电压:1V、2V、3V、4V、5V;(3) 频率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 输出极性:双极性操作设计1、 机器通电后,系统进行初始化,LED在面板上显示6个0,表示系统处于初始状态,等待用户输入设置命令,此时,无任何波形信号输出。2、 用户按下“F”、“V”、“W”,可以分别进入频率,幅值波形设置,使系统进入设置状态,相应的数码管显示“一”,此时,按其它键,无效;3、 在进入某一设置状态后,输入0~9等数字键,(数字键仅在设置状态时,有效)为欲输出的波形设置相应参数,LED将参数显示在面板上;4、 如果在设置中,要改变已设定的参数,可按下“CL”键,清除所有已设定参数,系统恢复初始状态,LED显示6个0,等待重新输入命令;5、 当必要的参数设定完毕后,所有参数显示于LED上,用户按下“EN”键,系统会将各波形参数传递到波形产生模块中,以便控制波形发生,实现不同频率,不同电压幅值,不同类型波形的输出;6、 用户按下“EN”键后,波形发生器开始输出满足参数的波形信号,面板上相应类型的运行指示灯闪烁,表示波形正在输出,LED显示波形类型编号,频率值、电压幅值等波形参数;7、 波形发生器在输出信号时,按下任意一个键,就停止波形信号输出,等待重新设置参数,设置过程如上所述,如果不改变参数,可按下“EN”键,继续输出原波形信号;8、 要停止波形发生器的使用,可按下复位按钮,将系统复位,然后关闭电源。硬件组成部分通过综合比较,决定选用获得广泛应用,性能价格高的常用芯片来构成硬件电路。单片机采用MCS-51系列的89C51(一块),74LS244和74LS373(各一块),反相驱动器 ULN2803A(一块),运算放大器 LM324(一块) 波形发生器的硬件电路由单片机、键盘显示器接口电路、波形转换(D/ A)电路和电源线路等四部分构成。1.单片机电路功能:形成扫描码,键值识别,键功能处理,完成参数设置;形成显示段码,向LED显示接口电路输出;产生定时中断;形成波形的数字编码,并输出到D/A接口电路;如电路原理图所示: 89C51的P0口和P2口作为扩展I/O口,与8255、0832、74LS373相连接,可寻址片外的寄存器。单片机寻址外设,采用存储器映像方式,外部接口芯片与内部存储器统一编址,89C51提供16根地址线P0(分时复用)和P2,P2口提供高8位地址线,P0口提供低8位地址线。P0口同时还要负责与8255,0832的数据传递。P2.7是8255的片选信号,P2.6是0832(1)的片选,P2.5是0832(2)的片选,低电平有效,P0.0、P0.1经过74LS373锁存后,送到8255的A1、A2作,片内A口,B口,C口,控制口等寄存器的字选。89C51的P1口的低4位连接4只发光三极管,作为波形类型指示灯,表示正在输出的波形是什么类型。单片机89C51内部有两个定时器/计数器,在波形发生器中使用T0作为中断源。不同的频率值对应不同的定时初值,定时器的溢出信号作为中断请求。控制定时器中断的特殊功能寄存器设置如下:定时控制寄存器TCON=(00010000)工作方式选择寄存器(TMOD)=(00000000)中断允许控制寄存器(IE)=(10000010)2、键盘显示器接口电路功能:驱动6位数码管动态显示; 提供响应界面; 扫面键盘; 提供输入按键。由并口芯片8255,锁存器74LS273,74LS244,反向驱动器ULN2803A,6位共阴极数码管(LED)和4×4行列式键盘组成。8255的C口作为键盘的I/O接口,C口的低4位输出到扫描码,高4位作为输入行状态,按键的分布如图所示。8255的A口作为LED段码输出口,与74LS244相连接,B口作为LED的位选信号输出口,与ULN2803A相连接。8255内部的4个寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A电路功能:将波形样值的数字编码转换成模拟值;完成单极性向双极性的波形输出;构成由两片0832和一块LM324运放组成。0832(1)是参考电压提供者,单片机向0832(1)内的锁存器送数字编码,不同的编码会产生不同的输出值,在本发生器中,可输出1V、2V、3V、4V、5V等五个模拟值,这些值作为0832(2)的参考电压,使0832(2)输出波形信号时,其幅度是可调的。0832(2)用于产生各种波形信号,单片机在波形产生程序的控制下,生成波形样值编码,并送到0832(2)中的锁存器,经过D/A转换,得到波形的模拟样值点,假如N个点就构成波形的一个周期,那么0832(2)输出N个样值点后,样值点形成运动轨迹,就是波形信号的一个周期。重复输出N个点后,由此成第二个周期,第三个周期……。这样0832(2)就能连续的输出周期变化的波形信号。运放A1是直流放大器,运放A2是单极性电压放大器,运放A3是双极性驱动放大器,使波形信号能带得起负载。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、电源电路:功能:为波形发生器提供直流能量;构成由变压器、整流硅堆,稳压块7805组成。220V的交流电,经过开关,保险管(1.5A/250V),到变压器降压,由220V降为10V,通过硅堆将交流电变成直流电,对于谐波,用4700μF的电解电容给予滤除。为保证直流电压稳定,使用7805进行稳压。最后,+5V电源配送到各用电负载。
上传时间: 2013-11-08
上传用户:685
多功能高集成外围器件6. 1 多功能高集成外围器件82371PCI的英文名称:Peripheral Component Interconnect (外围部件互联PCI总线);82371是PCI总线组件。ISA是:Industry Standard Architecture(工业标准体系结构)IDE是 (Integrated Device Electronics)集成电路设备简称PIIX4PIIX4器件(芯片)的特点1、是一种支持Pentium和PentiumII微处理器的部件。2、82371对ISA桥来说,是一种多功能PCI总线。3、对可移动性和桌面深绿色环境均提供支持。4、电源管理逻辑。5、被集成化的IDE控制器。6、增强了性能的DMA控制器。(7)基于两个82C59的中断控制器。(8)基于82C54芯片的定时器。(9)USB(Universal Serial Bus)通用串行总线。(10)SMBus系统管理总线。(11)实时时钟(12)顺应Microsoft Win95所需的功能其芯片的逻辑框图如图6-1所示。 PIIX4芯片逻辑框图6.1.1 概述PIIX4芯片是一个多功能的PCI器件,图6-2 是82371在系统中扮演的角色。(续上图)1. PCI与EIO之间的桥(PIIX4芯片)桥是不对程的,是各类不同标准总线与PCI总线连接,82371AB桥也可理解为一种总线转换译码器和控制器,桥内包含复杂的协议总线信号和缓冲器。(1).在PCI系统内,当PIIX4操作时,它总是作为系统内各种模块的主控设备,如USB和DMA控制器、IDE总线和分布式DMA的主控设备等,而且总是以ISA主控设备的名义出现。(2). 在向ISA总线或IDE总线进行传送操作的传送周期期间作为从属设备使用,并对内部寄存器译码。PIIX4芯片(桥)的配置(1).可以把PIIX4芯片配置成整个ISA总线,或ISA总线的子集,也可扩展成EIO总线。在使用EIO总线时,可以把未使用的信号配置成通用的输入和输出。(2).PIIX4可直接驱动5个ISA插槽;(3).能提供字节-交换逻辑、I/O的恢复支持、等待状态的生成以及SYSCLK的生成。(4).提供X-BUS键盘控制器芯片、BIOS芯片、实时时钟芯片、二级微程序器等的选择。2. IDE接口(总线主控设备的权利和同步DMA方式)IDE接口为4个IDE的设备提供支持,比如IDE接口的硬盘和CD-ROM等。注意:目前硬盘接口有5类:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口几乎在PC机最多,因为便宜。SCSI多用于服务器和集群机。IDE的PIO IDE速率:14MB/s;而总线主控设备IDE的速率:33MB/s在PIIX4芯片的IDE系统内,配有两个各次独立的IDE信号通道。3. 具有兼容性的模块—DMA、定时器/计数器、中断控制器等(1)在PIIX4内的两各82C37 DMA控制器经逻辑的组合,产生7个独立的可编程通道。通道[0:3]是通过与8个二进位的硬件连线实现的。通过以字节为单位的计数进行传送。而通道[5:7]是通过16个二进位的连线实现的,以字为单位的计数进行传送。(2)DMA控制器还能通过PCI总线,处理旧的DMA的两个不同的方法提供支持。(3)计数/定时器模块在功能上与82C54等价。(4)中断控制器与ISA兼容,其功能是两个82C59的功能之和。
上传时间: 2013-11-19
上传用户:3到15