智能仪表综合训练设计说明书_第1页
智能仪表综合训练设计说明书_第2页
智能仪表综合训练设计说明书_第3页
智能仪表综合训练设计说明书_第4页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能仪表综合训练设计说明书第一章绪论1.1 智能仪器与数据采集系统的作用与发展1. 智能仪器技术是一门集电子技术、 单片机技术、自动化技术、自动控制技术、计算机应用等于一体的跨学科的专业技术课程。随着微电子技术和计算机技术的飞速发展,测控仪器仪表的智能化、 总线化、网络化已成为整个行业发展的主要趋势,同时也日益成为工程界和科技界人士所关注的重要问题之一。智能仪器的出现,极大的扩充了传统仪器的应用范围。只能仪器凭其体积小、功能强、功耗低等优势,迅速的在家用电器、科研单位和工业企业中得到广泛的应用。2. 与传统仪器仪表相比,智能仪器具有以下功能特点:(1) 操作自动化。仪器的整个测量过程如键盘扫描

2、、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。(2) 具有自测功能,包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。智能仪表能自动检测出故障的部位甚至故障的原因。这种自测试可以在仪器启动时运行,同时也可在仪器工作中运行,极大地方便了仪器的维护。(3) 具有数据处理功能,这是智能仪器的主要优点之一。智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。例如,传统的数字万用表只能测量电阻、交直流电压、电流等,而智能型的数字万用表不仅能进行

3、上述测量,而且还具有对测量结果进行诸如零点平移、取平均值、求极值、统计分析等复杂的数据处理功能,不仅使用户从繁重的数据处理中解放出来,也有效地提高了仪器的测量精度。(4) 具有友好的人机对话能力。智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。(5) 具有可程控操作能力。一般智能仪器都配有GPIB、 RS232C、 RS485等标准的通信接口,可以很方便地与PC机和其他仪器一起组成用户所需要的多种功能的自动测量系统,来完成更复

4、杂的测试任务。3. 智能仪器发展趋势(1) 微型化。如巡航导弹控制部分、植入病人体内的多参量测量仪等。(2) 多功能。如数字任意波形发生器、人体生命特征测量仪等。(3) 人工智能化。具有视觉、听觉、思维等。(4) 网络化(5) 虚拟仪器是智能仪器发展的新阶段(6) 微功耗。1.2 智能仪器的概述1.2.1 智能仪器的基本组成智能仪器硬件组成主要由单片机、模拟量和开关量I/O 通道、人 - 机联系部件及其接口电路、数据通信接口等组成。如图1-1 所示。开关量输入开关量输入接口开关量输出接口开关量输出模拟量输入输入A/D转单D/A转驱动与片控制量电路换接口换接口执行电路微面板健盘键盘输入接口型显示

5、器接口LED、LCD等计程序存储器ROM算打印机接口微型打印机机数据存储器RAM通信接口RS-232、GPIB等电源图1-1智能仪器硬件组成框图1. 主机电路:常由单片机构成, 也是区别于传统仪器的核心部件。 主要用于存储程序、数据,执行程序进而实现各种运算、数据处理和各种控制功能。2. 输入通道:模拟量输入通道由输入电路和 A/D 转换接口构成。 用于对被测量的输入信号进行所需的各种变换、放大、滤波、采样 - 保持、 A/D 转换等处理,经 A/D 接口送入计算机。开关量输入信号只要电平匹配则可直接送入计算机。3. 输出通道:模拟量输出通道由 D/A 转换器及驱动电路等构成。 用于将主机处理

6、的结果转换为模拟量并输出。开关量输出信号可直接由计算机输出或经隔离、驱动电路输出。4. 人机接口:由键盘、显示器和打印机接口等组成。用于实现人机对话。5. 通信接口:用于实现智能仪器与其它仪器、 设备或计算机系统交换数据和信息。6. 电源系统:用于为智能仪器各部分提供合格的能源供应。1.2.2 智能仪器的基本工作原理传感器拾取被测参量的信息并转换成电信号,经滤波去除干扰后送入多路模拟开关;由单片机逐路选通模拟开关将各输入通道的信号逐一送入程控增益放大器,放大后的信号经A D 转换器转换成相应的脉冲信号后送入单片机中;单片机根据仪器所设定的初值进行相应的数据运算和处理( 如非线性校正等 ) ;运

7、算的结果被转换为相应的数据进行显示和打印;同时单片机把运算结果与存储于片内FlashROM(闪速存储器 ) 或 E2PROM(电可擦除存贮器 ) 内的设定参数进行运算比较后,根据运算结果和控制要求,输出相应的控制信号( 如报警装置触发、继电器触点等) 。此外,智能仪器还可以与PC机组成分布式测控系统,由单片机作为下位机采集各种测量信号与数据,通过串行通信将信息传输给上位机PC机,由 PC机进行全局管理。1.3 数据采集系统的概述随着计算机的发展与普及,社会已进入信息时代。作为获取信息重要工具的微机数据采集系统,日益广泛地深入到生产、科研的各个领域,形成了一种兴旺发达的产业,它也就自然地成为电子

8、信息工程专业的学生或其它有关专业的工程技术人员的专业知识。数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。被采集数据是已被转化为电信号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采集方式,即隔一定时间(即采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据量测是数据采集的基础。数据采集系统:处理信息的I/O 设备、计算机软硬件等的总称。第二章数据采集系统总体方案设计2.1 数据采集系统的意义和任务近年来,数据采集及其应用技术收到人们越来越广泛的关注,数据采集系统也迅速的得到应

9、用, 在生产过程中, 应用这一系统可对生产现场中的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息和手段。在科学研究领域中,应用数据采集系统可获得大量的动态信息,是研究瞬时物过程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在哪个领域中,数据采集和处理越及时, 工作效率就越高, 取得的经济效益就越大。 数据采集系统性能的好坏,主要取决于它的精度和速度。 在保证精度的条件下, 应尽有可能地提高采样速度,以满足实时采集、实时处理和实时控制对速度的要求。因此,研究并开发新型、有更高质量的数据采集系统是非常有必要的。数据采集系统的应用非常广泛,主要应用有:(1) 工业过程控制:实

10、时检测控制,DCS、 SCADA;(2) 遥测遥控:航天、航空、火箭、卫星发射;(3) 智能仪表、测试仪器:微机控制、数字显示;(4) 家用电器、民用电子产品: 智能控制、红外、 电视、洗衣机、录象机、智能记录、存储;(5) 计算机仿真系统:汽车驾驶培训、潜艇仿真运行、钻井仿真培训等均离不开 DAS的应用(数据来自现场,输出却不对现场起作用) 。工业上使用的数据采集系统大致可分为四类:(1) 基于通用微型计算机 ( 如 Pc 机) 的数据采集系统这种系统主要功能是将采集来的信号通过外部的采样和A D 转换后的数字信号通过接口电路送入微机进行处理,然后再显示处理结果或经过D A 转换输出。它主要

11、有以下几个特点:系统较强的软、 硬件支持。 通用微型计算机系统所有的软、硬件资源都可以用来支持系统进往工作。具有自主开发能力。系统的软硬件的应用配置比较小,系统的成本较高, 但二次开发时, 软硬件扩展能力较好。在工业环境中运行的可靠性差,对安放的环境要求较高。 程序在 RAM中运行,易受外界干扰破坏。(2) 基于单片机的数据采集系统它是由单片机及其一些外围芯片构成的数据采集系统,具有如下特点:系统不具有自主开发能力。因此,系统的软硬件开发必须借助开发工具。系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用,配置比接近于1,具有最佳的性价比;系统的软件一般都有应

12、用程序。系统的可靠性好, 使用方便。应用程序在 ROM中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。(3) 基于 DSP数字信号微处理器的数据采集系统DSP数字信号微处理器从理论上而言就是一种单片机的形式,DSP数字信号微处理器与通用微处理器相比,除了它们的机构不同以外,其基本差别是: DSP 数字信号微处理器有能力响应和处理采样模拟信号得到的数据流, 如乘法和累加求和运算。常用的数字信号处理芯片有两种类型, 一种是专用 DSP芯片,另一种是通用 DSP芯片。基于 DSP数字信号微处理器的数据采集系统的特点如下: 精度高、灵活性好、可靠性高、容易集成、分时复用等,但同时其价格不

13、菲。(4) 基于混合型计算机采集系统这是 - 种近年来随着 8 位单片机出现而在计算机应用领域中迅速发展的一种系统结构形式。它是由通用计算机(PC 机) 与单片机通过标准总线 ( 例如 RS-485标准 ) 相连而成。单片机及其外围电路构成的部分是专为数据采集等功能的要求而配置的,主机则承担数据采集系统的人机对话、大容量的计算、记录、打印、图形显示等任务固。混合型计算机数据采集系统有以下特点:通常具有自开发能力。系统配置灵活,易构成各种大中型测控系统。主机可远离现场而构成各种局域网络系统。充分利用主机资源,但不会占有主机的全部CPU时间。2.2 数据采集系统的基本功能数据采集系统的任务, 具体

14、地说,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号, 然后送入计算机, 根据不同的需要由计算机进行相应的计算和处理, 得出所需的数据。 与此同时,将计算得到的数根进行显显示和打印,以便文现对某些物理量的监视由数据采集系统的任务可以知道,数据采集系统具有以下几个方面的功能。1数据采集计算机按照预先选定的采样周期,对输入到系统的模拟信号进行采样,有时还要对数字信号、开关信号进行采样。2模拟信号处理模拟信号是指随时间连续变化的信号,这些信号在规定的一段连续时间内,其幅值为连续值,即从一个量变到另一个量时中间没有间断,如正弦信号。模拟信号有两种类型: 一种是由各种传感器获得的低电平信号,

15、 另一种是由仪器、变送器输出的 0-10mA 或 4-20mA 的电流信号。这些模拟信号经过采样和A/D(模拟 / 数字)转换输入计算机后, 常常要进行数据的正确性判断、 标度变换、线性化等处理。模拟信号便于传送, 但它对于干扰信号很敏感, 干扰信号容易使传送中信号的幅值或相位发生畸变。 因此,有时还需要对模拟信号做零点漂修正、 温漂修正和数字滤波等处理。3数字信号处理数字信号是指在有限的离散瞬时上取值间断的信号。 在二进制系统中, 数字信号是由有限字长的数字组成,其中每位数字不是 0 就是 1,这可由脉冲的有无来体现。数字信号的特点是,它只代表某个瞬时的量值,不是连续的信号。数字信号是由某些

16、类型的传感器或仪器输出,它在线路上的传送形式有两种:数字信号对传送线路上的不完善性(畸变、噪声)不敏感,数字信号输入计算机后,常常需要进行码制的转换处理,如BCD码转换成 ASCII 码,以便显示数字信号。第三章数据采集系统的硬件设计3.1 系统结构框图数据采集系统的主要分为以下几个模块:数据采集转换模块、数据存储模块、键盘控制模块、时钟模块、液晶显示模块、串口通信模块。其中数据采集模块包括 AD电压信号量采集和系统工作温度采集。各模块关系图如图3-1 。物理模拟量数据采集模块单片机液晶显示键盘图3-1系统模块关数据采集系统的结构随其用途而具有不同的组成形式。按照系统中数据采集电路是各路共用一

17、个还是每路各用一个,多路模拟输人通道可分为集中采集式和分散采集式两大类型。本文介绍的是集中式数据采集系统,如图3-2 所示。传感器信号调节器与处理放大信号调节多传感器路与处理开关传感器信号调节与处理传感器数字信号传感器开关信号采A/D样转保换显示器持器器打印机计定时与逻辑控制算机D/A转换器接口键盘图 3-2 微型计算机数据采集结构图由图可知,微型计算机数据采集系统是由传感器、模拟多路开关、放大器、计算机、A/D 转换器等组成的。3.2 系统工作原理3.2.1 CPU 处理核心模块AT89C52是 51 系列单片机的一个型号,它是 ATMEL公司生产的。 AT89C52有40 个引脚,32 个

18、外部双向输入/ 输出(I/O)端口,同时内含2 个外中断口, 3个16 位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52 可以按照常规方法进行编程, 但不可以在线编程。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的效地降低开发成本。图 3-3 所示是它的引脚图:Flash存储器可有图 3-3 芯片管脚图管脚介绍:VCC:电源电压GND:地P0口:P0 口是一组8 位漏极开路型双向I/O口,也即地址 / 数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个 TTL 逻辑门电路,对端口 P0 写“ 1”时,可作为高阻抗输入端用。在访问外部数

19、据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0和P1.1还可分别作为定时/ 计数器2 的外部计数输入( P1

20、.0/T2 )和输入( P1.1/T2EX ), Flash编程和程序校验期间,P1接收低8 位地址。P1.0和P1.1还有第二功能,如表3.1 所示 .表3.1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时 / 计数器2)P2 口:P2 是一个带有内部上拉电阻的8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口P2 写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电(IIL) 。在访问外部程序存储器或16 位地址

21、的外部数据存储器(例如执行MOVXDPTR指令)时, P2 口送出高 8 位地址数据。在访问8 位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2 口输出 P2锁存器的内容。 Flash编程或校验时, P2 亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向 I/O口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL )。 P3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Fl

22、ash闪速存储器编程和程序校验的控制信号。表 3.2 P3口的第二功能端口引脚第二功能P3.0RXD (串行输入口 )P3.1TXD(串行输出口)P3.2INT0 (外部中断 0)P3.3INT 1(外部中断1)P3.4T0(定时器0)P3.5T1(定时器1)P3.6WR (外部数据存储器写选通)P3.7RD (外部数据存储器都选通)RST:复位输入。当振荡器工作时, RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6输出固定的脉冲信号,

23、因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX和 MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN程序储存允许 ( PSEN)输出是外部程序存储器的读选通信号, 当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 在此期间, 当访问外部

24、数据存储器, 将跳过两次 PSEN信号。EA/VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址 0000H FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平(接Vcc 端), CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。的编程XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。322 ADC模数转换1.ADC0832的主要特性:(1)、 8位分辨率;(2)

25、、双通道 A/D转换;(3)、输入输出电平与 TTL/CMOS相兼容;(4)、 5V电源供电时输入电压在 05V之间;(5)、工作频率为 250KHZ,转换时间为 32 S;(6)、一般功耗仅为 15mW;(7)、 8P、14PDIP(双列直插)、 PICC 多种封装;(8)、商用级芯片温宽为0 +70,工业级芯片温宽为- 40 +85。2. ADC0832 外部引脚及其说明 :ADC0832外部引脚,有 CS、CHO、CH1、GND、Vcc、CLK、DO、DI。其 ADC0832的引脚图如图 3-4 所示:CS18VCCCH027CLKCH136DOGND45DI图 3-4 ADC0832引

26、脚图ADC0832芯片各个引脚说明:(1)、CS 片选使能,低电平芯片使能。(2)、CH0 模拟输入通道 0,或作为 IN+/ 使用。(3)、CH1 模拟输入通道 1,或作为 IN / 使用。(4)、GND芯片参考 0 电位(地)。(5)、DI 数据信号输入,选择通道控制。(6)、DO 数据信号输出,转换数据输出。(7)、CLK 芯片时钟输入。(8)、VCC 电源输入及参考电压输入。ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨率可达256 级,可以适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为32 S,据有

27、双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。3. 单片机对 ADC0832的控制原理一般情况下单片机与 ADC0832的接口线为 4 条数据线,分别为 CS、CLK、DO、 DI 。但由于 DO和 DI 端在通信时并未同时有效与单片机的借口是双向的, 所以电路设计时可以将 DO和 DI 并联在一根数据线上使用。当 ADC0832未工作时其 CS输入端应为高电平,此时芯片禁用,CLK和 DO/DI 的电平可任意。当要进行A/D转换时,须先将CS端置于低电平并且保持低电

28、平知道转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK提供时钟脉冲, DO/DI 端则使用 DI 端输入通道功能选择的数据信号。 第 1 个时钟脉冲到来之前 DI 端必须是高电平。在第 2、3 个时钟脉冲到来之前 DI 端应输入 2 位数据用于选择通道功能,其功能见下表表 3.3 ADC0832 的配位逻辑表配置位选择通道输入形式CH0CH1CH0CH110单端1100差分01如上表所示,当此2 位数据为“ 1”、“0”时,只对 CH0 进行单通道转换。当 2 位数据为“ 1”、“ 1”时,只对 CH1进行单通道转换。当 2 位数据为“ 0”、 “ 0”时,将 CH0作

29、为正输入端 IN+,CH1作为负输入端 IN- 进行输入。当 2 位数据为“ 0”、“ 1”时,将 CH0作为负输入端 IN- ,CH1 作为正输入端 IN+进行输入。到第 3 个脉冲的下沉之后DI 端的输入电平就失去输入作用,此后DO/DI 端则开始利用数据输出 DO进行转换数据的读取。 从第 4 个脉冲下沉开始由 DO端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。 也正是从此位开始输出下一个相反字节的数据, 即从第 11 个字节的下沉输出 DATD0。随后输出 8 位数据,到第 19 个

30、脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。3.2.3 LCD1602在单片机系统中使用液晶显示器作为输出器件有以下优点:( 1) 显示质量高( 2) 数字式接口( 3) 体积小、重量轻( 4) 功耗低第四章数据采集系统的软件设计4.1 Keil514.1.1 Keil C51的介绍C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。 C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C 语言是一种结构化程序设计语言,它支持当前程序设计中

31、广泛采用的由顶向下结构化程序设计技术。此外,C 语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。 因此,使用 C语言进行程序设计已成为软件开发的一个主流。用 C语言来编写目标系统软件,会大大缩短开发周期, 且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C 语言编程。使用 C 语言肯定要使用到C 编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。KEIL51 是众

32、多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和 C 语言的程序设计, 它的界面和常用的微软 VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。 因此本系统采用 KEIL 进行软件的编写和调试。4.1.2 C-51的特点:1. C 语言作为一种非常方便的语言而得到广泛的支持,国内最通用的是Keil C51.2. C 语言程序本身不依赖于机器硬件系统, 基本上不作修改就可将程序从不同的单片机中移植过来。3. C 提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增

33、加程序可读性和可维护性。4.2 Keil C514.2.1 C51存储类型C51存储类型如图4.1 所示。表 4.1 C51存储类型存储类型寻址空间数据长度值域范围data片内直接寻址RAM80127idata片内间接寻址RAM80255pdata分页寻址片外RAM80255xdta片外数据存储( 64K)16065535code片内统一编址ROM(64K) 16065535bdata片内可位寻址的 RAM10127( 16byet )4.2.2 C51的数据类型:在表 4.2 中, C51的数据类型有整型、实型、字符型所分,以及相应的关键字、所占位数和数的表示范围。表 4.2 C51 的数据

34、类型类型符号关键字所占位数数的表示范围整(signed) int16-3276832767型有16-3276832767(signed) short(signed) long32-21474836482147483647unsigned int16065535无short16065535unsignedintunsigned long int3204294967295实有float323.4e-383.4e38型有double641.7e-3081.7e308字有char8-128127符无unsigned char80255型C51 的数据类型扩充定义:safer: 特殊功能寄存器声明sfr

35、16:sfr的 16 位数据声明sbit:特殊功能位声明bit:位变量声明例: sfr SCON = 0X98;sfr16 T2 = 0xCC;sbit OV = PSW2;4.2.3 C51的运算符与 C 语言基本相同:+-*/(加减乘除) = (位右移位左移) & |(按位与按位或 ) (按位异或按位取反 )4.2.4 C-51的基本语句if选择语言switch/case多分支选择语言while循环语言do-while循环语言for循环语言4.3 程序设计主程序设计包括以下方面:按照硬件电路对单片机位定义。编写延时模块程序。编写驱动 LCD显示模块程序。编写驱动 A/D 转换模块程序。主程

36、序流程图 4-1 所示。开始STC89C51初始化有键按下吗?键盘子程序N启动A/D转换标度变化处理LCD显示程序图 4-1主程序流程图4.3.1 LCD1602 显示模块程序设计经分析, LCD1602显示由初始化设计指令、相应地址以及显示字符ASCII 组成。初始化流程流程图如图4-2 所示。写入功能设置指令写入初始化设置指令忙标志=1 ?YNN初始化完?Y写入相应地址写入要显示字符ASCII图 4-2初始化程序流程图4.3.2 ADC0832 模块的程序设计正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、 CLK、DO、DI。但由于 DO端与 DI 端在通信时

37、并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。 (见图 3 )当 ADC0832未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲, DO/DI 端则使用 DI 端输入通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2 、 3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能 .ADC

38、0832的程序流程图如图 4-3 所示。开始初始化启动ADC0832转换结束?NY读取数据返回图 4-3 ADC0832 转换程序流程图第五章系统调试完成了系统的硬件设计, 制作和软件编程之后, 要使系统能够按设计意图正常运行,必须进行系件和软件调统调试。5.1 硬件的调试硬件调试的主要任务是排除硬件故障,其中包括设计的错误和工艺性故障等。1. 检查所设计的硬件电路板所有的器件和引脚是否正确, 尤其是电源的连接是否正确;检查各总线是否有短路的故障。检查开关/ 按键是否正常,是否连接正确,为了保护芯片,应先对各IC 座电位进行检查,确认无误后再插入芯片。a. 第一步,我们用数字万用表进行了逐一对

39、点的检查,检查各导线间是否有短路与开路的故障。(检测导线导通 - 连接无误)b. 第二步 , 测输入 5V 电源( 0V 地)线是否与电路中的对应点的电源(地)线相连接是否正确; 及检查开关 / 按键是否正常, 是否连接正确。(检测导线导通- 连接无误 - 按键正常)c第三步,测芯片管座与芯片管座之间用导线连接起来的对应脚是否导通与截止。(检测对应脚的导线连接导通- 连接正常)2. 将 40 芯片的仿真插头插入单片机插座进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。3. 将显示子程序经过 keil 软件仿真生成( .hex )文件,用编程器将生成的(.hex) 文件写

40、入 AT89C51芯片。4. 将写入显示程序的芯片 AT89C51插入硬件电路单片机管座, 观看显示电路的 4 路数码管是否正常发光。 【数码管发光正常 - 电路能运行】5. 将整机程序生成的 (.hex )文件写入 AT89C51芯片,插入单片机插座进行调试,检查各接口是否满足设计的要求, 有正常的程序测试硬件电路的好坏。 当我们把前几步准备工作都做完以后通电进行总调。a. 通道号为 0 时,测 ADC0809的 26 脚( IN0)显示电路显示通道号与电压值为 02.95 ,对可变电位器进行调试,显示电压变动,用万用表检测ADC0809的28 脚对地电压,与设计的显示器上的值相差无几。b.

41、 通道号为 1 时,测 ADC0809的 27 脚( IN1)显示电路显示通道号与电压值为 12.45 ,对可变电位器进行调试,显示电压变动,万用表测试正常。c. 通道号为 2 时,测 ADC0809的 28 脚(IN2)显示电路显示通道号与电压值为 24.45 ,对可变电位器进行调试,显示电压变动,万用表测试正常。d. 当按下【单路 / 多路巡检】时,通道号与电压值同步改变正常,再按一下【单路 / 多路巡检】时通道号与电压固定不再变动。因为我们做的是3 路巡检,所以当显示电路的通道号为2 时,下一步显示电路的通道号将变为0。e. 按下【通道选择】时,每当按一下时变一通道,在按一下时又变一个通

42、道,即完成通道号的选择。f. 按下【复位】按键时,通道号将变成 0 通道,电压也为初始值。g. 硬件电路调试与测试均正常。(硬件调试结果见附录4)5.2 软件的调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。 软件调试是一个模块一个模块进行的。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。 最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。1. 检查 LCD显示模块程序。观察在 LCD上是否能够显示相应的字符。2. 检查按键模块程序。3. 检查 A/D 转换模块程序。 可以在硬件电路的输入端输入已知的几个电压, 分别

43、观察 LCD上是否显示相应的电压值。 (软件调试结果见附录 4)4所有程序运行正常后,在这个程序中加入中断延时50ms。(软件调试后加入中断程序清单见附录3)第六章总结首先我们由衷感谢老师提供给我们这样一个锻炼自己的机会, 让我们感受到学来的知识不只是用来完成试卷的。其次我们在完成课程设计的过程中体会到团队合作的乐趣。 一向惯于“独立思考”的我们学会了积极的同团队成员交流,取长补短,共同进步。 “独学而无友则孤陋而寡闻”,只有和同学多交流多学习才能不断的提高自身水平。最后,也是最重要的一点, 我们学会了一种快速有效的学习方法。 以往的学习都是老师讲学生记, 不懂得地方就靠解答大量习题帮助记忆, 学习的主要目的是通过最后的考试。 课程设计使我们发现考试真的并不是最重要,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论