基于简单IO口的8LED显示录音回放机实验报告.doc

上传人:laozhun 文档编号:4152403 上传时间:2023-04-07 格式:DOC 页数:21 大小:777.50KB
返回 下载 相关 举报
基于简单IO口的8LED显示录音回放机实验报告.doc_第1页
第1页 / 共21页
基于简单IO口的8LED显示录音回放机实验报告.doc_第2页
第2页 / 共21页
基于简单IO口的8LED显示录音回放机实验报告.doc_第3页
第3页 / 共21页
基于简单IO口的8LED显示录音回放机实验报告.doc_第4页
第4页 / 共21页
基于简单IO口的8LED显示录音回放机实验报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《基于简单IO口的8LED显示录音回放机实验报告.doc》由会员分享,可在线阅读,更多相关《基于简单IO口的8LED显示录音回放机实验报告.doc(21页珍藏版)》请在三一办公上搜索。

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

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

3、力的同学可以申请硬件实验板的下载并完成软、硬件结合的课程设计。2、分类要求:录音机类 实验中需要录取的信源,可以用单片机或者信号发生器产生。基本要求:1 把需要录取的信号用AD转换器采样并存储在SRAM中。2 在一组数码管或LCD上显示采样速率和录音时间(秒),以及信号相关参数。3 用D/A转换器回放录音信号,通过喇叭过模拟示波器显示。4 在一组数码管或LCD上显示回放的播放时间或信号强度。发挥部分:1 用功能键可分别设定录音和放音的采样速率。2 多段录音管理。3 任意组合播放。动态显示格式:自定 根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对

4、应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。第二部分 实验工具及实验器件1. Proteus7.4以及Keil 2软件的使用Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的

5、EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟

6、的实物运行状态和过程。而*.HEX文件则由Keil软件编译后生成。Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成

7、到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keil c51来开发您的单片机应用程序。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。有了proteus和keil 我们就需要在这两个软件中建立我们所需要的工程进行实验,具体步

8、骤如下:第一步:在Keil2中建立一个新的工程,并命名,第二步:选择使用的单片机芯片,我们选择80c31,第三步:将新创建的.c文件添加到Target中。这样我们就可以在keil2的环境下对单片机的程序进行编译和运行了。2. 51单片机AT89c5151单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后

9、很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。当前常用的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单片机的体系结构和指令系统。80C

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

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

12、O通道,专供用户使用。3) P2.0P2.7 (A8A15)端口2的引脚。端口2是一个带内部上拉电阻的8位双向I/O口,在访问外部存储器时,它输出高8位地址A8A154) P3.0P3.7端口3的引脚。端口3是一个带内部上拉电阻的8位双向I/O端口,该口的每一位均可独立地定义第一I/O口功能或第二I/O口功能。作为第一功能使用时,口的结构与操作与P1口完全相同,第二功能如下示:口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2 (外部中断)P3.3 (外部中断)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6 (外部数据存储器写选通)P3.7

13、 (外部数据存储器读选通)3. 模数转换芯片ADC0804。ADC0804的管脚图如下所示它的主要电气特性如下:l 工作电压:5V,即VCC5V。l 模拟输入电压范围:05V,即0Vin5V。l 分辨率:8位,即分辨率为1/28=1/256,转换值介于0255之间。l 转换时间:100us(fCK640KHz时)。l 转换误差:1LSB。l 参考电压:2.5V,即Vref2.5V。1.ADC0804的转换原理ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便

14、宜的优点,普遍被应用于微电脑的接口设计上。以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。第一次寻找结果:10000000 (若假设值输入值,则寻找位假设位1)第二次寻找结果:11000000 (若假设值输入值,则寻找位假设位1)第三次寻找结果:11000000 (若假设值输入值,则寻找位该假设位0)第四次寻找结果:11010000 (若假设值输入值,则寻找位假设位1)第五次寻找结果:11010000 (若假设值输入值,则寻找位该假设位0)第六次寻找结果:11010100 (若假设值输入值,则寻找位假设位1)第七次寻找结

15、果:11010110 (若假设值输入值,则寻找位假设位1)第八次寻找结果:11010110 (若假设值输入值,则寻找位该假设位0)这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图1的模拟输入电压Vin2.分辨率与内部转换频率的计算对8位ADC0804而言,它的输出准位共有28256种,即它的分辨率是1/256,假设输入信号Vin为05V电压范围,则它最小输出电压是5V/2560.01953V,这代表ADC0804所能转换的最小电压值。表1列出的是812位A/D转换器的分辨率和最小电压转换值。表1 A/D转换器的

16、分辨率和最小电压值位数目分辨率最小电压转换值81/2560.01953V101/10240.00488V121/40960.00122V至于内部的转换频率fCK,是由图2的CLKR(19脚)、CLK IN(4脚)所连接的R()、C(150PF)来决定。图2 ADC0804与CPLD&FPGA、8051单片机等典型连接图频率计算方式是:fCK1/(1.1RC)若以图2的R10K、C150PF为例,则内部的转换频率是fCK1/(1.110 K150PF)606KHz更换不同的R、C值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意R、C的组合,务必使频率范围是在100KHz1460KH

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

18、换动作,转换完毕后INTR将高电位降至低电位,而转换时间100us)。步骤S2:CS0、WR1、RD0(由CPLD发出信号以读取ADC0804的转换资料)。步骤S3:CS1、WR1、RD1(由CPLD读取DB0DB7上的数字转换资料)。由上述步骤说明,可以归纳出所要设计的CPLD动作功能有:负责在每个步骤送出所需的CS、WR、RD控制信号。在步骤S1时,监控INTR信号是否由低电位变高电位,如此以便了解ADC0804的转换动作结束与否。在步骤S3,读取转换的数字资料DB0DB74. 数模转换芯片DAC0832。DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价

19、格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0832的主要特性参数如下:* 分辨率为8位;* 电流稳定时间1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V+15V);* 低功耗,20mW。DAC0832结构:* D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);* ILE:数据锁存允许控制信号输入线,高电平有效;* CS:片选信号输入线(选通数据锁存器),低电平有效;* WR1:数据锁存

20、器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;* XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;* WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;* IOUT2:电流输出端2,

21、其值与IOUT1值之和为一常数;* Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;* Vcc:电源输入端,Vcc的范围为+5V+15V;* VREF:基准电压输入线,VREF的范围为-10V+10V;* AGND:模拟信号地* DGND:数字信号地DAC0832芯片:DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。1.DAC0832的结构DAC0832中有两级锁存器,

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

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

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

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

26、或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。直通方式。直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。5. SRAM芯片6264。6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造A

27、12A0(address inputs):地址线,可寻址8KB的存储空间。D7D0(data bus):数据线,双向,三态。OE(output enable):读出允许信号,输入,低电平有效。WE(write enable):写允许信号,输入,低电平有效。CE1(chip enable):片选信号1,输入,在读/写方式时为低电平。CE2(chip enable):片选信号2,输入,在读/写方式时为高电平。VCC:+5V工作电压。GND:信号地。6. 6264的操作方式6264的操作方式由, CE1 , CE2的共同作用决定写入:当和为低电平,且和CE2为高电平时,数据输入缓冲器打开,数据由数据

28、线D7D0写入被选中的存储单元。读出:当和为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7D0上。保持:当为高电平,CE2为任意时,芯片未被选中,处于保持状态,数据线呈现高阻状态。微处理器通过数据总线、地址总线及控制总线与存储器连接,如下图所示:控制总线地址总线存储器CPU数据总线地址总线为地址信号,用来指明选中的存储单元地址。数据总线为数据信号,它是微处理器送往存储器的信息或存储器送往微处理器的信息。它包括指令和数据。控制总线发出存储器读写信号,以便从ROM、RAM中读出指令或数据,或者向RAM写入数据。在微机系统中,常用的静态RAM有6116、6264、6

29、2256等。在本实验中使用的是6264。6264为8K8位的静态RAM,其逻辑图如下: 其中A012为13根地址线,I/O07为8根数据线,CS1 、CS2为两个片选端,OE为数据输出选通端,WR为写信号端。其工作方式见下表:CE1CE2OEWE方式D0-D7H*未选中高阻*L*未选中高阻LHHH输出禁止高阻LHLH读DoutLHHL写DinLHLL写Din7. 74LS373锁存器当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高

30、电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。引出端符号:D0D7 数据输入端OE 三态允许控制端(低电平有效)LE 锁存允许端O0O7 输出端真值表:DnLEOEOnHHLHLHLLXLLQ0XXH高阻态第三部分 实验原理图及程序代码1.硬件部分电路设计 本次实验设计的是一个基于简单IO口的8LED显示录音回放机设计实验,基于简单IO口是指显示由74HC373控制,使得达到控制通过按键选择在8LED上显示采样速率和录音时间(秒),以及信号相关参数。通过INPUT输入信号,进行

31、AD转换,存储相应数据在SRAM中,最后进行DA转换回放录音信号,通过模拟示波器显示,该电路的显示部分按要求则使用型号为7SEG-MPX8-CA-BLUE的8LED液晶显示器,通过P0口传送数据然后由8LED显示出来。另外,电路中还设计了两个按键,分别是采样和回放键。完整电路图如下:2.软件部分设计/*基于简单IO口的8LED显示录音回放机设计程序*/#include#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*芯片端口地址定义*/#define DAC0832 XBYTE0XBFFF /DAC0832

32、口#define ADC0804 XBYTE0X77FF /ADC0804口/*系统引脚定义*/sbit key1=P31; /key1sbit key2=P32; /key2sbit bpsp=P33; /bps+sbit bpsm=P34; /bps-/*定义系统变量*/uchar num=0,second=0,minute=0; /定义时间变量bit flag1=0,flag2=0; /定义状态标志位uint bps=1000,delay=1000,z=0;uchar xianshi10; /显示缓存 unsigned char code ledcode=0xC0,0xF9,0xA4,0

33、xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;/数码管编码/*延时子程序*/void delayms(uchar x) /ms延时函数uchar y;for(;x0;x-)for(y=110;y0;y-) ;void delayus(uint x) /us延时函数while(x-);/*屏幕驱动程序*/void display()uchar i;for(i=0;i8;i+) /扫描8位数码管P0=xianshii; /送段码P1=(110000)bps=1000;delay=1000;return; while(

34、!bpsp); if(bpsm=0)/判断bps-是否被按下delayms(20);if(bpsm=0)bps-=5;delay=1000000/bps;if(bps5)bps=1000;delay=1000;return; while(!bpsm); void Initial()TMOD=0x01; /定义定时器工作方式ET0=1; /开定时器0的中断EA=1;/开总中断TH0=(65536-50000)/256;TL0=(65536-50000)%256;/给定时器0装初值TR0=0;/关定时器0/*主程序*/void main()uint x=0xE000; /定义SRAM地址变量uin

35、t max;uchar temp; /定义系统临时变量Initial();while(1)keyscan();display();x=0xE000; /将地址清零 while(flag1=1)/采样循环 if(TR0=1)/判断是否正在进行采样ADC0804=0xff;/将口置1,启动ADdelayus(delay);/延时temp=ADC0804;/读取AD转换的数据XBYTEx=temp; /将AD转换的数据存入SRAM中x+;max=x; /地址加1if(x=0xFFFF) /判断SRAM的地址范围x=0xE000;keyscan(); /键盘扫描display(); /显示时间x=0xE000; /将地址清零while(flag2=1) /回放循环 if(TR0=1) /判断是否正在进行回放 temp=XBYTEx; /从SRAM中读取数据 x+; /6264地址加1 if(x=max) /判断地址范围 x=0xE000; TR0=0; Z=1; DAC0832=temp; /将SRAM中读取的数据进行DA转换delayus(delay);keyscan(); /键盘扫描程序 display(); /显示时间程序/*

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号