网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 电气工程与自动化类别 > 正文

基于单片机控制的金属探测器系统的设计过程和工作原理

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

鉴于大家对电气工程与自动化类别十分关注,我们编辑小组在此为大家搜集整理了“基于单片机控制的金属探测器系统的设计过程和工作原理”一文,供大家参考学习

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

四 系统软件的设计
4.1 软件设计思想
软件是本系统的灵魂,在设计软件中,本文从系统的实用性、可靠性及方便灵活等几个方面出发,使程序满足设计的功能要求。整个系统的软件包括主程序、一个外部中断服务程序、数字滤波程序、比较判断子程序及发光报警等若干个子程序。软件采用汇编语言编写,并采用模块化设计,使程序结构清晰,便于今后进一步扩展系统的功能。
主程序初始化以后置位AT89C51的中断控制位EA,使CPU开放中断。然后通过检测RAM中30H中数值的值来判断是否采集基准电压,如果未采集过,则启动ADC0809对IN3通道的模拟输入量进行A/D转换。在电路设计中,ADC0809与AT89C51是采用中断方式连接的,所以系统的数据采集处理功能是在中断服务程序中完成的,从原理图看出,ADC0809的EOC端通过反相器接AT89C51的INT 1端,作为中断申请。采用中断方式,可大大节省CPU时间。软件编程允许AT89C51响应外部中断1,且设置其响应方式为边沿触发。当A/D转换完毕后,ADC0809的EOC端向AT89C51的INT1送入一个中断申请信号,AT89C51接此信号后响应中断请求,调用中断服务子程序INT1,中断服务程序进行压栈,保护现场,读取来自0809数据输出口的8位数字量,并将数字量储存到单片机RAM中,然后启动ADC0809的下一次转换。经过数据软件滤波之后将其存放在单片机RAM 30 H中,作为基准电压。
经反复实验测得的灵敏度△U的值被存放在单片机RAM地址为20H的存储器中。在检测过程中,将A/D转换器采集到的电压信号经数据软件滤波后存入内部RAM以31H的数据存储器中,然后将此数据U和基准电压进行比较,二者差值与灵敏度△U进行比较,以确定是否报警。
4.2数字滤波及算法说明
 金属探测器的噪声抑制能力是金属探测器的主要设计指标。由于在采集电压量时经常会碰到各种瞬时干扰,,而硬件滤波一方面是电路比较的复杂,另一方面是电子元器件受外界环境的影响比较的大,可靠性低。因此本设计中采用算术平均滤波法,即在一次电压量的采集中,在很短的时间内对它进行4次采集,将它转换为数字量后求和,分析出4次输入中的最大值和最小值,然后减去最大值和最小值,除以2得到平均值的方法,完成一次数据采集的软件滤波。用软件代替硬件,从而省去了复杂的硬件,而且能够取得好而精确的效果。在一个采样周期内,对信号X的N次测量值进行算术平均,作为刻K的输出x(k),即    (4-1)
其中N为采样次数,x,为第i次的采样值。显然N越大,信号平滑度越高,灵敏度就会降低,但是本设计中需要较高的灵敏度,所以N取值不易过大,又因为汇编中运算比较麻烦,综合考虑取N=4。
4.3 系统主程序的功能
由于本系统中采集数据是利用中断来完成的,所以主要的判断程序主要是在中断服务子程序中完成,而主程序主要是完成初始化功能,一方面是清零将要使用的数据存储器,另一方面是完成响应外部中断1的中断控制,主要是开中断等。完成初始化之后,主程序就等待中断触发信号,以响应中断服务子程序。
 
MAIN:   CLR P3.1
      CLR P3.4
      MOV SP,#60H
      MOV 20H,#28H
      MOV R1,#30H 
      MOV R7,#0FFH
      MOV R0,#04H
      MOV 30H,#00H
      MOV 31H,#00H 
      MOV R2,#00h 
      MOV R3,#0FFH 
      MOV R4,#00H    
      MOV IE, #10000100B;开中断
      SETB IT1 ;13
      MOV DPTR,#0FEF3H ;启动A/D转换
      MOV A,#00H     
      MOVX @DPTR,A   

 

4.4 子程序模块的设计
本系统的软件部分,除了初始化之外,主要的功能是在中断服务子程序中是实现的,主要的功能有数据采集,数字滤波子程序,判断子程序,声光报警子程序和数据数码管显示子程序等。
下面是简单的介绍一些主要的子程序,具体的程序见附录。
4.4.1 中断服务子程序
 INT1: PUSH DPL  
       PUSH DPH  
       MOV DPTR,#0FEF3H
       MOVX A,@DPTR    
       MOV R5,A       
       LCALL SHZLB ;调用数字滤波子程序   
       CJNE R7,#00H,NEXT
       LCALL PDXSH ;调用判断显示报警子程序
       MOV R1,#31H
mov r2,#00h   ;再次初始化各寄存器
       mov r3,#0ffh
       mov r4,#00h
       mov r6,#00h
       mov r7,#0ffh ;198
NEXT: MOV IE, #10000100B;再次开中断
      SETB IT1 
      MOV DPTR,#0FEF3H
      MOV A,#00H
      MOVX @DPTR,A
      POP DPH       
      POP DPL        ;,...
      RETI       
4.4.2 数字滤波子程序模块
数字滤波子程序主要是将四次采集到的数字量判断其最大值和最小值,然后在四次相加和中减去最大值和最小值,再去平均值后存入30H或者31H单元中。
 
                                                                                                                                              SHZLB: clr a 
     clr c     
     mov a,r2  
     subb a,r5 
     jnc dav1   
    mov a,r5  
     mov r2,a 
     mov b,#04h 
     div ab   
     mov 41h,a 
     mov 51h,b
 dav1:clr c   
      mov a,r5 
      subb a,r3
      jnc dav2
      mov a,r5
      mov r3,a
      mov b,#04h
      div ab
      mov 42h,a
      mov 52h,b
 dav2:mov a,r5  
      mov b,#04h
      div ab    
      add a,r4 
      mov r4,a
      mov a,b 
      add a,r6
      mov r6,a 
djnz r0,dav3
      mov a,r4
      subb a,41h
      subb a,42h
      mov b,#02h 
       div ab  
       mov 50h,b
      mov b,#04h
      mul ab 
      mov @r1,a
      mov a,50h
      mov b,#02h
      mul ab    
      add a,@r1 
      mov @r1,a 
      mov a,r6 
      subb a,51h
      subb a,52h 
     mov b,02h
      div ab
     add a,@r1 
      mov @r1,a 
      mov 31h,a 
      mov r7,#00H
      mov r0,#04h
   dav3: ret
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师