ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:181.21KB ,
资源ID:18800303      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18800303.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机型实时检测报警系统的模拟设计文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机型实时检测报警系统的模拟设计文档格式.docx

1、在描述了外围硬件电路的同时,还做了大量的软件工作。关键词:单片机、a/d转换、显示、报警二、设计原理1、原理图2、功能模块说明(1)、模拟量根据设计的要求,我们通过8只电位器和一定的硬件电路连接,从而实现8通道的模拟量输入。我们可以将电位器理解为滑动变阻器,通过和5V电源的连接,就能够实现分压,其中有效部分的电压就能作为模拟量输入。(2)、AD转换由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D来实现。下面,将对ad0809作一下介绍。(a)AD0809的逻辑结构 ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态

2、输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(b)AD0809的工作原理 IN0IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A, B,C三条地址线的地址信号进行锁存,经译码后被选

3、中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道IN01IN1IN2IN3IN4IN5IN6IN7数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0

4、809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。(c) ADC0809应用说明 (1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2)初始化时,使ST和OE信号全为低电平。(3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。(d)AD0809的应用 主要由AD转换器AD0809,频率发生器SUN7474,单片机AT89S

5、51及显示用数码管组成。AD0809的启动方式为脉冲启动方式,启动信号START启动后开始转换,EOC信号在START的下降沿10us后才变为无效的低电平。这要求查询程序待EOC无效后再开始查询,转换完成后,EOC输出高电平,再由OE变为高电平来输出转换数据。我们在设计程序时可以利用EOC信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动AD0809后经适当的延时再读入已转换的数据。AT89S51的输出频为晶振频的1/6(2MHZ),AT89S1与SUN7474连接经与7474的ST脚提供AD0809的工作时钟。AD0809的工作频范围为10KHZ-1280KHZ,当频率范围为5

6、00KHZ时,其转换速度为128us。AD0809的数据输出公式为:Dout=Vin*255/5=Vin*51,其中Vin为输入模拟电压,Vout为输出数据。 由于温度的范围是0200,为了实现精度1,可令显示部分的输出公式ad_date=Dout*200/255,当输入为5V时,输出的显示值正好为200. (3)、按键按键主要是用来对通道号、温度范围的设定。通过多次的讨论,确定选用4个按钮。功能如下表:按钮编号按钮1按钮2按钮3按钮4功能按1下,设置通道设置温度的位号按第1下,设置百位值;按第2下,设置十位值;按第3下,设置个位值按一下加1按一下减1按2下,设置温度的上限值按3下,设置温度的

7、下限值按4下,退出所有设置通过4个按钮,就能实现对通道号和各通道所对应的温度范围的设置,从而实现人机交互。剩下的一个按钮,作为复位开关使用,复位电路如图:(4)、MCU根据实验的要求,选用AT89S51作为CPU.引脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口

8、,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时

9、,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(外部数据存储器读选

10、通) P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部

11、执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(5)、温度显示根据设计的要求,选用4个8段数

12、码管作为显示。由于单片机不能直接驱动数码管,所以需要加一个驱动电路,驱动端正好作为共阳数码管的公共端,并且用单片机的输出信号作为驱动的触发端,所以就能实现设计的要求。工作原理:LED84S显示器的C1-C8接口接收由P0.0-P0.7口输入显示信号;S1-S4接入单片机的P2.0-P2.3接口,对显示电路进行控制(5.1)。(6)、越限报警图一这部分只需要一根线来实现对蜂鸣器的控制即可,具体见接线图。图6.1图5.1三、硬件接线图 图中P2.4作为蜂鸣器的控制端,与图6.1的P3.7连接即可。其余的4个按钮其中一端直接与+5V的电源,令一端分别与P3.3、P.4、P3.6、P3.7相接即可。四

13、、程序框图五、程序#include#define uchar unsigned char #define uint unsigned intsbit st=P32;sbit oe=P31;sbit eoc=P30;uchar codetab=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09; /数码管显示段码 uchar code td=0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70; /通道先择数组 uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0;uchar m

14、,number;uchar first_press_flag=0;uchar x8; /八通道数据待存数组void delaynms(uint x); /延时程序void display(); /显示程序void ad0809(); /芯片启动程序void tongdao(); /通道号void set(); /用于设置通道号和相应温度范围void deal();/延时程序void delaynms(uint x)uchari;while(x-0)for(i=0;i125;i+);void display()uchar a;ad_data1=(ad_0809*200/255)/100; /读得

15、的数据乘以2再乘以98%除以100得百位ad_data2=(ad_0809*200/255)%100)/10; /读得的数据乘以2再乘以98%再分出十位ad_data3=(ad_0809*200/255)%100)%10); /读得的数据乘以2再乘以98%再分出个位for(a=0;a=8)number=0; /八通道void set()/*选择显示通道*/void mode1(void) uchar count=1; if(P34=0) delaynms(20); /延时去抖 count-; if(count=0) count=0; if(P36=0) count+; if(count=9)

16、count=1; number=count; /改变通道 desplay(); /显示通道/*设置最大值*/void mode2(void) cahr bit3=max/100; cahr bit2=max%100/10; cahr bit1=max%10; /初始最大温度 char count2=1; if(P37=0) /位数设置 if(count=4)switch(count)case 3: if(P34=0) /设置最高位 count2-; if(count2=-1) count2=9; count2+; if(count2=10) count2=0; count2=bit3case

17、2: if(P34=0) /设置2高位 if(coun2=-1) coun2t=0; count2=bit2 case 1: if(P34=0) /设置最低位 count2=bit2;max=100*bit3+100*bit2+bit1; /*设置最小值*/void mode3(void) char bit3=min/100; char bit2=min%100/10; char bit1=min%10; /初始最小温度min=100*bit3+100*bit2+bit1;/*中断选择模式*/void mode(void) interrupt 2 uchar L1=0,H1=0,L2=0,H2

18、=0,mode=0; uchar first_press_flag=0; while(P34&P36) ; /等待第一次按键 L1=0; first_press_flag=2; else if(P36=0) H1=1; /等待第二次按键 L2=0; H2=1;mode=first_press_flag*(L1+H1)+(L2+H2); /计算模式switch(mode)case 0:mode1(); /模式一处理函数 break;mode2(); /模式二处理函数mode3(); /模式三处理函数nop(); /退出void deal() if (minad_0809) P2.5=0;elseP2.5=!P2.4;main()number=0;P1=0x00;while(1)ad0809(); /调AD0809启动子程序ad_0809=xnumber; /把相关通道数据给ad_0809display();deal();六、附录元件清单表:名称数量At89S511块2ADC08091片3SUN74744LED84S1个512M晶振6常用电阻若干7常用电容8导线9按钮5个10三极管4个11蜂鸣器参考文献:电子技术基础 数字部分(第五版) 康华光单片机原理与工程应用 杨居义现代控制技术 于海生七、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1