基于AVR单片机录音笔的设计与制作论_第1页
基于AVR单片机录音笔的设计与制作论_第2页
基于AVR单片机录音笔的设计与制作论_第3页
基于AVR单片机录音笔的设计与制作论_第4页
基于AVR单片机录音笔的设计与制作论_第5页
已阅读5页,还剩38页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

毕业设计系别电子工程系专业计算机控制班级0802班姓名设计课题基于AVR单片机录音笔的设计与制作指导老师摘要前言前言AVR单片机是一款功能十分强大,集成度非常高的数字处理系统。它集成了ADC与PWM的模块,而且还有硬件滤波器它基本上能够处理生活中实时性不太强的模拟信号与数字信号,并实现通信该课题设计基于ATMEGA16单片机,介绍和分析了录音笔的基本原理,并做出了较为简单的录音笔模型展示其原理主要运用了ATMEGA16单片机内部集成的ADC转换模块以及PWM功能,将从外部接收的模拟信号转化为数字信号,并存储在AT45DB041B存储芯片中,再将从AT45DB041B存储芯片中读取的数字信号转化为模拟信号,送到外部的喇叭中进行播放。主要功能有录音,存储,删除,放音等目录目录1课题分析111录音笔简介112设计构想12方案选择321运用专门的语音芯片322运用AVR自带的ADC以及PWM模块33芯片简介431ATMEGA16芯片简介432AT45DB041B芯片简介84总体设计1341系统设计方框图1342硬件设计13421硬件设计思想13422声音输入模块14423声音存储模块14424声音输出模块1643软件设计16431软件设计思想16432程序流程图19433主函数方框图2044系统的调试与总结215总结227附录23附录A系统的总体设计原理图23附录B系统软件设计源程序清单24课题分析11课题分析11录音笔简介数码录音笔,也称为数码录音棒或数码录音机,数字录音器的一种,为了便于操作和提升录音质量造型并非以单纯的笔型为主,携带方便,同时拥有多种功能,如激光笔功能、FM调频、MP3播放等。与传统录音机相比,数码录音笔是通过数字存储的方式来记录音频的。数码录音笔通过对模拟信号的采样、编码将模拟信号通过数模转换器转换为数字信号,并进行一定的压缩后进行存储。而数字信号即使经过多次复制,声音信息也不会受到损失,保持原样不变。12设计构想设计三个按钮,分别实现录音、删除、放音的功能,当按下不同的按钮时,可以实现不同的功能。首先要实现声音信号的采集,就需要一种声敏传感器,可以采用MIC,再加上一些滤波电路,从而实现声音信号的采集。但是我们都知道,计算机处理的是数字信号,而采集的声音信号是模拟信号,因此,需要实现从模拟信号到数字信号的转化,可以利用专门的ADC转换芯片或者是其他的某种方法,将模拟信号转化为数字信号。接下来就是转化后的声音信号的存储,需要某种存储芯片,将信号存储在芯片中,以至于掉电之后,声音信号课题分析2不丢失。最后就是声音的还原,将信号从存储芯片中读取出来,但是此时的信号是数字信号,需要进行DAC转换,可以利用专门的DAC转换芯片或者是其他的某种方法来实现,将转化后的模拟信号,送到外部的喇叭播放。删除则直接将存储芯片中的数据删除就行了,当然这中间还有许多的细节问题需要考虑,例如声音的功率放大、去除杂波等等。方案选择32方案选择21运用专门的语音芯片采用单片机控制一个语音芯片,再接一个FLASH存储器的结构。单片机可以控制录放时间,选取特定时间段的播放以及单多声道的录放,容易通过改变外接存储FLASH改变录放时间。此方法较为简单,但是这种语音芯片的价格较为昂贵,还有AVR单片机的功能十分强大、资源也比较丰富,如果把它仅仅作为一种控制开关使用,太过于浪费了。22运用AVR自带的ADC以及PWM模块AVR系列的单片机内部,已经集成了ADC和PWM模块,利用这两个模块,可以实现数模转换和模数转换。只要从软件上加以控制,就可以实现声音的录放功能。此方法很好的利用了单片机的内部资源,不但可以节约大量的费用而且还可以让我们更进一步的了解AVR系列单片机的内部结构,因此在本课题中采用了这种方法。芯片简介43芯片简介31ATMEGA16芯片简介1ATMEGA16的封装如图31所示。图31ATMEGA16的引脚图ATMEGA16的引脚说明VCC数字电路的电源GND地芯片简介5端口APA7PA0端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口BPB7PB0端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能。端口CPC7PC0端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5TDI、PC3TMS与PC2TCK的上拉电阻被激活。端口DPD7PD0端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。端口D也可以用做其他不同的特殊功能。芯片简介6RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1反向振荡放大器与片内时钟操作电路的输入端。XTAL2反向振荡放大器的输出端。AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。AREFA/D的模拟基准输入引脚。ATMEGA16的功能说明AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元ALU相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATMEGA16有如下特点16K字节的系统内可编程FLASH具有同时读写的能力,即RWW,512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器T/C,片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益TQFP封装的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、芯片简介7SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;STANDBY模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展STANDBY模式下则允许振荡器和异步定时器继续工作本芯片是以ATMEL高密度非易失性存储器技术生产的。片内ISPFLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用FLASH存储区APPLICATIONFLASHMEMORY。在更新应用FLASH存储区时引导FLASH区BOOTFLASHMEMORY的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的FLASH集成在一个片内,ATMEGA16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而成本的解决方案。ATMEGA16具有一整套的编程与系统开发工具,包括C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。32AT45DB041B芯片简介AT45DB041B的封装如图32所示。芯片简介8图32AT45DB041B的引脚图AT45DB041B的引脚说明连续输入(SI)SI脚仅作为输入脚且用于将数据写入至器件中。所有的数据输入包括操作码,地址序列都用此引脚。连续输出(SO)SO脚仅作为输出脚且用于将器件内的数据移出。连续时钟(SCK)SCK仅作为输入脚且用于控制流进和流出器件的数据。数据总是随着SCK脚上的上升沿进入而随着SCK脚上的下降沿流出。片选(CS)当CS脚为低电平时选通数字闪存。当器件没有被选通时,数据无法被SI脚所接收,而SO脚将会保持为高阻态。要进行某个操作,CS脚上必须有一个由高到低电平的跃变,要结束某个操作,CS脚上必须有一个由低到高电平的跃变。写保护如果WP脚置为低电平,主存中的前256页就无法被重写。要重写前256页的唯一方法就是将该引脚拉为高电平,然后用前面所提到的编写命令。WP脚是内部拉高的;因此若非芯片简介9需要,WP脚上不需连接其他引脚。然而,我们建议尽量通过外部拉高WP引脚。复位复位脚(RESET)上的低电平将终止正在运行中的操作并将内部状态置为空闲状态。只要RESET脚上一直为低电平,那么器件就一直处于复位状态。一旦RESET脚上返回至高电平,器件就可以正常运行了。本器件内部整合了电源开启重接电路,所以在开启电源期间在RESET脚上并无何限制。RESET脚也是内部拉高的;因此若非需要,RESET脚上不需连接其他引脚。然而,我建议尽量通过外部拉高RESET引脚。准备/忙当器件进行某个内部自同步操作而处于忙状态时,该漏极输出引脚将被拉低。该引脚通常处于高电平状态(通过1个1千欧外部上拉电阻),而在编写,较和页至缓存的传送操作器件,将会被拉低。状态表示着闪存阵列和其中一个缓存不能被访问;但对于另一个缓存的读写操作仍可进行。AT45DB041B的功能说明单电源25V36V或27V36V供电,兼容串行外设接口最高20MHZ时钟频率页编写操作单周期程序重调(擦除和编写)2048页(264字节/页)主内存,支持页和块擦除操作,双264字节SRAM数据缓存在非易失性存储器中进行程序重调时可接收数据,能过连续地读取整个存储阵列,低功耗有效读取工作电流仅为4毫安CMOS待机电流仅为2微安,数据保护功能100与AT45DB041及AT45DB041A兼容,5V输入容限电压SI,SCK,CS,RESET和WP引脚,商用及工业用温度范围描述AT45DB041B仅需25V或27V供电,采用串行接口闪存,能够广泛的适用于各种数字语音,图像,编码以及数据存储应用。芯片简介10其4,325,376位的内存是由2048个页构成,每页为264个字节。除了主存以外,AT45DB041B还有两个容量为264字节的SRAM数据缓存。当在主内存的某页上进行程序重调或者连续读写数据流时,数据缓存都可以接收数据。EEPROM仿真(位或字节可变更)能够容易地处理独立的三步读修改写操作。不同于传统的以多路地址线和并行接口随机访问的闪存芯片,本数字闪存是利用SPI串行接口来顺序存取其数据。该数字闪存支持SPI模式0和模式3。其简单的串行接口使得外围硬件设计变得容易,增强了系统的可靠性,最大化减小了开关噪声,降低了封装尺寸和有效引脚数量。该器件能够最优化的运用于以高密度,少引脚数量,低电压和低功耗为基本要求的各类商业和工业场合。该器件的有效工作电流为4毫安,能运行达到20MHZ的时钟频率。AT45DB041B不需要高输入电压就可以进行简单在系统编写。在进行编写和读操作时,本器件需要单独的电源供电,电压为25V至36V或者27V至36V。片选引脚CS和一个由连续输入SI,连续输出SO和连续时钟SCK组成的三线访问接口使得AT45DB041B正常工作。所有的编写周期都是自同步的,因而在编写之前都无需分开的擦除周期。当器件从ATMEL公司出厂后,存储阵列中最高页可能没有被擦除净。也就是说,最后一个页中的内容可能并非是FFH。AT45DB041B的读命令如表31所示。芯片简介11表31AT45DB041B的读命令命令SCK模式操作码未激活时钟极低或高68H连续阵列读取SPI模式0或3E8H未激活时钟极低或高52H主存页读取SPI模式0或3D2H未激活时钟极低或高54H缓存1读取SPI模式0或3D4H未激活时钟极低或高56H缓存2读取SPI模式0或3D6H未激活时钟极低或高57H状态寄存器读取SPI模式0或3D7HAT45DB041B的编写与擦除命令如表32所示。表32AT45DB041B的编写与擦除命令命令SCK模式操作码缓存1写任意84H缓存2写任意87带内置擦除的缓存1到主存页编写任意83带内置擦除的缓存2到主存页编写任意86带内置擦除的缓存1到主存页编写任意88带内置擦除的缓存1到主存页编写任意89页擦除任意81块擦除任意50通过缓存1的主存页编写任意82通过缓存1的主存页编写任意85芯片简介12AT45DB041B的附加命令如表33所示。表33AT45DB041B的附加命令命令SCK模式操作码主存页至缓存1的传送任意53H主存页至缓存2的传送任意55H主存页至缓存1的比较任意60H主存页至缓存2的比较任意61H通过缓存1的自动页重写任意58H通过缓存2的自动页重写任意59HAT45DB041B的写操作时序如图33所示。图33AT45DB041B的写操作时序AT45DB041B的读操作时序如图34所示。图34AT45DB041B的读操作时序总体设计134总体设计41系统设计方框图系统总体设计如图41所示。方框图的相关说明以AVR单片机为核心,外接声音的输入电路、声音的输出电路、按钮的输入电路和声音的存储电路,其中声音的输入电路用于从外界接收声音信号,并且送到AVR单片机中进行处理,声音的输出电路用于接收AVR单片机输出的声音信号,并且送到SPEAKER中进行播放,声音的存储电路用于声音信号的存放与取出,按钮的输入电路用于实现不同的功能,包括录音、放音、删除等。通过硬件电路和软件程序的有机结合,从而实现了录音笔的相关功能。AVR单片机声音的输入按钮的输入声音的输出声音的存储图41系统设计方框图42硬件设计421硬件设计思想用麦克风采集音频信号,经过一次功放,然后用电容进行一总体设计14次滤波,电容的大小采用47NF,滤波后进行AD转换,转换后的信号存在AT45DB041B中,然后用单片机调出信号,经过三次放大,将信号传到扬声器播放。电路图上,ATMEGA16以上的电路图见附录A就是用来采集信号的,放大信号用的是LM324集成功放芯片。ATMEGA16以右的电路图见附录A用来放音,经过三次信号放大,再放大信号的同时进行过滤。422声音输入模块2声音输入模块原理图如图42所示。图42声音输入模块原理图模块的功能说明MIC与ATMEGA16之间的电路模块,用来采集语音信号,并进行一定的处理,为ATMEGA16进行ADC转换做好准备。通过MIC接收外部的语音信号,通过功率放大器LM324进行功率放大,并通过47NF的电容接地进行滤波,这样可以保证声音信号完整和正确地送到ATMEGA16的PD7引脚。423声音存储模块3总体设计15声音存储模块原理图如图43所示。图43声音存储模块原理图模块的功能说明ATMEGA16及紧密相连的这一部分电路模块,是该系统的核心部分,ADC转换和DAC转换,都是在该部分进行的,并通过该部分控制整个系统,相应的滤波,外部晶振和按键也属于该部分。ATMEGA16芯片与AT45DB041B相连,实现对信号的读写操作,从而实现了信号的储存与取出,擦除等。电路中有三个按键和三个指示灯,当不同的按键按下时,会执行不同的程序,并且会点亮相应的指示灯。当从引脚PD7接收到外部语音信号后,经过处理,存储在芯片AT45DB041B中,需要放音时,从芯片AT45DB041B中读取信号,经过处理,送到引脚PA0。总体设计16424声音输出模块声音输出模块原理图如图44所示。图44声音输出模块原理图模块的功能说明耳机与ATMEGA16之间的电路模块,用来将存储在ATMEGA16的数字信号通过模拟语音信号还原出来,之前还进行了一系列的功放,用于信号的放大与相关处理。接收到芯片引脚PA0输出的信号后,经过三个功率放大器LM324进行功率放大,并且有接地电容进行滤波,这样可以保证声音信号完整和不失真地送到SPEAKER中进行播放。43软件设计431软件设计思想4首先是设备初始化,但是初始化程序中,用于ADC转换的定时器等并没有进行初始化,只是将PA0设置为输入模式,不上拉使能(作为AD转换的输入通道),用于SPI通信1的各个总体设计17引脚的模式进行了设置。初始化完成之后,就进入主程序中进行键盘扫描,速度极其的快,无键盘按下时甚至只用不到1微秒的时间。一旦检测到哪个键按下就进入相应的程序中去。录音程序的设计思想检测到录音键按下后进入录音程序,然后ADC初始化同时开始一次AD转换,延时一小会儿,等待AD转换结束。接着SPI、定时器初始化,从此就靠定时器来主导整个录音程序的运行了。定时器有中断,其中有要求TCNT0设置这个基本的操做,还有一个就是ADSC置位要求进行下一次转换。至于AD转化的值则在AD中断中写入一个已经建好循环队列中。定时器定时80微秒,一次AD转换是在定时一开始就进行,需要时间52微秒,也就是说定时器溢出时AD中断一定结束了,下一次中断之前数据一定已经进入了队列中,如此循环。而在这期间有大量的时间向DATAFLASH中写数据。DATAFLASH有2048页,每一页有264字节,在每一页写满之前,程序不会再检测按键,一直到一页写满了,才检测按键,如果仍旧是按下则继续录音,否则退出。退出后如果存储空间未满则存储位置的参数会保留,下次录音可以接着向下写。如果满了,则录音工作指示灯永远都不会亮了,除非重启。但是在退出录音程序时,ADC、SPI、定时器会全部关闭,再进入程序时再初始化开启。放音程序的设计思想与录音程序相同,进入程序之后才开启所需要的功能。不同的是先开录音工作指示灯,SPI,然后向DATAFLASH要一次数据,总体设计18再开TIMER2的快速PWM功能。一次PWM时间是16微秒,每五次更新一次,通过调节占空比来实现DA转换的功能。同样的每五次中断期间都有足够的时间向DATAFLASH要数据。放音程序最大的特点是那些控制参数虽然是全局变量,但是它们在进入程序的第一时间就被初始化了,在就要退出程序的最后时刻再次被初始化。这样就使得整个程序可以进行循环放音,但是每次都是从头开始,放开按键时停止,再按下时又从头开始。由于放开按键的同时按下按键的可能性很小,所以放音键按下的状态会在主程序按键检测循环中被检测到,并进入放音程序。擦除程序设计思想擦除程序就简单多了。首先,如前面提到的,它有延时去抖的时间。其次,由于查找资料时找到的资料并没有芯片的块擦除命令,所以决定先往芯片的BUFFER1中写满0,然后顺次往每一个主页存储空间中进行先擦除再写的操作(即BUFFERTOMAINMEMORYWITHBUILTINERASE),这样消耗的时间会长很多,大约为70秒钟。432程序流程图系统主程序如图45所示。总体设计19开始端口初始化是否有按键按下延时去抖是否是抖动擦除程序返回录音程序放音程序擦除键录音键放音键否是图45程序流程图433主函数方框图主函数方框图如图46所示。方框图的相关说明5这里主要说明了放音函数具体的操作过程,当按下放音按键时,进入放音函数PLAYBACK,进行相关变量和器件的的初始化操作,当放音按键放开时,返回到主函数进行按键的扫描,否则,进入声音的播放程序。从BUFFER中读取总体设计20数据并且根据数据改变OCR变量,利用TIMER的PWM功能,实现数字信号的模拟输出,即声音信号的还原。MAINPLAYBACK开LED开SPI向DATABUFFER要一次数据开TIMER2进入循环放音键按下下一页到下一个BUFFERBUFFER完等待5次TIMER溢出更新标记OCR变量关SPI关TIMER2关LED返回MAIN是是否否图46主函数方框图总体设计2144系统的调试与总结按照电路原理图,连接好电路。在ICCAVR编译器中,输入程序,并且进行编译,生成TESTHEX文件,通过编程器下载到AVR单片机中,上电运行6。按下录音按键,对着MIC讲话,讲完以后放开按键。按下放音按键,仔细听SPEAKER中的声音。放出的声音失真,对定时器的定时时间做一下微调,然后再进行测试。按下删除按键,无法再进行播放,达到了删除已存储信息的目的。通过对系统的微小调节,基本上可以实现录音、放音和删除等功能。总结225总结本课题使用的是AVRMAGE16高速单片机6,利用其内部的ADC模块和PWM功能,实现了声音的录放功能,揭开了录音笔的神秘面纱。当然这与现实生活中运用的录音笔相比,还有很多的不足之处。此设计充分利用的单片机内部的资源,通过硬件和软件的紧密结合,基本上实现了声音的录放功能。在声音的处理上,硬件设计和软件设计,也许考虑的不够周全,可能造成声音的失真。随着科技的不断发展,芯片的集成度越来越高,可以用最简单的外围电路,来实现非常复杂的功能。所以,在我们在系统设计时,应该充分利用芯片内部的资源,认真分析它们的使用方法,这样在进行设计时可以达到事半功倍的效果。参考文献23附录247附录附录A系统的总体设计原理图如图71所示图71系统的总体设计原理图附录25附录B系统设计源程序清单/TARGETM16/CRYSTAL16000MHZINCLUDEINCLUDEDEFINEBUFFER1_READ0X54DEFINEBUFFER2_READ0X56DEFINEMAIN_TO_BUFFER10X53DEFINEMAIN_TO_BUFFER20X55DEFINEBUFFER1_WRITE0X84DEFINEBUFFER2_WRITE0X87DEFINEBUFFER1_TO_MAIN_WITH0X83DEFINEBUFFER2_TO_MAIN_WITH0X86DEFINEBUFFER1_TO_MAIN_WITHOUT0X88DEFINEBUFFER2_TO_MAIN_WITHOUT0X89DEFINEMAIN_PROGRAM_BUFFER10X82DEFINEMAIN_PROGRAM_BUFFER20X85/给SPI定义的PORTB的引脚DEFINEDF_CS3DEFINEDDR_MOSI5DEFINEDDR_MISO6DEFINEDDR_SCK7附录26/给工作状态指示灯LED的引脚定义/PA70B01111111DEFINERECORD_LED0X7FDEFINEPLAY_LED0XBFDEFINEERASE_LED0XDFDEFINEUNIT8UNSIGNEDCHARDEFINEUNIT16UNSIGNEDINTVOLATILEUNIT8OVER_TIMES0,PLAY_BUFFER_NUMBER1,UPDATA_OCR0VOLATILEUNSIGNEDCHARNEW_OCR0VOLATILEUNIT16PLAY_BUFFER_COUNTER0,PLAY_PAGE_COUNTER0VOLATILEUNSIGNEDCHARRECORD_BUFFER2640VOLATILEUNIT8NEW_TURN0,RECORD_BUFFER_NUMBER1VOLATILEUNIT16RECORD_PAGE_COUNTER0,RECORD_BUFFER_COUNTER0,DATA_POSITION0,SEND_POSITION0VOIDPORT_INITVOIDPORTA0XE0DDRA0XE0PORTB0X00DDRB0XB8PORTC0X43/M103OUTPUTONLY附录27DDRC0X00PORTD0X00DDRD0X80VOIDTIMER0_INITVOIDTCCR00X00/STOPTCNT00X60/SETCOUNTTCCR00X02/STARTTIMER8分频TIMSK|0X01/TIMER0INTERRUPTSOURCES溢出中断SEIVOIDTIMER2_INITVOIDTCCR20X00/STOPASSR0X00/SETASYNCMODETCNT20X01/SETUPOCR20XFFTCCR20X69/STARTTIMSK|0X40/TIMER2INTERRUPTSOURCES/CALLTHISROUTINETOINITIALIZEALLPERIPHERALS附录28VOIDINIT_DEVICESVOID/STOPERRANTINTERRUPTSUNTILSETUPCLI/DISABLEALLINTERRUPTSPORT_INITMCUCR0X00GICR0X00TIMSK0X00/TIMERINTERRUPTSOURCESSEI/REENABLEINTERRUPTS/ALLPERIPHERALSARENOWINITIALIZEDVOIDADC_INITVOIDADCSRA0X00/DISABLEADCADMUX0X60/SELECT

温馨提示

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

评论

0/150

提交评论