接口实验报告(3)

2019-08-30 21:46

实验三 串行A/D转换实验

一、实验目的

1. 掌握单片机I/O的编程方法 2. 掌握TLC549芯片使用方法

二、实验说明

1. 输入给定程序,配置选项,调试并运行程序,观察程序控制下仿真器输

出的变化。

2.

选中此项keil为硬件仿真

3. 设置Port 串口:一般为COM3,Baudrate 波特率为最大值:115200bit/s, 最后确认 4. TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通

用微处理器、控制器通过CLK、CS、DATA OUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs, TLC549为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-≥1V,可用于较小信号的采样。

5. 用C51进行程序设计,选择汇编或者C语言编程均可,要求程序结构清

晰,模块化结构,反复调用部分做成子模块,有必要的注释。编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:100分/单个程序)

本实验需要用到本实验用到单片机最小系统(F1区)、串行静态数码显示(I3区)、电位器(A2区)和串行A/D转换(H6区)。

1. 串行静态数码显示的DIN、CLK分别接单片机最小系统的P1.0、P1.1口;

单片机最小系统的P2.1、P2.0分别接串行A/D转换的DATA、CLK, 串行A/D转换的CS-549接P2.2,AIN接电位器(A2区)0~5V可调输出端。打开单片机最小系统的电源开关,串行A/D转换的JT1H电源短路帽打在VCC处。

2. 用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁

紧插座中,请注意仿真器的方向:缺口朝上。请指导老师检查接线后再打开模块电源。打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。全速运行程序。 3. 数码管显示电压转化的数字量,调节模拟信号输入端的电位器旋钮。观

察数码管数字随着旋钮旋转而线性变化。

注意:电位器旋钮容易被拧坏,不要过分旋转旋钮。 四、电路原理图

实验程序

#include

#define uint unsigned int #define uchar unsigned char //sbit clock=P2^0; //sbit dout=P2^1; //sbit cs=P2^2;

sbit TLC549_CLK=P2^0; sbit TLC549_DOUT=P2^1; sbit TLC549_CS=P2^2; sbit Din=P1^0; sbit Clk=P1^1; unsigned char code Tab[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71,0x00};//0-F

void delay(int count) {

unsigned int i;

for(i=0;i

//显示函数

void display(uchar data x) {

uchar i,j,chr,sel;

uchar xs[8]={16,16,16,16,16,16,16,16};//针对实验中8个串口LED静态显示器

xs[7]=x&0x0f; xs[6]=x&0xf0; xs[6]=x>>4;

for(i=0;i<8;i++)

{

chr=Tab[xs[i]]; // sel=0x80;

for(j=0;j<8;j++) { Clk=0;//P1.1发出同步信号 Din=chr&sel; Clk=1; sel=sel>>1; } } }

unsigned char TLC549_ReadByte(void) {

unsigned char value=0,i=0; TLC549_DOUT=1; for(i=0;i<8;i++) { if(TLC549_DOUT==1) value|=(0x80>>i); TLC549_CLK=1; TLC549_CLK=0; delay(50); }

return value; }

unsigned char TLC549_GetValue(void) {

unsigned char ConvertValue; TLC549_CS=0;

ConvertValue=TLC549_ReadByte(); TLC549_CS=1; delay(150); return ConvertValue; }

void main() {

uchar i,data ad; while(1) {

ad=TLC549_GetValue(); display(ad);

for(i=0;i<255;i++) delay(100); } }

五实验心得与体会

通过实验,认识掌握TLC549芯片使用方法,并且运用实验程序做出了正确的结果。同时,对于单片机的i/o编程有了认识,掌握单片机I/O的编程方法。

实验四 DS18B20温度传感器实验

一、实验目的

1. 了解温度传感器电路的工作原理 2. 了解温度控制的基本原理 3. 掌握一线总线接口的使用

二、实验说明

1. 输入给定程序,配置选项,调试并运行程序,观察程序控制下仿真器输

出的变化。

2.

选中此项keil为硬件仿真

3. 设置Port 串口:一般为COM3,Baudrate 波特率为最大值:115200bit/s, 最后确认 4. Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持

“一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

5. 本实验在读取温度的基础上,完成类似空调恒温控制的实验。用加热电

阻代替加热电机。温度值通过LED静态显示电路以十进制形式显示出来,制冷采用自然冷却。

6. 用C51进行程序设计,选择汇编或者C语言编程均可,要求程序结构清

晰,模块化结构,反复调用部分做成子模块,有必要的注释。编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:100分/单个程序)

本实验需要用到本实验需要用到单片机最小应用系统(F1区)、串行静态显示(I3区)和温度传感器模块(C3区)。

1. DS18B20的CONTROL接最小应用系统P1.4,OUT接最小应用系统P2.0。


接口实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018届高考语文语言连贯补写句子专练(高考真题及名校模拟题汇编

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: