论文部分内容阅读
摘要:本系统采用AT89C51作为整个系统的MCU,单片机接收键盘输入的采集量,并通过控制继电器的断开或闭合以实现电磁泵自动对样品的定量采集;采用HD7279A构成按键部分,按键输入需要采集的样品量,并在LCD上显示样品采集量。该系统LCD显示清晰,样品采集精度为1mL。
关键词:AT89C51定量采集LCD显示
一、系统概述
本文主要的研究内容是样品的定量自动采集。该系统的研制主要包括硬件电路和软件编程两部分。其中,硬件电路分为键盘输入电路、LCD显示电路、采集样品电路三大模块。键盘输入利用HD7279A芯片组成4*4键盘接口;LCD显示电路采用以T6963C为控制器的液晶显示屏显示样品的采集量;采集样品电路利用电磁泵对样品进行采集,通过继电器的断开或闭合来控制是否驱动电磁泵采集样品;
软件编程主要分为三大模块:LCD显示程序、键盘输入及样品定量采集程序。以T6963C为控制器的液晶显示器是采用文本方式显示汉字和字符。键盘输入程序是通过读取HD7279A键盘接口芯片四个控制引脚(CS、DATA、CLK、KEY)的信号进行编程,当获得有效的样品采集量后,对采集样品的控制端置低,并延时定量采集样品,即可实现样品的定量采集。
二、系统框图及工作原理
根据系统的设计要求,可将系统主要分成以下几个模块:键盘输入模块、样品定量采集模块和LCD显示模块。其系统框图如图1所示。
启动系统后,首先在键盘上输入有效的所需样品A的采集量,并在液晶屏上显示出键盘输入的样品采集量。如果需要删除键入的值,则按下“删除”键,重新输入样品A的采集量即可。如果不需删除直接按下“确认”键后,微控制器开始接收键盘输入的数字信号,通过微控制器进行数据处理后,以控制电磁泵定量的采集样品A;利用同样的方法即可定量地采集样品B。如果需要再次采集样品A和B,只需按下“继续采集键”,则可实现多次循环采集样品A和B。
三、硬件电路设计
1.系统复位电路
如图2所示,将复位电路产生的复位信号经施密特电路整形后,作为系统复位信号,加到单片机和外部I/O接口电路的复位端,即可实现系统复位。
2.LCD显示电路
本次设计采用内置T6963C控制器的点阵式LCD显示器,在硬件电路上,LCD需要一个8位并行接口(如本次设计中AT89C51的P2口)与模块的数据线连接,作为数据总线,还需要一个4位并行接口作为时序控制信号线,如AT89C51的P3.1作为C/D,P3.0作为RESET,P3.2作为WR,以及P3.3作为RD。如图3即为液晶显示模块以间接控制方式与AT89C51的接口电路。
3.键盘输入电路
本系统键盘输入电路是利用键盘智能控制芯片HD7279A进行设计。HD7279A具有片选信号,可以方便地实现键盘的接口功能,调试时也将更加稳定。由HD7279A芯片功能可知,它只需4根线(CS、CLK、DATA、KEY)与AT89C51相连,即可实现键盘接口的功能。其中,键盘输入电路如图4所示。
4.样品采集电路
对于样品采集电路的设计,首先为满足控制端和输入端闭合与打开的电势差要求,故选用6V的固态继电器;并利用74LS04(反向器)驱动固态继电器;然后通过软件编程控制电磁泵是否采集样品。如图5所示,即为样品采集电路。
四、系统软件设计
本次设计采用C51高级语言编程,可使程序结构规范,并具有极强的可移植性和可读性。根据样品定量自动采集系统的总体设计要求以及硬件电路接口连接情况,软件编程主要包括三个步骤:系统初始化、LCD显示、样品定量采集。因此,软件主程序流程图如图6所示。
本系统是利用电磁泵对样品进行定量采集,通过控制继电器的断开或闭合,以达到是否驱动电磁泵进行采样控制,即流量控制。继电器连接于AT89C51的P1.6口,当P1.6为高电平时,继电器断开,即泵未被驱动不对样品进行采集;当P1.6为低电平时,继电器闭合,电磁泵被驱动开始采集样品。因此对样品A输入00~99mL的采集量,按下“确认”键后,将P1.6置低,并进行相应的延时(1mL延时1.4ms),采集完相应的样品A,再将P1.6置高,断开继电器。同理,对样品B进行定量采集。其样品采集软件流程框图如图7所示。
其中,主程序的源程序代码如下:
void main(void)
{ unint i,j;
col=0x04;
ES=0;
ShowMain();//显示系统状态
DisplayKey();//键盘显示
DianCiFa();//电磁阀定量采集样品
col =5;
DisplayKey();//键盘显示
DianCiFa();//电磁阀定量采集样品
}
键盘显示
void DisplayKey()
{unchar m,n;
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21); //显示闪烁光标
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
m=key;
Show(key) //显示相应键值
col ;//光标右移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
//显示闪烁光标
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
n=key;
Show(key) //显示相应键值
while(HD7279_GetKey()!=0x0f) //等待“确认键”
{if(key=0x0e) //如果按键为“删除键”,重新覆盖显示
{ col--; //光标左移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
m=key;
Show(key) //显示相应键值
col ;//光标右移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
n=key;
Show(key) //显示相应键值
}}
keynumber=m*10 n;
}
电磁阀采集样品程序
void DianCiFa()
{ con=1;
do
{ con=0;//打开电磁阀
Lcddelay(1400);
}while(keynumber--);
con=1;
}
参考文献:
[1]张勇等.液体流量控制的模拟实验研究[J].东南大学学报,2002,(1).
[2]胡伟.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2001.
[3]涂时亮等.单片机微机软件设计技术[M].重庆:科学技术文献出版社重庆分社,1999.
[4]赖麒文.MCS-51系列单片机C语言开发环境实务与设计[M].北京:科学出版社,1998.
(作者单位:江西东华计量测试研究所)
关键词:AT89C51定量采集LCD显示
一、系统概述
本文主要的研究内容是样品的定量自动采集。该系统的研制主要包括硬件电路和软件编程两部分。其中,硬件电路分为键盘输入电路、LCD显示电路、采集样品电路三大模块。键盘输入利用HD7279A芯片组成4*4键盘接口;LCD显示电路采用以T6963C为控制器的液晶显示屏显示样品的采集量;采集样品电路利用电磁泵对样品进行采集,通过继电器的断开或闭合来控制是否驱动电磁泵采集样品;
软件编程主要分为三大模块:LCD显示程序、键盘输入及样品定量采集程序。以T6963C为控制器的液晶显示器是采用文本方式显示汉字和字符。键盘输入程序是通过读取HD7279A键盘接口芯片四个控制引脚(CS、DATA、CLK、KEY)的信号进行编程,当获得有效的样品采集量后,对采集样品的控制端置低,并延时定量采集样品,即可实现样品的定量采集。
二、系统框图及工作原理
根据系统的设计要求,可将系统主要分成以下几个模块:键盘输入模块、样品定量采集模块和LCD显示模块。其系统框图如图1所示。
启动系统后,首先在键盘上输入有效的所需样品A的采集量,并在液晶屏上显示出键盘输入的样品采集量。如果需要删除键入的值,则按下“删除”键,重新输入样品A的采集量即可。如果不需删除直接按下“确认”键后,微控制器开始接收键盘输入的数字信号,通过微控制器进行数据处理后,以控制电磁泵定量的采集样品A;利用同样的方法即可定量地采集样品B。如果需要再次采集样品A和B,只需按下“继续采集键”,则可实现多次循环采集样品A和B。
三、硬件电路设计
1.系统复位电路
如图2所示,将复位电路产生的复位信号经施密特电路整形后,作为系统复位信号,加到单片机和外部I/O接口电路的复位端,即可实现系统复位。
2.LCD显示电路
本次设计采用内置T6963C控制器的点阵式LCD显示器,在硬件电路上,LCD需要一个8位并行接口(如本次设计中AT89C51的P2口)与模块的数据线连接,作为数据总线,还需要一个4位并行接口作为时序控制信号线,如AT89C51的P3.1作为C/D,P3.0作为RESET,P3.2作为WR,以及P3.3作为RD。如图3即为液晶显示模块以间接控制方式与AT89C51的接口电路。
3.键盘输入电路
本系统键盘输入电路是利用键盘智能控制芯片HD7279A进行设计。HD7279A具有片选信号,可以方便地实现键盘的接口功能,调试时也将更加稳定。由HD7279A芯片功能可知,它只需4根线(CS、CLK、DATA、KEY)与AT89C51相连,即可实现键盘接口的功能。其中,键盘输入电路如图4所示。
4.样品采集电路
对于样品采集电路的设计,首先为满足控制端和输入端闭合与打开的电势差要求,故选用6V的固态继电器;并利用74LS04(反向器)驱动固态继电器;然后通过软件编程控制电磁泵是否采集样品。如图5所示,即为样品采集电路。
四、系统软件设计
本次设计采用C51高级语言编程,可使程序结构规范,并具有极强的可移植性和可读性。根据样品定量自动采集系统的总体设计要求以及硬件电路接口连接情况,软件编程主要包括三个步骤:系统初始化、LCD显示、样品定量采集。因此,软件主程序流程图如图6所示。
本系统是利用电磁泵对样品进行定量采集,通过控制继电器的断开或闭合,以达到是否驱动电磁泵进行采样控制,即流量控制。继电器连接于AT89C51的P1.6口,当P1.6为高电平时,继电器断开,即泵未被驱动不对样品进行采集;当P1.6为低电平时,继电器闭合,电磁泵被驱动开始采集样品。因此对样品A输入00~99mL的采集量,按下“确认”键后,将P1.6置低,并进行相应的延时(1mL延时1.4ms),采集完相应的样品A,再将P1.6置高,断开继电器。同理,对样品B进行定量采集。其样品采集软件流程框图如图7所示。
其中,主程序的源程序代码如下:
void main(void)
{ unint i,j;
col=0x04;
ES=0;
ShowMain();//显示系统状态
DisplayKey();//键盘显示
DianCiFa();//电磁阀定量采集样品
col =5;
DisplayKey();//键盘显示
DianCiFa();//电磁阀定量采集样品
}
键盘显示
void DisplayKey()
{unchar m,n;
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21); //显示闪烁光标
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
m=key;
Show(key) //显示相应键值
col ;//光标右移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
//显示闪烁光标
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
n=key;
Show(key) //显示相应键值
while(HD7279_GetKey()!=0x0f) //等待“确认键”
{if(key=0x0e) //如果按键为“删除键”,重新覆盖显示
{ col--; //光标左移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
m=key;
Show(key) //显示相应键值
col ;//光标右移一位
OutPortCom1(0x97);
OutPortCom3(col,0x03,0x21);
OutPortCom1(0xa0);
HD7279_GetKey(); //读键盘,获得键值
n=key;
Show(key) //显示相应键值
}}
keynumber=m*10 n;
}
电磁阀采集样品程序
void DianCiFa()
{ con=1;
do
{ con=0;//打开电磁阀
Lcddelay(1400);
}while(keynumber--);
con=1;
}
参考文献:
[1]张勇等.液体流量控制的模拟实验研究[J].东南大学学报,2002,(1).
[2]胡伟.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2001.
[3]涂时亮等.单片机微机软件设计技术[M].重庆:科学技术文献出版社重庆分社,1999.
[4]赖麒文.MCS-51系列单片机C语言开发环境实务与设计[M].北京:科学出版社,1998.
(作者单位:江西东华计量测试研究所)