数字电压表课程设计实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计实验报告

学校及学院:苏州大学城市轨道交通学院

班级: 10控制

学号: 1042402025 姓名:张炎峰

1、了解和学习如何去设计数字电压表电路;

2、学习如何对多个设计方案进行比较分析,选出最优方案;

3、在手工焊接电路的同时提高自己的焊接技术;

4、对在测试过程中出现得各种问题,通过其现象找出错误的原因并进行修复,在帮别人检查修复电路的同时提高自己对该电路的深入了解;

二、设计方案

(一)、方案一

1、电路原理图

2、电路局部分析

A、基准电压电路

MC1403芯片分析

NC:此引脚无实际用处。

当Vin脚输入电压为5V时,V out 脚

输出电压为2.5V。

在V out管脚处接电位器,通过调整

电位器调整芯片ICL7135的2、3脚之间的电压至1V

作为ICL7135的芯片的基准电压。在最后的调试过程

中,通过调整基准电压,来逐渐调整数字电压表的准

B、振荡电路及时钟电路

在无输入信号(xi=0)

时,电路中的噪扰电压使放大器产生瞬

间输出x'o,经反馈网络反馈到输入端,

得到瞬间输入xd,再经基本放大器放大,

又在输出端产生新的输出信号x'o,如此

反复。在无反馈或负反馈情况下,输出

x'o会逐渐减小,直到消失。但在正反馈

情况下,x'o会很快增大,最后由于饱和

等原因输出稳定在xo,并靠反馈永久保

持下去。

C、与数码管有关的显示电路

将数码管的所有的a脚连在一起,所有的b脚连在一起,c、d、e、f、g也是如此,这些脚最后全部连到74LS47的9~15脚,按原理图连接。理论分析如下:数码管的控制包括两部分:段选信号和片选信号。当片选信号选通的时候,段选信号输入到数码管管脚处时,就能显示我们所需要的数字,其他没有选通信号的数码管,即使有段选信号,其也不能显示。数码管的工作顺序:片选信号选通对应位置处的数码管,段选信号对数码管输入要显示的数字信号,片选信号再选通其他数码管,段选信号输入数字信号,如此循环,当切换频率较高时数码管的数字显示就会比较平稳而不会出现跳动。

对于最高位的数码管显示小数点,由于它要一直显示,所以通过对它直接接地,使小数点常亮。对于数码管最高位的显示,由于我们需要他在我们需要他显示0的时候都不亮,显示1的时候b、c需要亮。当最高位的数码管亮时,ICL7135的12脚处在高电平,电阻R5也就处在高电平,进而使T7三极管导通,使得74LS47芯片的5脚接地,使RBI 处于低电平,这时数码管管段就会关断,使得数码管在显示0的时候所有管段都熄灭。

对于数码管的片选信号来说,分析如下:当ICL7135输出给T1~T5三极管的基极的电压为高电平的时候,三极管导通,使得三极管集电极的+5V的电压得以加到数码管上,进而选通数码管。

(二)、方案二

基于单片机制作的数字电压表

此图为单片机制作的数字电压表局部电路图。数字电压表单片机程序如下:

#include

#include"Config.h"

uchar table1[]="0123456789 V.mA";

uchar flag=0,flag1,flag2,aa;

uint num,A;

uchar A4,a1,a2,a3,a4;

uchar b1,b2,b3,b4,B1,B2,B3,B4;

uchar N1,N2,N3,N4;

unsigned long int num1,num2;

void out_init()

{

KEYSEL=0x00;

KEYDIR=0x0f;

KEYOUT=0xf0;

LED8SEL=0x00;

LED8DIR=0x00;

LED8OUT=0xff;

DATASEL=0x00;

DATADIR=0xff;

DATAOUT=0xff;

P5SEL = 0x00;

P5DIR|= BIT5 + BIT6 + BIT7;

CTRSEL=0x00;

CTRDIR=0x18;

CTROUT=0xff;

}

//********************************************************************* // 显示屏命令写入函数

//********************************************************************* void LCD_write_com(unsigned char com)

{

RS_CLR;

RW_CLR;

EN_SET;

DataPort = com; //命令写入端口

delay_ms(5);

EN_CLR;

}

//********************************************************************* // 显示屏数据写入函数

//********************************************************************* void LCD_write_data(unsigned char data)

{

RS_SET;

RW_CLR;

EN_SET;

DataPort = table1[data]; //数据写入端口

delay_ms(5);

EN_CLR;

}

//********************************************************************* // 显示屏清空显示

//********************************************************************* void LCD_clear(void)

{

LCD_write_com(0x01); //清屏幕显示

delay_ms(5);

}

//*********************************************************************

相关文档
最新文档