8路模拟信号输入数值显示电路设计报告

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

单片机/微机接口课程设计说明书

题目: 8路输入模拟信号数值显示电路设计

系部:信息与控制工程学院

专业:电子信息工程

班级:

学生姓名:

学号:

指导教师:

2010年6 月21 日

目录

1 设计任务与要求 (1)

2 设计方案 (2)

3 系统硬件电路设计 (3)

3.1模拟信号采集电路 (3)

3.2数字处理模块电路 (3)

3.3数码显示模块电路 (4)

4 系统软件设计 (5)

4.1初始化程序 (5)

4.2主程序 (5)

4.3显示子程序 (5)

4.4模数转换测量子程序 (5)

5 检测与调试 (7)

6 设计结论 (8)

7 附录 (9)

附录一系统总设计图 (9)

附录二程序清单 (9)

8 参考文献 (14)

1 设计任务与要求

设计一个8路输入模拟信号数值显示电路,具体要求如下:1.1 8路模拟信号输入;

1.2 自动轮流显示通道模拟信号的数值;

1.3 最小分辨率为0.02V;

1.4 最大显示数值为255(输入为5V时);

1.5 模拟输入最大值为5V;

1.6 可作为数字电压表使用。

2 设计方案

8路输入模拟信号数值显示电路由A/D转换、数据处理及显示控制等组成。根据设计要求,要求能同时输入8路模拟信号,故在本设计中采用8路的数模转换器ADC0809。由单片机AT8952提供控制信号控制ADC0809,并对采集到的数据进行处理,通过软件编程实现8路模拟信号电压数值自动轮流显示。为得到8路模拟信号的数值进行轮流显示,本设计中采用了四个数码管,通过软件直接译码,间接驱动4个共阳极数码管,并通过动态显示来轮流显示4个数码管。系统总体框图设计如图一所示:

图一系统总体设计框图

3 系统硬件电路设计

3.1 模拟信号采集电路

模拟信号的采集需要用的模数转换器,在本设计中A/D转换由集成电路ADC0809完成。0809具有8路模拟输入端口,地址线(23-25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μS宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。10脚为0809的时钟输入端,利用单片机30脚的六分频晶振信号再通过14024二分频得到。模数转换器0809各引脚及功能如图二所示:

图二模拟信号采集电路

3.2 数字处理模块电路

该电路主要完成将接收到的0809转换输出的二进制数值进行BCD码的转换,并根据设计要求完成8路数值轮流显示的功能,故需要借助单片机来完成编程工程。在本设计中,采用AT89C52单片机。单片机的P1、P3端口作四位LED数码管显示

控制,P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,为了得到实验所需的时钟频率,在电路中采用了带预置和清除端的双D触发器74LS74,通过总原理图的接法,可以得到二分频,连接到ALE端之后,可以得到满足0809转换的时钟脉冲。74LS74的引脚功能表如下表一所示。

表一 74LS74引脚功能表

3.3 数码显示模块电路

根据设计要求,要求自动轮流显示模拟通道数,以及8路模拟电压数值,在本设计中采用了动态显示,并用四个连接的共阳数码管取代单个的数码管。根据数码管的参数要求,在电路中采用三极管进行扩流来驱动四个数码管。同时为防止数码管灌入单片机的电流超出允许的电流范围,在数码管与单片机的P1口之间接入510欧姆的电阻。该模块的电路图如图三所示:

图三数码显示模块电路

4 系统软件设计

4.1 初始化程序

系统上电时,将70H—77H内存单元清零,P2口置零。

4.2 主程序

在刚上电时,因内存70H—77H内存单元的数据为0,每一通道的数码管显示值都为000,当进行一次测量后,将显示出每一通道的A/D转换值。每个通道的数据显示时间在1秒左右。主程序在调用显示程序和测试程之间循环(流程图见图四)。

图四主程序流程图

4.3 显示子程序

采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H —77H内存单元中,测量数据在显示时需经过转换成为十进制BCD码放在78H—7BH 中,其中7BH存放通道标志数。寄存器R3用来作8路循环控制,R0用作显示数据地址指针。

4.4 模数转换测量子程序

模数转换测量子程序是用来控制对0809八路模拟输入电压的A/D转换并将对应

的数值移入70H-77H内存单元。其程序流程见图五所示:

图五 A/D转换测量程序流程图

5 检测与调试

按照总的电路图进行布局和布线,焊接完成之后,进行了系统检测。本设计的电路检测步骤如下:

a.在通电之前,先检查电源也地段之间的电阻大小,在正常情况下,电阻值为无穷大,但实际情况为几千欧姆。如果电阻过小,则说明电路中存在短路现象,可通过定点和动点结合的试触发进行检测,检查短路的引脚,并矫正。

b.通电之后,检测单片机是否工作正常,通过检测单片机的30脚ALE看是否有正弦波输出,且其电压值是否为电源电压的一半。如果单片机没有工作,则看振荡电路是否正常,检测18,19脚的电压是否在2.2V左右。

c.检测复位电路是否工作正常,按下复位开关之后,单片机之后,单片机的第9脚是否有高电平。如果没有,则检查复位电路是否连接正确。

d.检测个集成芯片是否工作正常,即检测各芯片的电源端是否有电压。

经检测完毕无异常情况之后,可以通过烧写器下载程序进行调试。

以下是在本次调试过程中遇到的问题:

a.数码管只亮了后面的两个,经检测数码管是好的,通过检测电路焊接情况,由于存在虚焊的情况,经矫正之后数码管亮了三个,为检查不亮的数码管,采用了程序检测与硬件检测相结合的方法,最后得出结论三极管是坏的,换掉坏的三接管后,数码管工作完全正常。

b.在数码管显示时,发现数码管在初次采样显示为00,经调节程序的顺序并修改,从程序上电之初就开始轮流采集8路模拟电压,通过数码管显示,可以得到标准的电压数值量。

c.为检测得到的电压数值量与其代表的模拟电压是否相一致,用数字电压表测量模拟量与理论计算得到的模拟量进行比较,在开始检测时出现了较大的差值,经过检测发现电压输入端存在虚焊的现象,经矫正得到的测量值与理论值之间的误差满足题目的精度要求。

相关文档
最新文档