微型计算机控制技术 课设.docx
- 文档编号:23565957
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:19
- 大小:298.57KB
微型计算机控制技术 课设.docx
《微型计算机控制技术 课设.docx》由会员分享,可在线阅读,更多相关《微型计算机控制技术 课设.docx(19页珍藏版)》请在冰豆网上搜索。
微型计算机控制技术课设
学生实验报告
实验课名称:
微型计算机控制技术
实验项目名称:
多路数据采集系统设计
专业:
电气工程及其自动化
学号:
姓名:
目录
一、实验目的
二、实验原理
1、TLC2543的基本原理
2、SPI总线
3、数字滤波
3、硬件电路设计及proteus仿真
四、程序设计
1、实验目的
1、掌握串行总线的使用方法。
2、学会利用串行总线实现单片机与外设之间的数据传送与接收。
3、掌握数字滤波的使用,并有一个深刻的认识。
4、将总线接口技术、数字滤波、人机交互接口技术、模拟量输入输出通道技术综合设计,多微机系统有一个大概的认识。
2、实验原理
该多路数据采集系统是基于89C52和TLC2543而设计的,含有数字滤波(此处采用平均值滤波的数字滤波方式)的功能,用一片TLC2543实现5路模拟量的巡回检测,并通过液晶显示器12864显示最终处理之后经标度变换的数据采集量。
1、TCL2543的基本原理
一)引言
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。
由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。
二)TLC2543的特点
(1)12位分辩率A/D转换器;
(2)在工作温度范围内10μs转换时间;
(3)11个模拟输入通道;
(4)3路内置自测试方式;
(5)采样率为66kbps;
(6)(6)线性误差±1LSBmax;
(7) (7)有转换结束输出EOC;
(8)(8)具有单、双极性输出;
(9)(9)可编程的MSB或LSB前导;
(10)(10)可编程输出数据长度。
三)TLC2543的引脚排列及说明
TLC2543有两种封装形式:
DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1。
图1TLC2543的封装
表1TLC2543引脚说明
2、SPI总线
MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。
传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。
采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。
而未被选中的从片的SO端处于高阻状态。
图8-27SPI总线的系统
主片在访问某一从片时,必须使该从片的片选信号有效;主片在SCK信号的同步下,通过SI线发出指令、地址信息;如需将数据输出,则接着写指令,由SCK同步在SI线上发出数据;如需读回数据,则接着读指令,由主片发出SCK,从片根据SCK的节拍通过SO发回数据。
因而对具有SPI接口的从片器件来讲,SCK、SI是输入信号,SO是输出信号。
SCK用于主片和从片通信的同步。
SI用于将信息传输到器件,输入的信息包括指令、地址和数据,指令、地址和数据的变化在SCK的低电平期间进行,并由SCK信号的上升沿锁存。
SO用于将信息从器件传出,传出的信息包括状态和数据,信息在SCK信号的下降沿移出。
4、硬件电路设计及proteus仿真
proteus仿真图如下:
5、程序设计
实现5路数据巡回检测,并且采用数字滤波,并将最终处理结果通过12864显示。
#include
#include
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitEOC=P2^7;
sbitcs=P3^3;
sbitclk=P3^0;
sbitSDI=P3^1;
sbitSDO=P3^2;
sbitbit7=B^7;
bitcy;
#defineN12
charvalue_buf[N];
chari=0;
uintadval;//AD转换
uinttemp;
uintge,x1,x2;
//数字
charcodeTABLENUM[][16]={
0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,
0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07,//0
0x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,//1
0x00,0x30,0x38,0x08,0x88,0xF8,0x70,0x00,
0x00,0x0C,0x0E,0x0B,0x09,0x08,0x08,0x00,//2
0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,
0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00,//3
0x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,
0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//4
0x00,0xF8,0xF8,0x88,0x88,0x88,0x08,0x00,
0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,//5
0x00,0xC0,0xE0,0x78,0x58,0xC8,0x80,0x00,
0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,//6
0x00,0x08,0x08,0x88,0xE8,0x78,0x18,0x00,
0x00,0x00,0x0E,0x0F,0x01,0x00,0x00,0x00,//7
0x00,0x70,0xF8,0xC8,0x88,0xF8,0x70,0x00,
0x00,0x07,0x0F,0x08,0x09,0x0F,0x07,0x00,//8
0x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,
0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,//.10
0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,//:
11
};
//LCD地址定义
#defineCWADD1XBYTE[0xe000]//写指令代码地址(左)
#defineCRADD1XBYTE[0xe800]//读状态字地址(左)
#defineDWADD1XBYTE[0xe400]//写显示数据地址(左)
#defineDRADD1XBYTE[0xec00]//读显示数据地址(左)
#defineCWADD2XBYTE[0xf000]//写指令代码地址(右)
#defineCRADD2XBYTE[0xf800]//读状态字地址(右)
#defineDWADD2XBYTE[0xf400]//写显示数据地址(右)
#defineDRADD2XBYTE[0xfc00]//读显示数据地址(右)
//函数原型申明
voidPRL0(unsignedchara);
voidPRL1(unsignedchara);
voidPRL1(unsignedchara);
voidPRR1(unsignedcharb);
voidINIT();
voidINITN();
voidClear();
voidDIS(unsignedcharc,unsignedcharp,inte);
voidDIS_CW(intc,charp,inte);
//写左半屏指令
voidPRL0(unsignedchara)
{
CWADD1=a;
}
//写右半屏指令
voidPRR0(unsignedcharb)
{
CWADD2=b;
}
//往左半屏写数据
voidPRL1(unsignedchara)
{
DWADD1=a;
}
//往写右半屏写数据
voidPRR1(unsignedcharb)
{
DWADD2=b;
}
//初始化显示屏打开
voidINIT()
{
PRL0(0xc0);
PRR0(0xc0);
PRL0(0x3F);
PRR0(0x3F);
}
//关显示
voidINITN()
{
PRL0(0xC0);
PRR0(0xC0);
PRL0(0x3E);
PRR0(0x3E);
}
//清屏
voidClear()
{
inti,j;
for(i=2;i<6;i++)
{
PRL0(i+0xb8);
PRR0(i+0xb8);
PRL0(0x40);
for(j=16;j<64;j++)
{
PRL1(0x00);
}
PRR0(0x40);
for(j=0;j<48;j++)
{
PRR1(0x00);
}
}
}
/*函数名:
DIS_CW
*功能:
显示西文
*输入参数:
c:
起始列0x00~0x7F,p:
起始行0x00~0x3F,e:
显示数字在表中的位置
*返回参数:
无
*/
voidDIS_CW(intc,charp,inte)
{
charx;
bitFLAG;
inti,j=2,k=0;
if(c<64)
FLAG=0;//左半屏标志位
else
{
c-=64;
FLAG=1;//右半屏标志位
}
for(;j>0;j--)
{
x=p++;//数据显示
x+=0xb8;
if(FLAG==0)
{
CWADD1=x;
}
else
{
CWADD2=x;
}
x=c;
x+=0x40;
if(FLAG==0)
{
CWADD1=x;
}
else
{
CWADD2=x;
}
for(i=0;i<8;i++)
{
if(FLAG==0)
{
DWADD1=TABLENUM[e][i+k];
}
else
{
DWADD2=TABLENUM[e][i+k];
}
}
k=8;
}
}
//延时us
voiddelayus(uintcnt)
{
while(--cnt);
}
//延时ms
voiddelayms(uinttime)
{
uinti;
for(i=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机控制技术 课设 微型计算机 控制 技术