1、课 程 设 计 报 告课程名称: 单片机原理及应用课程设计设计题目: 电阻测量 系 别: 通信与控制工程系 专 业: 电子信息专业 班 级: 09 级电信二班 学生姓名: 学 号: 起止日期: 指导教师: 教研室主任: 指导教师评语:指导教师签名: 年 月 日成绩项 目 权重1、设计过程中出勤、学习态度等方面 0.22、课程设计质量与答辩 0.53、设计报告书写及图纸规范程度 0.3成绩评定总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见:主任签字: 年 月 日摘 要本设计电阻测量是利用 A/D 转换原理,将被测模拟量转换成数字量 ,并用数字方式显示测量结果的电子测量仪表
2、。通常测量电阻都采用大规模的 A/D 转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D 转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将 A/D 转换器中各组模拟开关接通或断开,保证 A/D 转换正常进行。A/D 转换结果通过计数译码电路变换成 BCD 码,最后驱动显示器显示相应的数值。本系统以单片机 AT89C52 为系统的控制核心,结合 A/D 转换芯片 ADC0809 设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。关键词:单片机( AT8
3、9C52); 电压; A/D 转换; ADC0809目 录设计要求 .11 电路的论证与对比 .11.1 方案一 .11.2 方案二 .21.3 方案的对比与比较 .22 系统硬件电路设计 .22.1 振荡电路模块 .22.2 A/D 转换电路模块 .22.2.1 主要性能 .32.2. 2 ADC0809 芯片的组成原理 .42.2.3 ADC0809 引脚功能 .42.3 主控芯片 AT89C52 模块 .52.3.1 主要功能特性 .52.3.2 主要引脚功能 .62.4 显示控制电路的设计及原理 .83 系统调试与分析 .93.1 硬件调试 .93.2 软件调试 .93.3 性能分析
4、.104 元器件清单 .115 总结与致谢 .126 参考文献 .13附一:原理图 .14附二:程序 .151电阻测量设计要求电阻测量(需要简单的外围检测电路,将电阻转换为电压)测量 100,1k,4.7k,10k,20k 的电阻阻值,由数码管显示。测试:误差 10%。1 电路的论证与对比1.1 方案一利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度 Tx 与 Rx 成正比。只要把此脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。如果时钟脉冲的频率等参数合适,便可实现测量电阻。计数控制电路输出的脉冲宽度 Tx 应与 Rx
5、 成正比,其电路原理图及具体 555 单稳态触发器的构成及仿真如图 1 所示。用 555 构成的单稳态电路在正常工作条件下输出脉冲的宽度 Tx 与 Rx 的函数关系是:n3IRCTXX图 1 方案一原理图2所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间1.2 方案二用 ADC0809 电阻测量,以一个 1K 的电阻作为基准电阻。和被测电阻进行分压,分压比例得出电阻比例。 21VR用 ACD0809 测量电阻时间误差为 10%以下,分辨率高,输出能与 TTL 电平兼容。其原理图如图 2 所示。图 2 方案二原理图1.3 方案的对比与比较由于课程设计的要求是电阻测量需要
6、简单的外围检测电路,将电阻转换为电压,测量 100,1k,4.7k,10k,20k 的电阻阻值,由数码管显示。测试:误差 10%。通过比较以上两个方案,可知方案二相对来说比较适合。所以选用方案二作为实验方案。 2 系统硬件电路设计 2.1 振荡电路模块振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取33pF) ,这样就构成一个稳定的自激振荡器。为单片机提供时钟信号。如图 3 所示。 图 3 振荡电路 2.2 A/D 转换电路模块ADC0809 是采用逐次逼近式原理的 A/D 转换器。3ADC0809 的工作过程是:首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中
7、。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A D 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 A D 转换完成, EOC 变为高电平,指示 A D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,9 电路图如图 4 所示。图 4 A/D 转换电路原理图2.2.1 主要性能1 分辨率为 8 位二进制数。2 模拟输入电压范围 0V5V,对应 A/D 转换值为 00HFFH。3 每路 A/D 转换完成时间为 100s。4 允许输入 4 路模拟电压,
8、通过具有锁存功能的 4 路模拟开关,可以分时进行4 路 A/D 转换。5 工作频率为 500kHz,输出与 TTL 电平兼容。2.2.2 ADC0809 芯片的组成原理具体设计要求如图 5 所示,它是由地址锁存器、4 路模拟开关、8 位逐次 A/D 转换器和三态锁存输出缓冲器构成。由 3 位地址输入线 ADDRA、 ADDRB、 ADDRC 决4定 4 路模拟输入中的 1 路进 8 位 A/D 转换器,A/D 转换值进入三态锁存输出缓冲器暂存,在 CPU 发来输出允许控制信号 OE 后,三态门打开,经 DB7DB0 进入CPU 总线,完成一次 A/D 转换全过程。图 5 A/D 转换电路原路图
9、2.2.3 ADC0809 引脚功能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、口输出。10 脚为 ADC0809 的时钟输入端(CLOCK),利用单片机30 脚的六分频晶振频率再通过 14024 二分频得到 1MHz 时钟。单片机的 P1、 P3.0P3.3 端口作为四位 LED 数码管显示控制。P3.5 端口用作单路显示 /循环显示转换按钮,P3.6 端口用作单路显示时选择通道。P0 端口作 A/D 转换数据读入用,P 2 端口用作 ADC0809 的 A/D 转换控制。52.3 主控芯片 AT89C52 模块AT89C52 是 一 个 低 电 压 , 高 性 能 CMOS 8 位 单 片 机 , 片 内 含 8k bytes 的 可 反复 擦 写 的 Flash 只
11、 读 程 序 存 储 器 和 256 bytes 的 随 机 存 取 数 据 存 储 器 ( RAM) , 器件 采 用 ATMEL 公 司 的 高 密 度 、 非 易 失 性 存 储 技 术 生 产 , 兼 容 标 准 MCS51 指 令系 统 , 片 内 置 通 用 8 位 中 央 处 理 器 和 Flash 存 储 单 元 , 功 能 强 大 的 AT89C52 单片 机 可 为 您 提 供 许 多 较 复 杂 系 统 控 制 应 用 场 合 。图 6 AT89C52 管脚图AT89C52 有 40 个 引 脚 , 32 个 外 部 双 向 输 入 /输 出 ( I/O) 端 口 , 同
12、 时 内 含 2个 外 中 断 口 。 3 个 16 位 可 编 程 定 时 计 数 器 ,2 个 全 双 工 串 行 通 信 口 , 2 个 读 写 口线 , AT89C52 可 以 按 照 常 规 方 法 进 行 编 程 , 也 可 以 在 线 编 程 。 其 将 通 用 的 微 处 理器 和 Flash 存 储 器 结 合 在 一 起 , 特 别 是 可 反 复 擦 写 的 Flash 存 储 器 可 有 效 地 降 低开 发 成 本 。 如 图 6 所 示 为 AT89C52 管 脚 图 。2.3.1 主要功能特性与 MCS51 产 品 指 令 和 引 脚 完 全 兼 容8k 字 节
13、可 重 擦 写 Flash 闪 速 存 储 器1000 次 擦 写 周 期 全 静 态 操 作 : 0Hz24MHz6三 级 加 密 程 序 存 储 器32 个 可 编 程 I/O 口 线低 功 耗 空 闲 和 掉 电 模 式 3 个 16 位 定 时 /计 数 器可 编 程 串 行 UART 通 道2.3.2 主要引脚功能VCC : 电源GND: 地P0 口 : P0 口 是 一 组 8 位 漏 极 开 路 型 双 向 I/O 口 , 也 即 地 址 /数 据 总 线 复 用口 。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P1 输出缓冲器能驱动 4 个 TTL 逻
14、辑电平。对 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 所 示 。表 1 P0 和 P1 口 的 第 二 功 能引脚号 功能特性P1.0 T2(定时/计数器 2 外部计数脉冲输入),时钟输出