基于单片机的步进电机控制器的设计 下载本文

3脚:为同向输入端

4脚和7脚:分别为vcc-和vcc+ 5脚:悬空 6脚:为输出端 其引脚图如图3.10

图3.10 OP07芯片及管脚图

3.6.2 ADC0804芯片简介

1、芯片主要技术指标 (1) 分辨率:8 位(0~255) (2) 存取时间:135 ms (3) 转换时间:100 ms (4) 总误差:-1~+1LSB

(5) 工作温度:ADC0804C为0度~70度;ADC0804L为-40 度~85 度 (6) 模拟输入电压范围:0V~5V (7) 参考电压:2.5V (8) 工作电压:5V 1、芯片引脚功能及说明

接脚说明见下图:ADC0804 为一只具有20引脚8位CMOS连续近似的A/D 转换器。芯片具体引脚图如图3.11所示。

29

图3.11 ADC0804芯片及管脚图

(1). PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。

(2). PIN2 ( RD ):Read。当CS 、RD皆为低位准(low)时,ADC0804会将转换后的数字讯号经由DB7 ~ DB0 输出至其它处理单元。

(3). PIN3 (WR ):启动转换的控制讯号。当CS 、WR 皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR由0→1且CS =0 时,ADC0804会开始转换信号,此时INTR 设定为高位准(high)。

(4). PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLKR及CLK IN加上电阻R及电容C,则可产生ADC工作所需的时序,其频率约为(1.1RC)

(5). PIN5 ( INTR ):中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。

(6). PIN6、PIN7 (VIN(+)、VIN(-)):差动模拟讯号的输入端。输入电压VIN=VIN(+) -VIN(-),通常使用单端输入,而将VIN(-)接地。

(7). PIN8 (A GND):模拟电压的接地端。 (8). PIN9 (VREF/2):辅助参考电压输入端 2、ADC0804工作原理

ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。

以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原

30

理,动作步骤如下表示(原则上先从左侧最高位寻找起)。

第一次寻找结果:10000000 (若假设值≤输入值,则寻找位=假设位=1)

第二次寻找结果:11000000 (若假设值≤输入值,则寻找位=假设位=1)

第三次寻找结果:11000000 (若假设值>输入值,则寻找位=该假设位=0)

第四次寻找结果:11010000 (若假设值≤输入值,则寻找位=假设位=1)

第五次寻找结果:11010000 (若假设值>输入值,则寻找位=该假设位=0)

第六次寻找结果:11010100 (若假设值≤输入值,则寻找位=假设位=1)

第七次寻找结果:11010110 (若假设值≤输入值,则寻找位=假设位=1)

第八次寻找结果:11010110 (若假设值>输入值,则寻找位=该假设位=0)

这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图4..10的模拟输入电压Vin。

对8位ADC0804而言,它的输出准位共有28=256种,即它的分辨率是1/256,假设输入信号Vin为0~5V电压范围,则它最小输出电压是5V/256=0.01953V,这代表ADC0804所能转换的最小电压值。

4、分辨率与内部转换频率的计算

对8位ADC0804而言,它的输出准位共有28=256种,即它的分辨率是1/256,假设输入信号Vin为0~5V电压范围,则它最小输出电压是5V/256=0.01953V,这代表ADC0804所能转换的最小电压值。表3.2列出的是8~

31

12位A/D转换器的分辨率和最小电压转换值。

表3.2 A/D转换器的分辨率和最小电压值

位数目 8 10 12 分辨率 1/256 1/1024 1/4096 最小电压转换值 0.01953V 0.00488V 0.00122V

图3.12是ADC0804与CPLD&FPGA、8051单片机等典型连接图至于内部的转换频率fCK,是由图3.12的CLKR(19脚)、CLK IN(4脚)所连接的R()、C()值来决定。

图3.12 ADC0804与CPLD&FPGA、8051单片机等典型连接图

频率计算方式是:fCK=1/(1.1×R×C)

若以上图的R=10KΩ、C=150PF为例,则内部的转换频率是fCK=1/(1.1×10 KΩ×150PF)=606KHz

更换不同的R、C值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意R、C的组合,务必使频率范围是在100KHz~1460KHz之间。

3.6.3 电流检测模块电路图

如图3.13所示,OP07的3脚是反向输入端,4脚是同向输入端,6脚输

32

出端。按照如图所示的接法及对应电阻值的大小,我们很容易知道,此连接后的电压放大倍数是80倍,且为同向放大。

OP07放大的信号来源是L298的1脚测电流的小电阻分出来的电压,然后经OP07放大之后的信号送给0804处理。

图3.13 电流检测模块电路图

3.7独立按键电路设计

本设计一共设计了四个按键,其中一个是单片机复位电路按键,剩余三个按键是分别一端接P2.1口,P2.2口,P2.3口另一端接地。此时按键的工作原理是按下按键之后就相当于是把对应的端口的电势拉低。

在处理按键程序前就先去抖动,防止因按键时产生的机械抖动而错误的重复执行相应程序。所有按键处理程序都是在等按下后执行的。这些在软件编设计部分都会有说明。

第4章 系统的软件实现

本系统的软件设计主要分为系统初始化、延时子程序、按键响应程序,数码管显示程序,读ADC0804子程序及控制脉冲输出几部分,事实上每一部

33