微型计算机控制技术课设精讲.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生实验报告 实验课名称:微型计算机控制技术 实验项目名称:多路数据采集系统设计 专业:电气工程及其自动化 学号: 姓名: 目录 一、实验目的 二、实验原理 1、TLC2543的基本原理 2、SPI总线 3、数字滤波 硬件电路设计及proteus仿真 四、程序设计 实验目的 1、掌握串行总线的使用方法。 2、学会利用串行总线实现单片机与外设之间的数据传送与接收。 3、掌握数字滤波的使用,并有一个深刻的认识。 4、将总线接口技术、数字滤波、人机交互接口技术、模拟量输入 输出通道技术综合设计,多微机系统有一个大概的认识。 实验原理 该多路数据采集系统是基于89C52和TLC2543而设计的,含有数字滤波(此处采用平均值滤波的数字滤波方式)的功能,用一片TLC2543实现5路模拟量的巡回检测,并通过液晶显示器12864显示最终处理之后经标度变换的数据采集量。 TCL2543的基本原理 一)引言? TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。? 二) TLC2543的特点? (1)12位分辩率A/D转换器;? 在工作温度范围内10μs转换时间;? (3)11个模拟输入通道;? (4)3路内置自测试方式;? 采样率为66kbps;? (6)线性误差±1LSBmax; ?(7)有转换结束输出EOC;? (8)具有单、双极性输出;? (9)可编程的MSB或LSB前导;? (10)可编程输出数据长度。? 三)TLC2543的引脚排列及说明? TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1。 图1 TLC2543的封装 表1 TLC2543引脚说明 SPI总线 MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。而未被选中的从片的SO端处于高阻状态。 图8-27 SPI总线的系统   主片在访问某一从片时,必须使该从片的片选信号有效;主片在SCK信号的同步下,通过SI线发出指令、地址信息;如需将数据输出,则接着写指令,由SCK同步在SI线上发出数据;如需读回数据,则接着读指令,由主片发出SCK,从片根据SCK的节拍通过SO发回数据。   因而对具有SPI接口的从片器件来讲,SCK、SI是输入信号,SO是输出信号。SCK用于主片和从片通信的同步。SI用于将信息传输到器件,输入的信息包括指令、地址和数据,指令、地址和数据的变化在SCK的低电平期间进行,并由SCK信号的上升沿锁存。SO 用于将信息从器件传出,传出的信息包括状态和数据,信息在SCK信号的下降沿移出。 硬件电路设计及proteus仿真 proteus仿真图如下: 程序设计 实现5路数据巡回检测,并且采用数字滤波,并将最终处理结果通过12864显示。 #includereg52.h #include absacc.h #includemath.h #includeintrins.h #define uint unsigned int #define uchar unsigned char sbit EOC=P2^7; sbit cs=P3^3; sbit clk=P3^0; sbit SDI=P3^1; sbit SDO=P3^2; sbit bit7=B^7; bit cy; #define N 12 char value_buf[N]; char i=0; uint adval; //AD转换 uint temp; uint ge,x1,x2; //数字 char code TABLENUM[][16]={ 0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0, 0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07, //0 0x00,0x20,0x20,0x30,0xF8,0xF

文档评论(0)

4477769 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档