项目六 液体点滴速度监控装置的设计指导书.doc_第1页
项目六 液体点滴速度监控装置的设计指导书.doc_第2页
项目六 液体点滴速度监控装置的设计指导书.doc_第3页
项目六 液体点滴速度监控装置的设计指导书.doc_第4页
项目六 液体点滴速度监控装置的设计指导书.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

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

文档简介

项目六 液体点滴速度监控装置的设计一、设计内容与要求利用单片机设计并制作一个智能化的液体点滴速度监测与控制装置。该装置由水滴速度测试系统、水速控制系统、显示装置、单片机系统、键盘和报警等系统组成。应用水的压强随着高度差的变化而变化的原理,利用控制步进电动机的升降来控制点滴速度。点滴速度可用键盘来设定,设定范围为20150(滴/分),控制误差范围在10%1滴左右。从改变设定值起到点滴速度基本稳定整个过程的调整时间小于3分钟。同时在水到达警戒线以下时能发出报警信号。二、硬件电路框图1. 系统框图 各个部分作用:(1)电机控速模块:用步进电机来控制储液瓶的高度来达到控速的目的。(2)步进电机的驱动:采用硬件驱动。(3)红外测速:采用对射式红外传系统。2. 传感器对射式光电传感器(以下简称为传感器) 分为投光器和受光器两部分。两者光轴重合在同一直线上。工作时,投光器发出调制光,被受光器接收,变为电信号。当被测体进入检测区时,光被遮挡,受光器无光可受,传感器输出状态改变。电路如下图所示。3. 单片机最小系统原理图三、软件设计1. 主程序流程图 2. 外部中断0流程图 case 1: AA=0xf9;break; /* 1*/ case 2: AA=0xa4;break; /* 2*/ case 3: AA=0xb0;break; /* 3*/ case 4: AA=0x99;break; /* 4*/ case 5: AA=0x92;break; /* 5*/ case 6: AA=0x82;break; /* 6*/ case 7: AA=0xf8;break; /* 7*/ case 8: AA=0x80;break; /* 8*/ case 9: AA=0x90;break; /* 9*/ case 10: AA=0x88;break; /* A*/ case 11: AA=0x83;break; /* B*/ case 12: AA=0xc6;break; /* C*/ case 13: AA=0xa1;break; /* D*/ case 14: AA=0x86;break; /* E*/ case 15: AA=0x8e;break; /* F*/ case -:AA=0xbf;break; /* 破折号,此处原误为0xdf,系04级王资凯同学指正*/ case _:AA=0xf7;break; /* 下划线*/ case :AA=0xff;break; /* 消隐*/ default: AA=0xff; return(AA);/* T0时钟中断服务程序在本例中,每5ms被执行一次*/timer0() interrupt 1 using 0 EA=0; /*关中断*/* 重新对计数器赋初值,并启动定时计数 */TH0=V_TH0; TL0=V_TL0; TR0=1;/* 1秒钟软定时器计数 */if (+clock1s=V_T1s)clock1s_flag = 1; /*当1秒到时,溢出标志置1 */clock1s = 0;output_sel = 0xf0; /*初值,令数码管驱动位无效,指示灯全灭*/* 检测到按键被按下(0)时,相应的指示灯亮(0) */if (KEY1=0) led_1 = 0;if (KEY2=0) led_2 = 0;if (KEY3=0) led_3 = 0;if (KEY4=0) led_4 = 0;/* 数码管扫描驱动指针值从1到4重复变换,每5ms间隔对一个数码管进行驱动,20ms一个轮回 */if (+digi_scaner=5) digi_scaner = 1;switch (digi_scaner) case 1: /* 驱动第一个数码管 */output_sel |= 0x01;ADDR_8SEG = NUMTOSEG7(digi0); /*输出到锁存器U5(在电路图中找)*/break;case 2: /* 驱动第二个数码管 */output_sel |= 0x02;ADDR_8SEG = NUMTOSEG7(digi1); /*输出到锁存器U5*/break;case 3: /* 驱动第三个数码管 */output_sel |= 0x04;ADDR_8SEG = NUMTOSEG7(digi2); /*输出到锁存器U5*/break;case 4: /* 驱动第四个数码管 */output_sel |= 0x08;ADDR_8SEG = NUMTOSEG7(digi3); /*输出到锁存器U5*/break;ADDR_SEL = output_sel; /*输出到锁存器U6(在电路图中找)*/EA=1; /*开中断*/* 主程序*/main()/* 单片机系统初始化 */ P1=0XFF; P3=0XFF; /* 中断工作寄存器初始化 */ IE=0X80; IP=0; IT0=0; IT1=0; /* 定时器工作寄存器初始化 */TMOD=0X21;TH1=V_T1; TL1=V_T1; TH0=V_TH0; TL0=V_TL0; /* 串行通信口工作初始化 ,注:本例中虽未使用到串行通信口,但本段程序无妨保留*/SM0=0; /*SCOM MODE 1 (8BIT UART VARBR)*/ SM1=1;SM2=0;REN=1;TI=1;/* 全局变量赋初值 */clock1s=0;clock1s_flag=0;digi_scaner=1;test_counter=0;/* 开定时器,定时器0中断允许 */ TR0=1; TR1=1;ET0=1;/* 主循环,本例中,在T0中断服务程序未被执行的空余时间里,处理机在以下程序中不断循环 */while(1)if (clock1s_flag) /* 检查1秒定时是否到 */clock1s_flag=0;/* 每秒加1的数码管十进制显示计数 */if (+test_counter=10000) test_counter=0;digi0 = test_counter/1000; /*计算千位数*/digi1 = (test_counter-digi0*1000)/

温馨提示

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

评论

0/150

提交评论