




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与接口技术单片机原理与接口技术 课课程程 设设计计说说明明书书 8 位数模转换器 ADC0809 项目设计 专业专业电气工程及其自动化 学生姓名学生姓名林雯雯 班级班级D 电气 122 学号学号1220601220 指导教师指导教师周云龙 完成日期完成日期2015 年 12 月 12 日 盐城工学院课程设计说明书 2015 目目 录录 一 理论部分 1 1 课题要求与内容 1 2 系统方案设计 1 3 系统硬件的设计 1 4 系统软件设计 8 二 实践部分 9 1 系统硬件原理简介 9 2 系统硬件调试中出现的问题及解决措施 10 3 系统软件 10 3 1 软件设计 10 3 2 软件调试中出现的问题及解决措施 10 三 实验指导 13 1 实验目的 13 2 实验设备 13 3 实验要求 15 4 实验原理 15 5 实验内容 15 6 参考程序清单 16 6 1 涉及到的程序 17 6 2 C51 程序 17 7 问题 19 四 结束语 20 五 参考文献 21 六 附录 22 1 元件清单 22 2 仿真图 23 3 实物图 24 盐城工学院课程设计说明书 2015 1 一一 理论部分理论部分 1 课题要求与内容课题要求与内容 8 位数模转换器 ADC0809 实验 1 设计一个 V 可调的直流模拟电压信号 2 扩展 2 位静态显示的数码管 3 扩展 1 片 ADC0809 芯片 4 数码管显示模拟电压转换后的数字量值 16 进制数显示 2 系统方案设计系统方案设计 系统框图如下 3 系统硬件的设计系统硬件的设计 1 AT89C51 AT89C51 是一种带 4K 字节 FLASH 存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 8 位微处理器 俗称单片机 AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机 单片机的可擦除 只读存储器可以反复擦除 1000 次 该器件采用 ATMEL 高密度非易失存储器制造技术制 造 与工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪速存 储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C2051 是它的一 种精简版本 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 盐城工学院课程设计说明书 2015 2 引脚排列如图所示 管脚说明 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P0 口 的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以 被定义为数据 地址的低八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进 行校验时 P0 输出原码 此时 P0 外部必须接上拉电阻 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为 低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作 为低八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并 因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址 的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器 盐城工学院课程设计说明书 2015 3 进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高 八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电 流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于 外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下表所示 口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 计时器 0 外部输入 P3 5 T1 计时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的低位 字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周 期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用 于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指 令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态 ALE 禁 止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周 期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不 管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保 持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程 电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 盐城工学院课程设计说明书 2015 4 XTAL2 来自反向振荡器的输出 特性概述 AT89C51 提供以下标准功能 4k 字节 Flash 闪速存储器 128 字节内部 RAM 32 个 I O 口线 两个 16 位定时 计数器 一个 5 向量两级中断结构 一个全双工串行通 信口 片内振荡器及时钟电路 同时 AT89C51 可降至 0Hz 的静态逻辑操作 并支持两 种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及中断系统继续工作 掉电方式保存 RAM 中的内容 但振荡器停止工作并 禁止其它所有部件工作直到下一个硬件复位 2 ADC0809 A D 转换器大致分为三类 一是双积分 A D 转换器 优点是精度高 抗干扰性好 价格便宜 但速度慢 二是逐步逼近式 A D 转换器 精度 速度 价格适中 三是并 行 A D 转换器 速度快 价格也昂贵 实验用 ADC0809 属于第二类 ADC0809 是美国国家半导体公司生产的 CMOS 工艺 8 通道 8 位逐次逼近式 A D 模 数转换器 其内部有一个 8 通道多路开关 它可以根据地址码锁存译码后的信号 只 选通 8 路模拟输入信号中的一个进行 A D 转换 目前仅在单片机初学应用设计中较为 常见 引脚排列如图所示 ADC0809 引脚排列 盐城工学院课程设计说明书 2015 5 各引脚功能 IN0 IN7 8 路模拟量输入端 2 1 2 8 8 位数字量输出端 ADDA ADDB ADDC 3 位地址输入线 用于选通 8 路模拟输入中的一路 ALE 地址锁存允许信号 输入端 产生一个正脉冲以锁存地址 START A D 转换启动脉冲输入端 输入一个正脉冲 至少 100ns 宽 使其启动 脉冲上升沿使 0809 复位 下降沿启动 A D 转换 EOC A D 转换结束信号 输出端 当 A D 转换结束时 此端输出一个高电平 转 换期间一直为低电平 OE 数据输出允许信号 输入端 高电平有效 当 A D 转换结束时 此端输入一 个高电平 才能打开输出三态门 输出数字量 CLK 时钟脉冲输入端 要求时钟频率不高于 640KHz REF REF 基准电压 Vcc 电源 单一 5V GND 地 主要特性 1 8 路输入通道 8 位 A D 转换器 即分辨率为 8 位 2 具有转换起停控制端 3 转换时间为 100 s 时钟为 640KHz 时 130 s 时钟为 500KHz 时 4 单个 5V 电源供电 5 模拟输入电压范围 0 5V 不需零点和满刻度校准 盐城工学院课程设计说明书 2015 6 6 工作温度范围为 40 85 摄氏度 7 低功耗 约 15mW 3 晶振电路 本设计系统采用内部时钟方式 利用单片机内部的高增益反相放大器 外部电路简 只需要一个晶振和 2 个电容即可 如下图所示 晶振电路 电路中的器件选择可以通过计算和实验确定 也可以参考一些典型电路 参数 电路中 电容器 C1 和 C2 对震荡频率有微调作用 通常的取值范围是 30 10pF 在这 个系统中选择了 22pF 石英晶振选择范围最高可选 24MHz 它决定了单片机电路产生 的时钟信号震荡频率 在本系统中选择的是 12MHz 因而时钟信号的震荡频率为 12MHz 4 模拟输入电路 通过可变电阻一端接电源 5v 一端接地 GND 通过改变电阻的阻值 从而改变所测 电压值 实现电压的模拟信号输入 如下图所示 盐城工学院课程设计说明书 2015 7 模拟输入电路 5 数码管显示电路 8 段数码管属于 LED 发光器件的一种 LED 发光器件一般常用的有两类 数码管和 点阵 8 段数码管又称为 8 字型数码管 分为 8 段 A B C D E F G P 其中 P 为小数点 数码管常用的有 10 根管脚 每一段有一根管脚 另外两根管脚为一个数码 管的公共端 两根之间相互连通 用单片机驱动 LED 数码管有很多方法 按显示方式分 有静态显示和动态显示 首先介绍静态显示方法 静态显示就是显示驱动电路具有输出锁存功能 单片机将所有要显示的数据送出 后就不再控制 LED 直到下一次显示时再传送一次新的显示数据 静态显示的数据稳定 占用的 CPU 时间少 静态显示中 每一个显示器都要占用单独的具有锁存功能的 I O 接口 该接口用于笔划段字型代码 这样单片机只要把要显示的字形代码发送到接口 电路 该字段就可以显示发送的字形 要显示新的数据时 单片机再发送新的字形码 另一种方法是动态扫描显示 动态扫描方法是用其接口电路把所有显示器的 8 个 笔画段 a h 同名端连在一起 而每一个显示器的公共极 COM 各自独立的受 I O 线控制 CPU 向字段输出口送出字形码时 所有显示器接收到相同的字形码 但究竟是哪个显示 器亮 则取决于 COM 段 而这一段是由 I O 控制的 由单片机决定何时显示哪一位了 动态扫描用分时的方法轮流控制各个显示器的 COM 端 使各个显示器轮流点亮 在轮流点亮扫描过程中 每位显示器的点亮时间极为短暂 但由于人的视觉暂留现象 盐城工学院课程设计说明书 2015 8 及发光二极管的余晖效应 给人的印象就是一组稳定的显示数据 数码管与 AT89C51 的连接图如下 数码管连接图 4 系统软件设计系统软件设计 程序流程图 盐城工学院课程设计说明书 2015 9 盐城工学院课程设计说明书 2015 10 盐城工学院课程设计说明书 2015 11 二二 实践部分实践部分 1 系统硬件原理系统硬件原理 ADC0809 工作原理 首先输入 3 位地址 并使 ALE 1 将地址存入地址锁存器中 此地址经译码选通 8 路模拟输入之一到比较器 START 上升沿将逐次逼近寄存器复位 下降沿启动 A D 转 换 之后 EOC 输出信号变低 指示转换正在进行 直到 A D 转换完成 EOC 变为高电平 指示 A D 转换结束 结果数据已存入锁存器 这个信号可用作中断申请 当 OE 输入高 电平 时 输出三态门打开 转换结果的数字量输出到数据总线上 转换数据的传送 A D 转换后得到的数据应及时传送给单片机进行处理 数据传送 的关键问题是如何确认 A D 转换的完成 因为只有确认完成后 才能进行传送 为此 可采用下述三种方式 1 定时传送方式 对于一种 A D 转换器来说 转换时间作为一项技术指标是已知的和固定的 例如 ADC0809 转换时间为 128 s 相当于 6MHz 的 MCS 51 单片机共 64 个机器周期 可据此 设计一个延时子程序 A D 转换启动后即调用此子程序 延迟时间一到 转换肯定已经 完成了 接着就可进行数据传送 2 查询方式 A D 转换芯片有表明转换完成的状态信号 例如 ADC0809 的 EOC 端 因此可以用查 询方式 测试 EOC 的状态 即可确认转换是否完成 并接着进行数据传送 3 中断方式 把表明转换完成的状态信号 EOC 作为中断请求信号 以中断方式进行数据传送 不管使用上述哪种方式 只要一旦确定转换完成 即可通过指令进行数据传送 首先送出口地址并以信号有效时 OE 信号即有效 把转换数据送上 硬件原理图如下 盐城工学院课程设计说明书 2015 12 数据总线 供单片机接受 Proteus 原理图 2 系统硬件调试中出现的问题及解决措施系统硬件调试中出现的问题及解决措施 数码管显示的数字出现问题 后来检查发现公共线上的标管脚的时候标错了 3 系统软件系统软件 3 1 软件设计软件设计 1 首先我们需要在电脑上安装 Keil 软件 安装好后双击它的快捷方式打开这个 软件 2 打开软件后 会出现这个页面 这时候就需要我们点击窗口上面的 project 然后点击 New uvision project 新建一个工程文件 在里面需要我们选择芯片 51 单 片机我们是选择的 Atmel 里面的 AT89c51 3 选择好芯片后 我们需要保存文件 接着就是写程序了 我们新建一个空白文 档 这个是点 File 下面那个按钮 4 在 Text 中编写自己的程序 我们需要把 51 单片机的头文件添加上去 这个是 盐城工学院课程设计说明书 2015 13 include 写好之后把它保存再添加到工程里 这里需要我们注意 是点 project 的 source group 里面的 Add Files to 5 接下来检查程序有无问题 如果没有问题 我们可以编译 链接 调试了 这 个需要我们生成 Hex 文件 这样才能放到 protues 软件中仿真 6 如果程序在编译过程中出现问题 这就说明我们的程序有问题 我们可以去点 它的错误提示找到错误语句的位置 然后再去修改 3 23 2 软件调试中出现的问题及解决措施软件调试中出现的问题及解决措施 编完程序后发现程序中有逻辑错误 通过检查发现是共阳极数码管程序编写错误 盐城工学院课程设计说明书 2015 14 三 实验指导三 实验指导 1 实验目的 实验目的 1 熟练掌握 proteus keil 软件的使用 2 通过设计了解数模转换器的工作原理 3 学会 team work 团队合 4 培养学生综合分析问题 发现问题和解决问题的能力 2 实验设备 实验设备 1 USB 通讯线 2 实验模块 1 AD 转换模块 A D 转换的过程是模拟信号依次通过取样 保持和量化 编码几个过程后转换为 数字格式 a 取样与保持 一般取样与保持过程是同时完成的 取样 保持电路的原理图如图 16 所示 由输 入放大器 A1 输出放大器 A2 保持电容 CH 和电子开关 S 组成 要求 AV1 AV2 1 原理是 当开关 S 闭合时 电路处于取样阶段 电容器充电 由于 AV1 AV2 1 所以输出等于输入 当开关 S 断开时 由于 A2 输入阻抗较大而且开 关理想 可认为 CH 没有放电回路 输出电压保持不变 取样 保持电路 盐城工学院课程设计说明书 2015 15 取样 保持以均匀间隔对模拟信号进行抽样 并且在每个抽样运算后在足够的时间 内保持抽样值恒定 以保证输出值可以被 A D 转换器精确转换 b 量化与编码 量化的方法 一般有舍尾取整法和四舍五入法 过程是先取顶量化单位 量化 单位取值越小 量化误差的绝对值就越小 具体过程在这里就不做介绍了 将量化后 的结果用二进制码表示叫做编码 2 LED 显示模块 共阳极 位选为高电平 即 1 选中数码管 各段选为低电平 即 0 接地时 选中各数码段 由 0 到 f 的编码为 uchar code table 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 0 xc6 0 xa1 0 x86 0 x8e 共阴极 位选为低电平 即 0 选中数码管 各段选为高电平 即 1 接 5V 时 选中各数码段 uchar code table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 8 位 LED 数码管有共阴和共阳之分 通常在用到多片 LED 数码管的时候 都会提 到 段选 和 位选 盐城工学院课程设计说明书 2015 16 其中 公共端即为位选线 而其它端子称为段选线 3 计算机 计算机一台并且安装了 proteus 和 keil 软件 4 实验用到的辅材 工具等 万用表一个 实验工具一套 电烙铁 焊锡丝等 3 实验要求 实验要求 1 用 Proteus 仿真软件画出实验电路图 2 用 keil 开发软件编写 C 语言程序 3 将元器件焊接在多功能板上 4 连接好实验模块 完成数模转换的功能 5 完成单片机实验说明书 4 实验原理 实验原理 模数转换原理 试验中 我们选用 ADC0809 作为模数转换的芯片 其为逐次逼近式 AD 转换式芯片 其工作时需要一个稳定的时钟输入 根据查找资料 得到 ADC0809 的时钟频率在 10khz 1200khz 我们选择典型值 640khz 课题要求测量电压范围是 0 到 5V 又 ADC0809 的要求 Vref GND 故我们取 Vref 5V Vref 0V 由于 ADC0809 有 8 个输入通道可供选择 我们选择 IN6 通道 直接使 ADC0809 的 A 接地 B C 接高电平可以了 在当 ADC0809 启动时 ALE 引脚电平正跳变时变可以锁存 A B C 上的地址信息 ADC0809 可以将从 IN6 得到的模拟数据转换为相应的二进制数 由于 ADC0809 输出为 8 位的二进制数 转换时将 0 到 5V 分为 255 等分 所以我们可以 得到转换公式为 x 255 5 化简为 x 51 x 为得到的模拟数据量 也就是直接得到的电 压量 在 AD 转换完成后 ADC0809 将在 EOC 引脚上产生一个 8 倍于自身时钟周期的正 脉冲 以此来作为转换结束的标志 然后当 OE 引脚上产生高电平时 ADC0809 将允许 转换完的二进制数据输出 数据处理原理 由 ADC0809 的转换原理可以知道我们从其得到数据还只是二进制数据 我们还需 要进一步处理来的到 x 的十进制数 并且对其进行精度处理 也就是课题要求的的精 确到小数点后两位 在这里我们用 51 单片机对数据进行处理 我们处理数据的思路是 首先将得到的二进制数直接除以十进制数 51 然后取整为 x 的整数部分 然后就是将 盐城工学院课程设计说明书 2015 17 得到的余数乘以 10 然后再除以 51 再取整为 x 的十分位 最后将得到的余数除以 5 得到 x 的百分位 5 实验内容 实验内容 利用 51 单片机 ADC0809 设计一个 0 5V 之间可调的直流电压信号 并且用两位静 态共阴极数码管来显示 其中数码管显示的数字为 16 位模拟信号 最后编写 C 程序并 联合软件进行演示 调节滑动变阻器的阻值便可以改变电压表的读数 电压表的读数 可以从 0V 变化到 5V 数码管显示可以从 0 0 变化到 F F 数码管显示图如下 电压表显示如下 盐城工学院课程设计说明书 2015 18 6 参考程序清单 参考程序清单 6 16 1 涉及到的程序涉及到的程序 1 共阴极数码管的显示程序 2 系统中断程序 3 采样通道的选择程序 6 26 2 C51C51 程序程序 include define uint unsigned int define uchar unsigned char sbit dp P0 7 uchar code LEDData 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 0 xc6 0 xa1 0 x 86 0 x8e sbit OE P3 0 sbit EOC P3 1 sbit ST P3 2 盐城工学院课程设计说明书 2015 19 sbit CLK P3 3 void DelayMS uint ms uchar i while ms for i 0 i 120 i void Display Result uint d P2 0 x80 P0 LEDData d 16 DelayMS 5 P2 0 x40 P0 LEDData d 16 dp 0 DelayMS 5 void main TMOD 0 x02 TH0 0 x14 TL0 0 x14 盐城工学院课程设计说明书 2015 20 IE 0 x82 TR0 1 P3 0 x1f while 1 ST 0 ST 1 ST 0 while EOC 0 OE 1 Display Result P1 OE 0 void Timer0 INT interrupt 1 CLK CLK 7 7 问题 问题 1 C 程序编写完 运行查出错误 2 生成 hex 文件之后联合原理图 数码管显示不出数字 3 多功能板焊接完 调试出现问题 盐城工学院课程设计说明书 2015 21 四 结束语四 结束语 课程设计是培养学生综合运用所学知识 发现 提出 分析和解决实际问题 锻炼实 践能力的重要环节 是对学生实际工作能力的具体训练和考察过程 随着科学技术发展的日新日异 单片机已经成为当今计算机应用中空前活跃的领 域 在生活中可以说得是无处不在 因此作为二十一世纪的大学来说掌握单片机的开 发技术是十分重要的 回顾起此次单片机课程设计 至今我仍感慨颇多 的确 从 选题到定稿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中班社会领域教案《乘坐公共汽车》反思
- 住宅楼基础工程安全管理方案
- 2025年城市污水处理厂深度处理工艺能耗分析与降低策略评估报告
- 2025年教育行业质量评估与认证体系评价标准与方法研究报告
- 2025年机械制造企业服务化转型中的智能制造与工业4.0解决方案报告
- 2025年成人教育终身学习体系构建与平台运营中的教育投资分析报告
- 信访信用治理制度的生成与作用逻辑
- 气球广告公司合伙协议书
- 河南省南阳市宛城区等2地2025-2026学年高二上学期开学考试思想政治试卷(含答案)
- 广东省深圳市桃源居中澳实验学校2025-2026学年高三上学期第一次月考物理试题
- 打扫卫生的社会实践报告
- 小学《道德与法治课程标准2022版》测试题
- 市政污水管道施工组织设计
- 服装陈列课件
- 产品认证控制程序
- 新教材-人教A版高中数学选择性必修第一册-第一章-空间向量与立体几何-知识点及解题方法提炼汇总
- 国家临床版20肿瘤形态学编码(M码)
- 国开电大组织行为学任务四调查报告
- 施工现场安全监理危险源清单一览表
- GB/T 233-2000金属材料顶锻试验方法
- 颈椎DR摄影技术-
评论
0/150
提交评论