单片机课程设计电阻测量完整版_精品文档.doc

上传人:b****2 文档编号:1201282 上传时间:2022-10-18 格式:DOC 页数:22 大小:182.08KB
下载 相关 举报
单片机课程设计电阻测量完整版_精品文档.doc_第1页
第1页 / 共22页
单片机课程设计电阻测量完整版_精品文档.doc_第2页
第2页 / 共22页
单片机课程设计电阻测量完整版_精品文档.doc_第3页
第3页 / 共22页
单片机课程设计电阻测量完整版_精品文档.doc_第4页
第4页 / 共22页
单片机课程设计电阻测量完整版_精品文档.doc_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

单片机课程设计电阻测量完整版_精品文档.doc

《单片机课程设计电阻测量完整版_精品文档.doc》由会员分享,可在线阅读,更多相关《单片机课程设计电阻测量完整版_精品文档.doc(22页珍藏版)》请在冰豆网上搜索。

单片机课程设计电阻测量完整版_精品文档.doc

课程设计报告

课程名称:

单片机课程设计

设计题目:

电阻测量

院系:

通信与控制工程系

专业:

通信工程

班级:

学生姓名:

学号:

08409212

起止日期:

指导教师:

教研室主任:

摘要

本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。

通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。

其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D转换正常进行。

A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。

本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。

具有读数据准确,测量方便的特点。

关键词:

单片机(AT89C52);电压;A/D转换;ADC0809

目录

设计要求 1

1、方案论证与对比 2

1.1方案一 1

1.2方案二 3

1.3方案对比与比较 3

2、系统硬件电路的设计 3

2.1振荡电路模块 3

2.2A/D转换电路模块 4

2.2.1主要性能 4

2.2.2ADC0809芯片的组成原理 4

2.2.3ADC0809引脚功能 5

2.3主控芯片AT89C52模块 6

2.3.1主要功能特性 6

2.3.2主要引脚功能 7

2.4显示控制电路的设计及原理 9

3、程序设计 11

3.1初始化程序 11

3.2主程序 11

3.3显示子程序 11

3.4A/D转换测量子程序 12

4、调试及性能分析 13

4.1调试与测试 13

4.2性能分析 13

5、元件清单 14

6、总结与思考及致谢 14

参考文献 15

附一:

原理图 16

附二:

程序 17

设计要求

电阻测量(需要简单的外围检测电路,将电阻转换为电压)

测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。

测试:

误差10%。

1、方案论证与对比

1.1方案一

利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度Tx与Rx成正比。

只要把此脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。

如果时钟脉冲的频率等参数合适,便可实现测量电阻。

计数控制电路输出的脉冲宽度Tx应与Rx成正比,其电路原理图及具体555单稳态触发器的构成及仿真如图1所示。

用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx与Rx的函数关系是:

所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间延迟太大。

555

单稳态电路

A/D

转换

电路

译码-驱动-显示

电路

图1方案一原理图

1.2方案二

用ADC0809 电阻测量,以一个1K的电阻作为基准电阻。

和被测电阻进行分压,分压比例得出电阻比例。

=

用ACD0809测量电阻时间误差为%10以下,分辨率高,输出能与TTL电平兼容。

其原理图如图2所示。

简易外围电路

A/D转换电路

译码-驱动-显示

电路

图2方案二原理图

1.3方案对比与比较

由于课程设计的要求是电阻测量需要简单的外围检测电路,将电阻转换为电压,测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。

测试:

误差10%。

通过比较以上两个方案,可知方案二相对来说比较适合。

所以选用方案二作为实验方案。

2、系统硬件电路的设计

2.1振荡电路模块

振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取33pF),这样就构成一个稳定的自激振荡器。

为单片机提供时钟信号。

如图3所示。

8051

XTAL1XTAL2

C2

C1

图3.振荡电路

2.2A/D转换电路模块

ADC0809是采用逐次逼近式原理的A/D转换器。

ADC0809的工作过程是:

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,9电路图如图4所示。

图4A/D转换电路原理图

2.2.1主要性能

1分辨率为8位二进制数。

2模拟输入电压范围0V—5V,对应A/D转换值为00H—FFH。

3每路A/D转换完成时间为100µs。

4允许输入4路模拟电压,通过具有锁存功能的4路模拟开关,可以分时进行4路A/D转换。

5工作频率为500kHz,输出与TTL电平兼容。

2.2.2ADC0809芯片的组成原理

具体设计要求如图5所示,它是由地址锁存器、4路模拟开关、8位逐次A/D转换器和三态锁存输出缓冲器构成。

由3位地址输入线ADDRA、ADDRB、ADDRC决定4路模拟输入中的1路进8位A/D转换器,A/D转换值进入三态锁存输出缓冲器暂存,在CPU发来输出允许控制信号OE后,三态门打开,经DB7—DB0进入CPU总线,完成一次A/D转换全过程。

图5 A/D转换电路原路图

2.2.3ADC0809引脚功能

ADC0809采用28引脚的封装,双列直插式。

A/D转换由集成电路ADC0809完成。

ADC0809具有8路模拟输入端口,地址线(23—25脚—即C,B,A,)可决定对哪一路模拟输入作A/D转换。

22脚为地址锁存控制(ALE),当输入为高电平时,对地址信号进行锁存。

6脚为测试控制(START),当输入一个2us宽高电平脉冲时,就开始A/D转换。

7脚为A/D转换结束标志(EOC),当A/D转换结束时,7脚输出高电平。

9脚为A/D转换数据输出允许控制(OE),当OE脚为高电平时,A/D转换数据从该端口输出。

10脚为ADC0809的时钟输入端(CLOCK),利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。

单片机的P1、P3.0—P3.3端口作为四位LED数码管显示控制。

P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。

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

2.3主控芯片AT89C52模块

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口。

3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

如图6所示为AT89C52管脚图。

图6AT89C52管脚图

2.3.1主要功能特性

·与MCS—51产品指令和引脚完全兼容

·8k字节可重擦写Flash闪速存储器

·1000次擦写周期

·全静态操作:

0Hz—24MHz

·三级加密程序存储器

·32个可编程I/O口线

·低功耗空闲和掉电模式

·3个16位定时/计数器

·可编程串行UART通道

2.3.2主要引脚功能

VCC:

电源

GND:

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。

P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P1口和P2口的第二功能如下表1所示。

表1P0和P1口的第二功能

引脚号

功能特性

P1.0

T2(定时/计数器2外部计数脉冲输入),时钟输出

P1.1

T2EX(定时/计数2捕获/重载触发和方向控制)

P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,P3口输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89C52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。

具体功能如表2所示:

表2 P3口的第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

外中断0

P3.3

外中断1

P3.4

T0(定时/计数器0)

P3.5

T1(定时/计数器1)

P3.6

外部数据存储器写选通

P3.7

外部数据存储器读选通

RST:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

看门狗计时完成后,RST脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1