电学参量测量技术涉及范围广,特别是电压、电流表广泛适用于学校、工业、科研、国防等各种领域,供实验室和工业现场测试用。随着电子技术的发展,在数字化、智能化、科技化为主的今天,数字化电流表已成为电流表设计的主要方向,在当前电流测量系统心中占有非常重要的位置。本设计主要采用ATC52芯片和ADC0808芯片来完成一个直流数字电流表的设计.有10A、1A、100mA三档量程的切换,该量程切换是通过按键来完成的。测量的结果通过一个4位一体的8段数码管进行显示。此电流表有三个部分组成:A/D转换模块、数据处理模块、显示模块。A/D转换主要由ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量,再传到数据处理,进行标度变换,最后处理好的数据送数码管显示.
关键词: 数字电流表 ATC52 A/D转换 LED显示
正 文
一、系统硬件设计
1.1硬件设计框图
1.2 数字电流表的工作原理
用单片机及其扩展的外部电路先做成一个理想电压表[3],图1中用G表示。由于通常所说的电流表是指灵敏电流计其量程太小,不能直接测量电流,仅用于检测有无电流和电流的方向,所以要想得到一个有多量程或量程较大的电流表需要将一个理想电压表改装而成。本设计是用一个内阻视为无穷大的电压表并联分流电阻而成的数字电流表。待测电流I随搬动开关K的位置而流过R1或R2,因而本电流表的两个量程就取决于G的满量程电压和R1、R2的阻值,记G的满量程电压为Ug,根据欧姆定律Ug=RgIg,若Ug和Rg已知则Ig就是电流表的满量程电流。
图1.2.1数字电流表的基本原理
1.3 防反接保护、过流保护电路
用二极管作为防反接保护,如果电流反向因为二极管的作用所以电路就不会导通。用熔断器做过流保护,一但输入的电流大于设定的值后熔断器就会自动断开。电路如图2所示:
图1.3.1过流、防反电路
1.4 量程选择及量程显示
方案一、采用纯硬件搭建技术,利用元器件组成量程转换电路。特点:所有硬件多,成本相对较高,但可以简化软件编程及调试。
方案二:采用纯软件编程技术。特点:硬件简单,但编程相对复杂。
方案三:采用软硬件结合的方法。特点:软硬件结合不禁硬件简单,软件编程编程也不算复杂。
考虑到本设计的量程有三个档位变化,编程相对简单且为节省硬件成本故采用方案三。
本系统量程的选择通过按键来实现.
. 通过判断哪个按键按下来选择量程,以及通过实现发光二极管来显示当前量程。电路如图3所示:.
图1.4.1 式键盘的量程选择
1.5 I/V转换、放大及滤波
在调理电路里,为了使信号不被电路噪声所淹没,放大器要设置在滤波器的前面,这样有利于减少电路的等效噪声即提高了电路接受信号的能力。
因为ADC0808的输入是电压信号所以在A/D转换前要进行I/V转换,放大器的输入端为同项端,其放大倍数为 。通过CD4051多路模拟来选择其放大的倍数。放大后通过RC低通滤波滤波。电路如图1.5.1 及1.5.2所示:
图1.5.1 放大、滤波电路
图1.5.2 放大倍数选择电路
1.6 A/D转换电路
A/D转换部分本系统采用了ADC0808芯片. ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。
内部结构
ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
ADC0808引脚功能(外部特性)
ADC0808芯片有2引脚,采用双列直插式封装,如右图所示。各引脚功能如下:
1~5和26~28(IN0~IN7):8路模拟量输入端。
8、14、15和17~21:8位数字量输出端。
22(ALE):地址锁存允许信号,输入,高电平有效。
6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):时钟脉冲输入端。要求时钟频率不高于0KHZ。
12(VREF(+))和16(VREF(-)):参考电压输入端
11(Vcc):主电源输入端。
13(GND):地。
23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路
其关系表如下所示 地址信号与选中通道的关系
地 址 | 选中通道 | ||
ADDC | ADDB | ADDA | |
0 0 0 0 1 1 1 1 | 0 0 1 1 0 0 1 1 | 0 1 0 1 0 1 0 1 | IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 |
电源电压(Vcc):6.5V
控制端输入电压:-0.3V~15V
其它输入和输出端电压:-0.3V~Vcc+0.3V
贮存温度:-65℃~+150℃
功耗(T=+25℃):875mW
引线焊接温度:①气相焊接(60s):215℃;②红外焊接(15s):220℃
抗静电强度:400V
ADC0808的输出端注意: out8为最低位-out1为最高位,out8-out1分别接单片机的P0.0—P0.7端。
本设计是将模拟输入信号送给IN0的通道,然后将转换后的数字信号传送给单片机的P0口。电路如图6所示:
图1.6.1 A/D转换电路
1.7 LED显示电路
本设计采用四位一体的共阴极数码管作为显示测量的结果与单片机的P1口相连
电路如下所示
图1.7。1 显示电路
1.8硬件电路图
系统硬件设计电路图设计附后
二、系统的软件设计
2.1 系统的软件总设计
系统采用上电自动复位,上电后初始化程序包括对各种参数进行初始化、清零以及一些端口属性的设定,开始进行量程判断,再调用A/D转换程序,对输入信号进行A/D模数转换送入单片机,然后在调用LED显示程序,显示所测量的电流值。其系统框图9所示
图2.1.1 系统软件总框图
2.2 A/D转换程序设计
系统上电后,初始化各参数。启动A/D转换,调用延时程序接着判断A/D转换是否结束,结束则清标志位、取数据,否则再延时,继续判断A/D是否结束.流程图如图10所示:
图2.2.1 A/D转换流程图
2.3 软件清单:
ORG 0000H
SJMP START
ORG 0080H
LED0 EQU 40H
LED1 EQU 41H
LED2 EQU 42H
LED3 EQU 43H ;存放四个数码管的段码
ADC EQU 45H ;存放转AD换后的数
STR BIT P3.0
OE BIT P3.1
EOC BIT P3.2
START: MOV LED0,#00H ;清零
MOV LED1,#00H
MOV LED2,#00H
MOV LED3,#00H
MOV P1,#00H
MOV P2,#0FFH
MOV P3,#07H
MOV R1,#00H
MOV DPTR,#TABLE ;送段码首地址到DPTR
WAIT: CLR STR
SETB STR
CLR STR ;产生下降沿启动AD转换
JNB EOC,$ ;等待转换结束
SETB OE ; 允许输出转换结果
MOV ADC,P0 ;存储转换结果
CLR OE
/*****处理并显示转换结果***/
MOV A,ADC
MOV R2,#00H
CLR C
RLC A ;把原来的值还原
JNC GO
MOV R2,#01H
GO: MOV B,#51
DIV AB
CJNE R2,#01H,MEI ;r2不等于1就到Mei中
ADD A,#05H
MEI: MOV LED2,A
MOV A,B
MOV B,#5
DIV AB
MOV LED1,A
MOV LED0,B
MOV A,LED2
CJNE A,#10,WU
AJMP NEXT
WU: AJMP NEXT1
NEXT: MOV LED0,#00H
MOV LED1,#00H
MOV LED2,#00H
MOV LED3,#01H
NEXT1: MOV A, P2
CJNE A,#0FEH,NEXT2
LCALL DISP1
LJMP WAIT
LJMP KEY
NEXT2: CJNE A,#0FDH,NEXT3
LCALL DISP2
LJMP WAIT
LJMP KEY
NEXT3: CJNE A,#0FBH,NEXT1
LCALL DISP3
LJMP WAIT
LJMP KEY
/*****显示程序******/
DISP1: MOV A,LED0 ;10A的电流档
MOVC A,@A+DPTR
CLR P2.7
MOV P1,A
LCALL DELAY
SETB P2.7
MOV A,LED1
MOVC A,@A+DPTR
CLR P2.6
MOV P1,A
LCALL DELAY
SETB P2.6
MOV A,LED2
MOVC A,@A+DPTR
CLR P2.5
ORL A,#80H
MOV P1,A
LCALL DELAY
SETB P2.5
MOV A,LED3
MOVC A,@A+DPTR
CLR P2.4
MOV P1,A
LCALL DELAY
SETB P2.4
RET
DISP2: MOV A,LED0 ;1A的电流档
MOVC A,@A+DPTR
CLR P2.6
MOV P1,A
LCALL DELAY
SETB P2.6
MOV A,LED1
MOVC A,@A+DPTR
CLR P2.5
MOV P1,A
LCALL DELAY
SETB P2.5
MOV A,LED2
MOVC A,@A+DPTR
CLR P2.4
ORL A,#80H
MOV P1,A
LCALL DELAY
SETB P2.4
MOV A,LED3
MOVC A,@A+DPTR
CLR P2.7
ORL A,#80H
MOV P1,A
LCALL DELAY
SETB P2.7
RET
DISP3: MOV A,LED0 ;100ma的电流档
MOVC A,@A+DPTR
CLR P2.5
MOV P1,A
LCALL DELAY
SETB P2.5
MOV A,LED1
MOVC A,@A+DPTR
CLR P2.4
ORL A,#80H
MOV P1,A
LCALL DELAY
SETB P2.4
MOV A,LED2
MOVC A,@A+DPTR
CLR P2.7
MOV P1,A
LCALL DELAY
SETB P2.7
MOV A,LED3
MOVC A,@A+DPTR
CLR P2.6
ORL A,#80H
MOV P1,A
LCALL DELAY
SETB P2.6
RET
/*****按键程序******/
KEY: MOV A,#0FFH
MOV P2,A
MOV A,P2
JNB ACC.0,RED
JNB ACC.1,GREEN
JNB ACC.2, BLUE
JMP KEY
RED: CLR P3.3
CLR P3.4
CLR P3.5
CLR P3.6
LCALL WAIT
LJMP KEY
GREEN: SETB P3.3
CLR P3.4
CLR P3.5
CLR P3.6
LCALL WAIT
LJMP KEY
BLUE: SETB P3.4
CLR P3.3
CLR P3.5
CLR P3.6
LCALL WAIT
LJMP KEY
/*****延时子程序******/
DELAY: MOV R6,#10
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
/*****字型码表******/
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
三、系统调试及仿真
采用keil软件进行源程序编译,用proteus软件对其进行仿真。
3.1 量程为100mA的仿真及其显示结果
当输入信号为40mA
3.2 量程为1A的仿真及其显示结果
当输入信号为0.50A
3.3 量程为10A的仿真及其显示结果
当输入信号为8.5A
3.4 超量程输入
当输入信号在量程范围内时,显示正常、熔断器正常:
当输入信号过大,由于熔断器的存在,熔断器会自动断开其显示为乱码显示:
四、设计总结
为期5天的课程设计也算是告一段落了,本学期《测控系统原理与设计》这门课也算是结束了。但是,我想对于我来说,我感觉我对于这门课的学习还会继续下去!因为《测控系统原理与设计》这门课贯穿了我的整个大学几乎80%左右的专业课,通过这门课,我不仅对大学中所学的课程有了进一步的系统的理解,让我更加坚定了我选择“测控技术与仪器”这个专业是对的。而且,我打算考取研究生,进一步研究本专业的内容,这是一个明智的选择!所以,如果说我今年不幸没有考上的话,来年我还会再战!因为我认为能够在本专业中继续发展是很有前途的!
我感觉每次做完一个课程设计,自己的专业技能好像又进了一步,特别是本次课程设计,我不仅对以前的部分专业课大概进行了一下系统的复习,另外我也学会了,在做一个课题时, 首先应该要有一个大局观,就是要先找到系统的总图,然后在在这个总体思想的指引下,一步步将所要的东西细化,等到做完后,要根据做完的状况进行进一步的修改,进一步完善,这样才能做得更好。
在这里,我首先要感谢*老师在本学期的谆谆教诲,谢谢*老师如此耐心的教导。其次,再次也要感谢一下在本次设计中的和我一组的同学们,谢谢他们的帮助,让我能够顺利的完成本次课程设计!最后还是说一声谢谢!
参考文献
1.王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999
2.《现代测控技术与系统》 韩九强 清华大学出版社 2007.9
3.《智能仪器》 程德福,林君主编 机械工业出版社 2005年2月
4.《测控仪器设计》浦昭邦,王宝光主编 机械工业出版社 2001
5.基于ATC51单片机的数字电压表的设计,黄亮,电子制作,2006.10 ,25-27
6.Keil C51帮助文档