智能仪器仪表课程设计.docx
- 文档编号:27664749
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:18
- 大小:198.77KB
智能仪器仪表课程设计.docx
《智能仪器仪表课程设计.docx》由会员分享,可在线阅读,更多相关《智能仪器仪表课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
智能仪器仪表课程设计
摘要
随着时代的进步和发展,智能仪表已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C51单片机的温度报警系统,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和模数转换,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
AT89C51与ADC0808结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:
温度报警;ADC0808;AT89C51
1智能仪器仪表的简介
1.1智能仪器仪表简介
仪器仪表(英文:
instrumentation)仪器仪表是用以检出、测量、观察、计算各种物理量、物质成分、物性参数等的器具或设备。
真空检漏仪、压力表、测长仪、显微镜、乘法器等均属于仪器仪表。
广义来说,仪器仪表也可具有自动控制、报警、信号传递和数据处理等功能,例如用于工业生产过程自动控制中的气动调节仪表,和电动调节仪表,以及集散型仪表控制系统也皆属于仪器仪表。
1.2智能仪器仪表的作用
随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
①传统的分立式温度传感器
②模拟集成温度传感器
③智能集成温度传感器。
在当今信息化时代展过程中,各种信息的感知、采集、转换、传输和处理的功能器件已经成为各个应用领域中不可缺少的重要技术工具。
传感器是信息采集系统的首要部件,是实现现代化测量和自动控制的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质与技术基础。
可见理解和撑握传感器的知识与技术有着其极重要的意义。
传感器知识面广,如果在实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。
任随书本上把单片机技术介绍得多么重要、多么实用多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会感到对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。
本次设计的目的就是让我们在理论学习的基础上,通过完成一个传感品器件的设计,使我们学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
1.3本课题的背景和意义
本设计主要是应用proteus软件和嵌入式C语言编程工具,结合单片机原理及应用。
危机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。
2系统设计简介
2.1芯片简介
本设计选择采用AT89C51单片机为核心。
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
2.2设计要求
用可调电阻调节电压值作为模拟温度的输入量,当温度低于30℃时,发出长嘀报警声和光报警,当温度高于60℃时,发出短嘀报警声和光报警。
测量的温度范围在0-99℃。
2.3设计方案论证
根据系统的设计要求,选择ADC0808作为本系统的模数转换器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示等功能。
该系统的总体设计思路如下:
ADC0808模数转换器把模拟量转化成数字量即温度,发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,当温度高于60℃时,发出短嘀报警声和光报警。
测量的温度范围在0-99℃。
按照系统设计功能的要求,确定系统由4个模块组成:
显示模块、控制模块、A/D转换模块、报警模块。
本课题以是89C51单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,模数转换电路,温度显示电路,单片机主板电路等组成。
2.4硬件设计电路
温度报警器设计电路图如图2.4所示,控制器使用单片机AT89C51,模数转换器选
ADC0808,用LED实现温度显示。
a)把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。
b)把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。
c)把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。
d)把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。
e)把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。
f)把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。
g)把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。
h)把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。
i)把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。
j)把“单片机系统”区域中的P3.6、P3.7用导线分别连接到“八路发光二极管指示模块”区域中的L1、L2上。
k)把“单片机系统”区域中的P3.5用导线连接到“音频放大模块”区域中的SPKIN端口上。
l)把“音频放大模块“区域中的SPKOUT插入音频喇叭。
3系统硬件设计
3.1控制模块
图3-1AT89C51引脚图
3.2显示电路
如图所示:
图3-2显示路
3.3转换模块
图3-3ADC0808原理图
3.4报警模块
图3-4报警模块
3.5系统总体电路图
温度计电路设计原理图如图3-7所示,控制器使用单片机AT89C51,转换模块使用ADC0808,用LED实现温度显示。
图3-5系统总体设计图
4设计语言及软件介绍
4.1keil语言介绍
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。
因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试等在内的完整开发方案,通过一个集成开发环境uVision将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
4.2Proteus软件介绍
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机,与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
具有智能原理图设计,完善的电路仿真功能,单片机协同仿真功能,实用的PCB设计平台等功能。
Proteus的资源丰富,Proteus可提供的仿真元器件资源:
仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。
Proteus提供了比较丰富的测试信号用于电路测试这些测试包括模拟信号和测试信号。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
广泛应用到教学,技能考评,产品开发等众多领域。
ProteusISIS的工作界面是一种标准的Windows界面,包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
4.3keil与proteus联调与仿真实现
双击图标进入keiluVision2编程环境,输入程序。
返回桌面双击图标进入Proteus仿真环境。
点击左上角选项P后根据设计的电路图调出所需元件画好硬件原理图如图所示。
然后按照4.1节所写步骤设置keil和proteus的工作环境。
实现keil和proteus的联调。
5系统软件设计
5.1程序设计思路
主程序框图
开始
设定温度上下限
显示当前温度
判断当前温度值
是否为300C?
Y
N
N
Y
温度<30?
Y
灯亮,发出短嘀报警
灯亮,发出长嘀报警
结束
5.2源程序
#include
unsignedcharcodedispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsignedchardispbuf[8]={10,10,10,10,10,10,0,0};
unsignedchardispcount;
unsignedchargetdata;
unsignedinttemp;
unsignedchari;
sbitST=P3^0;
sbitOE=P3^1;
sbitEOC=P3^2;
sbitCLK=P3^3;
sbitLED1=P3^6;
sbitLED2=P3^7;
sbitSPK=P3^5;
bitlowflag;
bithighflag;
unsignedintcnta;
unsignedintcntb;
bitalarmflag;
voidmain(void)
{
ST=0;
OE=0;
TMOD=0x12;
TH0=0x216;
TL0=0x216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
ST=1;
ST=0;
while
(1)
{
if((lowflag==1)&&(highflag==0))
{
LED1=0;
LED2=1;
}
elseif((highflag==1)&&(lowflag==0))
{
LED1=1;
LED2=0;
}
else
{
LED1=1;
LED2=1;
}
}
}
voidt0(void)interrupt1using0
{
CLK=~CLK;
}
voidt1(void)interrupt3using0
{
TH1=(65536-500)/256;
TL1=(65536-500)%256;
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*25;
temp=temp/64;
dispbuf[6]=temp/10;
dispbuf[7]=temp%10;
if(getdata<77)
{
lowflag=1;
highflag=0;
}
elseif(getdata>153)
{
lowflag=0;
highflag=1;
}
else
{
lowflag=0;
highflag=0;
}
ST=1;
ST=0;
}
P2=0xff;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
if((lowflag==1)&&(highflag==0))
{
cnta++;
if(cnta==800)
{
cnta=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
SPK=~SPK;
}
}
elseif((lowflag==0)&&(highflag==1))
{
cntb++;
if(cntb==400)
{
cntb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
SPK=~SPK;
}
}
else
{
alarmflag=0;
cnta=0;
cntb=0;
}
}
5.3调试及仿真
经软件调试-仿真器proteus调试通过,并烧录芯片,得到所要求的设计结果。
如图5.4试验成功。
图5.3温度报警器仿真图
6结论
本设计利用89C51芯片控制模数转换器ADC0808,再辅之以部分外围电路实现对环境温度的测控,性能稳定,精度较高,而且扩展性能很强大。
智能仪器仪表是我们专业的一门重要的专业课,起初我对软件方面并不感兴趣,学习也不是很认真,但是经过老师的指导,使得我对软件有了更多的认识,并且能够不只是停留在理论水平,我亲自动手实践,增加了自己理论联系实践的能力,这让我受益匪浅,也逐渐喜欢软件方面课程的学习。
在实践过程中,其实我遇到了很多问题,编程会出现字母打错,和编程指令使用错误,原理图连线不正确,参数选择不恰当等等。
我总是在不断的修改,最终调试成功。
与此同时增强了自己发现问题,解决问题的能力。
这一次的课设让我学会了很多东西,我非常感谢老师对我的帮助。
这次的课设之后,让我不再惧怕课设,并且逐渐喜欢软件,很想自己有一天可以设计出完美的作品。
我会一直努力,为着这个远大的理想而奋斗
7参考文献
1)《单片机的C语言程序设计与应用》
2)《微机原理与接口技术》
3)《单片机原理与应用技术》
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器仪表 课程设计