基于的LED显示录音回放机设计_第1页
基于的LED显示录音回放机设计_第2页
基于的LED显示录音回放机设计_第3页
基于的LED显示录音回放机设计_第4页
基于的LED显示录音回放机设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、显示。 4 在一组数码管或 LCD 上显示回放的播放时间或信号强度。 发挥部分:发挥部分: 1 用功能键可分别设定录音和放音的采样速率。 2 多段录音管理。 3 任意组合播放。 动态显示格式动态显示格式: 自定 根据提供的参考工程,在 proteus 平台自己重新画出实验所需要的电气原理图, 并在此基础上编写相对应的程序,实现其功能,学习 proteus 软件的使用,其中 包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能 查出其错误等。 第二部分第二部分 实验工具及实验器件实验工具及实验器件 1.Proteus 以及以及 Keil 软件的软件的介绍介绍 Proteus 是英

5、国 Labcenter 公司开发的电路及单片机系统设计与仿真软件。 Proteus 可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的 电路仿真、软件仿真、系统协同仿真和 PCB 设计等功能。Proteus 是目前唯一 能对各种处理器进行实时仿真、调试与测试的 EDA 工具,真正实现了在没有目 标原型时就可对系统进行调试、测试和验证。Proteus 软件大大提高了企业的产 品开发效率,降低了开发风险。由于 Proteus 软件逼真、真实的协同仿真功能, 它也特别适合于作为配合单片机课堂教学和实验的学习工具。 Proteus 软件提供了 30 多个元器件库、7000 余种元器件。元器

6、件涉及电阻、 电容、二极管、三极管、变压器、继电器、各种放大器、各种激励器、各种微 控制器、各种门电路和各种终端等。Proteus 软件还提供有交直流电压表、逻辑 分析仪、示波器、定时/计数器和信号发生器等测试信号工具用于电路测试。 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显 的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理 和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境 (uVision)将这些部分组合在一起。

7、运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选,即使不使用 C 语言而仅用汇编语言编程,其方便 易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 应用 Keil 进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并 添加源文件设置工程编译/汇编、连接,产生目标文件程序调试。Keil 使 用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇 编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非 常易于掌握。首先选择菜单 File-New,在源

8、程序编辑器中输入汇编语言或 C 语言源程序(或选择 File-Open,直接打开已用其它编辑器编辑好的源程序文 档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选 择菜单 Project-New Project,建立新工程并保存(保存时无需加扩展名,也可 加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择 CPU 后 点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”, 将其前面+号展开,接着选择 Source Group1,右击鼠标弹出快捷菜单,选择 “Add File to Group Source Group1”

9、,出现一个对话框,要求寻找并加入 源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文 件)。加入文件后点 close 返回主界面,展开“Source Group1”前面+号,就会 看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行 设置,选择工程管理窗口的 Target1,再选择 Project-Option for TargetTarget1(或点右键弹出快捷菜单再选择该选项),打开工程属性设 置对话框,共有 8 个选项卡,主要设置工作包括在 Target 选项卡中设置晶振频 率、在 Debug 选项卡中设置实验仿真板等,如要写片,还必须在 Output

10、选项卡 中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按 F7 键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。 成功编译/汇编、连接后,选择菜单 Debug-Start/Stop Debug Session(或按 Ctrl+F5 键)进入程序调试状态,Keil 提供对程序的模拟调试功能,内建一个功 能强大的仿真 CPU 以模拟执行程序。Keil 能以单步执行(按 F11 或选择 Debug-Step)、过程单步执行(按 F10 或选择 Debug-Step Over)、全速执行等 多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功

11、能对程序 进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源 程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于 一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方 式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint 或 Debug-Breakpoints等)。在模拟调试程序后,还须通过编程器 将.hex 目标文件烧写入单片机中才能观察目标样机真实的运行状况。在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在 PROTEUS 的原

12、理图中看到模拟的实物运行状态和过程。 2.51 单片机单片机 AT89C51 51 单片机是对目前所有兼容 Intel 8031 指令系统的单片机的统称。该系列单片 机的始祖是 Intel 的 8031 单片机,后来随着 Flash rom 技术的发展,8031 单片机 取得了长足的进展,成为目前应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司的 AT89 系列,它广泛应用于工业测控系统之中。目前很多公司都 有 51 系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。 51 单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是 52 系列的单片机一般不

13、具备自编程能力。 当前常用的 51 系列单片机主要产品有: *Intel 的:80C31、80C51、87C51,80C32、80C52、87C52 等; *ATMEL 的:89C51、89C52、89C2051 等; 89C51 单片机的内部结构为: 单一+5V 电源供电; CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能 寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显 示的数据; ROM:用以存放程序、一些原始数据和表格; I/O 口:四个 8 位并行 I/O 口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,

14、也可以工作在记数模式; 五个中断源的中断控制系统; 一对全双工 UART(通用异步接收发送器)的串行 I/O 口,用于实现单片 机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为 12M。 3.八进制八进制 3 3 态非反转透明锁存器态非反转透明锁存器74HC57374HC573 特点:三态总线驱动输出;置数全并行存取;缓冲控制输入;使能输入有改善 抗扰度的滞后作用。 4. 原理说明:八个锁存器都是透明的 D 型锁存器,当使能(G)为高时,Q 输出 将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。 输出控制不影响锁存

15、器的内部工作,即老数据可以保持,甚至当输出被关闭时, 新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系 统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道, 双向总线驱动器和工作寄存器。 PIN No 引脚号 SYMBOL 符 号 NAME AND FUNCTION 名称及功 能 1OE 3 State output Enable Input (Active LOW)3 态输出使能输入(低电平) 2, 3, 4, 5, 6, 7, 8, 9D0 to D7Data Inputs 数据输入 12,13,14,15,16,17, 18,19 Q0 to Q

16、73 State Latch Outputs 3 态锁存输出 11LELatch Enable Input 锁存使能输入 10GNDGround 接地(0V) 20VCCPositive Supply Voltage 电源电压 A8 A9 A10 A11 A12 A13 A14 A15 ADCS DACS 8255A0 8255A1 8255CS CON D0 2 D1 3 D2 4 D3 5 D4 6 D5 7 D6 8 D7 9 Q0 19 Q1 18 Q2 17 Q3 16 Q4 15 Q5 14 Q6 13 Q7 12 LE 11 OE 1 U7 74HC573 4.可编程并行 I/O

17、 接口芯片 8255A 8255 是 Intel 公司生产的可编程并行 I/O 接口芯片,有 3 个 8 位并行 I/O 口。 具有 3 个通道 3 种工作方式的可编程并行接口芯片(40 引脚)。 其各口功能 可由软件选择,使用灵活,通用性强。8255 可作为单片机与多种外设连接时的 中间接口电路。 8255 作为主机与外设的连接芯片,必须提供与主机相连的 3 个总线接口,即 数据线、地址线、控制线接口。同时必须具有与外设连接的接口 A、B、C 口。 由于 8255 可编程,所以必须具有逻辑控制部分,因而 8255 内部结构分为 3 个部 分:与 CPU 连接部分、与外设连接部分、控制部分。

18、特点:(1)一个并行输入/输出的 LSI 芯片,多功能的 I/O 器件,可作为 CPU 总线与 外围的接口. (2)具有 24 个可编程设置的 I/O 口,即 3 组 8 位的 I/O 口为 PA 口,PB 口和 PC 口. 它们又可分为两组 12 位的 I/O 口,A 组包括 A 口及 C 口(高 4 位,PC4PC7),B 组 包括 B 口及 C 口(低 4 位,PC0PC3).A 组可设置为基本的 I/O 口,闪控(STROBE) 的 I/O 闪控式,双向 I/O3 种模式;B 组只能设置为基本 I/O 或闪控式 I/O 两种模式, 而这些操作模式完全由控制寄存器的控制字决定. RESE

19、T:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄 存器)均被清除,所有 I/O 口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0 时,表示芯片被选中, 允许 8255 与 CPU 进行通讯;/CS=1 时,8255 无法与 CPU 做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0 且/CS=0 时,允许 8255 通过 数据总线向 CPU 发送数据或状态信息,即 CPU 从 8255 读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0 且/CS=0 时,允许 CPU 将 数据或控制字写入 8255。

20、D0D7:三态双向数据总线,8255 与 CPU 数据传送的通道,当 CPU 执行输入 输出指令时,通过它实现 8 位数据的读/写操作,控制字和状态信息也通过数据 总线传送。 PA0PA7:端口 A 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入锁存器。 PB0PB7:端口 B 输入输出线,一个 8 位的 I/O 锁存器一个 8 位的输入输出缓 冲器。 PC0PC7:端口 C 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入缓冲器。端口 C 可以通过工作方式设定而分成 2 个 4 位的端口, 每个 4 位的端口包含一个 4 位的锁存器,分别

21、与端口 A 和端口 B 配合使用,可 作为控制信号输出或状态信号输入端口。 A1,A0:地址选择线,用来选择 8255 的 PA 口,PB 口,PC 口和控制寄存器. 当 A1=0,A0=0 时,PA 口被选择; 当 A1=0,A0=1 时,PB 口被选择; 当 A1=1,A0=0 时,PC 口被选择; 当 A1=1.A0=1 时,控制寄存器被选择. 5.三态输出的八 D 透明锁存器 74LS373 373 的输出端 O0O7 可直接与总线相连。 当三态允许控制端 OE 为低 电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平 时,O0O7 呈高阻态,即不驱动总线,也不

22、为总线的负载,但锁存器内部的逻 辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。 当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE 端施密特触发器 的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 引出端符号: D0D7 数据输入端 OE 三态允许控制端(低电平有效)LE 锁存允许端 O0O7 输出端 WR D0 D1 D2 D3 D4 D5 D6 D7 A8 A9 A10 A11 A12 RD D0 D1 D2 D3 D4 D5 D6 D7 ALE A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9

23、 24 A10 21 A11 23 A12 2 CE 20 CS 26 WE 27 OE 22 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 U6 6264 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U9 74LS373 6.ADC0804 ADC0804 为一只具有 20 引脚 8 位 CMOS 连续近似的 A/D 转换器 主要技术指标如下: (1) 高阻抗状态输出(2) 分辨率:8 位(

24、0255) (3) 存取时间:135 ms (4) 转换 时间:100 ms(5) 总误差:-1+1LSB(6) 工作温度:ADC0804C 为 0 度70 度; ADC0804L 为-40 度85 度 (7) 模拟输入电压范围:0V5V (8) 参考电压: 2.5V (9) 工作电压:5V(10) 输出为三态结构。引脚功能说明: 1.PIN1 (CS ):Chip Select,与 RD、WR 接脚的输入电压高低一起判断读取或 写入与否,当其为低位准(low) 时会 active。2 PIN2 ( RD ):Read。当 CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数

25、字讯号经由 DB7 DB0 输出至其它处理单元。3. PIN3 (WR ):启动转换的控制讯号。当 CS 、WR 皆 为低位准(low) 时 ADC0804 做清除的动作,系统重置。当 WR 由 01 且 CS 0 时,ADC0804 会开始转换信号,此时 INTR 设定为高位准(high)。4. PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的 讯号频率范围为 100 kHz 至 800 kHz。而频率输出频率最大值无法大于 640KHz,一般可选用外部或内部来提供频率。若在 CLK R 及 CLK IN 加上电 阻及电容,则可产生 ADC 工作所需

26、的时序,其频率约为:5. PIN5 ( INTR ): 中断请求。转换期间为高位准(high),等到转换完毕时 INTR 会变为低位准(low)告 知其它的处理单元已转换完成,可读取数字数据。6. PIN6、PIN7 (VIN(+)、 VIN(-):差动模拟讯号的输入端。输入电压 VINVIN(+) VIN(-),通常使用 单端输入,而将 VIN(-)接地。7. PIN8 (AGND):模拟电压的接地端。 7.DAC0832 ADCS RD WR INPUT VIN+ 6 VIN- 7 VREF/2 9 CLK IN 4 A GND 8 RD 2 WR 3 INTR 5 CS 1 D GND

27、10 DB7(MSB) 11 DB6 12 DB5 13 DB4 14 DB3 15 DB2 16 DB1 17 DB0(LSB) 18 CLK R 19 VCC 20 U5 ADC0804 R3 10KR4 10K R5 1K R6 1K C1 0.1U INPUT DAC0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA 芯 片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到 广泛的应用。D/A 转换器由 8 位输入锁存器、8 位 DAC 寄存器、8 位 D/A 转换 电路及转换控制电路构成。 DAC0832 的主要特性参数如下: 分辨率为

28、8 位;电流稳定时间 1us;可单缓冲、双缓冲或直接数字输入;只需 在满量程下调整其线性度;单一电源供电(+5V+15V);低功耗,200mW。 DAC0832 结构: D0D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁存器的数 据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号 输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线, 负脉冲(脉宽应大于 500ns)有效。由 ILE、CS、WR1 的逻辑组合产生 LE1, 当 LE1 为高电平时,数据锁存器状态随输入数据线变换,LE1 的负跳变时将输 入数据锁存;XFER:数据传

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

30、EF:基准电压输入线,VREF 的范 围为-10V+10V;AGND:模拟信号地 DGND:数字信号地 DAC0832 的工作方式: 根据对 DAC0832 的数据锁存器和 DAC 寄存器的不同的控制方式,DAC0832 有 三种工作方式:直通方式、单缓冲方式和双缓冲方式。 D0 D1 D2 D3 D7 D6 D5 D4 DACS WR VREF 8 GND 3 VCC 20 CS 1 WR1 2 DI3 4 DI2 5 DI1 6 DI0 7 RFB 9 GND 10 IOUT1 11 IOUT2 12 DI7 13 DI6 14 DI5 15 DI4 16 XFER 17 WR2 18 I

31、LE(BY1/BY2) 19 U3 DAC0832 +5V 第三部分第三部分 实验原理图及程序代码实验原理图及程序代码 1.硬件部分电路设计硬件部分电路设计 本次实验设计的是一个基于 8255 的 8LED 显示录音回放机设计实验,基于 8255 口是指显示和键盘都由 8255 的 I/O 口控制,使用 8255 可编程并行口芯片, 设定为工作方式 0, PC 口做输入,PA 口做输出,使得达到控制通过按键选择 在 8LED 上显示采样速率和录音时间(秒),以及信号相关参数。通过方波输 入信号,进行 AD 转换,存储相应数据在 SRAM 中,最后进行 DA 转换回放录 音信号,通过喇叭过模拟示

32、波器显示,该电路的显示部分按要求则使用型号为 LM016 的 8LED 液晶显示器,通过 P0 口传送数据然后由 8LED 显示出来。另 外,电路中还设计了两个按键,分别是采样和回放键。 KEY1 KEY2 R8 10K R9 10K 开开始始/暂暂停停采采样样 开开始始/暂暂停停回回放放 完整电路图如下: 2.2.软件部分设计软件部分设计 *基于 8255 的 8LED 显示语音播放机设计程序*/ #include #include /*宏定义*/ #define uint unsigned int #define uchar unsigned char /*芯片端口地址定义*/ #defi

33、ne COM8255 XBYTE0X7FFF /8255 的命令口 #define PA8255 XBYTE0X1FFF /8255 的 PA #define PB8255 XBYTE0X3FFF /8255 的 PB #define PC8255 XBYTE0X5FFF /8255 的 PC #define DAC0832 XBYTE0XBFFF /DAC0832 口 #define ADC0804 XBYTE0X77FF /ADC0804 口 uchar dis_buf=0 xc0,0 x40,0 xc0,0 xff,0 xc0,0 x40,0 xc0,0 xc0;/数码管显 示缓存,格式

34、为 MM-NN-SS Uchar code du_code=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90, ; /8 段共阳极 数码管显示码值 uchar code bit_code=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;/数 码管显示的位值 /*系统引脚定义*/ sbit key1=P30; /key1 sbit key2=P31; /key2 sbit CON=P33; /74HC573 的锁存端 /*定义系统变量*/ uchar num=0,second=0

35、,minute=0; /定义时间变量 bit flag1=0,flag2=0; /定义状态标志位 uchar count=0; uchar A; /*延时子程序*/ void delayms(uchar x) /ms 延时函数 uchar y; for(;x0;x-) for(y=110;y0;y-) ; /*键盘扫描程序*/ void keyscan() if(key1=0) /判断 key1 是否被按下 delayms(20); /延时消抖 if(key1=0) /判断 key2 是否被按下 flag1=1; TR0=TR0; /开始/暂停计时 if(flag2=1)/判断上一个状态是否为

36、回放状态 flag2=0; num=0; second=0; minute=0; /时间信息清零 while(!key1); /等待 key1 松开 if(key2=0) /判断 key2 是否被按下 delayms(20); /延时消抖 if(key2=0) /判断 key2 是否被按下 flag2=1; TR0=TR0; /开始/暂停计时 if(flag1=1) flag1=0; /采样状态标志位清零 num=0; second=0; minute=0;/时间信息清零 while(!key2); /等待 key2 松开 void trans_data() if(flag1=1) dis_b

37、uf0=du_code1 dis_buf1=du_code0; dis_buf2=du_code0; else dis_buf0=du_codeA/100; dis_buf1=du_codeA%100/10; dis_buf2=du_codeA%10; dis_buf4=du_codesecond/10; dis_buf5=du_codesecond%10 dis_buf6=du_codenum/10; dis_buf7=du_codenum%10; /*系统初始化程序*/ void Initial() /CON=1;/锁存器地址锁存 COM8255=0 x89;/定义 8255 的 A 口为

38、输出,B 口和 C 口为输入 /CON=0; TMOD=0 x11; /定义定时器的工作方式 TH0=(65536-10000)/256; TL0=(65536-10000)%256;/给 T0 装初值 TH1=(65536-500)/256; TL1=(65536-500)%256;/给 T1 装初值 ET0=1; /开 T0 的中断 ET1=1; /开 T1 的中断 EA=1; /开总中断 TR0=0; /关闭 T0 TR1=1; /*主程序*/ void main() uint x=0 xE000; /定义 SRAM 地址变量 uchar temp;/定义系统临时变量 Initial()

39、; /系统初始化 while(1) keyscan(); x=0 xE000; while(flag1=1) /判断状态标志位 if(TR0=1) /判断计时是否开始 ADC0804=0 xff; /将口置 1,启动 AD delayms(1); /延时 temp=ADC0804; /读取 AD 转换的数据 XBYTEx=temp; /将 AD 转换的数据存入 SRAM 中 x+; /地址值加 1 if(x=0 xFFFF) /判断 SRAM 的地址范围 x=0 xE000; keyscan(); trans_data(); x=0 xE000; /将地址清零 while(flag2=1) /回放循环 if(TR0=1) /判断是否正在进行回放 temp=XBYTEx; /从 SRAM 中读取数据 A=temp; x+; /6264 地址加 1 if(x=0 xfff) /判断地址范围 x=0 xE000; TR0=0; /CON=1; DAC0832=t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论