基于CPU的8LED显示录音回放机.doc

上传人:h**** 文档编号:131149 上传时间:2018-07-09 格式:DOC 页数:25 大小:545KB
下载 相关 举报
基于CPU的8LED显示录音回放机.doc_第1页
第1页 / 共25页
基于CPU的8LED显示录音回放机.doc_第2页
第2页 / 共25页
基于CPU的8LED显示录音回放机.doc_第3页
第3页 / 共25页
基于CPU的8LED显示录音回放机.doc_第4页
第4页 / 共25页
基于CPU的8LED显示录音回放机.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 通信与信息工程 学院 2014/2015 学年 第 二 学期 软件 设计 实验报告 模 块 名 称 Proteus 51 专 业 通信工程 学 生 班 级 学 生 学 号 学 生 姓 名 指 导 教 师 设 计题目 基于 CPU 的 8LED 显示录音回放机设计 任务要求 基本要求 : 1 把需要录取的信号用 AD转换器采样并存储在 SRAM 中。 2 在一组数码管或 LCD 上显示采样速率和录音时间(秒),以及信号相关参数。 3 用 D/A 转换器回放录音信号,通过喇叭过模拟示波器显示。 4 在一组数码管或 LCD 上显示回放的播放时间或信号强度。 发挥部分: 1 用功能键可分别设定录音和

2、放音的采样速率。 2 多段录音管理。 3 任意组合播放。 动态显示格式 : 自定 实验设备及软件 计算机、 Protues 以及 Keil 软件 同组人员学号及姓名 无 参考文献 单片机实验与课程设计指导( Protues 仿真版) 51 系列单片机 李静 第一部分 实验目的和要求 本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。 1、总体要求: 以下各类设计必须按照实验提供的单片机原理图( dpj.pdf 文件),结合自己所选择的题目进行元器件的

3、连接。 每组学生只能选择一个与别组不同的设计 题目,按照先到先选择的规则进行选题。 在仿真设计完成的基础上,有能力的同学可以申请硬件实验板的下载并完成软、硬件结合的课程设计。 2、分类要求: 录音机类 实验中需要录取的信源,可以用单片机或者信号发生器产生。 基本要求 : 1 把需要录取的信号用 AD 转换器采样并存储在 SRAM 中。 2 在一组数码管或 LCD 上显示采样速率和录音时间(秒),以及信号相关参数。 3 用 D/A 转换器回放录音信号,通过喇叭过模拟示波器显示。 4 在一组数码管或 LCD 上显示回放的播放时间或信号强度。 发挥部分: 1 用功能键可分别设定录音和放音的采样速率。

4、 2 多段录音管理。 3 任意组合播放。 动态显示格式 : 自定 根据提供的参考工程,在 proteus 平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习 proteus 软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。 第二部分 实验工具及实验器件 1. Proteus7.4 以及 Keil 2 软件的使用 Proteus 软件 是英国 Labcenter electronics 公司出版的 EDA 工具软件 (该软件 中国 总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA 工具软件的仿真功能,

5、还能仿真单片机及外围 器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA 工具 (仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合 一的设计平台,其处理器模型支持 8051、 HC11、 PIC10/12/16/18/24/30/DsPIC33、 AVR、 ARM、 8086 和 MSP430等, 201

6、0 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、 Keil 和 MPLAB 等多种 编译器 。 在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件: *.HEX,可以在PROTEUS 的原理图中看到模拟的实物运行状态和过程。 而 *.HEX 文件则由 Keil 软件编译后生成。 Keil uVision2 是 美国 Keil Software 公司出品的 51 系列兼容 单片机 C 语言软件开发系统,使用接近于传统 c 语言 的语法来开发,与 汇编 相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因

7、而易学易用 ,而且大大的提高了工作效率和项目开发周期 ,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。 KEILC51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境 ,同时保留了汇编代码高效 ,快速的特点。 C51 编译器的功能不断增强,使你可以更加贴近 CPU 本身,及其它的衍生产品。C51 已被完全集成到 uVision2 的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。 uVision2 IDE 可为它们提供单一而灵活的开发环境。 Keil C51 软件提供丰富的 库函数 和功能强大的集成开发调试

8、工具,全 Windows 界面,使您能在很短的时 间内就能学会使用 keil c51 来开发您的单片机应用程序。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 有了 proteus 和 keil 我们就需要在这两个软件中建立我们所需要的工程进行实验,具体步骤如下: 第一步:在 Keil2 中建立一个新的工程,并命名, 第二步:选择使用的单片机芯片,我们选择 80c31, 第三步:将新创建的 .c 文件添加到 Target 中。 这样我 们就可以在 kei

9、l2 的环境下对单片机的程序进行编译和运行了。 2. 51 单片机 AT89c51 51 单片机是对目前所有兼容 Intel 8031 指令系统的单片机的统称。该系列单片机的始祖是 Intel 的 8031 单片机,后来随着 Flash rom 技术的发展, 8031 单片机取得了长足的进展,成为目前应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司 的 AT89 系列,它广泛应用于工业测控系统 之中。目前很多公司都有 51 系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。 51 单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是 52 系列的单片机

10、一般不具备自编程能力。 当前常用的 51 系列单片机主要产品有: *Intel 的: 80C31、 80C51、 87C51, 80C32、 80C52、 87C52 等; *ATMEL 的: 89C51、 89C52、 89C2051 等; *Philips、华邦、 Dallas、 Siemens(Infineon)等公司的许多产品 80C31 单片机, 它是 8位高性能单片机。属于标准的 MCS-51 的 HCMOS 产品。它结合了 HMOS 的高速和高密度技术及 CHMOS 的低功耗特征,标准 MCS-51 单片机的体系结构和指令系统。 80C31 内置中央处理单元、 128 字节内部数

11、据存储器 RAM、 32 个双向输入 /输出 (I/O)口、 2 个 16 位定时 /计数器和 5 个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。但 80C31 片内并无程序存储器,需外接 ROM。此外, 80C31 还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结 CPU 而 RAM 定时器、串行口和中断系 统维持其功能。掉电模式下,保存 RAM 数据,时钟振荡停止,同时停止芯片内其它功能。 80C31 有PDIP(40pin)和 PLCC(44pin)两种封装形式。 管脚说明 : 8031 芯片具有 40 根引脚,其引脚图如图所示: 80C31 管脚图 4

12、0 根引脚按其功能可分为四类: 1. 电源线 2 根 Vcc:编程和正常操作时的电源电压,接 +5V。 Vss:地电平。 2. 晶振: 2 根 XTAL1:振荡器的反相放大器输入。使用外部震荡器是必须接地。 XTAL2:振荡器的反相放大器输出和内部时钟发生器的输入。当使用外部振荡器时用于输入外部振荡信号。 3. I/O 口共有 p0、 p1、 p2、 p3 四个 8 位口, 32 根 I/O 线,其功能如下: 1) P0.0 P0.7 ( AD0 AD7) 是 I/O 端口 O 的引脚,端口 O 是一个 8 位漏极开路的双向 I/O 端口。在存取外部存储器时,该端口分时地用作低 8 位的地址线

13、和 8 位双向的数据端口。(在此时内部上拉电阻有效) 2) P1.0 P1.7 端口 1 的引脚,是一个带内部上拉电阻的 8 位双向 I/O 通道,专供用户使用。 3) P2.0 P2.7 ( A8 A15) 端口 2 的引脚。端口 2 是一个带内部上拉电阻的 8 位双向 I/O 口,在访问外部存储器时,它输出高 8 位地址 A8 A15 4) P3.0 P3.7 端口 3 的引脚。端口 3 是一个带内部上拉电阻的 8 位双向 I/O 端口,该口的每一位均可独立地定义第一 I/O 口功能或第二 I/O 口功能。作为第一功能使用时,口的结构与操作与 P1 口完全相同,第二功能如下示: 口引脚第二

14、功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断) P3.3 (外部中断) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输 入) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) 3. 模数转换芯片 ADC0804。 ADC0804 的管脚图如下所示 它的主要电气特性如下: 工作电压: 5V,即 VCC 5V。 模拟输入电压范围: 0 5V,即 0 Vin 5V。 分辨率: 8 位,即分辨率为 1/28=1/256,转换值介于 0 255 之间。 转换时间: 100us( fCK 640KHz 时)。

15、转换误差: 1LSB。 参考电压: 2.5V,即 Vref 2.5V。 1.ADC0804 的转换原理 ADC0804 是属于连续渐进式( Successive Approximation Method)的 A/D 转换 器,这类型的 A/D 转换器除了转换速度快(几十至几百 us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。 以输出 8 位的 ADC0804 动作来说明“连续渐进式 A/D 转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。 第一次寻找结果: 10000000 (若假设值输入值,则寻找位假设位 1) 第二次寻找结果: 11000000

16、(若假设值输入值,则寻找位假设位 1) 第三次寻找结果: 11000000 (若假设值 输入值,则寻找位该假设位 0) 第四次寻找结果: 11010000 (若假设值输入值,则寻找位假设位 1) 第五次寻找结果: 11010000 (若假设值 输入值,则寻找位该假设位 0) 第六次寻找结果: 11010100 (若假设值输入值,则寻找位假设位 1) 第七次寻找结果: 11010110 (若假设值输入值,则寻找位假设位 1) 第八次寻找结果: 11010110 (若假设值 输入值,则寻找位该假设位 0) 这样使用二分法的寻找方式, 8 位的 A/D 转换器只要 8 次寻找, 12 位的 A/D

17、转换器只要 12 次寻找,就能完成转换的动作,其中的输入值代表图 1 的模拟输入电 压 Vin 2.分辨率与内部转换频率的计算 对 8 位 ADC0804 而言,它的输出准位共有 28 256 种,即它的分辨率是 1/256,假设输入信号 Vin 为 0 5V 电压范围,则它最小输出电压是 5V/256 0.01953V,这代表 ADC0804所能转换的最小电压值。 表 1 列出的是 8 12 位 A/D 转换器的分辨率和最小电压转换值。 表 1 A/D 转换器的分辨率和最小电压值 位数目 分辨率 最小电压转换值 8 1/256 0.01953V 10 1/1024 0.00488V 12 1

18、/4096 0.00122V 至 于内部的转换频率 fCK,是由图 2 的 CLKR( 19 脚)、 CLK IN( 4 脚)所连接的 R()、C(150PF)来决定。 图 2 ADC0804 与 CPLD&FPGA、 8051 单片机等典型连接图 频率计算方式是 : fCK 1/(1.1 R C) 若以图 2 的 R 10K、 C 150PF 为例,则内部的转换频率是 fCK 1/( 1.1 10 K 150PF) 606KHz 更换不同的 R、 C 值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意 R、 C 的组合,务必使频率范围是在 100KHz 1460KHz 之间。 3

19、.ADC0804 的控制方法 要求 ADC0804 进行模拟 /数字的转换,其实可以直接由下面的时序图及图 2 信号的流向来配合了解。 图 3 ADC0804 控制信号时序图 以图 2、图 3 信号流向而言,控制 ADC0804 动作的信号应该只有 CS、 WR、 RD。其中INTR 由高电位转为低电位后,代表 ADC0804 完成这次的模拟 /数字转换,而 DB0 DB7 代表是转换后的数字资料。 图 3 的动作大概可分成 4 个步骤区间 S0、 S1、 S2、 S3,每个步骤区间的动作方式如下: 步骤 S0: CS 0、 WR 0、 RD 1(由 CPLD 发出信号要求 ADC0804 开

20、始进行模拟 /数字信号的转换)。 步骤 S1: CS 1、 WR 1、 RD 1( ADC0804 进行转换动作,转换完毕后 INTR 将高电位降至低电位,而转换时间 100us)。 步骤 S2: CS 0、 WR 1、 RD 0(由 CPLD 发出信号以读取 ADC0804 的转换资料)。 步骤 S3: CS 1、 WR 1、 RD 1(由 CPLD 读取 DB0 DB7 上的数字转换资料)。 由上述步骤说明,可以归纳出所要设计的 CPLD 动作功能有: 负责在每个步骤送出所需的 CS、 WR、 RD 控制信号。 在步骤 S1 时,监控 INTR 信号是否由低电位变高电位,如此以便了解 AD

21、C0804 的转换动作结束与否。 在步骤 S3,读取转换的数字资料 DB0 DB7 4. 数模 转换芯片 DAC0832。 DAC0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。 D/A 转换器 由 8 位输入锁存器、 8 位 DAC 寄存器、 8 位 D/A 转换电路及转换控制电路构成。 DAC0832 的主要特性参数如下: * 分辨率为 8 位; * 电流稳定时间 1us; * 可单缓冲、双缓冲或直接数字输入; * 只需在满量程下调整其线性度; * 单一电源供电( +5V +1

22、5V); * 低功耗, 20mW。 DAC0832 结构 : * D0 D7: 8 位数据输入线, TTL 电平,有效时间应大于 90ns(否则锁存器的数据会出错 ); * ILE:数据锁存允许控制信号 输入线,高电平有效; * CS:片选信号输入线(选通数据锁存器),低电平有效; * WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由 ILE、CS、 WR1 的逻辑组合产生 LE1,当 LE1 为高电平时,数据锁存器状态随输入数据线变换,LE1 的负跳变时将输入数据锁存; * XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于 500ns)有效; * WR

23、2: DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。由 WR2、XFER 的逻辑组合产生 LE2,当 LE2 为高电 平时, DAC 寄存器的输出随寄存器的输入而变化, LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开始 D/A 转换。 * IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化; * IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数; * Rfb:反馈信号输入线,改变 Rfb 端外接电阻值可调整转换满量程精度; * Vcc:电源输入端, Vcc 的范围为 +5V +15V; * VREF:基准电压输入线, VREF 的范围

24、为 -10V +10V; * AGND:模拟信号地 * DGND:数字信号地 DAC0832 芯片: DAC0832 DAC0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。 D/A 转换器 由 8 位输入锁存器、 8 位 DAC 寄存器、 8 位 D/A 转换电路及转换控制电路构成。 1.DAC0832 的结构 DAC0832 中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为 ILE;第二级锁存器称为 DAC 寄存器,它的锁存信号为传输控制信号。因为有两级锁存器,DAC0

25、832 可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个 D/A 转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。 LE 为高电平、和为低电平时,为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。对第二级锁存器来说,和同时为低电平时,为高电平, DAC寄存器的输出跟随其输入而变化;此后,当由低变高时,变为低电平,将输入寄存器的资料锁存到 DAC 寄存器中。 2. DAC0832 的引脚特性 DAC0832 是

26、20 引脚的双列直插式芯片。各引脚的特性如下: CS 片选信号,和允许锁存信号 ILE 组合来决定是否起作用,低有效。 ILE 允许锁存信号,高有效。 WR1 写信号 1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时,必须和、 ILE 同时有效),低有效。 WR2 写信号 2,将锁存在输入寄存器中的资料送到 DAC 寄存器中进行锁存(此时, 传输控制信号必须有效)低有效。 XFER 传输控制信号,低有效。 DI7DI0 8 位数据输入端。 IOUT1 模拟电流输出端 1。当 DAC 寄存器中全为 1 时,输出电流最大,当 DAC寄存器中全为 0 时,输出电流为 0。 IOUT2 模拟电

27、流输出端 2。 IOUT1+IOUT2=常数。 Rfb 反馈电阻引出端。 DAC0832 内部已经有反馈电阻,所以, RFB 端可以直接接到外部运算放大器的输出端。相当于将反馈电阻接在运算放大器的输入端和输出端之间。 VREF 参考电压输入端。可接电压范围为 10V。外部标准电压通过 VREF 与 T型电阻网络相连。 VCC 芯片供电电压端。范围为 +5V+15V,最佳工作状态是 +15V。 AGND 模拟地,即模拟电路接地端。 DGND 数字地,即数字电路接地端。 3.DAC0832 的工作方式 DAC0832 进行 D/A 转换,可以采用两种方法对数据进行锁存。 第一种方法是使输入寄存器工

28、作在锁存状态,而 DAC 寄存器工作在直通状态。具体地说,就是使和都为低电平, DAC 寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号 ILE 处于 高电平、处于低电平,这样,当端来一个负脉冲时,就可以完成 1 次转换。 第二种方法是使输入寄存器工作在直通状态,而 DAC 寄存器工作在锁存状态。就是使和为低电平, ILE 为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直通;当和端输入 1 个负脉冲时,使得 DAC 寄存器工作在锁存状态,提供锁存数据进行转换。 根据上述对 DAC0832 的输入寄存器和 DAC 寄存器不同的控制方法, DAC0832 有如下 3 种工作方式: 单缓冲方式。单缓冲方式是控制输入寄存器和 DAC 寄存器同时接收资料,或者

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。