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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

采用单片机STC12C5608AD设计一台数显温度表.docx

1、采用单片机STC12C5608AD设计一台数显温度表摘要随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而且目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。本设计是利用STC12C5608AD 实现对温度的采集。在设计中采用了PT100热电阻温度传感器,其具有较高的精确度,可完成对温度的精准测量;在显示部分采用动态显示,对于放大倍数和上下限的设定我们采用分时显示。关键词: STC12C5608AD单片机、PT100、LabVIEW、研华板卡PCL-818HG第一章 课程设计内

2、容与要求分析1.1 课程设计内容1、采用单片机STC12C5608AD设计一台数显温度表2、采用研华板卡PCL818HG 设计一台虚拟温度表1.2 课程设计要求1、数显温度表(应用protel画出电路原理图,应用keil完成软件编程)1)传感器:热电阻PT100;2)显示器:数码管4位(LED);3)键盘:功能键、移位键和加一键;4)范围:0-200;5)精度:1;6)电源:AC 220V;7)变送器:DC 0-20mA;8)报警:超上限LED闪烁;2、虚拟温度表(应用LabVIEW和PCL-818HG完成温度表前面板设计)1)输入温度信号:DC 0-4V;2)显示温度数值:00-200;3)

3、采集板卡:PCL-818HG;4)报警显示:灯亮;第二章 智能温度表硬件设计2.1 温度检测这部分需用PT100热敏温度传感器,PT100是铂热电阻,它的阻值会随着温度的变化而改变。PT上的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。检测器件的温度信息经过单线接口送入电压跟随器的正极入口,然后输入运放的正极入口,经由运发放大后送入单片机的A/D采集口P1.0端口。P1.0口连接处理过的温度传感器PT100采集来的信号,如图2-1所示。图2-1 温度检测电路2.2 实测温度显示这部分由有4位LED数码显示器,由于LED静态显示需要占用较多的I/O口,且功耗较大,因

4、此在大多数场合通常不采用静态显示,而采用动态扫描的方法来控制LED数码管的显示。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。点亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,只要扫描显示速度够快,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。动态扫描显示时刷新频率最好大于50HZ,即没显示一轮的时间不超过20ms,每个数码管显示时间不能太长也不能太短,时间太长会影响刷新率,导致总体显示呈现闪烁的现象,时间太短发光二

5、极管的电流导通时间也就短,会影响总体的显示亮度。一般控制在1ms左右最佳。显示部分的接线图如图2-2所示。图2-2 动态显示电路2.3 温度设定这部分键盘只设置3个功能键,分别是K1-功能键,K2-移位键,K3加1键。功能键有三个功能,分别为An设定放大倍数,Hi设定上限,Lo设定下限。图2-3 温度设定控制电路2.4 报警电路报警电路如图2-4所示,由P3.3和P3.4端口控制,当实时检测的温度在上下限范围内时,控制指示灯亮。当实时检测的温度超过上限或者低于下限时,报警输出指示灯亮。图2-4 报警电路第三章 智能温度表软件设计3.1 工作流程启动系统,进行自检程序,用动态显示显示8.8.8.

6、8.测试显示部分电路是否能正常工作。初始状态,系统的放大倍数,上限和下限分别为0。自检程序运行完成后,系统显示部分四个数码管轮流显示8.这一现象。等待用户手动设定放大倍数、上限值和下限值。设定完成之后,第四次按下功能键,退出设定模式进入温度采集和显示报警模式。当采集的温度值在设定的上下限之间时,控制指示灯绿灯亮。当采集的温度值高于上限值或低于下限值时,报警输出指示灯红灯亮。当再次按下功能键时,可进入设定模式,重新设定放大倍数、上限值和下限值。3.2 功能模块1、键盘管理:检测键盘输入,接受温度设定,启动工作系统。2、显示:分时显示放大倍数、上限值、下限值和检测温度。3、温度检测:检查温度传感器

7、电压信号,转换温度值。4、报警:当采集的温度值高于上限值或低于下限值时,报警输出指示灯红灯亮。 3.3 资源分配STC12C5608AD的单片机的引脚分布使用图如下3-1所示,它是由P1.0-P1.7的八路的AD转换的。图3-1 STC12C5608AD引脚分布使用图为了方便程序的编写,在写程序之前我们先对单片机的资源做一个分配,如下表3-1所示表3-1单片机内部资源分配单片机资源资源使用情况功能初始化值P1使用送位码与控制按键0xffP2使用送段码0xffP3使用控制指示灯0xffAD转换使用进行模数转换0xff3.4功能软件设计3.4.1主程序与中断服务子程序图3-1 主程序和中断服务子程

8、序的流程图按图3-1所示主程序和中断服务子程序流程图,可编写出主程序和中断服务子程序。由于按键检测需要置零P1.7P1.5 这三个I/O口,致使三个数码管选通,所以在设定放大倍数、上限值、和下限值时,使用定时器中断来分时置零这三个端口。当设定完成,关闭定时器中断。3.4.2按键检测子程序本系统共有三个按键,按键K1为功能键,功能为分别设定放大倍数、设定上限、设定下限、退出关定时器。图3-2 温度设定值检测与显示程序流程图3.4.3按键键值处理子程序按键检测为系统的核心部分。图3-3为温度检测子程序流程图。这里只给出部分的按键检测流程图。每个按键按下,给相应的按键对应的标志变量自加1。功能键每按

9、下5次,标志位变量Functionflage清零。第一次按下为设定放大倍数,第二次按下为设定上限值,第三次按下为设定下限值,第四次为退出设定模式。移位键每按下4次,标志位变量KeyMoveflage清零。每按下一次移位键,设定位移动一位。自加键每按下4次,标志位变量KeyAddflage清零。每按下一次自加键,显示数值加1。图3-3 部分按键键值处理子程序流程图3.4.4 显示子程序在温度显示函数中,硬件电路为动态显示电路,断码为P2.0-P2.7,位码为P1.4-P1.7四个端口选择,写入独立按键的动态显示函数为Disp(),最后需要的时候调出刚写的显示函数即可。第四章 温度控制电路的Lab

10、VIEW实现4.1 LabVIEW简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与 C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执

11、行等等,便于程序的调试。4.2 研华板卡PCL-818HG研华板卡PCL-818HG是PCL-818系列中的入门级板卡,该卡可提供要求低价位的用户使用,除了采样速率为40KHZ、以及只能接受双极性输入外,其他功能与PCL-818HG完全相同,这样就无需更改硬件和软件,就可以将应用升级到高性能数据采集卡上。它能确保在在所有增益及再输入范围内可达到100kHZ的采样速率。PLC-818HG提供与PCL-818HG相同的功能,但它带有一个可编程的信号放大器,可用来读取微弱输入信号(x0.5,1,5,10,50,100,500或1000) PCL-818HG附带一个带有DB-37接口和CJC电路的接线

12、端子板(PCLD-8115)这种组合能够让您无需外部信号调理板就可以测量低电平的热电偶信号。4.3 温度控制系统整个温度控制系统的软件部分是由LabVIEW来实现的,它提供了吩咐的空间,如各种旋钮、开关、仪表盘、模拟数字示波器等,并且可以根据实际需要指定控件,在用户通过点击鼠标发出指令后,主控模块通过统一调度各功能实现用户意图。温度控制系统前面板如图4-1所示。图4-1 温度控制系统前面板温度控制系统测温及控制部分程序如图4-2所示。图4-2测温控制LabVIEW程序4.3 温度控制调试过程观察液晶显示的温度是否为零度。通过调节变位器当外接电阻为100欧姆时,显示为0度,当外接电阻为138.5

13、欧姆时,显示为100度,通过软件程序调节放大倍数,从而使温度显示与外加测试结果对应。设置上限报警100摄氏度,下限报警0摄氏度,完善智能温度表功能。单片机课程设计总结通过为期三周的单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如

14、意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。经过近三周的努力,在老师和同学的帮助下,我基本上完成了设计任务。通过这次课程设计,我充分认识到了自学的重要性,以及学以致用的道理,我在图书馆查阅了大量的资料,同时也认识到了图书馆的重作用。在今后的学习过程,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。也使我加深了对单片机知识的了解和应用。由于知识水平局限和时间的仓促,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。最后衷心感谢老师的悉心指导和同学们的热心帮助! 总结人: 2014.6.06参考文献1 吴微,文军.单片机原理与制作M.武

15、汉:武汉大学出版社,1991年3月2 李勋,林广艳.单片微型计算机大学读本M.北京:北京航空航天大学出版社,1998年8月3张志良.单片机原理与控制技术M.机械工业出版社,2001年7月4范立南.单片微型计算机控制系统设计M.人民邮电出版社,2004年3月5 孙育才,苏学成.单片微型计算机应用系统设计与实现M.南京:东南大学出版社,1990年11月6何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999年7 蔡美琴等编著.MCS-51单片机系统及应用.北京:高等教育出版社,1992年附录#include #define uchar unsign

16、ed char#define uint unsigned intsfr P1M0=0x91;sfr P1M1=0x92;sfr A_CONTR=0xBC;sfr A_DATA=0xBD;sfr A_RESL=0xBE;sfr A_P1ASF=0x9D;sbit EADC=0xAD;bit A_end;uint LedPoint=0xef,0xdf,0xbf,0x7f;uchar code S=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;uchar num4;float keynum4,max,min;float tempur;float

17、XY=1.86;float FD;float temp;sbit KeyFunction = P17; / 定义功能键 sbit KeyMove = P16; / 定义最大最小选择键 sbit KeyAdd = P15; /定义加数键sbit SS=P37;uchar KeyMoveflage=0;uchar KeyAddflage=0;uchar Functionflage=0;/延时函数void ms(uint t) uchar i; while(t-) for(i=0;i113;i+) ; /自检程序void ZJ() uchar i; for(i = 0;i 4;i+) P2 = 0x

18、00; P1 = 0x00; ms(5000); /=void Se(uint Sa) num0 = Sa / 1000; num1 = (Sa % 1000) / 100; num2 = (Sa % 1000) % 100) / 10; num3 = Sa % 10;/函数功能:独立按键对应的动态显示void Disp(uint Da)/ uchar i; Se(Da);/ for(i = 0;i 100)max=100; if(Functionflage=3) if(KeyMoveflage=0) P1=0xef; P2 = SKeyAddflage; keynum0=KeyAddflag

19、e; if(KeyMoveflage=1) KeyAddflage=0; P1=0xdf; P2 = SKeyAddflage; keynum1=KeyAddflage; if(KeyMoveflage=2) KeyAddflage=0; P1=0xbf; P2 = SKeyAddflage; keynum2=KeyAddflage; if(KeyMoveflage=3) KeyAddflage=0; P1=0x7f; P2 = S0; keynum3=0; min=keynum2*10+keynum1+keynum0*0.1; if(min=max)min=max; if(Functionflage=4) KeyFunction=0; /串口和AD采集初始化void IN() P1M0=0x01; P1M1=0x01; A_P1ASF=0x01; A_CONTR=0x80; EADC=1; EA=1; /AD中断void ADC() interrupt 5 A_CONTR&=0xe7; temp=A_DATA; A_end=1;/主函数main() IN(); ZJ(); while(1) KEYONE(); KEYTWO(); KEYTHREE(); /CHULI(); Disp(1234);

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

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