基于单片机的流量控制器的设计与实现讲解_第1页
基于单片机的流量控制器的设计与实现讲解_第2页
基于单片机的流量控制器的设计与实现讲解_第3页
基于单片机的流量控制器的设计与实现讲解_第4页
基于单片机的流量控制器的设计与实现讲解_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、辽东学院本科毕业论文(设计)基于单片机的流量控制器的设计与实现the design and implementation of traffic controllerbased on mcu学生姓名:学院:专业:班级:学号:指导教师:审阅教师:完成日期:辽东学院eastern liaoning university独创性说明作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行 的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果, 也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。与我 一同工作的同志对

2、本研究所做的贡献均已在论文中做了明确的说明并表示 了谢意。作者签名:日期: 辽东学院本科毕业论文(设计)题目摘要本设计基于51单片机实现一款精简功能的液体灌装机。设计实现了两个灌装嘴,容器到位自动开始灌装的功能,装至设定容量,自动停止,并计件数;12864液晶显示器显示当前灌装规格和灌装件数;设计中按键操作可以设定灌装规格;而且设计系统还 具备设备清洗功能键设置,及排空液体储料罐,关闭后清洗,然后排空清洗液。设计中研究单片机技术,详细的介绍了单片机的应用。设计基于单片机实现控制器; 研究传感器技术实现物料的精确计量。关键词:51单片机;流量控制;12864液晶;液体灌装机-i -目 录摘要i.

3、一、绪论1(一)研究背景1(二)单片机技术发展现状2二、方案论证3(一)控制芯片选择3(二)显示模块的选择3(三)系统总体结构框图 4三、硬件电路设计5(一)单片机系统介绍51 .复位方式82 .时钟电路9(二)12864液晶显示电路 10(四)键盘电路11(五)电磁阀控制电路11(六)计数单元电路12(七)脉冲流量计的工作原理 13(八)电磁阀选择13四、软件设计15(一)主程序流程图 15(二)编程环境介绍16(三)软件程序各模块函数介绍 171、 液晶屏初始化函数:172、计数中断函数:183、主程序184、延时函数介绍19结 论22参考文献23附录a硬件电路图24附录b程序源代码 25

4、致 谢34辽东学院本科毕业论文(设计)题目一、绪论(一)研究背景上世纪60年代中期,中小规模集成电路问世,使得原来的电路变得更小,因此, 由集成电路做成的电子测量仪器体积更为减小,同时其测量范围更为宽广,测量精度大 为提高。不过随着检测的数量提高,对速度,智能控制要求大大提高,单单由集成电路 搭建的测量电路已无法满足测量需求,上世纪世纪 70年代伊始,单片机机、微电子等 技术迅猛发展。在它们的推动下,为适应现代化工业生产甚至战争的新需求,测量技术 与仪器不断进步,相继诞生了智能仪器、 pc仪器、vxi仪器、虚拟仪器及互换性虚拟仪 器等微机化仪器及其自动测试系统,计算机与现代仪器设备间的界限日渐

5、模糊,测量领 域和范围不断拓宽。近10年来,以internet为代表的网络技术的出现以及它与其他高新科技的相互结合,不仅已开始将智能互联网产品带入现代生活,而且也为测量与 仪器技术带来了前所未有的发展空间和机遇,网络化测量技术与具备网络功能的新型仪器应运而生。中国电子测量技术经过40多年的发展,为我国国民经济、科学教育、特别是国防军事的发展做出了巨大贡献。随着世界高科技发展的潮流,中国电子测量仪 器也步入了高科技发展的道路,特别是经过“九五”期间的发展,我国电子测量技术在 若干重大科技领域取得了突破性进展, 为我国电子测量仪器走向世界水平奠定了良好的 基础。进入21世纪以来,科学技术的发展已难

6、以用日新月异来描述。新工艺、新材料、 新的制造技术催生了新的一代电子元器件,同时也促使电子测量技术和电子测量仪器产 生了新概念和新发展趋势随着信息技术的发展日新月异,一个以信息资源的采集、开发、利用为特征的信息技术革命正席卷全球,信息技术已广泛的渗透到社会各个领域,在世 界经济和社会发展中发挥着越来越重要的作用。日前各个发达国家都在致力于信息化建 设,以此来加速本国经济的发展。发展信息产业有许多关键的要素,如单片机、通信、 集成电路、软件和信息服务业的建设等。但是如何将人类的社会活动和生产活动与现代 化的信息传输和处理手段联系在一起也是一个重要的课题,只有解决了这个实际要求, 才能使人类享受到

7、信息技术带来的高度的物质文明和精神文明。如今,可编程的单片机 系统被广泛应用在大型生产线中,由单片机控制的自动化系统编程灵活,可以针对具体 情况进行程序设计,调试。如今为各大企业所青睐(二)单片机技术发展现状自单片机出现至今,单片机技术已走过了近 20年的发展路程。纵观20年来单片机 发展历程可以看出,单片机技术的发展以微处理器(mcu)技术及超大规模集成电路技术 的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展,随着半导 体技术的飞速发展,单片机更新换代的速度越来越快,以386、486、586为代表的mcu , 很短的时间内就被淘汰出 局,而传统的单片机如68hc05、80

8、51等年龄已有15岁,产 量仍是上升的。这一方面是由 于其对相应应用领域的适应性,另一方面是由于以该类 cpu为核心,集成以更多i/o功能 模块的新单片机系列层出不穷。可以预见,一些成 功上市的相对年轻的cpu核心,也会随 着i/o功能模块的不断丰富,有着相当长的 生存周期。新的cpu类型 的加盟,使单片机队伍 不断壮大,给用户带来了更多的选择 余地,这是当前单片机技术发展的另一动向。长期以来,单片机技术的发展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。以motorola 68k为cpu的32位单片机97年的销售量达8千万枚。 过去

9、认为由于8位单片机功能越来越强,32位机越来越便宜,使16位单片机生存空间 有限,而16位单片机的发展无论从品种和产量方面, 近年来都有较大幅度的增长。mcu 发展中表现出来的速度越来越快是以时钟频率越来越高为标志的。而单片机则有所不 同,为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技 术发展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频 率的条件下,使运算速度提高了很多,motorola单片机则使用了琐相环技术或内部倍频 技术使内部总线速度大大高于时钟产生器的频率。68hc08单片机使 用4.9m外部振荡器而内部时钟达32m,而m68k系列

10、32位单片机使用32k的外部振荡器频率内部时钟 可达16mhz以上。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推 出了自己的单片机 从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补, 为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势, 且功耗越来越低,cs-51系列的8031推出时的功耗达630mw,而现在的单片机普遍都在 100mw左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了 cmos(互补金属氧化物半导体工艺)080c51就采用了 hmos(即高密度金属氧化物半导 体工艺)和chmos(互补高密度金属氧

11、化物半导体工艺)。cmos虽然功耗较低,但由于其 物理特征决定其工作速度不够高,而chmos则具备了高速和低功耗的特点,这些特征,更 适合于在要求低功耗,电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展 的主要途径。-3 一辽东学院本科毕业论文(设计)题目二、方案论证(一)控制芯片选择方案一:采用atmel公司生产的89c51 8位单片机。该单片机具有成本低,性价比 高的优点,且编程较方便,其外部具有 32个可编程i/o 口、内部含有3个16位定时 器/计数器、可使用八个中断源、并且可进行全双工的串行通信。但是其内部模块较少、 功能局限性大,并且内部没有集成模/数转换模块、脉冲宽度调

12、制模块,如果需要使用ad模块和脉冲宽度调 制模块的话需要外加这些外围电路,比较麻烦。方案二:采用 freescale公司生产的mk10dn512系列32位单片机。该单片 机内部具有128k的ram和128k的rom、512k可编程flash存储器、16路精度 为8bit/10bit/12bit的ad转换模块、16路脉冲宽度调制(pwm )通道、8个定时器/计 数器、2个全双工uart串行通道、看门狗定时器、80个可编程i/o 口、16个外部事 件触发中断引脚、超过150个中断输入源。是一款性能十分强大的综合性单片机,并且 内部自带pll模块,总线频率最高可以设置成 256mhz,运算速度快并稳

13、定。100引 脚的mk10dn512芯片的质量仅为50g。不过其做工复杂,成本较高,因此性价比较低, 一般应用在汽车,航天等高精度控制领域。在本次设计中,流量计回传为脉冲型,因此不必采集模拟量,且控制方式为电平式, 从成本的角度出发,89c51单片机完全可以满足要求,因此本次设计中选择性价比更高 的89c51单片机。(二)显示模块的选择方案一:采用7晶1602作为显示模块,1602液晶每行可显示16个字符一共可以显 示两行,可以显示数字和字符但是不能显示汉字,由于系统中采集的信息有可能是汉字 的所以没有选择1602液晶。方案二:采用液晶12864, ,12864液晶显示可以显示汉字,带有字库显

14、示方便技术 成熟,对于系统而言满足系统要求。可以显示较多的信息了,本系统要求显示信息较较 多所以本设计选用12864作为显示单元的显示器。(三)系统总体结构框图本次设计的流量控制器系统分别为电源模块,键盘和12864屏幕人机对话模块,单片机最小系统模块,继电器执行模块,以及计数单元模块等,总体结构框图如图2.1所示:图2.1主控模块系统总设计结构图辽东学院本科毕业论文(设计)题目三、硬件电路设计本次设计的流量控制器系统主要由 atme公司的at89c51单片机最小系统、两个用 于计数的红外光电传感器、用于控制液体电磁阀门的继电器、流量计、以及带显示屏和 按键系统的人机对话外设、电源模块部分等。

15、(一)单片机系统介绍at89c51属于mcs-51系列单片机。在mcs-51系列中,各类单片机是相互兼容的, 只是引脚功能略有差异。在器件引脚的封装上,mcs-51系列机通常有两种封装:一种是 双列直插式封装,常为 hmo型器件所用;另一种是方形封装,大多数在chmos器件中使用。其中,引脚 1和引脚2 (方形封装为引脚 2和引脚3)的第二功能仅用于 8052/8032, nc为空引脚。如下图所示。at89c5侑40条引脚,共分为端口线、电源线和控制线三类。1 .端口线(4x8=32条)8051共有四个并行i/o端口,每个端口都有八条端口线,用于传送数据 /地址。由 于每个端口的结构各不相同,

16、因此它们在功能和用途上的差别颇大。现对它们综述如下:p0.7 p0.0:这组引脚共有八条,为p。口所专用,其中r.7为最高位,p0.0为最低位。 这八条引脚共有两种不同的功能,分别使用于两种不同的情况之下。第一种情况是at89c5体带片外存储器,r 口可以作为通用i/o 使用,r.7 用于传送cpu勺输入 /输出数据。这时,输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得 到缓冲,增加了数据输入的可靠性。第二种情况是at89c51带片外存储器,田一b在cp期问片外存储器时先是用于传送片外存储器的低 8位地址,然后传送cpu寸片外存 储器的读写数据。x,palix,pal2xtal11

17、9.xial2it*vccpo.o/adop0j/ad1p0 2/a)2p03/ad3p0.4/ad4st9 .ji.29 jale30;1匚 jrxdjitrste/vppfsenal.epwrxd p3,btxdp3.2/tnt0p3.3,w1p3.4/t0p3.5/t1p3.6.wrp3;即vsspu5/ad5 p0.6/ad6p05/ad7ppppp5 67p22/a10p23/a11p24a 12p2.5/a13p2.6/a14p2,7/ai5图3.3最小系统电路图其中,8751的p0 口还有第三种功能,即它们可以用来得8751片内epro蝴程或进 行编程后的读出校验。这时,p0.7

18、 p0.0用于传送epromu编程机器码或读出校验码。p1.7 p1.0:这八条引脚和p0 口的八条引脚类似,p1.7为最高位,p1.0为最低 位。当p1 作为通用i/o使用时,p1.7-p1.0的功能和p0 口的第一功能相同,也用 于传送用户的输入输出数据。8751的p1 还有第二功能,既它在8751编程/校验时用于输入片内eproms氐8 位地址。p2.7 p2.0:这组引脚的第一功能和上述两组引脚的第一功能相同,即它可以作 为通用i/o使用。它的第二功能和p0 口引脚的第二功能相配合,用于输出片外存储器 的高8位地址,共同选中片外存储器单元,但并不能像p0 口那样还可以传送存储器的读写数

19、据。8751的p2.7 p2.0还具有第二功能,即它可以配合 p1.7p1.0传送片内eprom12 位地址中的高八位地址。p3.7 p3.0:这组引脚的第一功能和其余三个端口的第一功能相同。第二功能作控制用,每个引脚并不完全相同,如表 1所示。-5 一辽东学院本科毕业论文(设计)题目表1 p3 口各位的第二功能p3 口的位第二功能注释p3.0rxd申行数据接收口p3.1txd申行数据发送口p3.2int 0外中断0输入p3.3int 1外中断1输入p3.4t0计数器0计数输入p3.5t1计数器1计数输入p3.6wr外部ramw选通信号p3.7rd外部ram文选通信号2 .电源线(2条)vcc

20、fy+5v电源线,vss接地线。3 .控制线(6条)ale/pr0g :地址锁存允许/编程线,配合p0口引脚的第二功能使用。在访问片 外存储器时,8051cpuft p0.7-p0.0引脚线上输出片外存储器低 8位地址的同时还在 ale/pr0g线上输出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专 用地址锁存器。以便空出 p0.7-p0.0引脚线去传送随后而来的片外存储器读写数据。 在不访问片外存储器时,8051自动在ale/prog线上输出频率为fosc/6的脉冲序列。 该脉冲序列可用作外部时钟电源或作为定时脉冲源使用。对于8051, ale/pr0g线还具有第二功能。它可以在

21、对8051片内eproms程/校验 时传送52ms宽的负脉冲。ea/vpp:允许访问片外存储器/编程电源线,可以控制8051使用片内rome是 使用片外rom若ea =1,则允许使用片内rom若ea =0,则允许使用片外rom对8751, ea/vpp用于在片内epromfi程/校验时输入21v编程电源。psen :片外roms通线,在执行访问片外rom勺指令mov酎,8051自动在psen 线上产生一个负脉冲,用于为片外 roms片的选通。其他情况下,psen线均为高电平 封锁状态。77 一辽东学院本科毕业论文(设计)题目rst/vpd复位/备用电源线,可以时8051处于复位(即初始化)工作

22、状态。通 常,8051的复位有自动上电复位和人工按钮复位两种。rst/vpd勺第二功能是作为备用电源输入端。当主电源 vcc生故障而降低到规定 低电平时,rst/vp啜上的备用电源自动投入使用,以保证片内ramh言息不丢失。在单片机应用系统中,除单片机本身需要复位以外,外部扩展i/o接口电路等也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。xtal1和xtal2片内振荡电路输入线,这两个端子用来外接石英晶体和微调电 容,即用来连接8051片内osc勺定时反馈回路。石英晶振起振后要能在xtal2线上输出一个3v左右的正弦波,以便使mcs-51片内 的osc4路按石英晶振相同频率

23、自激振荡。通常,fosc的输出时钟频率fosc为0.5mhz 16mhz典型值为12mh/11.059mhz,电容c01和c02可以帮助起振,典型值为30pf , 调节它们可以达到微调fosc的目的。mcs-51 所需的时钟也可以由外部振荡器提供。 外部时钟源应是方波发生器,频率应 根据所用mcs-51中的具体机型确定。1 .复位方式51单片机的复位是单片机的初始化操作。 单片机启运运行时,都需要先复位,其作 用是使cpuw系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而, 复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的 外部电路才能实现复位电路8

24、9c51系列单片机的复位引脚 rst住称reset出现2个机器周期以上的高电平时, 单片机就执行复位操作。如果rst持续为高电平,单片机就处于循环复位状态。 根据 应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图3.1中所示。图中电容c和电阻r对电源十5v来说构成微分电路。上电后,保持 rst一段高电平时间,由 于单片机内的等效电阻的作用,不用图中电阻r,也能达到上电复位的操作功能,为保险起见,本次复位电路加入电阻 r。复位电路如图3.1所示:-# 一辽东学院本科毕业论文(设计)题目ditl) blvcc10u

25、f/16v图3.1复位电路图2 .时钟电路单片机工作时,是按拍从row取指令,然后按步执行。单片机访问一次存储器的 时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了 12mh磊振,它的时钟周期是1/12us ,它的一个机器周期是12 x(1/12)us ,也就是1us0 at89c51单片机的所有指令中,有一些完成得比较快,只要 一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓 指令周期就是指执行一条指令的时间。例如,当需要计算djnz指令完成

26、所需要的时间时,首先必须要知道晶振的频率,设所用晶振为 12mhz则一个机器周期就是1uso而 djnz旨令是双周期指令,所以执行一次要2us。如果该指令需要执行500次,正好1000us, 也就是1ms机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定 时器和计数器的时间基准。例如一个单片机选择了12mh翁振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。所以,如果最小系统中没有时钟电路,便没有时钟周期,单片机也就无法工作。为 此本次设计了由一个12mhzhf振,两个滤波电容,和一个起振电阻组成的时钟电路来为 最小系统中的at89c51单片机提供时

27、钟脉冲。本次设计始终电路如图3.2所示:-9 一辽东学院本科毕业论文(设计)题目v5 一invhxc230pfcziylt i2mc3|l30pf图3.2时钟电路图(二)12864液晶显示电路本次采用的显示屏为12864液晶显示屏,相较于数码管显示电路,12864液晶显示 屏具有结构简单,刷新速度快,不包含像数码管外围驱动电路,极大程度降低了故障的 发生率,12864液晶显示模块是128x64点阵的汉字图形型液晶显示模块,可显示汉字 及图形,内置8192个中文汉字(16x16点阵)、128个字符(8x16点阵)及64x256 点阵显示ram (gdram)。可与cpu直接接口,提供两种界面来连

28、接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等12864屏幕io 口电路如图3.4所示(四)键盘电路本次设计需要设置灌装规格,容量等,需要使用按键电路来给单片机提供信息,按 键开关采用共地方式,即为当按下按键时,引脚输出低电平,当待机状态时,引脚输出 高电平键盘电路如图3.5所示:图3.5键盘电路原理图(五)电磁阀控制电路继电器执行模块电路如图3.6所示:图3.6继电器执行模块电路图本次系统设计输出方式为单片机通过继电器驱动电路,从而控制电磁阀门的开闭, 因为单片机的io 输出为带载能力很微弱的电压信号,驱动能力极低,因此需要使用 一个s8050npne

29、极管来作为继电器的驱动电路,当三极管基极输出为低电平时,三极 管的发射极和集电极具有很大阻抗,可以近似看做为断路状态,当基极为高电平时,发 射极和集电极导通,这时,发射机为高电平,从而驱动继电器合闸,控制电磁阀门开启(六)计数单元电路本次设计中使用的计数单元为光电式计数单元。传统机械触碰开关结构复杂,体积 大,且无法安装在固定位置,利用光电检测技术是工业光电信息技术的主要方式,随着 现代科学技术以及复杂自动控制系统和信息处理技术的提高,它以测量精度高、速度快、非接触、频宽与信息容量极大、信息效率极高及自动化程度高等突出特点发展十分迅速 , 并推动着信息科学技术的发展。随着科学技术的发展,光电电

30、子计数器的辅助功能也逐渐增加,现在已经出现了多 功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无 机械碰撞、无磨损、使用寿命长,既可计数,又可计算,还可实现断线报警;通用光电 计数器不仅可测频率、周期还可以测多周期平均、时间问隔、频率比和累计等。本次使用的光电计数器由两部分组成,即为发射部分和接收部分,其中发射部分为 ler可以发出红外光,接收部分为红外接收管,当接收管接收到发射管的红外光时, 可以输出高电平,当红外光被容器屏蔽时,可输出低电平,单片机可以根据计数器输出 的高低电平来计算容器数。光电计数单元模块电路如图3.7所示:图3.7光电计数模块电路图(七)脉冲

31、流量计的工作原理在管道中心安放一个涡轮,两端由轴承支撑.当流体通过管道时,冲击涡轮叶片, 对涡轮产生驱动力矩,使涡轮克服摩擦力矩和流体阻力矩而产生旋转.在一定的流量 范围内,对一定的流体介质粘度,涡轮的旋转角速度与流体流速成正比.由此,流体 流速可通过涡轮的旋转角速度得到,从而可以计算得到通过管道的流体流量.设计中选用的流量计实物图如图 3. 8所示:图3.8流量计实物图涡轮的转速通过装在机壳外的传感线圈来检测.当涡轮叶片切割由壳体内永久磁 钢产生的磁力线时,就会引起传感线圈中的磁通变化.传感线圈将检测到的磁通周期 变化信号送入前置放大器,对信号进行放大、整形,产生与流速成正比的脉冲信号, 送

32、入单位换算与流量积算电路得到并显示累积流量值;同时亦将脉冲信号送入频率电 流转换电路,将脉冲信号转换成模拟电流量,进而指示瞬时流量值。(八)电磁阀选择纵观国内外电磁阀,到目前为止,从动作方式上可分为三大类即:直动式、反冲式、 先导式,而从阀瓣结构和材料上的不同以及原理上的区别反冲式又可分为:膜片式反冲 电磁阀、活塞式反冲电磁阀;先导式又可分为:先导式膜片电磁阀、先导式活塞电磁阀; 从阀座及密封材料上分又可分为: 软密封电磁阀、钢性密封电磁阀、半钢性密封电磁阀。一、直动式电磁阀原理:常闭型直动式电磁阀通电时,电磁线圈产生电磁吸力把阀芯提起,使关闭件 离远开阀座密封副打开;断电时,电磁力消失,靠弹

33、簧力把关闭元件压在阀座上阀门关 闭。(常开型与此相反)。特点:在真空、负压、零压差时能正常工作,dn50以下可任意安装,但电磁头体积 较大。如我公司引进herion司技术生产的直动电磁阀可用于 1.33x10-4 mpa真空, 二、反冲型电磁阀原理:它的原理是一种直动和先导相结合,通电时,电磁阀先将辅阀打开,主阀下 腔压力大于上腔压力而利用压差及电磁阀的同时作用把阀门开启;断电时,辅阀利用弹 簧力或介质压力推动关闭件,向下移动便阀门关闭。特点:在零压差或高压时也能可靠工作,但功率及体积较大,要求竖直安装。三、先导式电磁阀原理:通电时,电磁力驱动先导阀打开先导阀,主阀上腔压力迅速下降,在主阀上

34、下腔内形成压差,依靠介质压力推动主阀关闭件上移,阀门开启;断电时,弹簧力把先 导阀关闭,入口介质压力通过先导孔迅速进入主阀上腔在上腔内形成压差,从而使主阀 关闭。本设计中采用常闭型直动式电磁阀,上电阀开启,实物图如图3.9所示:图3.9所示电磁阀实物图四、软件设计(一)主程序流程图系统上电后显示欢迎使用流量控制系统,过后显示需要的灌装的规格,确认后系统 自动保存,系统的软件整体流程图如图 4.1所示:图4.1主程序流程图(二)编程环境介绍keil c51标准c编译器为8051微控制器的软件开发提供了 c语言环境,本站特地 制作了一个相对简单的教程。此软件能嵌入汇编语言保留了汇编代码高效,快速的

35、特点。keil c51编译器的功能不断增强,使你可以更加贴近cpu#身,及其它的衍生产品, 其效率已经达到了相当搞的程度。c51已被完全集成到uvision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uvision2 ide可为它们提供单一而灵活的开发环境。keil c51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一 体,支持汇编,plm语言和c语言的程序设计,界面友好,易学易用。如图 5.2为打开 界面:y0l_software7?ue integrationide forvision 旦mi crocontrol1 ert

36、his program s prorected by u s and internstiomal copyright laws图5.2 keil打开界面工程新建后保存即可在打开界面进行编程,如图 5.3为编写程序时的界面图辽东学院本科毕业论文(设计)题目(三)软件程序各模块函数介绍1、液晶屏初始化函数:void init_st7920()主要对12864液晶在显示前进行端口初始化,方便数据到来时的显示。psb=1;设置为8bit并口工作模式res=0爱位res=1&位置高write_cmd(0x30);选择基本指令集delayus2x(50);延时大于 100uswrite_cmd(0x30)

37、;选择 8bit 数据流delayus2x(20);延时大于 37uswrite_cmd(0x0c);开显示(无游标、不反白)delayus2x(50);延时大于 100uswrite_cmd(0x01);消除显示,并且设定地址指针为 00hdelayms(15);延时大于 10mswrite_cmd(0x06);指定在资料的读取及写入时,设定游标的移动方向及指定显示的 移位,光标从右向左加1位移动2、计数中断函数:void initlnt(void) 外部中断初始化v9 一ea=1;ex0=1;it0=1;ex1=1;it1=1;/全局中断开外部中断0开/边沿触发外部中断1开/it1=1表示

38、边沿触发3、主程序 void main (void) unsigned char i;initint();init_st7920(); 初始化lcd_putstring(0,2,欢迎使用);lcd_putstring(0,3, 流量控制系统); for(i=0;i10;i+)delayms(200);clrscreen();while(s1=0) if(s2=0) delayms(20);if(s2=0) while(s2=0);set_flag=set_flag;if(set_flag=0)lcd_putstring(0,0,“灌装嘴 1:);if(s3=0)delayms(20);if(s

39、3=0)vol_set1+;if(s4=0)delayms(20);if(s4=0)vol_set1-;num0=vol_set1/100;num1=vol_set1%100/10;num2=vol_set1%10;lcd_putstring(0,1,vol:ml);write_cmd(0x92);write_data(num0);delayms(4);write_data(num1);delayms(4);4、延时函数介绍ms延时函数,含有输入参数 unsigned char t无返回值 unsigned char是定义无符号字符变量,其值的范围是0255这里使用晶振12m,精确延时请使用汇

40、编*/ void delayms(unsigned chart)辽东学院本科毕业论文(设计)题目while(t-)/大致延时1ms delayus2x(245);delayus2x(245);n# 一辽东学院本科毕业论文(设计)题目五、系统调试211 辽东学院本科毕业论文(设计)题目结 论本设计基于89c51单片机,实现了基于单片机的流量控制器的设计与实现。功能实 践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后, 我们需要了解自己的所学应该如何应用在实践中, 因为任何知识都源于实践,归于实践, 所以要将所学的知识在实践中来检验。在做毕业设计期间,在老师的指导下,通

41、过自身的不断努力,无论是思想上,学习 上,都取得了长足的发展和巨大的收获,学会用科学的精神去解决问题。很多事情看起 来是很简单的问题,但实际做起来就不简单了。运用科学的方法去解决问题,这是我这 次实训给我带来的思想上的改变。学习上,使自已在大学所以的知识在这次得到实践, 学到一些书本上无法学到的经验,对单片机有了进一步的认识。w#辽东学院本科毕业论文(设计)题目参考文献1李朝青.单片机原理及接口技术(简明修订版).北京:北京航空航天大学出版社, 19982李全利.单片机原理及接口技术m .高等教育出版社,20033 protel99 sefe路设计与制板m .机械工业出版社,20074杨将新,

42、李华军,刘到骏等.单片机程序设计及应用(从基础到实践)j .电子 工业出版社,20065 steven f.barrett.daneil j.pack.embedded systemm. 北京:电子工业出版社, 20066周立功.lpc900系歹flash单片机应用技术j.北京航空航天大学出版社,2004 黄智伟.全国大学生电子设计竞赛训练教程 m .北京:电子工业出版社,20058杨欣.电子设计从零开始(第二版).北京:清华大学出版社,20109梅丽凤.单片机原理及接口技术(第三版)m.北京:清华大学出版社,2010n3 一辽东学院本科毕业论文(设计)题目w7附录a硬件电路图附录b程序源代码

43、#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的 定义#include sbit s1= p2a2;sbit s2= p2a3;sbit s3= p2a4;sbit s4= p2a5;sbit g1= p2a0;sbit g2= p2a0;sbit rs = p2a1;sbit rw = p2a0;sbit e = p1a1;sbit res = p1a3;/sbit psb = p2a1;/sbit pause = p3a0;#define dataport p0/mcu p0 lcmunsigned char *mes;unsigned int vol_set

44、1=150,vol_set2=150;unsigned char num4=0,0,0,0;unsigned int count1=0,count2=0,m=0,n=0;unsigned char set_flag=0;unsigned char code user16x16=/笑脸图片0x0f,0xf0,0x10,0x08,0x20,0x04,0x40,0x02,0x9c,0x39,0xbe,0x7d,0x80,0x01,0x80,0x01, 0x80,0x01,0x88,0x11,0x84,0x21,0x43,0xc2,0x20,0x04,0x10,0x08,0x0f,0xf0,0x00,

45、0x00, ;/*函数声明*/void delaynus(unsigned char n)unsigned char i,j;for(i=n;i0;i-)for(j=1;j0;j-);void delayus2x(unsigned chart)while(-t);/*ms延时函数,含有输入参数unsigned char t无返回值unsigned char是定义无符号字符变量,其值的范围是0255这里使用晶振12m,精确延时请使用汇编*/void delayms(unsigned chart)while(t-)/大致延时1msdelayus2x(245);delayus2x(245);/*检测

46、忙位*/void check_busy()rs=0;rw=1;e=1;dataport=0xff;while(dataport&0x80)=0x80);/忙贝 u 等待 e=0;/*写命令*/void write_cmd(unsigned char cmd)check_busy();rs=0;rw=0;e=1;dataport=cmd;delayus2x(5);e=0;delayus2x(5);/*写数据*/void write_data(unsigned char data)check_busy();rs=1;rw=0;e=1;dataport=data;delayus2x(5);e=0;d

47、elayus2x(5);/*液晶屏初始化*/void init_st7920()delayms(40);大于40ms的延时程序/psb=1;/设置为8bit并口工作模式delayms(1);/延时res=0;/复位delayms(1);/延时辽东学院本科毕业论文(设计)题目res=1;delayms(10);write_cmd(0x30);delayus2x(50);write_cmd(0x30);delayus2x(20);write_cmd(0x0c);delayus2x(50);write_cmd(0x01);delayms(15);write_cmd(0x06);/复位置高/选择基本指

48、令集/延时大于100us/选才? 8bit数据流/延时大于37us/开显示(无游标、不反白)/延时大于100us/清除显示,并且设定地址指针为 00h/延时大于10ms/指定在资料的读取及写入时,设定游标的移动方向及指定delayus2x(50); /延时大于100us显示的移位,光标从右向左加1位移动/*显示字符串x:横坐标值,范围08y:纵坐标值,范围14*/void lcd_putstring(unsigned char x,unsigned char y,unsigned char code *s) switch(y)case 1: write_cmd(0x80+x);break;case 2: write_cmd(0x90+x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论