智能仪器课程设计:基于单片机数据采集及显示功能
第1章概述1.1设计目的及意义本设计的主要目的是实现单片机的数据采集及显示功能,为实现该功能,进行了有关的硬件电路设计与软件编程设计。
硬件电路设计中,运用protel99,在已给实验板和实验板原理图的基础上,选择实验板上所用于本设计的器件,并进行了设计硬件原理图的设计以及实验的硬件连接。
软件编程设计中,运用keil3编程环境,对设计要实现的功能进行编程,整体程序可分成一个主程序和多个子程序,子程序有基于ADC0832的A/D转换程序、基于AT89C52的标度转换程序和基于74LS164的静态显示程序。
通过自己完成设计,让我们对数据采集有了清晰的认识,对单片机数据采集及处理数据的原理也有了更深的了解,达到学习与实践相结合,学以致用的目的。
1.2设计内容本设计运用单片机STC89C52进行数据采集的设计,让电压模拟量(0-5V)通过模拟量/数字量转换芯片(ADC0832),送入单片机,进行数据处理之后,通过移位寄存器(74LS164),静态显示在LED显示数码管上。
实验的模拟量数据是通过一个可调电位器输出0-5V的模拟量,显示是0-100摄氏度的静态显示。
第2章总体方案设计2.1数据采集系统功能数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。
数据采集系统通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
数据采集技术是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形成的一门综合应用技术。
数据采集也是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用。
本系统采用A/D转换器送入模拟信号,而单片机负责处理接受过来的数字量的处理及显示,主机和板卡之间用RS-232进行通信。
这样就可以在计算机上编程序,然后下载到单片机内进行处理。
系统框图如图2.1所示:图2.1系统框图2.2方案论证2.2.1单片机的选择单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还包括串行通信口、显示驱动电路(LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。
单片机要使用特定的组译和编译软件编译程序,再用keiluvision2把程序下载到单片机内。
而本设计选用的是STC89C52。
2.2.2 A/D模数转换器选择A/D转换器是将模拟量转换为数字量的器件。
A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
A/D转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式A/D转换器:它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式A/D转换器:它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。
本设计选用的是逐渐逼近式A/D转换器——ADC0832。
2.2.3串行口选择该串行口选用了标准RS-232C接口,它是电平与TTL电平转换驱动电路。
常用的芯片是MAX232,MAX232的优点是:(1)一片芯片可以完成发送转换和接收转换的双重功能。
(2)单一电源+5V供电(3)它的电路设计与连接比较简单而且功能齐全。
2.2.4显示单元选择LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。
它使用了8个LED显示管,其中7个用于显示字符,1个用来显示小数点,故通常称之为八段发光二极管数码显示器。
对LED数码显示器的控制可以采用按时间向它提供具有一定驱动能力的位选和段选信号。
LED数码显示有动态扫描显示法和静态显示。
本设计采用LED静态显示。
2.2.5按键在单片机中,如果所需的按键较少,一般采用独立式键盘。
每只按键接单片机的一条I/O线,通过对线的查询,即可识别各按键的状态。
如图2.2所示。
4只按键分别宇单片机的P1.0~P1.3I/O线上。
无按键按下时,P1.0~P1.3线上均输入高电平。
当某按键按下时,与其相连的I/O线将得到低电平输入。
图2.2独立按键接口第3章硬件系统设计3.1硬件系统原理该系统主要原理如图3.1所示,它由STC89C52、MAX232、LED数码显示器组成。
3.1 系统流程图3.2电路设计3.2.1单片机选型该系统所用单片机型号为STC89C52此芯片加密性强、无法解密,超强抗干扰,大大降低单片机时钟对外部电路的电磁辐射,超低的功耗。
其指令代码完全兼容传统8051 单片机,12 时钟/ 机器周期和6 时钟/ 机器周期可任意选择[8]。
该芯片由8位通用中央处理器、程序存储器、随机读写数据存储器及常用外设电路等部件组成。
在该芯片中,P0口、P2口可作为一般的I/O引脚使用,当需要再扩展外部存储器时,P0口将作为低8位地址总线或数据总线使用,P2口作为高8位地址总线使用。
由于定时/计数器、串行通信、中断控制器等外围电路集成在CPU芯片内,因而STC89C52的芯片内部也就包含了这些外围电路的控制寄存器、状态寄存器以及数据输入/输出寄存器,这些外围电路的接口寄存器构成了STC89C52的特殊功能寄存器[9]。
对于各引脚,VCC是指电源引脚,GND为电源地,RST为复位信号输入端,X1和X2分别为片内晶振放大电路反相放大器的输入端和输出端,P0口、P1口、P2口都是I/O引脚。
P3口也是I/O引脚,不过有所不同的是,P3口还具有其他的特殊功能,例如:P3.6又是外部数据存储器写选通信号(低电平有效),P3.7是外部数据存储器读选通信号(低电平有效),P3.0为串行数据接收端,P3.1为串行数据发送端[10]。
在本设计中,ADC832的片选端接单片机的P2.0端,时钟脉冲端单片机的P3.6端,转换好的数字量则与单片机的P3.7端相连。
数据经过处理,从单片机的P1.0端输出至下一个环节,P1.1供给74LS164时钟脉冲。
单片机STC89C52的引脚图如图3.2所示:图3.2 单片机STC89C52的引脚图3.2.2模数转换电路ADC0832的输入通道是CH0和CH1,本设计模拟信号从CH0通道送入,所以CH0和CH1短接一起连到电位器;CS_ 片选使能,低电平芯片使能,连接AT89C52的P2.0;CLK 芯片时钟输入,接AT89C52的P3.6;DI数据信号输入端,DO数据信号输出端,但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时将DO和DI 并联在一根数据线上使用,连接AT89C52的P3.7。
模数转换电路如图3.3所示:3.3 ADC0832引脚图3.2.3 显示电路LED数码管是单片机控制系统中最常用的显示器件之一,它以抗震性能好、可靠性高、寿命长、工作电压低、功耗小及响应速度快等优点在单片机应用系统中得到了广泛的应用。
对于数码管来说,一般分为两种,即共阴极和共阳极,其使用方法基本相同。
不同之处在于显示方式方面。
根据LED显示译码方式分,可以分为硬件译码和软件译码两种。
所谓硬件译码,就是用硬件译码器代替软件求得显示代码,这样不仅可以节省计算机的时间,而且程序设计简单,只要把BCD码(或十六进制码)从相应的端口输出即可完成显示;如果用软件的方法来直接将BCD码(或十六进制码)转换成自身的段码即为软件译码。
根据LED显示驱动连接方式,可以分为静态显示驱动和动态显示驱动。
静态显示就是每一个数码管都由一组数据线控制,所有的数码管都同时亮,而动态显示就是所有要显示的数码管一次循环逐个显示,只要频率足够高,肉眼就看不出闪烁,好像所有的同时显示一样。
在本设计中,由移位寄存器74LS164和LED数码管共同组成显示单元。
74LS164是串行输入并行输出的移位寄存器。
它具有两个串行输入端(A和B)和8位并行输出端(Qa—Qh)。
CLR为异步清零端,当其为低电平时,可使74LS164清零(复位)。
因本设计不需要复位,所以将其接+5V。
CLK为时钟脉冲接收端,用以控制移位寄存器的移位节奏[15]。
LED数码管引脚图如图3.4所示:图3.4 LED数码管移位寄存器74LS164如图3.5所示:图3.5 74LS164引脚图3.2.4 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
在该设计中,RST引脚为复位输入端,STC89C52采用高电平复位方式。
电路方面采用的是由RC分立元件构成的外部复位电路。
复位电路如图3.6所示:图3.6复位电路图按下复位按钮时,电容C103通过R1放电,当电容放电结束后,RST引脚电位由R2、R1分压比决定。
由于R1<<R2,因此RST引脚为高电平,单片机进入复位状态。
松开复位按钮后,电容充电,RST引脚电位下降,使单片机脱离复位状态。
R1的作用在于限制复位按钮按下瞬间电容C103的放电电流,避免产生火花,以保护按钮的触点。
3.2.5 串口电路计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
智能仪器仪表课程设计
摘要随着时代的进步和发展,智能仪表已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89C51单片机的温度报警系统,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和模数转换,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
AT89C51与ADC0808结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:温度报警;ADC0808;AT89C51目录1 智能仪器仪表的简介 (2)1.1智能仪器仪表简介 (2)1.2智能仪器仪表的作用 (2)1.3本课题的背景和意义 (3)2 系统设计简介 (4)2.1 芯片简介 (4)2.2 设计要求 (4)2.3 设计方案论证 (4)2.4 硬件设计电路 (5)3 系统硬件设计 (6)3.1控制模块 (6)3.2显示电路 (6)3.3转换模块 (7)3.4报警模块 (7)3.5系统总体电路图 (8)4 设计语言及软件介绍 (9)4.1 keil语言介绍 (9)4.2 Proteus软件介绍 (9)4.3 keil与proteus联调与仿真实现 (10)5 系统软件设计 (11)5.1 程序设计思路 (11)5.2源程序 (12)5.3 调试及仿真 (17)6 结论 (18)7 参考文献 (18)1 智能仪器仪表的简介1.1智能仪器仪表简介仪器仪表(英文:instrumentation)仪器仪表是用以检出、测量、观察、计算各种物理量、物质成分、物性参数等的器具或设备。
真空检漏仪、压力表、测长仪、显微镜、乘法器等均属于仪器仪表。
广义来说,仪器仪表也可具有自动控制、报警、信号传递和数据处理等功能,例如用于工业生产过程自动控制中的气动调节仪表,和电动调节仪表,以及集散型仪表控制系统也皆属于仪器仪表。
基于单片机的智能电子秤设计
方案二:采用专用仪表放大器[12],如:INA128,INA129等。
此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。
以INA128为例,引脚图如2-4所示:
所采用的传感器输出电压振幅范围0~10mV。而模数转换的输入电压要求为0~2V,因此放大环节至少200倍的增益,此处我们需要放大500倍。根据本设计的实际情况增列出了两种方案。
方案一:由高精度低漂移运算放大器构成差动放大器。
差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器,其内部电路如图2-3所示。
(2-2)
本文的目的是设计一简易电子秤,最大称重约为2.5千克,重量误差不大于±0.01千克;考虑到与其相配置的各种电路的设计的难易程度和设计性价比,最终选择了CZAF-605[8]电阻应变式称重传感器,其称重规模为5kg。
2.4
压力传感器感受重力转换后输出的信号一般电平较低;经由电桥等电路变换后的信号亦难以直接用来显示、记录、控制或进行模数转换。为此,测量电路中需要模拟放大环节。这一环节目前主要依靠由集成运算放大器的基本元件构成具有各种特性的放大器来完成。
AT89S51的电源脚分别为20脚Vss和40脚Vcc(图中已默认连接,未显示出来)。这两个脚分别接地和+5V直流电源,31脚EA为内外存储器的控制端,接+5V允许访问外部存储器。
传感器检测电路的功能是把电阻应变片的电阻变化转变为电压输出,本设计中选用的是CZAF-605电阻应变式称重传感器,因为通过其得到的电压信号很小,为所以还需要放大器放大信号。考虑到干扰的作用,对传感器的信号进行了滤波处理,最终设计如图3-3所示。
智能仪器课程设计——基于单片机的电动车城市充电系统设计
基于单片机的电动车城市充电系统设计电气工程专业 022012038 杜思山指导老师: 崔光照摘要本设计以凌阳公司的新一代16位单片机SPCE061A为核心,利用SPCE061A语音处理和控制功能,设计出具有语音提示功能和较好显示界面的电动自行车城市智能充电系统。
在设计中,探讨了智能充电系统的硬件结构的设计和蓄电池充电算法的实现。
硬件结构由单端反激式开关电源组成充电主电路,SPCE061A实现对蓄电池充电智能控制,同时实现和上位机的通讯,上位机软件采用DELPHI编制,使用ACM12864液晶显示中文菜单和充电状态,并利用SPCE061A的语音功能实现操作语音提示,使操作更加人性化;软件算法部分开发了恒流、恒压和智能等充电算法,能够对铅酸、镉镍等电动车电池进行充电。
关键词:SPCE061A ;电动自行车;智能ABSTRACTThe City Electric Bike Charging System with the speech function and Chinese menu is designed by using microcomputer SPCE061A,which is a 16 bit microcomputer and has the speech function and controlling .The design discussed hardware-structure of the intellective charge system and the algorithm of the storage battery. The hardware-structure is composedby switching power. SPCE061A controls switching power, charing storage battery in intelligence mode. The soft of SPCE061A communicates with PC is designed by Delphi.The design uses ACM12864 liquid crystal for display. Operation on the environmentof speech prompt and Chinese menu, the system has more friendly operation environment. Constant current charge、constant voltage charge and intellective charge algorithm were developed. The system can charge lead acid storage battery and cadmium-nickel accumulator.一、概述电动自行车在我国日益普及,正逐渐取代传统的交通代步工具。
单片机课程设计 数据采集及LCD1602显示,保留小数点后面两位
RST/Vpd:复位/备用电源输入端。单片机上电后,只要在该引脚上输 入 24 个振荡周期(2 个机器周期)宽度以上的高电平就会使单片机 复位;有在 RST 与 VCC 之间接一个 10uf 的电容,而在 RST 于 GND 之 间接一个 8.2 千欧的下拉电阻,则可实现单片机上电自动复位。
图 1 STC89C51RC 引脚分布
分引脚具有第二功能 面就被系统用到的引脚分别说明这些引脚的名称和功能。
(1)主电源引脚 VCC 和 GND
第 4 页 共 20 页
广西 科 技 大 学
VCC:接+5V 电源 GND:接电源地 (2)中电路引脚 XTAL1 和 XTAL2 XTAL1:接外部晶体的一端。在单片机内部,它是反相放大器的输入端, 该放大器构成了内震荡器。在采用外部时钟电路时,对于 HMOS 单片 机,此引脚必须接地;对于 CHMOS 单片机,此引脚作为驱动端。
#define DataPort P0
uchar table[]="0123456789"; /*-----------------------------------------------uS 延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振 12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*-----------------------------------------------mS 延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振 12M,精确延时请使用汇编 ------------------------------------------------*/ void DelayMs(unsigned char t) {
智能仪器设计课程教学大纲
《智能仪器设计》课程教学大纲Design of intelligent Instrument一、课程教学目标1、任务和地位:没有测量就没有鉴别,科学技术就不能前进。
要测量就必须有正确的测量方法和先进的仪器仪表。
随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都不得发生了巨大变化,形成一种完全突破传统概念的新一代测试仪器——智能仪器。
现在很多厂商、研究所以及高等院校都在研制开发各种智能化测量控制仪表,广大的仪表设计、生产和使用人员都不得迫切希望了解和掌握单片机在测量控制仪表中的应用技术。
为了跟上时代的步伐,本课程是测控专业学生必不可少的一门技术基础课。
2、知识要求:要求必须具备电路、电子仪器与测量技术、汇编原理及单片机原理的学习知识,通过本课程的学习为以后学生出去工作打下基础。
3、能力要求:系统地阐述基于单片机的智能化测量控制仪表的基本原理与设计方法,智能化测量控制仪表的人机接口、过程通道接口、串行和并行通讯接口、硬件和软件抗干扰技术、数据处理技术、仪表硬件及软件的设计方法。
通过课程设计加强学生综合知识的应用能力和设计动手能力。
二、教学内容的基本要求和学时分配2、具体要求:第一章绪论[目的要求]让学生了解智能化测量控制仪表的功能特点、智能化测量控制仪表的设计方法[教学内容]学习智能化测量控制仪表的基本与发展、智能化测量控制仪表的功能特点、智能化测量控制仪表的设计方法[重点难点]智能化测量控制仪表的功能特点[教学方法]板书,以教、学相结合来进行讲解。
[作业]课后复习思考题[课时]0.5学时第二章智能化测量控制仪表中专用微处理机[目的要求]让学生掌握MCS-51系列单片机的结构、MCS-51单片机的指令系统[教学内容]介绍了MCS-51系列单片机的特点、 MCS-51系列单片机的结构、CHMOS型单片机的节电工作方式、MCS-51单片机的指令系统[重点难点]MCS-51系列单片机的结构、CHMOS型单片机的节电工作方式、MCS -51单片机的指令系统[教学方法]板书,以教、学相结合来进行讲解。
智能仪器课程设计报告
天津电子信息职业技术学院传感器技能实训课题名称智能温度测温系统姓名王先民学号20班级电信S10-1专业电子信息工程技术所在系电子技术系指导教师岑永祚完成日期2011年12月11日一、 主要内容温度传感器DS18B20采集环境模拟信号,其输出送入AT89C51,单片机在程序的控制下,将处理过的数据送到移位寄存器74LS164,经74LS164输出后驱动三位数码管显示。
当被测温度高于18℃时,单片机发出控制信号使降温电扇以自然风的形式旋转,温度越高转速越快,温度36℃以上时风扇全速工作,点亮此功能指示灯。
二、 基本要求(1)设计测量温度范围-55℃~+125℃的智能测温系统,要求数码管实时显示测量温度,单片机根据温度高低确定风扇转速 (2)画出程序框图(3)有完整的整机电路图(protel 绘制)(4)完成格式正确、内容完整的实验报告三、 参考文献王祁, 智能仪器设计基础.北京:机械工业出版社,2009目录一、前言 (4)二、系统组成 (4)1、设计思路 (5)2、系统的性能指标: (5)3、系统的主要功能: (5)三、电路组成及工作原理 (5)1、温度传感器功能模块 (6)2、AT89C51单片机 ........................................................................................................ 8 3、74LS164移位寄存器 .. (12)4、晶振电路 (12)5、复位电路 ................................................................................................................... 13 6、键盘电路 . (13)7、显示电路 (14)8、稳压电路 ................................................................................................................... 14 9、显示电路 . (15)10、风扇控制电路 (15)四、课程设计心得与体会 (16)五、参考文献 (16)六、整机电路图 (17)七.心得体会 (18)智能温度测量系统的设计一、前言温度是一种基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量。
智能仪器课程设计报告
智能型温度测量仪报告题目:智能型温度测量仪院别:机电工程与自动化专业:生产过程自动化技术班级: xxx姓名: xxxXxxXxx指导老师: xxx目录引言................................................. 错误!未定义书签。
一、系统设计任务及要求........................................... - 2 -1.1系统设计任务 (2)1.2系统设计的基本要求 (2)1.3系统概述 (2)二、系统总体设计................................................. - 2 -整体设计方案的确定 (2)三、硬件电路设计及工作原理....................................... - 3 -3.1参数采集模块设计 (3)3.2显示温度模块和显示时钟介绍 (3)3.3具体硬件电路原理分析 (4)四、软件设计...................................................... - 7 -4.1主程序流程图 (7)4.2DS18B20温度读取程序(如图9) (8)4.3DS18B20温度传感器初始化 (8)4.4读出温度子程序 (9)4.5DS18B20的读写时序 (10)4.6按键流程图 (12)五、主要技术指标的测量........................................... - 12 -六、结论......................................................... - 13 -结束语........................................................... - 14 -附录:硬件原理图.................................................. - 15 -引言:温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量,也是工业控制中主要的被控参数之一。
基于C51单片机的智能仪器综合设计实验
基于单片机的智能仪器综合设计实验一、实验目的在实验一~实验三的基础上,完成综合设计实验,学会信号采集、数据处理、键盘控制、LCD或LED显示等功能的智能仪器设计。
二、复习与参考实验一~实验三三、设计指标利用K分度号热电偶进行温度检测,测温范围为500-1200ºC,室温为20ºC,用LCD或LED显示室温和测量温度。
具有4路温度信号循环检测功能,通道切换时间可调;具有任意指定通道显示功能。
四、实验要求1.选择传感器,设计硬件电路,包括检测电路、信号调理电路、AD转换电路、单片机最小系统、LED显示(单号)、LCD显示(双号)、独立式按键,画出电路原理图。
2.画出软件流程图。
3.用Keil C51编写程序。
3.实验结果在LCD或LED上显示出来。
4.实验前完成第1、2项备查。
五、实验仪器设备和材料清单PC机;单片机实验板、连接导线、ST7920图形液晶模块Keil c51软件六、实验成绩评定方法实验成绩包括预习、实验完成质量、实验报告质量3部分组成,各部分所占比例分别为30%、40%、30%。
八、实验报告要求实验报告格式:●实验名称●实验目的●实验内容●硬件设计●软件设计●调试过程●参考文献●附1:电路原理图●附2:程序清单附录:实验程序源代码如下:(陈寅)#include "reg51.h"#define THC0 0xee //5ms时间常数设置#define TLC0 0x00sbit ADWR=P3^6; /***WR*****/sbit ADRD=P3^7; /***RD*****/sbit ADCS=P2^7; /***CS*****/sbit EOC=P3^3; /***EOC****/sbit ADA=P1^3; //通道选择引脚sbit ADB=P1^4;sbit ADC=P1^5;sbit CS =P1^0; /****************/sbit SID=P1^1; /**液晶引脚定义**/sbit SCLK=P1^2; /****************/sbit MODE=P2^0; /*************************/sbit UP=P2^1; /*四个按键接口,0表示按下*/sbit DOWN=P2^2; /*************************/sbit LED1=P2^3; /**4个LED灯引脚定义**/sbit LED2=P2^4; /********************/sbit LED3=P2^5; /********************/sbit LED4=P2^6; /********************//***************500~1200°C范围的K分度表,间隔10*******************/ unsigned int code K_TABLE[71]={20644,21066,21493,21919,22346,22772,23198,23624,24050,24476,24902,25327,25751,26176,26599,27022,27445,27867,28288,28709,29128,29547,29965,30383,30799,31214,31629,32042,32455,32866,33277,33686,34095,34502,34909,35314,35718,36121,36524,36925,37325,37725,38122,38519,38915,39310,39703,40096,40488,40897,41296,41657,42045,42432,42817,43202,43585,43968,44349,44729,45108,45486,45863,46238,46612,46985,47356,47726,48095,48462,48828}; unsigned char GetAdData[10]={0}; //存放获得AD值的数组变量unsigned char ViewTemperature[4]={"0000"}; //显示温度缓冲数组变量unsigned MODESelect=1;int ChangeTime=2; //通道切换时间,单位Sint TongDao=1;void delay(unsigned int j){unsigned char i;do{for(i=0;i<100;i++);}while(j--);}void send_command(unsigned char command_data) //发送命令{unsigned char i;unsigned char i_data;i_data=0xf8; //操作命令,可以查看资料delay(10);CS=1;SCLK=0;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}i_data=command_data;i_data&=0xf0;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}i_data=command_data;i_data=i_data&0x0f;i_data<<=4;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}CS=0;}void send_data(unsigned char command_data) //发送数据{unsigned char i;unsigned char i_data;i_data=0xfa; //操作命令,可以查看资料delay(10);CS=1;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}i_data=command_data;i_data&=0xf0;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}i_data=command_data;i_data=i_data&0x0f; //取低四位i_data<<=4; //左移四位,从而变成高四位for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCLK=1;i_data=i_data<<1;}CS=0;}void InitLCD() //液晶初始化{send_command(0x30); //功能设置:一次送8位数据,基本指令集send_command(0x06); //点设定:显示字符/光标从左到右移位,DDRAM地址加1send_command(0x0c); //显示设定:开显示,显示光标,当前显示位反白闪动send_command(0x04); //显示设定:开显示,显示光标,当前显示位反白闪动send_command(0x01); //清DDRAMsend_command(0x02); //DDRAM地址归位send_command(0x80); //把显示地址设为0X80,即为第一行的首位}/* x,y为起始座标x(0<=x<=3),y(0<=y<=7),x为行座标,y为列座标;how为要显示汉字的个数;style为显示字符的类型,0表汉字,1表字母;str是要显示汉字的地址*/void Display(unsigned char x,unsigned char y,unsigned char how,bit style,unsigned char *stri) //液晶显示{unsigned char hi=0;if(x==0) send_command(0x80+y);else if(x==1) send_command(0x90+y);else if(x==2) send_command(0x88+y);else if(x==3) send_command(0x98+y);if(style==0){for(hi=0;hi<how;hi++){send_data(*(stri+hi*2));send_data(*(stri+hi*2+1));}}elsefor(hi=0;hi<how;hi++) send_data(*(stri+hi));}float LvBo(void)//复合滤波{unsigned char max,min,i;unsigned int sum=0;float U1;max=GetAdData[0];min=GetAdData[0];for(i=0;i<10;i++){sum=sum+GetAdData[i];if(max<GetAdData[i]) max=GetAdData[i];if(min>GetAdData[i]) min=GetAdData[i];}sum=sum-max-min;U1=(float)sum/8;U1=10.0*((U1*5.0)/255); //换成mvreturn U1;}void search (void)//查表子函数{unsigned int da=0,max,min,mid,j;unsigned int var;da=LvBo()*1000; //u1扩大1000倍da=da+798; //20度max=71;min=0;var=0;while(1){mid=(max+min)/2; //中心元素位置if(K_TABLE[mid]==da) {var=mid*10;break;} //中心元素等于查表元素,计算相应温度else if(K_TABLE[mid]>da) max=mid-1;else min=mid+1;if(max-min==1) /*线性插值计算温度值*/{j=(K_TABLE[max]-K_TABLE[min])/10; /*表中相邻两值对应温度相差10°C*/j=(da-K_TABLE[min])/j;var=10*min+j;break;}if(max==min){if(da>=K_TABLE[min]){j=(K_TABLE[min+1]-K_TABLE[min])/10;j=(da-K_TABLE[min])/j;}else if(da<K_TABLE[min]){j=(K_TABLE[min]-K_TABLE[min-1])/10;j=(da-K_TABLE[min-1])/j;min=min-1;}var=10*min+j;break;}}var=var+500;ViewTemperature[0]=var/1000+0x30;ViewTemperature[1]=var/100%10+0x30;ViewTemperature[2]=var/10%10+0x30;ViewTemperature[3]=var%10+0x30;}void LcdDisplay(void){unsigned char ViewMODESelect,ViewTongDao[5]={"0 "},ViewChangeTime[5]={"00(S)"};ViewMODESelect=MODESelect+0x30;ViewTongDao[0]=TongDao+0x30;if(MODESelect==1||MODESelect==2){if(MODESelect==1) Display(0,3,5,0,":自动切换");else if(MODESelect==2) Display(0,3,5,0,":手动切换");Display(0,0,2,0,"模式"); //液晶显示Display(0,2,1,1,&V iewMODESelect);Display(1,0,5,0,"温度通道:");Display(1,5,5,1,V iewTongDao);Display(2,0,4,0,"温度值:");Display(2,4,4,1,V iewTemperature);Display(2,6,2,1,"℃");}else if(MODESelect==3){ViewChangeTime[0]=ChangeTime/10+0x30;ViewChangeTime[1]=ChangeTime%10+0x30;Display(0,0,2,0,"模式");Display(0,2,1,1,&V iewMODESelect);Display(0,3,5,0,":设置时间");Display(1,0,5,0,"切换时间:");Display(1,5,5,1,V iewChangeTime);Display(2,0,14,1," "); //本行清屏}}void TDSelect(void) //AD通道设置{if(TongDao>=5) TongDao=1;if(TongDao<=0) TongDao=4;if(TongDao==1) {ADC=0;ADB=0;ADA=0;}else if(TongDao==2) {ADC=0;ADB=0;ADA=1;}else if(TongDao==3) {ADC=0;ADB=1;ADA=0;}else if(TongDao==4) {ADC=0;ADB=1;ADA=1;}}main(){unsigned char AdCount=0; //用来存放AD采集次数InitLCD();TMOD=0x11; //定时器0初始化TH0=THC0;TL0=TLC0;TR0=1;ET0=1;EA=1;P2|=0x07; //按键初始为高while(1){ADWR=1; /************/ADCS=0; /************/ADWR=0; /**AD初始化**/ADWR=1; /************/while(!EOC); //等待转换结束ADRD=0;GetAdData[AdCount]=P0; //读取转换结果AdCount++;if(AdCount>=10) //连续采集10次值{AdCount=0;search(); //查表LED1=!LED1;LcdDisplay(); //显示}}}void Timer0() interrupt 1{static unsigned char count=0,UPFlag=1,DOWNFlag=1; //按键标志位static unsigned int TimeCount=0;TH0=THC0;TL0=TLC0;if(MODE==0||UP==0||DOWN==0){count++;if(count>=30) //消抖处理{count=0;if(MODE==0) //按键按下{MODESelect++;if(MODESelect>=4) MODESelect=1;}else if(UP==0){UPFlag=0;if(MODESelect==2){TongDao++;TDSelect();}}else if(DOWN==0){DOWNFlag=0;if(MODESelect==2){TongDao--;TDSelect();}}}}else count=0;if(MODESelect==1){TimeCount++;if(TimeCount>=(ChangeTime*1000/5)){TimeCount=0;TongDao++;TDSelect();}}else if(MODESelect==3){if(UPFlag==0) {UPFlag=1;ChangeTime++;}else if(DOWNFlag==0){DOWNFlag=1;ChangeTime--;if(ChangeTime<=0) ChangeTime=1;}}}。
智能仪器课程设计任务书
智能型温度测试仪任务书
题目:智能型温度测量仪
院别:机电工程与自动化
专业:生产过程自动化技术
班级:xxx
姓名:xxx
Xxx
Xxx
指导老师:xxx
《智能型仪器仪表》设计任务书一、设计系统名称
智能型温度测量仪
二、性能指标
DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。
1、具有数码管显示时间,如12:00。
2、显示温度二位数值,如50 ºC。
3、按键功能,设计中共使用了4个按键,第一个为功能键用
来切换按键用来切换时间的时、分;第二个按键为加键;第三个为减键;第四个为设置取消键
三、任务分配
1.人员安排:
由xxx编写程序、画原理图
由xxx做ppt。
由xxx收集资料。
课程设计进程安排表。
《智能仪器设计》课堂及实践教学探讨
部分 , 除介绍常规 的R 224 2 8 、P I 通信 接 口外 , S 3/2/ 5 G —B 4 还介绍 U B S 通用 串行 总线 、 以太 网接 口技术 、 现场总线 ( A 、 A T Po — u等 )蓝牙接 口技术等 内容 , 用 C N H R 、rf b s 、 i 利
得了较好的效果 。 课堂教学 内容体 系及教学方法改革 课堂教学 内容 与先修课程微 机原理 、单 片机与嵌
一
、
入式 系统相衔 接 , 主要讲 授 : 据采集 技术 、 数 模拟 量与 控制信 号输 出技术 、 机接 口技 术 、 信接 口技术 、 人 通 数 字滤波方法 、误差 校正和量程 自动切换等数 据处理算 法、 智能仪器 的软件结构及 程序设计 方法 、 仪器 自检与 抗 干扰技术及其他 常用 的提高仪器仪 表可靠性 的硬软 件设计方法等 。 1 . 以应用 为主线 结合大作业组 织教学内容。 学过 教 程 中, 为强调仪器 仪表的整体概念 , 以大作业形 式给 出 若 干仪表设计 的实 际案例 , 结合课 堂教学 的不 同阶段 。 分模块设 计完成 。大作业包 括 : 自动供 水系统设计 、 多
新技术及其发展动 向。包括现代 传感技术 、 新型元器件 及智能芯 片 、 可编程器件 、 网络及通信技术等 。如通信
实的基础 。为不 断提高课程 的教学质量 , 我们在教学研 究与实践 中 , 断总结经验 , 不 在课 堂教学 、 验 、 实 课程设 计及 成绩考 核等具 体环节 中采 取 了一些有 效措施 , 取
一
2 化 仪器仪 表智 能化及相关新技术的教学 内容 。 强 课 堂教 学 中, 除介绍智 能仪器可 以 自动选择量 程 、 自动 存储测 量结果 、 显示, 印 、 打 自校准 、 自诊断等初级智 能 外 ,加强 了具有 更高层 次智 能水平仪 器方 面的知识 , 如: 分析 、 判断 、 推理 、 习等在智能仪器 中的实现 。同 学 时, 将模 糊数学 、 经 网络 、 神 专家 系统等方 面 的知识 引 入到智能仪器设计 。结合火电厂的一些控制设备 , 介绍 智能控制方 面知识的应用 , : 如 模糊控制 、 专家控制 、 自 适应控 制等。智能仪器 的发展与现代科学技 术密切相 关 ,因此教学 中也应关 注与仪 器仪表有关 的新理论 和
