tag 标签: AT89S52

相关博文
  • 热度 24
    2013-6-10 00:14
    1414 次阅读|
    0 个评论
      数字示波器是一种用途十分广泛的电子测量仪器。与传统模拟示波器相比,数字存储示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能,在电子电信类实验室中使用越来越广泛。   随着电子技术的发展和电路结构的变化,对电路测量的要求也变得更高。对广大理工科学生和从事电子等相关行业的普通工作者在电子制作、产品维修等中,很多电路参数需要测量分析,经常需要使用数字示波器。但目前我国使用的高性能数字示波器普遍价格昂贵,所以研究简易数字示波器具有重要意义。   1 系统结构和工作原理   1.1 系统结构   该设计以AT89S52单片机为控制核心,由预处理电路(包括阻抗变换、程控放大、信号调理电路)、A/D数据采集电路、E2PROM存储电路、功能键盘、LCD显示电路以及电源等部分组成。系统结构框图如图1所示。     1.2 工作原理   数字示波器有二个输入通道。预处理电路由阻抗变换、程控放大、信号调理电路组成。输入信号先经阻抗变换电路后进入程控放大电路,根据需要对信号进行放大(衰减)处理,然后信号再进入信号调理电路进行电平调整成为符合A/D转换要求的0~5 V电压。之后输出的模拟信号经过高速A/D转换器AD0809实时采样变成数字信号,经过AT89S52单片机后储存在半导体存储器E2PROM中。单片机从存储器中读出信号   进行运算处理,将波形显示在LCD液晶屏上。所有功能可由键盘操作完成。   2 硬件设计   2.1 单片机   AT89S52是一个低功耗,高性能CMOS8位单片机,具有8 192个在系统可编程FLASH存储器。采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。   系统采用AT89S52单片机作为主控芯片。单片机首先通过控制A/D转换器把模拟信号转换成数字信号,之后将数字信号存储在E2PROM存储器中,最后在LCD液晶上显示出模拟信号的波形。   2.2 程控放大电路   程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。采用模拟开关CD4051,运算放大器为OPA842,配合精密电位器实现多挡垂直分辨率。在AT89S52单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,具体的电路如图2所示。   2.3 信号调理   由于示波器观察信号大多是正负电压信号,而A/D转换器AD0809是单极性参考电压。为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路,将信号调理在满足A130809的0~5 V范围内。R1,R2,R3,U1即为程控放大电路的简化模块,电路如图3所示。     2.4 数据存储电路   E2PROM是数据存储电路的关键器件,本文选用Atmel公司新近推出的具有I2C总线容量达512 Kb(64 K×8 b)的AT24C512。该芯片的主要特性如下:存储容量为65 536 B;与100 kHz,400 kHz,1 MHzI2C总线兼容;100 000次编程/擦写周期;单电源、读/写电压为1.8~5.5 V;ESD保护电压大于4 kV;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3 mA;128 B页写入缓存器;自动定时的写周期。SDA线和SCL分别与单片机的P2.4和P2.5口相连。数据存储电路如图4所示。   2.5 其他硬件电路   A/D转换模块:A/D转换器选用ADC0809,ADC0809是CMOS单片型逐次逼近式A/D转换器,可处理8路模拟量的输入,且有三态输出能力,即可与各种微处理器相连,也可单独工作。输入/输出与TTL兼容,转换时间约为100μs。   键盘控制模块:该系统选用5个独立键盘做功能键,作用分别为运行与停止,波形的放大,波形的减小,波形的上移,波形的下移。   LCD液晶显示电路:该设计采用MGL(S)-240128T液晶显示器。单片机P1口与LCD的数据口连接,用于数字信号的读取,P3.6,P3.7作为液晶显示模块的读/写控制信号端口,P2.5作为LCD的片选端口。   3 软件设计   软件设计部分主要包括主程序模块、A/D转换模块、LCD显示模块、按键处理模块,其流程图如图5所示。     3.1 A/D转换部分   当定时器产生中断时,ADC0809将输入的模拟量转换成数字量。ADC0809的转换速率最大可达640 kHz,程序设定了定时器时间间隔为2μs,所以采样频率达到了500 kHz。   3.2 键盘扫描部分   设定了1个按键实现波形的运行与停止,4个独立按键用于改变波形的尺寸。amp和time两个参数分别用于调整幅值和时间轴的大小,当MCU检测到按键被按下时,两个参数的值相应地发生改变,从而改变了波形的大小。   3.3 LCD显示部分   A/D产生的第一个数据,其对应的点排在第一列,这样就确定了该点的横轴位置,纵轴的位置由数字信号大小按比例换算而来。由于采样频率一定,所以每2个点之间的时间间隔相同,下一个点排第二列,以此类推。   3.4 数字存储部分   数字存储芯片选择了Atmel公司推出的AT24C512,其作用是存储不同时刻的信号大小,克服了模拟示波器只能显示当前波形的缺点。由于该芯片采用I2C总线传输数据,所以需要单片机的I/O口用来模拟该总线。   4 结语   本文设计的以AT89S52单片机为控制核心的数字示波器,在软硬件有机结合下,可以达到所要求的性能指标,运行稳定可靠。测试表明该数字示波器具有较高的实时采样率,可以将采集到的数据经过硬件电路、软件程序转换成相应的波形很好的显示在液晶显示屏上。该数字示波器能够实现波形的采集、调理、存储、显示等功能,通过键盘对波形进行相应的功能设置,具有体积小、操作简单、方便、设备廉价等特点。在后续的改进中,可以利用分频合成技术进行采样频率合成,提高其采样频率,同时该数字示波器还具有一定的扩展能力,具有广阔的应用前景和实用价值。
  • 热度 23
    2009-10-25 13:30
    1903 次阅读|
    0 个评论
      多路高精度温度采集装置   n  赵书强  九州电气   摘要: 多高精路温度采集装置,本文描述了在任何需要对温度采集的场合中应用。无论是人民的日常生活还是工、农业生产中温度测量。在说明中分为原理应用,元件选择,硬件原理描述、软件描述几部分,分别说明了其思想和实现方案。   关键词: DS18B20    完全二叉树   引言   在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业。生产过程中,普遍存在着需要进行温度测量的场合。利用单片机和温度传感器组成的专用测温系统由于具有结构简单、工作可靠、价格低廉的优势,而得到了广泛的应用。应用在电力系统中,当电力机房中的控制柜、电缆、电容、开关过载或损坏时,都会产生巨大的热量如不及时发现处理,往往会导致事故或火灾的发生。 温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。   一、高精度采集装置原理简介   本装置结构是通过主核心芯片 AT89S52 单片机和 DALLAS 最新单线式数字温度传感器 DS18B20 组建采集网络完成。并通过两种通讯方式实时上传温度数据,这两种方式有传输距离远、可靠性高的优点,在以下的内容中具体介绍。其结构框图如附图 1               图( 1 )系统原理框   二、元器件选择      1 )、单片机 AT89S52 :   AT89S52 单片机是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash ,使得 AT89S52 单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。   AT89S52 具有以下标准功能:   8k 字节 Flash , 256 字节 RAM , 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 / 计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM 、定时器 / 计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。     2 )、通讯 ADM2483   在这里我们采用的 ADM2483 是 ADI 公司生产的一款串行 RS485 接口芯片,采用双电源供电,输出和输入完全隔离的 RS485 芯片,可以加强对有效信号的接受与发送,增加了远距离通讯的可靠性。   3 )、单线温度传感器 DS18B20   DS18B20 是美国 DALLAS 半导体公司生产的可组网的一线式数字温度传感器,与其它温度传感器相比, DS18B20 具有以下特性:     (1) 具有 3 引脚 TO-92 小体积封装形式。在其内部使用了在板 (ON-BOARD) 专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。     (2) 温度测量范围为 -55 ~ +125 ℃,可编程为 9 位~ 12 位 A/D 转换精度,测温分辨率可达 010625 ℃,被测温度用符号扩展的 16  位数字量方式串行输出 . 。     (3) 其工作电源既可在远端引入,也可采用寄生电源方式产生 ( 见图 3) 。     (4) 独特的单线接口方式。 DS18B20 在与单片机连接时仅需要一条口线即可实现单片机与 DS18B20 的双向通讯。     (5)DS18B20 支持多点组网功能,多个 DS18B20 可并联在唯一的三线上,实现多点测温,可节省大量引线和逻辑电路。以上特点使 DS18B20 非常适用于远距离多点温度检测系统。   三、高精度温度采集系统硬件描述    采集部分   以 AT89S52 单片机为核心,外置看门狗 X5045 和一片 11.0592MHZ 晶振构成最小单片机系统,应用 AT89S52 单片机的 I/O 口具有双向传输数据的功能, P3.4 与 DS18B20 一线总线连接,实现对 DS18B20 进行读取和写入操作,在总线上加入一个上拉电阻,这个电阻可以根据加入网络 DS18B20 的多少和采集距离的长短来改变电阻阻值。利用 P3.0 和 P3.1 特殊功能 I/O 口定义,做为通讯的收发器。 P2.0 应用 AMD2483 的使能控制引脚。在这里我们应用了 AT89S52 的 TQFP 封装,体积小,为线路板节省了空间,由此我们应用 JTAG 标准仿真接口设计,与所有的微处理器一样,通过 JTAG 接口将程序下载到 AT89S52 芯片中。实现操作功能。采集部分原理图如图 2       图( 2 )采集部分   电源部分   在进行系统运行时,不可缺少的就是电源的稳定性和可靠性, AMS1117-5.0 具有限流和过热自动关断保护功能,其内置的带隙基准可以保证输出电压的误差精度。在输出端需要连接一个至少 10uf 的钽电解电容用于提高输出端的瞬态响应和稳定性。主要为单片机及周围电路供电。 B0505S-W5 是金升阳公司生产的一款专门针对线路板上分布式电源系统中需要产生一组与输入电源隔离的电源的应用场合而设计的,在这里为内部隔离的 ADM2483 提供隔离电源和 MAX488 通讯提供隔离电源。从而使信号的传输更加可靠。如图( 3 )       图( 3 )电源部分     485 通讯部分   我们采用的 ADM2483 是 ADI 公司生产的一款串行 RS485 接口芯片,采用双电源供电,输出和输入完全隔离的 RS485 芯片,可以加强对有效信号的接受与发送,增加了远距离通讯的可靠性。配合 555 的定时器的功能, EA_485 在通常情况下处于低电平接收状态,当 TXD_IN 有信号输出时使能 EA_485 变为高电平,将数据发送出去。当发完这段数据时 EA_485 自动回到低电平接收状态,发送数据这段时间是由 R5*C5 决定的,能够确定数据传输的完整性。       图( 4 ) 485 通讯部分   422 通讯部分   上位机通过 A 、 B 端输入命令,这是 RS422 接收器端口, Y 、 Z 接收命令,这是 RS422 的发送器端口。实现了全双工的通讯机制。在 RS422 的另一端采用光耦隔离的方式,将电源和信号隔离,增加了信息传输的正确率和抗干扰性,保证了信息的完整性。 LED 、 LED1 分别指示信息接收指示和发送指示,可以直观的监测信息的传输过程。       图( 5 ) 422 通讯部分   四、  高精度温度采集系统软件描述   在多路高精度测温系统中,测温单元能独立进行数据采集与上位机的数据通讯,向上位机(主机)发送测量到的温度数据,接收上位机发来控制指令,进行传输数据,与上位机通讯的指令采用定长的 CDT 代码指令,并有 CRC 纠错以保证数据正确传输。         在多点温度测量系统中,单总线数字温度传感器 ( 例如 DS18B20) 因其体积小、构成的系统结构简单等优点,应用越来越广泛。每一个数字温度传感器内均有唯一的 64 位序列号 ( 最低 8 位是产品代码,其后 48 位是器件序列号,最后 8 位是前 56 位循环冗余校验码 ) ,只有获得该序列号后才可能对其进行操作,也才能在多传感器系统中将它们一一识别。软件流程图(图 6 )       图   ( 6 )软件流程图     由于传感器序列号的最低 8 位为产品代号,“需要的位值”可按对应的值给出,关键是其后的 48 位器件序列号的识别。这里采用了“完全二叉树”的排序思想,如图 7 所示。具体思路:设在 K 位首次发生数据位冲突,这时所有的传感器分成两类,即该位为 1 的传感器和为 0 的传感器。“需要的位值”给 1 , K 位为 1 的传感器仍挂接在总线上。若接下来 K+M 、 K+N 位发生数据位冲突,“需要的位值”仍分别给 1 ,获得一个序列号。下一个过程在 K 、 K+M 位“需要的位值”仍给 1 ,但在 K+N 位则给 0 ,获得另一个传感器的序列号。第三个过程在 K 位仍给 1 ,而在 K+M 位给 0 ,在这条支路上继续识别。 K 位为 1 的传感器的序列号识别完后,回到 K 位时,“需要的位值”给 0 ,按同样的方法识别该支路的传感器序列号。按此思路,多个传感器的序列号只需要分别识别一次。       图( 7 )完全二叉树   建立关系表后,编制好程序,系统可投入运行。读取每个测温点的温度时,需要用到“符合” ROM 命令,该命令要求将关系表中的序列号取出送到总线上,只有序列号与之相符的传感器才挂接在总线上,可读取其温度。     综上所述,用简单的硬件以及编程方法自动建立关系表,在单总线多点温度测量系统中实现了数字温度传感器的自动识别,大大有利于系统的调试、维护,减少维护工作量,并解决了过去维护工作必须由专业人员来完成,而不是由运行人员来完成的不便。   五、结束语   此装置采用 51 系列单片机作为主 CPU ,成本低,通讯可靠性好,实时性高,已经完成样机试制,通过相关测试,并投入生产。本产品已经应用在电力系统监测蓄电池周围八路各点温度,并上传给后台。运行稳定,取得了良好的社会效益和经济效益。   参考文献:  1 、 Dallas Semiconductor Data books  2 、孙育才 ... 新型 AT89S52 系列单片机及其应用,清华大学出版社, 2005 3 、严蔚敏,吴伟民。数据结构。清华大学出版社, 1998 作者简介: 赵书强( 1980 ),男,本科,助理工程师        登陆 www.adum.com.cn 了解更多。
相关资源