图2.1 A/D转换器原理图
2.4 A/D转换器的基本特点
A/D转换器的基本特点是 (1)分辨率高。 (2)功耗低。 (3)价格低。
(4)需要外部计数电路共同完成A/D转换。
7
3 系统硬件设计
3.1 系统整体设计方案
本设计主要完成电流测量模块的设计。硬件部包括数据采集模块、主控制器模块、显示模块、转换模块四大组成部分。其中数据采集部分由交、直流输入电路组成,软件部分应用单片机C语言,实现了本设计的全部功能。能够测量出0—10A的交、直流电流,并且通过数字显示。
本系统由主控制器模块、数据采集模块、转换单元模块、显示模块组成。如图3.1所示。
图3.1 电流测量模块的设计系统框图 3.2 主控制器模块设计 3.2.1 主控制器的选择
选择单片机型号的出发点有以下几个方面[4]: (1)单片机性能
①主流单片机包括CPU、4KB容量的ROM、128 B容量的RAM、2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
②系统结构简单,使用方便,实现模块化。
③单片机可靠性高,可工作到10^6 ~10^7小时无故障。
8
据采数集模块 转换模块 主控制器模块 显示模块 ④处理功能强,速度快。
⑤低电压,低功耗,便于生产便携式产品。 ⑥控制功能强。 ⑦环境适应能力强。 (2)基本结构 ①运算器
运算器由运算部件—算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。
运算器有两个功能:执行各种算术运算;执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
②控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:从内存中取出一条指令,并指出下一条指令在内存中的位置;对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作;指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
(3)主要寄存器 ①累加器A
累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
②数据寄存器DR
数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
③指令寄存器IR和指令译码器ID
9
指令包括操作码和操作数。
指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
④程序计数器PC
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
⑤地址寄存器AR
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
(4) 研制周期
在研制任务重、时间紧的情况下,还要考虑所选的单片机型号是否熟悉,是否能马上着手进行系统的设计。与研制周期有关的另一个重要因素是开发工具,性能优良的开发工具能加快系统地研制进程。
在众多的51系列单片机中,要算ATMEL公司的AT89C51、AT89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89xx 做的编程器均带有这些功能。显而易见这种单片机对开发设备的要求很低开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。再着,AT89C51、AT89S51目前的售价比8031还低,市场供应也很充足。
功耗模式:可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
所以主控单元拟采用AT89C52作为主控制器 3.2.2 AT89C52
AT89C52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处
10
理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52主要功能特性 (1)兼容MCS51指令系统
(2)8kB可反复擦写(大于1000次)Flash ROM; (3)32个双向I/O口; (4)256x8bit内部RAM;
(5)3个16位可编程定时/计数器中断; (6)时钟频率0-24MHz;
(7)2个串行中断,可编程UART串行通道; (8)2个外部中断源,共8个中断源; (9)2个读写中断口线,3级加密位;
(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 3.2.3 AT89C52最小系统
单片机最小系统包括:复位电路;晶振电路;电源电路。复位电路的复位操作一般有两种基本形式,一种是上电复位;另一种是上电与按键均有效的复位[5]。复位电路接单片机的9管脚。晶振电路单片机的时钟信号通常有两种产生方式,一是内部时钟方式;二是外部时钟方式。晶振电路接单片机的18、19管脚。电源电路,单片机40管脚接电源,20管脚接地。 3.3 转换模块设计 3.3.1 A/D转换器的选择
逐次逼近式A/D是比较常见的一种A/D转换电路转换的时间为微秒级 用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成。基本原理是从高位到低位逐位试探比较好像用天平称物体,从重到轻逐级增减砝码进行试探。逐次逼近法转换过程是初始化时将逐次逼近寄存器各位清零。 3.3.2 ADC0809
ADC0809的特点:
(1) 8路8位A/D转换器,即分辨率8位。 (2)具有转换起停控制端。
11