当前位置:文档之家› 基于单片机气体流量测量仪设计

基于单片机气体流量测量仪设计

目录引言 (1)1总体方案设计 (2)1.1 本设计的任务 (2)1.2总体设计框图 (2)2 系统的硬件电路设计 (3)2.1 硬件模块介绍 (3)2.1.1 CPU (AT89S51) (3)2.1.3电源设计 (8)2.1.4键盘设计 (9)2.1.5复位电路设计 (10)2.1.6 A/D转换电路 (10)2.1.7 步进电机控制接口电路 (14)2.1.8 气体流量采集原理 (16)2.2总原理图 (18)2.3 PCB图 (19)3 系统软件设计 (19)3.1 主程序设计 (20)3.2 流量控制子程序 (20)3.3 中断服务子程序 (25)3.3.1 设定值输入程序 ................................. 错误!未定义书签。

3.3.2 定时器中断子程序 . (27)3.3.3 数码管显示子程序 (28)3.3.4 步进电机控制程序 (29)4结论 (30)致谢 (31)基于单片机气体流量测量仪设计摘要:本设计电路是以AT89S51单片机为控制核心。

它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。

整个系统硬件部分包括气体流量测量,自激式A/D转换器,按键电路,驱动电路,时序电路,和8段译码器,LED数码显示器。

在配合用汇编语言编制的程序使软件实现,实现气体流量智能转换的基本功能。

本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。

本文从3个方面展开论述,首先是硬件电路的描述;接着软件部分的设计;最后实现功能。

关键词:AT89S51单片机流量控制数码管 LED数码显示引言目前单片机的应用已深入到国民经济的各个领域,对各行各业的技术改造和产品的更新换代起着推动作用,以前没有单片机时,气体流量测量仪也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。

在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。

这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。

当今社会,随着科学技术的快速发展,自动控制在人们的生活中可以说“无孔不入”,小到遥控儿童玩具,大到冰箱空调的智能化,都体现了科学技术的进步。

特别是单片机(Single-Chip Microcomputer SCM)技术的应用,不但降低了生产成本,同时也方便了消费者,使操作简洁、安全。

单片机的应用使许多复杂的事情,都能够简单、方便的实现了。

用单片机控制的器件,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点,充分发挥了单片机的控制优势。

本设计可用于气体流量控制,方便了广大用户。

本设计是一个具有自动控制气体输入的气体流量测量仪。

由时钟电路、显示电路、驱动电路、控制电路四部分组成。

现代机关企业以,特别是家庭对暖气、液化气等的需求逐渐增多,供暖、供气的自动控制为这些企业节省了大量的人力物力。

本设计实现了这些功能,给供暖及其他相关企业带来方便,整体性好,人性化强、可靠性高,实现了对气体流量控制的智能化。

1总体方案设计1.1 本设计的任务本设计是一个由单片机控制的,具有显示和自动控制的气体流量测量仪。

根据设计任务的基本要求,设计了由单片机(AT89S51)作为主控器件,七段数码管及芯片74ALS164作为显示电路,五个按键组成的按键操作电路,以及驱动电路、步进电机控制电路组成的气体流量输出控制电路构成的气体流量自动控制器。

系统大体可分成以下几部分,即时钟电路、显示电路、驱动电路、控制电路,而时钟电路起控制主导作用。

时钟电路的构成由单片机及其定时器完成,流量显示电路则由单片机并行输出,送到外部寄存器芯片74ALS164,最后由七段数码管显示出来。

控制电路主要控制着复位电路、驱动电路以及设置初值等操作。

除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。

1.2总体设计框图通过气体流量传感器采集气体流量数据,将采集到的流量信号传输给单片机,再由单片机控制显示器,并比较采集的流量与设定的流量是否一致,然后驱动步进电机对进气阀门进行处理,从而模拟实现气体流量控制单元的工作情况。

气体流量控制器主要由单片机,时序电路,流量采集电路,A/D转换电路,流量显示电路,流量输入电路,驱动电路等组成。

系统原理图见图1.2所示:图1.2 气体流量控制系统框图2 系统的硬件电路设计2.1 硬件模块介绍2.1.1 CPU (AT89S51)本设计采用了ATMEL的AT89S51微处理器为核心模块,基于以下几个个因素:(1)性价比高,货源充足,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

(2)DIP40封装,体积小,便于产品小型化。

(3) 兼容标准MCS-51指令系统及80C51引脚结构。

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes 的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

1.主要特性:• 8031 CPU与MCS-51 兼容• 4K字节可编程FLASH存储器(寿命:1000写/擦循环)•全静态工作:0Hz-24KHz•三级程序存储器保密锁定• 128*8位内部RAM• 32条可编程I/O线•两个16位定时器/计数器• 6个中断源•可编程串行通道•低功耗的闲置和掉电模式进行校验时,P0输出原码,此时P0外部必须被拉高。

• P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

• P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

• P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部,然后再实行读引脚操作否则就可能读入出错。

• RST:AT89S51的重置引脚,复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。

• ALE/PROG:ALE是英文"Address Latch Enable"的缩写,表示地址锁存器启用信号。

AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。

平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。

此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

• /PSEN:此为"Program Store Enable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。

AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。

相关主题