人人范文网 范文大全

单片机数字电压表实习报告

发布时间:2020-03-04 00:19:08 来源:范文大全 收藏本文 下载本文 手机版

电气信息工程学院

单片机实习报告

课题名称:

数字电压表

业: 姓

名: 班级学号:

指导教师:

刘海波

绩:

二○一一年七月一日

目录

一、题目及设计要求 ...............................

二、实验内容 ...........................................

三、实验原理 ...........................................

1、用电位计提供模拟电压 ..................

2、用串行A/D TLC2543采集电压 ....

3、串行显示595完成LED显示 ........

四、设计程序: .......................................

1、汇编语言:......................................

2、C语言: ........................................

五、调试过程及测试结果 .....................

六、实习心得 .........................................

七、参考文献 .........................................

一、题目及设计要求

1、题目:数字电压表

2、掌握单片机设计原理,SPI总线原理,利用A/D转换器设计一数字电压表,量程为0— +5.0000,通过五位数码管显示。

二、实验内容

1、用电位计提供模拟电压

2、用串行A/D TLC2543采集电压

3、利用串行显示595完成LED显示当前电压值

三、实验原理

1、用电位计提供模拟电压

原理:电位计或称电压计,也称为可变电阻器,通常被制造成不管使用多久均能维持原有的特性,若当位置传感器使用,电位计可以是直线或旋转式位置传感器。电位计输出一个电压值,其正比于沿着可变电阻器之滑动器的位置。因为温度变化、磨耗及滑动器与可变电阻器之间的污垢均会造成电阻变化,影响电位计的精度,因此,电位计有太低的准确度。由于材料的发展,特别是在导电性塑料,

使得电位计在使用很长时间后仍可以维持原有特性,同时也改进它们的性能。

2、用串行A/D TLC2543采集电压

原理:

引脚图:

控制字格式的设置:控制字为从DATAINPUT端串行输入的8位数据,它规定了TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(D7~D4)决定通道号,对于0通道至10通道,该4位分别为0000~1010H,当为1011~1101时,用于

对TLC2543的自检,分别测试(VREF++VREF-)/

2、VREF-、VREF+的值,当为1110时,TLC2543进入休眠状态。低4位决定输出数据长度及格式,其中D

3、D2决定输出数据长度,01表示输出数据长度为8位,11表示输出数据长度为16位,其他为12位。D1决定输出数据是高位先送出,还是低位先送出,为0表示高位先送出。D0决定输出数据是单极性(二进制)还是双极性(2的补码),若为单极性,该位为0,反之为1。

转换过程:上电后,片选CS必须从高到低,才能开始一次工作周期,此时EOC为高,输入数据寄存器被置为0,输出数据寄存器的内容是随机的。开始时,CS片选为高,I/O CLOCK、DATA INPUT被禁止,DATA OUT 呈高阻状,EOC为高。使CS变低,I/OCLOCK、DATAINPUT使能,DATAOUT脱离高阻状态。12个时钟信号从I/OCLOCK端依次加入,随着时钟信号的加入,控制字从DATAINPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从DATAOUT一位一位地移出。TLC2543收到第4个时钟信号后,通道号也已收到,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10μs,转换完成后EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。

TLC2543与89C52单片机接口原理图:

3、串行显示595完成LED显示

原理:每位LED显示器段选线和74HC595的并行输出端相连,每一位可以独立显示在多位LED显示时,为了简化电路,降低成本,节省系统资源,将所有的N位段选码并联在一起,由一片74HC595控制。由于所有LED的段选码皆由一个74HC595并行输出口控制,因此,在每一瞬间,N位LED会显示相同的字符。想要每位显示不同的字符,就必须采用扫描的方法,即在每一瞬间只使用一位显示字符。在此瞬间,74HC595并行输出口输出相应字符段选码,而位选则控制I/O口在该显示位送入选通电平,以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。由于74HC595具有锁

- 67

四、设计程序:

1、汇编语言:

ORG 0000H LJMP START ORG 0030H ENA EQU P1.0 ;设置引脚 ENB EQU P1.1 ENC EQU P1.2 CLK EQU P2.3 IN EQU P2.4 OUT EQU P2^5 START:CLR ENA ;选通TCL2543 CLR ENB CLR ENC

CLR CLK NOP NOP MOV A,#34H ;设置方式控制字 CLR C MOV R0,#8 LOOP:RLC A ;左大环移,按位输入控制字 MOV IN,C SETB CLK NOP NOP CLR CLK NOP NOP DJNZ R0,LOOP

MOV R0,#8 MOV A,#0 CLR C LOOP1:MOV C,OUT ;按位输出转换后的数字量 SETB CLK NOP NOP CLR CLK NOP

- 91011

_nop_(); _nop_();

for(i=0;i0;i--)/*数字量换算成十进制数*/ {e=b[i-1]; d=c*e+d; c=2*c; } d=d*143.5294117; for(i=0;i

{int m[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x20,0x78,0x00,0x10}; int n[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; uchar a,i,j,num; ENA=0;/*选通74LS595*/ ENB=1; ENC=1; for(i=4;i>0;i--)/*显示小数部分*/ {a=f[i];/*取出数字量的第i位*/ num=n[a];/*查表转换成对应的LED字型显示代码*/ CLK=0; _nop_(); _nop_(); _nop_(); for(j=0;j

- 13

for(j=0;j

CLK=1; _nop_(); _nop_(); _nop_();

CLK=0;

_nop_(); _nop_(); _nop_(); } _nop_(); _nop_(); _nop_(); ENA=1;/*关闭74LS595显示标准电压数字量*/ ENB=1; ENC=1; _nop_(); _nop_(); _nop_(); } void main() { while(1) {AD();/*AD转换函数*/ XS();/*数字量显示函数*/ } }

五、调试过程及测试结果

1、首先根据电路原理图在软件上连出电路,然后进行电路的调试,在实际的电路中,芯片一脚接+5V的电源,另一引脚接地。

2、现在将在调试过程中的问题总结:测试数码管显示的数据是否正确,将编好的程序写进单片机后,观察数码管,发现码型显示不正确,通过改正硬件电路,是数码管显示正确的数据。

- 151617 -

单片机实习报告

单片机实习报告

单片机实习报告

单片机实习报告

直流数字电压表试行检定规程

单片机数字万用表课程设计

单片机实习报告总结

单片机课程设计实习报告

单片机课程设计实习报告

单片机生产实习报告

单片机数字电压表实习报告
《单片机数字电压表实习报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档