分享
分销 收藏 举报 申诉 / 47
播放页_导航下方通栏广告

类型数据采集系统设计.doc

  • 上传人:天****
  • 文档编号:2807883
  • 上传时间:2024-06-06
  • 格式:DOC
  • 页数:47
  • 大小:499.04KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据 采集 系统 设计
    资源描述:
    毕业论文 论文题目:数据采集系统设计 摘 要 数据采集技术是以模拟信号处理、数字化、数字信号处理和计算机等高科技为基础而形成的一门综合技术,是联系模拟世界和数字世界的桥梁。 数据采集系统的核心部分主要是靠单片机来实现的,在任何单片机测控制系统中,都是从尽量快速、尽量准确、尽量为完整地获得数字形式的数据开始的,因此,数据采集系统作为沟通模拟域与数字域的必不可少的桥梁起着非常重要的作用。 本系统是运用VB编制上位机数据处理及显示程序,上位机通过命令可以控制下位机进行连续数据采集和单次数据采集,并可以通过命令停止下位机的数据采集。 本文是Atmega8515单片机的一种应用,其主要功能就是实现一路模拟量从一个终端到另一个终端的采集、传输,这种系统在工业控制,智能仪表中广泛应用。 关键词:单片机 数据采集系统 模拟量 - 43 - Abstract Data collection technology is analog signal processing, digital, digital signal processing and high-tech computer-based form of an integrated technology, it is a bridge which contacts simulated world and the digital world. Data Acquisition System core microcontroller is mainly achieved in single-chip computer test control system, it begins from completing access to the data in digital form as rapid and as accurately as possible, data acquisition system as a communication with the digital domain simulation domain of the essential bridge plays a very important role. The system is compiled using VB PC data processing and display program, PC can be ordered through the machine under the control of continuous data acquisition and single data collection, and can be ordered to stop under-machine data acquisition. Keywords : Single-chip computer Data acquisition system Analog 目 录 第一章 绪论 - 1 - 第二章 系统总体设计方案 - 4 - 2.1 系统设计要求 - 4 - 2.2 系统总体方案 - 4 - 第三章 系统硬件电路设计 - 5 - 3.1 Atmega8515单片机最小系统 - 5 - 3.1.1 Atmega8515简介 - 5 - 3.2 显示器接口电路 - 9 - 3.3 键盘接口电路 - 13 - 3.4 A/D转换器接口电路 - 14 - 3.5 D/A转换器接口电路 - 16 - 3.6 串口通信接口电路 - 18 - 第四章 系统软件设计 - 20 - 4.1下位机软件设计 - 20 - 4.2 上位机软件设计 - 32 - 结 论 - 37 - 参考文献 - 37 - 致 谢 - 39 - 第一章 绪论 数据采集系统正如名字所暗示的,是一种用采集信息成文件或分析一些现象的产品或过程,在最简单的形式中,技术人员将烤箱的温度记录在一张纸上就是数据采集。随着技术的发展,通过电子设备,这个过程已经得到简化和变得比较精确。数据采集系统在工业测控以及试验室研究方面的应用非常广泛,随着科学技术的发展,数据采集技术被普遍认为是现代科学研究和技术发展的一个重要方面。数据采集系统向高精度、高速度、稳定可靠和集成化的方向发展,在多个领域有着广泛的应用。它是工业、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。 随着工农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。 数据采集系统一般由数据采集、数据处理、处理结果的实现与保存三个部分构成。数据采集指被测信号经过放大、滤波、A/D转换,并将转换后的数据送入计算机。这里要考虑干扰抑制、带通选择、转换准确度、采样/保持及与计算机接口等问题。数据处理指由计算机系统根据不同的要求对采集的原始数据进行各种数学运算。处理结果的实现与保存指处理后的结果在X-Y绘图仪、电平记录器或CRT上浮现出来,或者将数据存入磁盘形成文件保存起来,或通过线路送到远地。 数据采集技术是以模拟信号处理、数字化、数字信号处理和计算机等高科技为基础而形成的一门综合技术,是联系模拟世界和数字世界的桥梁。它在许多领域得到了广泛的应用。数字技术促进了上述这些领域的发展,而反过来又对数据采集系统提出了愈来愈高的要求。 数据采集系统的核心部分主要是靠单片机来实现的,在任何单片机测控制系统中,都是从尽量快速、尽量准确、尽量完整地获得数字形式的数据开始的,因此,数据采集系统作为沟通模拟域与数字域的必不可少的桥梁起着非常重要的作用。 由于计算机技术的飞速发展,单片机的发展也十分飞速,其在各个领域中的应用也日益广泛,随着测控系统技术的猛烈发展,以嵌入式计算机为核心的数据采集系统已经在测控领域中占到了统治地位。 1、单片机与嵌入式系统   嵌入式系统源于计算机的应用,早期嵌入式系统为通用计算机经改装后嵌入到对象体系中的各种电子系统,如舰船的自动驾驶仪,轮机监测系统等。嵌入式系统首先是一个计算机系统,其次它被嵌入到对象体系中、在对象体系中实现对象要求的数据采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算机没有计算机的独立形式及功能。单片机完全是按照嵌入式系统要求设计的,因此单片机是最典型的嵌入式系统。早期的单片机只是按嵌入式应用技术要求设计的计算机单芯片集成,故名单片机。随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器(MCU,Microcontroller Unit)。 2、单片机构成的现代电子系统将成为主流电子系统 单片机是器件级计算机系统,它可以嵌入到任何对象体系中去,实现智能化控制。小到微型机械,如手表、助听器。集成器件级的低价位,低到几元、十几元,足以使单片机普及到许多民用家电、电子玩具中去。单片机构成的现代电子系统已深入到各家各户,正改变我们的生活,如家庭中的音响、电视机、洗衣机、微波炉、电话、防盗系统、空调机等。单片机革新了原有电子系统,如微波炉采用单片机控制后,可方便地进行时钟设置、程序记忆、功率控制;空调机采用单片机后不但遥控参数设置方便,运行状态自动变换,还可实现变频控制。目前许多家用电器如VCD、DVD只有单片机出现后才可能实现其功能。 3、嵌入式系统带动了整个电子产业   目前电子元器件产业除了微处理器、嵌入式系统器件外,大多是围绕现代电子系统配套的元器件产业,例如满足人机交互用的按键,LED/LCD显示驱动、LED/LCD显示单元、语音集成器件等,满足数据采集通道要求的数字传感器、ADC、数据采集模块、信号调理模块等,满足伺服驱动控制的DAC、固体继电器、步进电机控制器、变频控制单元等,满足通信要求的各种总线驱动器、电平转换器等。 世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要求发展。嵌入式的应用涉及金融、航天、电信、网络、信息家电、医疗、工业控制以及军事各个领域,以至一些学者断言嵌入式技术将成为后PC时代的主宰。 本课题主要是通过A/D转换器TLC0832将模拟量采集到单片机内部,通过处理之后将数据在LCD显示器上显示出来,运用MAX232将采集的数据传送到上位机,并通过专用的软件将数据显示出来;同时,通过键盘可以控制将A/D转换之后的数据再通过D/A转换器TLC5620还原出来,用以驱动外部器件。 第二章 系统总体设计方案 2.1 系统设计要求 1、 A/D转换器TLC0832与Atmega8515的接口电路; 2、 LCD显示器12232F与Atmega8515的接口电路; 3、 键盘接口电路; 4、 D/A转换器TLC5620与Atmega8515的接口电路; 5、 通过键盘可以控制模拟量数据的单次采集和连续数据采集,并将采集的 数据在LCD显示器上显示出来,同时,通过键盘控制可以将采集到的数据发送到上位机; 6、 运用VB编制上位机数据处理及显示程序; 7、 上位机通过命令可以控制下位机进行连续数据采集和单次数据 采集,并可以通过命令停止下位机的数据采集。 2.2 系统总体方案 本方案是以Atmega8515单片机为核心,通过TLC0832对模拟信号进行模数转换,转换后的数字信号输入到单片机内部,处理、送显并通过MAX232将数据传输到系统微机之中,系统微机之中通过专用的软件对数据进行处理并显示出来;同时通过键盘控制可以将采集的模拟数据运用D/A转换器TLC5620还原出来,系统的总体设计框图如图2.1所示: 图2.1 系统总体框图 第三章 系统硬件电路设计 3.1 Atmega8515单片机最小系统 3.1.1 Atmega8515简介 在二十世纪九十年代初,ATMEL公司推出全新的精简指令集单片机,简称AVR其具有高性能、低功耗、非易失性存储器、数字集成电路、E2PROM电可擦除技术、闪速存储技术等优秀品质。与其相比,采用复杂指令集的单片机在效率、速率在指令格式上都比较简洁,更适和在嵌入式系统中使用。近几年来,随着AVR单片机不断改进并持续推出新的品种现以形成系列产品。其性价比更高,在国内外都有广阔的前景。 Atmega8515具有以下特点: ⑴8K字节FLASH,256/512字节E2PROM,256/512字节SRAM; ⑵32个通用I/O口,32个通用工作寄存器; ⑶具有比较模式的灵活的定时器/计数器; ⑷内外中断源可编程的UART; ⑸可编程的看门狗定时器; ⑹SPI 口以及两种可通过软件选择的省电模式工作于空闲模式。工作于省电模式时,CPU将停止运行,而寄存器、定时器/计数器、看门狗和中断系统继续工作,掉电模式时振荡器停止工作,所有功能都被禁止,而寄存器内容得到保留,只有外部中断或硬件复位才可以退出此状态[5]。 器件是以ATMEL的高密度非易失性内存技术生产的,片内FLASH可以通过SPI接口或通用编程器多次编程。通过将增强的RISC 8位CPU与FLASH集成在一个芯片内,Atmega 8515为许多嵌入式控制应用提供了灵活而低成本的方案,具有一整套的编程和系统开发工具宏汇编调试/仿真器在线仿真[4]。 在AVR单片机中,用32个通用寄存器代替累加器,从而避免了传统的累加器和存储器之间的数据传送造成的瓶颈现象。 在AVR单片机中,在前一条指令执行的时候就取出现行的指令,然后以一个周期执行指令。在其它的CISC以及类似的RISC结构中,外部振荡器的时钟被分频降低到传统的内部执行周期,这种分频最大达12倍。AVR单片机使用一个时钟周期执行一条指令,在8位单片机中它是第一种真正的RISC单片机。 AVR单片机具有良好的性能价格比。由于AVR单片机是采用Harvard结构的,故它们的地址总线和数据总线是分开的。 3.1.2 AVR单片机引脚说明 Atmega8515引脚与MCS-51系列单片机8X51/8X52的引脚兼容,仅复位电平不同,AVR低电平复位,MCS-51高电平复位,这给用AVR单片机替代MCS-51单片机硬件电路带来了方便[5],其引脚图如图3.1所示。 图3.1 Atmega8515引脚图 ⑴VCC:为供电引脚,连接到正电源。 ⑵GND:为接地引脚,连接到电源地。 ⑶A口(PA7~PA0):A口为一个8位双向I/O口,每一引脚内部都有上拉电阻。A输出口的缓冲器可以吸收20mA的电流,因而能直接驱动LED显示器。当A口被用于输入且内部上拉被触发时,如果外部被拉低,则会输出电流。 ⑷B口(PB7~PB0):B口为一个8位双向I/O口,每一个引脚内都有上拉电阻。B口的输出缓冲器可以吸收20mA的电流。当B口被用于输入且内部上拉被触发时,如果外部被拉低,则会输出电流。B口也提供后面列出的AT90系列单片机许多特殊功能。 ⑸C口(PC7~PC0):C口为一个8位双向I/O口,每一个引脚内都有上拉电阻。C口的输出缓冲器可以吸收20mA的电流。当C口被用于输入且内部上拉被触发时,如果外部被拉低。 ⑹D口(PD7~PD0):D口为带有内部拉高的8位I/O口。D口的输出缓冲器可以吸收20Ma的电流。当D口被用于输入且内部上拉被触发时,如果外部被拉低,则会输出电流。D口也提供后面列出的AT90系列单片机许多特殊功能。 ⑺RESET:RESET为复位输入。当晶振运行时,引脚上一个周期的低电平可对器件进行复位。 ⑻XTAL1:XTAL1为晶振反向放大器的输入端和内部时钟操作电路的输入端。 ⑼XTAL2:XTAL2为晶振反向放大器的输出端。 ⑽ICP:ICP是定时器/计数器1的输入捕获功能的输入引脚。 ⑾OCIB:OCIB是定时器/计数器1的输出比较功能B的输出引脚。 ⑿ALE:ALE是使用外部存储器时的地址锁存触发端。ALE选通门被用于在第一个访问周期中将低位地址锁存到地址锁存器中,而PD0~PD7在第二个访问周期中被用作数据。 3.1.3 Atmeg8515最小系统 Atmeg8515最小系统如图3.2所示,其中K1、 K2 、K3和K4为上拉电阻,ST为8MHz的晶振,J1为单片机I/O口引出连接器。 在本系统设计中,Atmeg8515微控制器的引脚功能分配如下: ⑴PC0~PC7和PA0--PA2为LCD控制端; ⑵PA3~PA6为TLC5620控制端; ⑶RXD、TXD为串行数据接收端和发送端; ⑷PB0~PB7为键盘输入端; ⑸PD4~PD7为TLC0832控制端。 图3.2 Atmega8515最小系统 3.2 显示器接口电路 显示器有LCD和LED显示器,系统中选用LCD显示器12232F。其特点如下: 12232F汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16×16点阵),128个字符(8×16点阵)及64×256点阵显示RAM。12232F有内置电压,无需负压。它还配置LED背光,与MCU的接口是并行或串行,系统中选用并行接口。 12232F具有以下特点: ⑴文本显示RAM可以显示三种显示CGROM、HCGROM与CGRAM的字型, ⑵ST7920A提供硬件游标及闪烁控制电路,由地址计数器(address counter)的值来指定DDRAM中的游标或闪烁位置。 3.2.1 模块引脚说明 12232F液晶模块引脚说明如表3-1所示。 表3-1 RT128X64的引脚说明 引脚号 引脚名称 方向 功能说明 1 VSS - 模块的电源地 2 VCC - 模块的电源正端 3 V0 - 对比度调整 4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号 5 R/W(SID) H/L 并行的读写选择信号;串行的数据口 6 E(CLK) H/L 并行的使能信号;串行的同步时钟 7 DB0 H/L 数据0 8 DB1 H/L 数据1 9 DB2 H/L 数据2 10 DB3 H/L 数据3 11 DB4 H/L 数据4 12 DB5 H/L 数据5 13 DB6 H/L 数据6 14 DB7 H/L 数据7 15 BL+ VDD 背光电源正 16 BL- VSS 背光电源负 3.2.2 接口时序 12232F液晶模块有并行和串行两种连接方法。8位并行连接,MPU写资料到模块时序图如图3.3所示。 图3.3 MPU写资料到模块时序图 8位并行连接,MPU从模块读出资料时序图如图3.4所示。 图3.4 MPU从模块读出资料时序图 串行连接时序图如图3.5所示。 图3.5 串行连接时序图 串行数据传送共分三个字节完成: 第一字节:串口控制—格式 11111ABC A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0 第二字节:(并行)8位数据的高4位—格式 DDDD0000 第三字节:(并行)8位数据的低4位—格式 0000DDDD LCD模块与MPU的通信接口设计可以采用直接或间接的访问方式。前者使用MPU的读写和地址信号综合生成时序控制信号;后者使用软件模拟LCD模块时序控制多根数字I/O端口输出的方法控制信号。 12232F LCD模块直接通过I/O口与Atmega8515进行并行接口,Atmega8515工作频率在8MIPS时,用软件模拟其工作时序,系统设计的接口电路框图如图3.6所示。在3.6图中,12232F LCD模块的8位数据线直接与Atmega8515的8位I/O口连接,使能信号E和读写信号R/W由Atmega8515的I/O口直接控制。12232F LCD显示器分为两行,初始化时,第一行显示“采集数据:单次”,第二行显示“控制命令:等待”。当下位机进行单次数据采集时,第一行用于显示单次采集的数据;当下位机进行连续数据采集时,LCD显示器上显示采集的数据;第二行显示上位机发出的控制命令,当上位机没有发送控制命令时,显示“等待”,当上位机发送命令后,显示命令。 图3.6 12232F与Atmega8515并行接口框图 3.3 键盘接口电路 键盘有独立式键盘和矩阵式键盘,系统中选用独立式键盘。 系统中独立式键盘直接与Atmeg8515的PB0~PB7口相连接,接口电路如图3.7所示。S0启动单次数据采集并将采集到的数据显示在LCD显示器上;S1启动单次数据采集并将采集到的数据显示在LCD显示器上,同时将采集到的数据通过串口发送给上位机;S2 启动连续数据采集并通过MAX232将数据传输给上位机,同时将数据在LCD显示器上显示;S3 启动连续数据采集并通过MAX232将数据传输给上位机,同时将数据在LCD显示器上显示并通过D/A转换器将采集到的数据还原成模拟信号;S4位停止数据采集,K5为上拉电阻排。 图3.7 键盘接口电路 3.4 A/D转换器接口电路 系统采用 德州仪器公司(TI)推出的TLC0832,它是广泛应用的8位A/D转换器。TLC0832是双通道输入,并且可以软件配置成单端或差分输入。串行输出可以方便的和标准的移位寄存器及微处理器接口相连[10]。  其特点如下: (1)8位转换结果 (2)简单的微处理器接口 (3)单通道或多通道可配置单端及差分输入 (4)转换时间在Flock=250KHz时为32us (5)5V供电时输入范围:0~5V (6)输入输出完全兼容TTL和CMOS电路 (7)全部非校准误差:±1LSB (8)单+5V供电 (9)工作温度范围:0℃~70℃ TLC0832的引脚图如图3.8所示。 图3.8 TLC0832引脚图 TLC0832的引脚功能如下: (1)为片选端; (2)CH0为通道0; (3)CH1为通道1; (4)GND为电源地; (5)DI 为串行数据输入端; (6)DO为A/D转换结果的三态串行输出端; (7)CLK为工作时钟; (8)VCC/REF为电源和参考电压。 TLC0832与Atmega8515的接口电路如图3.9所示,其中PD4~PD7为单片机的I/O口,通过单片机I/O口模拟TLC0832的控制时序;IN0、IN1为模拟量输入端。 图3.9 TLC0832与Atmega8515的接口电路 3.5 D/A转换器接口电路 TLC5620是美国德州仪器公司生产、单电源供电的串联型8位D/A转换器(DAC),其特点如下: ⑴它有四路各自独立的电压输出D/A转换器,具备各自独立的基准源; ⑵其输出还可编程为2倍或1倍; ⑶+5V单电源供电; ⑷高阻抗基准输入; ⑸内部上电复位; ⑹低功耗; ⑺内部缓冲输出; ⑻串行接口; ⑼在控制TLC5620时,只要对该芯片的DATA、CLK、LDAC、LOAD端口进行操作即可。 TLC5620的引脚图如图3.10所示。 图3.10 TLC5620的引脚图 TLC5620的引脚功能如表3.2所示: 表3.2 TLC5620引脚功能 引脚名称 引脚 功能 CLK 7 串行接口时钟,数据在负沿送入 DACA 12 DAC A模拟输出 DACB 11 DAC B模拟输出 DACC 10 DAC C模拟输出 DACD 9 DAC D模拟输出 DATA 6 串行接口数字数据输入 GND 1 电源地 LDAC 13 DAC更新锁存控制 LOAD 8 串行接口装载控制 REFA 2 DAC A基准电压输入 REFB 3 DAC B基准电压输入 REFC 4 DAC C基准电压输入 REFD 5 DAC D基准电压输入 VDD 14 电源 TLC5620命令字为11位,其中8位是数字量,另2位是DAC通道选择,1位是增益选择。其内部寄存器具有双缓冲器,在更新各通道的数据量后,其输出通过LDAC控制,可同时将其命令格式更新成第一位、第二位为A1、A0,第三位为RNG即可编程序放大输出倍率,第四位到第11位分别为8位数据,最高位在前,最低位在后。转换器的通道取决于A1、A0的值,如表3-3所示: 表3.3 通道译码 A1 A0 所更新的DAC 0 0 DACA 0 1 DACB 1 0 DACC 1 1 DACD TLC5620与Atmega8515的接口电路如图3.11所示,其中PA3~PA5为单片机的I/O口,通过单片机I/O口模拟TLC5620的控制时序;其中PA3~PA6为单片机的I/O口,DACA、DACB、DACC和DACD为D/A转换器TLC5620的模拟两输出端。 图3.11 TLC5620与Atmega8515的接口电路 3.6 串口通信接口电路 Atmega8515具有一个全双工的8位片内异步串行口,可以完成主CPU与Atmega8515之间或两个Atmega8515器件之间的串行数据通信,该串行口的一帧发送/接收数据由10或11位组成,其中最低位为起始位,中间8位有效,后随1或2个停止位,发送或接收数据都采用双缓冲方式。本系统采用MAX232作为通信中的电平转换电路,其特性如下: (1) MAX232的工作温度范围为0℃至70℃。 (2) 单5V电源供电。 (3) LinBiCMOS工艺技术。 (4) 两个驱动器及两个接收器。 (5) ±30V输入电平。 (6) 低电源电流:典型值是8mA。 (7) 符合甚至优于AMSI标准E1A/T1A-232-E及1TU推荐标准V.28。 (8) 可与Maxin公司的MAX232互换。 (9) 保护大于MIL-STD-883(方法3015)标准的2000V。 MAX232的引脚如图3.12所示: 图3.12 MAX232引脚图 MAX232与Atmega8515的接口电路如图3.13所示,其中TXD、RXD分别与Atmega8515的PD0和PD1引脚相接,TX和RX与PC机相连接。 图3.13 MAX232和Atmega8515的接口电路图 第四章 系统软件设计 4.1下位机软件设计 4.1.1 显示程序设计 系统上电之后,首先初始化液晶,然后在液晶上按照一定的格式显示信息,程序根据按键的不同修改相应的显示缓存区,以此来修改显示信息。 Atmega8515对12232F的写命令/数据程序流程图如图4.1所示。Atmega8515首先对系统进行初始化,设置I/O口的输入/输出状态,之后初始化液晶,对液晶的显示功能进行设置,通过写命令字控制写入数据地址[14]。 图4.1 12232F的控制程序流程图 图4.2 动态修改显示代码程序流程图 根据时序图,12232F液晶的写指令子程序如下: void wcommand(int command) { delay(30); cbi(PORTA,RS); sbi(PORTA,RW); cbi(PORTA,E); delay(30); cbi(PORTA,RW); PORTC=command; sbi(PORTA,E); delay(30); cbi(PORTA,E); } 根据时序图,12232F液晶的写数据子程序如下: void wdata(int data) { delay(30); sbi(PORTA,RS); cbi(PORTA,E); sbi(PORTA,RW); delay(30); cbi(PORTA,RW); outp(data, PORTC); sbi(PORTA,E); cbi(PORTA,RW); delay(30); cbi(PORTA,E); } 系统要求,通过键盘控制可动态的修改液晶上显示的字符或汉字, 这只需要改变显示缓存区的显示字符或汉字代码即可,动态修改显示代码程序流程图如图4.2所示。 其程序如下所示: void show(int adr,int data) { wcommand(adr); delay(30); wdata(0xa3); delay(30); wdata(data); delay(30); } 4.1.2 键盘程序设计 键盘实质上是一组按键开关的集合,它是最简单的输入设备,可以通过按键控制来实现简单的人机对话。键盘有矩阵式键盘和独立式键盘,系统中采用独立式键盘,键盘处理程序流程图如图4.3所示。 //键盘扫描 int scan(void) { int scancode; scancode=PINB; scancode= ~scancode; if (scancode!=0) return 1; else return 0;} 图4.3 键盘程序流程图 4.1.3 串行口波特率发生器设置 通用同步和异步串行接收器和转发器 (USART)是一个高度灵活的串行通讯设备[12]。主要特点为: ⑴全双工操作(独立的串行接收和发送寄存器); ⑵异步或同步操作; ⑶高精度的波特率发生器; ⑷支持 5,6,7,8,或9个数据位和1个或 2个停止位; ⑸硬件支持的奇偶校验操作; ⑹数据过速检测; ⑺帧错误检测; ⑻三个独立的中断:发送结束中断 ,发送数据寄存器空中断,以及接收结束中断; ⑼多处理器通讯模式; ⑽倍速异步通讯模式。 时钟产生逻辑为发送器和接收器产生基本时钟。 USART支持 4种模式的时钟:正常的异步模式,倍速的异步模式,主机同步模式,以及从机同步模式。 USART控制位 UMSEL和状态寄存器 C (UCSRC)用于选择异步模式和同步模式。倍速模式 (只适用于异步模式)受控于 UCSRA寄存器的U2X。使用同步模式 (UMSEL = 1)时,XCK的数据方向寄存器(DDR_XCK)决定时钟源是由内部产生(主机模式)还是由外部生产(从机模式)。仅在同步模式下XCK有效。 ⑴倍速工作模式(U2X):通过设定 UCSRA寄存器的 U2X可以使传输速率加倍。该位只对异步工作模式有效。当工作在同步模式时,设置该位为 "0”。 设置该位把波特率分频器的分频值从16降到 8,使异步通信的传输速率加倍。此时接收器只使用一半的采样数对数据进行采样及时钟恢复,因此在该模式下需要更精确的系统时钟与更精确的波特率设置。发送器则没有这个要求。 ⑵外部时钟:同步从机操作模式由外部时钟驱动出通过一个边沿检测器,然后应用于发送器与接收器。这一过程引入了两个 CPU时钟周期的延时,因此外部 XCK的最大时钟频率由以下公式限制: ⑶同步时钟操作:使用同步模式时 (UMSEL = 1)XCK引脚被用于时钟输入 (从机模式 )或时钟输出 (主机模式 )。时钟的边沿、数据的采样与数据的变化之间的关系的基本规律是:在改变数据输出端 TxD的 XCK时钟的相反边沿对数据输入端 RxD进行采样。 波特率发生器:内部时钟用于异步模式与同步主机模式USART的波特率寄存器 UBRR和降序计数器相连接,一起构成可编程的预分频器或波特率发生器。降序计数器对系统时钟计数,当其计数到零或 UBRRL寄存器被写时,会自动装入 UBRR寄存器的值。当计数到零时产生一个时钟,该时钟作为波特率发生器的输出时钟,输出时钟的频率为。发生器对波特率发生器的输出时钟进行 2、8或16的分频,具体情况取决于工作模式。波特率发生器的输出被直接用于接收器与数据恢复单元。数据恢复单元使用了一个有2、8或16个状态的状态机,具体状态数由UMSEL、U2X与 DDR_XCK位设定的工作模式决定。 系统选用异步正常模式(U2X = 0),波特率为9600bps,1位起始位, 1位停止位,8位数据位,无奇偶校验位,接收完数据产生中断,发送完数据产生中断,波特率计算公式如下: 即: 串口初始化程序如下: void uart_init(void) { //{{WIZARD_MAP(UART) //Interial RC clock:4MHZ // Baud Rate: 9600 // Character Size: 8-bit // Mode: Asynchronous // Parity: Disabled // Stop Bit: 1-bit UBRRL = 0x19; UBRRH = 0x00; UCSRA = 0x00; UCSRC = 0x86; UCSRB = 0xd8; //}}WIZARD_MAP(UART) } 4.1.4 A/D转换器程序设计 系统中选用的A/D转换器为TLC0832,系统中采用单片机的I/O口模拟TLC0832的时序,程序如下: int adconvert(void) { //CS---7,CLK---4,DO---5,DI---6 int i,bittest,addata; addata=0; sbi(PORTD, CS); delay(2); cbi(PORTD, CS); cbi(PORTD,CLK); sbi(PORTD,DI); //DI=1,起始位,在CLK上升沿移入 delay(2); sbi(PORTD,CLK); delay(2); cbi(PORTD,CLK); sbi(PORTD,DI); //DI=10,选择0通道,此时DI=1 delay(2); sbi(PORTD,CLK); delay(2); cbi(PORTD,CLK); delay(2); cbi(PORTD,DI); //此时DI=0 delay(2); sbi(PORTD,CLK); delay(2); cbi(PORTD,CLK); //CLK的第三个时钟上升沿结束 delay(2); sbi(PORTD,CLK); delay(10); for(i=0;i<8;i++) { sbi(PORTD,CLK); delay(2); cbi(PORTD,CLK); delay(10); bittest=PIND&0X20; if(bittest==0X20) addata=(addata<<1)|0x1; else addata=(addata<<1)|0x0; delay(2); } return addata; } 4.1.5 D/A转换器程序设计 系统中选用的D/A转换器为TLC5620,系统中采用单片机的I/O口模拟TLC5620的时序,程序如下: void tlc5620(int data) { int i,temporary; sbi(PORTA,SPILOAC); //LOAD,LOAC初始化为高 sbi(PORTA,SPILOAD); for(i=0;i<3;i++) { cbi(PORTA,SPIDATA); //选择通道0 sbi(PORTA,SPICLK); cbi(PORTA,SPICLK); } for(i=0;i<8;i++) //DA转换 { temporary=(data<<i)&0x80; if(temporary==0x80) sbi(PORTA,SPIDATA); else cbi(PORTA,SPIDATA); sbi(PORTA,SPICLK); cbi(PORTA,SPICLK); } cbi(PORTA,SPILOAD
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:数据采集系统设计.doc
    链接地址:https://www.zixin.com.cn/doc/2807883.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork