论文部分内容阅读
[摘 要]本文详细介绍了基于Proteus的多通道数据采集系统仿真设计,系统以AT89C51单片机为控制核心,使用模数转换芯片ADC0808采集可调电阻输出电压(模拟电压、电流、温度、湿度等传感器输出电压),通过按键完成各路切换选择,显示部分使用数码管接口控制芯片MAX7219控制4个7段LED实时显示各路电压值,完成多通道数据采集系统的仿真设计。
[關键词]Proteus;单片机;ADC0808;MAX7219;仿真
中图分类号:TN927.2 文献标识码:A 文章编号:1009-914X(2015)08-0282-02
1 引言
目前控制系统趋于数字化设计,常以微控制器如单片机、DSP等为控制核心,进行数字化处理,而通过传感器获得的各种外部环境参数以模拟形式存在,例如:电压、电流、温度、湿度等,要对这些信号进行数字处理,须使用模数转换器将其转化为数字量后才能被微控制器识别。
本文介绍了一种基于Proteus的多通道数据采集系统,系统使用AT89C51单片机控制ADC0808多通道A/D转换器采集传感器提供的电压信号(用可调电阻模拟),并通过数码管进行实时显示。
2 多通道数据采集系统仿真设计
Proteus是英国Labcenter公司开发的电路分析与实物仿真软件,是一款完整的嵌入式系统软硬件设计仿真平台,它运行于Windows操作系统,提供仿真分析用的多种模拟与数字集成电路模型,并能进行PCB设计[2]。
2.1 仿真系统的总体框架
仿真系统的总体框架如图1所示。系统由数据采集模块、数据显示模块、通道切换选择模块以及控制中心组成。数据采集模块由ADC0808及外围电路组成,实现8通道模拟量采集转换;数据显示模块由MAX7219及4位7段数码管组成,实时显示当前通道电压值;通道切换选择模块由按键组成,通过按键选择切换当前要处理的通道;控制中心是AT89C51单片机,完成整个仿真系统控制。
2.2 ADC0808芯片介绍
ADC0808是8位8通道逐次逼近型模数转换器,其中IN0~IN7是8个模拟信号输入端,其输入范围由电源和基准决定;ADDA、ADDB、ADDC为模拟通道地址选择信号,二进制000~111与IN0~IN7一一对应;ALE为地址锁存信号,START为AD转换启动信号,其上升沿对寄存器清零,下降沿启动AD转换,在使用时ALE常与START短接,用一个IO控制;CLOCK为时钟信号,要求不能超过600KHz;EOC为转换结束标志,高电平有效;OE为输出使能信号,高定平有效;2-1~2-7对应转换的8位数据[1][5]。
2.3 MAX7219芯片介绍
MAX7219是美信公司推出的3线串行共阴极数码管驱动器,一个芯片可以驱动8个7段数码管或者64发光二极管。
MAX7219是标准的3线SPI串行接口,LOAD引脚是片选信号,低电平有效;DIN是芯片数据线引脚,控制命令与数据由此引脚输入;CLK是芯片的时钟引脚,在每一个CLK时钟上升沿把有命令和数据组成的16位数据一位一位移入芯片寄存器;DIG0~DIG7是芯片的数据输出引脚,对应7段数码管的为选引脚;SEGA~SEGH对应7段数码管的每一段,即A~H;ISET是电流控制引脚,通过外部电阻决定电流大小;DOUT是串行数据输出引脚,方便实现多片MAX7219的级联[3][4]。
3 仿真系统硬件电路设计
仿真系统硬件电路设计如图2所示。
A/D转换芯片的8位数据接口与AT89C51的P1口连接,模拟通道选择地址线ADDA、ADDB、ADDC分别与AT89C51的P2.0、P2.1、P2.2连接,通过按键K1、K2完成通道选择切换;时钟信号连接到P2.3口,通过单片机定时器提供ADC0808时钟信号;启动信号和转换结束信号分别与P2.4、P2.5连接;电压基准Vref+连接5V,Vref-接地,这样ADC转换范围0~5V。
MAX7219的片选引脚、时钟引脚以及串行数据输入引脚分别于单片机的P0.1、P0.2、P0.0相连,通过单片机模拟3线SPI时序控制MAX7219实现对4位一体共阴极数码管驱动。
两个按键K1、K2分别与单片机的外部中INT0与INT1两连接,这样能够更快相应按键命令。
4 系统软件设计
软件采用C语言编写,在Keil C上进行开发,将生成的Hex文件下载到Proteus中进行调试[6]。系统软件流程图如图3所示。
通过按键K1、K2触发外部中断0、1,在中断函数中置按键标志位;主函数以查询的方式获取按键设置的通道号,启动ADC0808,采集对应通道模拟信号,并将通道号与电压值在数码管上显示。
5 总结
本文借助嵌入式仿真软件Proteus设计了多通道数据采集系统,用可调电阻分压产生不同电压值模拟控制系统中常见的电压、电流、温度、湿度等环境参数,使用8通道A/D转化器ADC0808进行模数转换,并将转换结果实时显示在数码管上。通过仿真清晰直观的观察的系统运行结果,为后续实际设计提供有力保障。
参考文献
[1] 高荣杰.基于Proteus的单片机AD转换仿真[J].计算机与现代化,2009(11):154-155.
[2] 廖振俭.基于Proteus的单片机多通道数据实时采集显示系统仿真设计[J].第十届工业仪表与自动化学术会议,2009:131.
[3] 杨晓玲.MAX7219在管道热熔焊机中的应用[J].仪器仪表学报,2007(8):143.
[4] MAX7219 User’s Guide. MAXIM Integrated Products.2003.
[5] ADC0808 User’s Guide. Texas Instruments Inc.1998.
[6] 张齐,杜群贵.单片机应用系统设计技术—基于C语言编程[M].北京:电子工业出版社,2004.
[關键词]Proteus;单片机;ADC0808;MAX7219;仿真
中图分类号:TN927.2 文献标识码:A 文章编号:1009-914X(2015)08-0282-02
1 引言
目前控制系统趋于数字化设计,常以微控制器如单片机、DSP等为控制核心,进行数字化处理,而通过传感器获得的各种外部环境参数以模拟形式存在,例如:电压、电流、温度、湿度等,要对这些信号进行数字处理,须使用模数转换器将其转化为数字量后才能被微控制器识别。
本文介绍了一种基于Proteus的多通道数据采集系统,系统使用AT89C51单片机控制ADC0808多通道A/D转换器采集传感器提供的电压信号(用可调电阻模拟),并通过数码管进行实时显示。
2 多通道数据采集系统仿真设计
Proteus是英国Labcenter公司开发的电路分析与实物仿真软件,是一款完整的嵌入式系统软硬件设计仿真平台,它运行于Windows操作系统,提供仿真分析用的多种模拟与数字集成电路模型,并能进行PCB设计[2]。
2.1 仿真系统的总体框架
仿真系统的总体框架如图1所示。系统由数据采集模块、数据显示模块、通道切换选择模块以及控制中心组成。数据采集模块由ADC0808及外围电路组成,实现8通道模拟量采集转换;数据显示模块由MAX7219及4位7段数码管组成,实时显示当前通道电压值;通道切换选择模块由按键组成,通过按键选择切换当前要处理的通道;控制中心是AT89C51单片机,完成整个仿真系统控制。
2.2 ADC0808芯片介绍
ADC0808是8位8通道逐次逼近型模数转换器,其中IN0~IN7是8个模拟信号输入端,其输入范围由电源和基准决定;ADDA、ADDB、ADDC为模拟通道地址选择信号,二进制000~111与IN0~IN7一一对应;ALE为地址锁存信号,START为AD转换启动信号,其上升沿对寄存器清零,下降沿启动AD转换,在使用时ALE常与START短接,用一个IO控制;CLOCK为时钟信号,要求不能超过600KHz;EOC为转换结束标志,高电平有效;OE为输出使能信号,高定平有效;2-1~2-7对应转换的8位数据[1][5]。
2.3 MAX7219芯片介绍
MAX7219是美信公司推出的3线串行共阴极数码管驱动器,一个芯片可以驱动8个7段数码管或者64发光二极管。
MAX7219是标准的3线SPI串行接口,LOAD引脚是片选信号,低电平有效;DIN是芯片数据线引脚,控制命令与数据由此引脚输入;CLK是芯片的时钟引脚,在每一个CLK时钟上升沿把有命令和数据组成的16位数据一位一位移入芯片寄存器;DIG0~DIG7是芯片的数据输出引脚,对应7段数码管的为选引脚;SEGA~SEGH对应7段数码管的每一段,即A~H;ISET是电流控制引脚,通过外部电阻决定电流大小;DOUT是串行数据输出引脚,方便实现多片MAX7219的级联[3][4]。
3 仿真系统硬件电路设计
仿真系统硬件电路设计如图2所示。
A/D转换芯片的8位数据接口与AT89C51的P1口连接,模拟通道选择地址线ADDA、ADDB、ADDC分别与AT89C51的P2.0、P2.1、P2.2连接,通过按键K1、K2完成通道选择切换;时钟信号连接到P2.3口,通过单片机定时器提供ADC0808时钟信号;启动信号和转换结束信号分别与P2.4、P2.5连接;电压基准Vref+连接5V,Vref-接地,这样ADC转换范围0~5V。
MAX7219的片选引脚、时钟引脚以及串行数据输入引脚分别于单片机的P0.1、P0.2、P0.0相连,通过单片机模拟3线SPI时序控制MAX7219实现对4位一体共阴极数码管驱动。
两个按键K1、K2分别与单片机的外部中INT0与INT1两连接,这样能够更快相应按键命令。
4 系统软件设计
软件采用C语言编写,在Keil C上进行开发,将生成的Hex文件下载到Proteus中进行调试[6]。系统软件流程图如图3所示。
通过按键K1、K2触发外部中断0、1,在中断函数中置按键标志位;主函数以查询的方式获取按键设置的通道号,启动ADC0808,采集对应通道模拟信号,并将通道号与电压值在数码管上显示。
5 总结
本文借助嵌入式仿真软件Proteus设计了多通道数据采集系统,用可调电阻分压产生不同电压值模拟控制系统中常见的电压、电流、温度、湿度等环境参数,使用8通道A/D转化器ADC0808进行模数转换,并将转换结果实时显示在数码管上。通过仿真清晰直观的观察的系统运行结果,为后续实际设计提供有力保障。
参考文献
[1] 高荣杰.基于Proteus的单片机AD转换仿真[J].计算机与现代化,2009(11):154-155.
[2] 廖振俭.基于Proteus的单片机多通道数据实时采集显示系统仿真设计[J].第十届工业仪表与自动化学术会议,2009:131.
[3] 杨晓玲.MAX7219在管道热熔焊机中的应用[J].仪器仪表学报,2007(8):143.
[4] MAX7219 User’s Guide. MAXIM Integrated Products.2003.
[5] ADC0808 User’s Guide. Texas Instruments Inc.1998.
[6] 张齐,杜群贵.单片机应用系统设计技术—基于C语言编程[M].北京:电子工业出版社,2004.