随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信方式则是最经济、最方便和最可靠的方法。当前电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。利用单片机系统可用于采集灌区水位、水流量、电力抄表等方面,实现无人职守,方便管理。2.系统硬件设计:本系统采用了MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储记录、查询、打印。单片机系统从传感器直接采集数字信号,通过RS-232接口送给本端的MODEM,MODEM将数字信号调制成音频模拟信号在电话线上传输,再经中心站MODEM调制成数字信号送往PC机。系统中MODEM采用F-E56CSD-V1型嵌入MODEM,用户使用贺氏标准AT命令呼叫和应答,实现与远程系统的通信。
上传时间: 2013-11-05
上传用户:alan-ee
本文介绍了一种基于AVR单片机的数字胃肠造影系统光圈控制器的设计和实现。该控制器以单片机为核心,以PID控制理论为思想,通过外围硬件电路来达到控制目的。通过串行端口实时调整光圈大小,该光圈控制器具有响应速度快、控制精度高和稳定性好等特点。在实际运行中效果良好。
上传时间: 2013-10-20
上传用户:zsjinju
介绍了一种基于TMS320VC5402并应用ITU—T的G.728标准进行语音编解码的多功能数字采访机,系统采用AT89C51与TMS320VC5402相配合,实现了音控与键控相互补充,语音信息的采集与播放数字化,可大容量录放音,操作简单,可任意选取录音段进行回放、删除。
上传时间: 2013-11-13
上传用户:15736969615
摘要:介绍了一种基于AT89C52单片机的高速数字“黑匣子”系统;该系统可对模拟信号进行高速实时采样,利用8255芯片进行总线扩展实现了大容量非易失SRAM的寻址,软件控制串口实现SRAM与PC机的数据传输;实际工作中有采样速度快、采样精度高;操作方便等优点。关键词:AT89C52;高速;实时采样;PC
上传时间: 2013-11-24
上传用户:tuilp1a
dsPIC30F数字信号控制器单片机和DSP领域的最佳选择 什么是数字信号控制器 数字信号控制器(DSC)是单片机嵌入式控制器,它轻松集成了单片机(MCU)的控制功能以及数字信号处理器(DSP)的计算功能和数据吞吐能力。
上传时间: 2013-12-23
上传用户:小儒尼尼奥
数字频度计设计 本设计是基于AT89C2051单片机的软硬件系统设计,硬件电路包括信号预处理电路、波形转换电路、波形整形及分频电路、显示电路,它们在本文中都有详细介绍。
上传时间: 2013-10-24
上传用户:13691535575
P87LPC767 OTP 单片机原理 P87LPC767 是20 脚封装的单片机适合于许多要求高集成度低成本的场合可以满足许多方面的性能要求作为Philips 小型封装系列中的一员P87LPC767 提供高速和低速的晶振和RC 振荡方式可编程选择具有较宽的操作电压范围可编程I/O 口线输出模式选择可选择施密特触发输入LED 驱动输出有内部看门狗定时器P87LPC767 采用80C51 加速处理器结构指令执行速度是标准80C51 MCU 的两倍特性 操作频率为20MHz 时除乘法和除法指令外加速80C51 指令执行时间为300600ns VDD=4.5 5.5V 时时钟频率可达20MHz VDD=2.7 4.5V 时时钟频率最大为10MHz 4 通道多路8 位A/D 转换器在振荡器频率fosc=20MHz 时转换时间为9.3μs 用于数字功能时操作电压范围为2.7 6.0V 4K 字节OTP 程序存储器128 字节的RAM 32Byte 用户代码区可用来存放序列码及设置参数 2 个16 位定时/计数器每一个定时器均可设置为溢出时触发相应端口输出 内含 2 个模拟比较器 全双工通用异步接收/发送器UART 及I2C 通信接口 八个键盘中断输入另加2 路外部中断输入 4 个中断优先级 看门狗定时器利用片内独立振荡器,无需外接元件,看门狗定时器溢出时间有8 种选择 低电平复位使用片内上电复位时不需要外接元件 低电压复位选择预设的两种电压之一复位可在掉电时使系统安全关闭也可将其设置为一个中断源 振荡器失效检测看门狗定时器具有独立的片内振荡器因此它可用于振荡器的失效检测 可配置的片内振荡器及其频率范围和RC 振荡器选项(用户通过对EPROM 位编程选择) 选择RC 振荡器时不需外接振荡器件 可编程 I/O 口输出模式准双向口,开漏输出,上拉和只有输入功能可选择施密特触发输入 所有口线均有20mA 的驱动能力 可控制口线输出转换速度以降低EMI,输出最小上升时间约为10ns 最少 15 个I/O 口,选择片内振荡和片内复位时可多达18 个I/O 口 如果选择片内振荡及复位时,P87LPC767 仅需要连接电源线和地线 串行 EPROM 编程允许在线编程2 位EPROM 安全码可防止程序被读出 空闲和掉电两种省电模式提供从掉电模式中唤醒功能低电平中断输入启动运行典型的掉电电流为1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 脚DIP 和SO 封装
上传时间: 2013-11-06
上传用户:xcy122677
NE1617A是一款高精度双通道数字温度监控器。其可以测量本地温度及远程温度。远程温度传感器可以使用分立NPN/PNP三极管(以二极管方式连接),如2N3904/2N3906。或者选用一些内嵌PNP结构(连接成二极管形式)的芯片,如INTEL的微处理器。
上传时间: 2013-11-17
上传用户:199311
单片机入门基础知识大全免费下载 单片机第八课(寻址方式与指令系统) 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习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
数字时钟应用资料 单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
上传时间: 2013-10-13
上传用户:zhqzal1014