多功能电子医药盒设计毕业设计论文

上传人:仙*** 文档编号:119237423 上传时间:2022-07-14 格式:DOC 页数:42 大小:1.33MB
收藏 版权申诉 举报 下载
多功能电子医药盒设计毕业设计论文_第1页
第1页 / 共42页
多功能电子医药盒设计毕业设计论文_第2页
第2页 / 共42页
多功能电子医药盒设计毕业设计论文_第3页
第3页 / 共42页
资源描述:

《多功能电子医药盒设计毕业设计论文》由会员分享,可在线阅读,更多相关《多功能电子医药盒设计毕业设计论文(42页珍藏版)》请在装配图网上搜索。

1、目 录1 引言12 多功能电子医药盒设计概述3设计目的3设计实现总体功能33 系统总体设计方案4设计总体功能图4功能描述4按键功能描述4定时的开启4系统硬件设计方案53.2.4 遥控器硬件设计方案5产品使用注意事项84 主要系统芯片及功能介绍9凌阳单片机的选择9主要性能特点分析9系统主控制芯片及部件介绍10无线语音遥控器主控制器SPCE061A介绍10直流电机驱动芯片L298N的介绍12无线语音遥控器中SPCE061A的功能135 软件设计部分及方案17凌阳SPCE061A单片机指令系统与开发环境175.2 ATMEGA16L单片机指令系统与开发环境18结 论19参考文献20附录1:电路图21

2、附录2: 程序22致 谢411 引言随着现代科学技术的飞速发展,数字化时代的来临,计算机和网络已经将触角伸入社会各行各业,渗入了城市的血液中,并且在一定程度上取代了人类繁琐的机械的劳动。世界也正面临一场大规模的新的工业革命,又称为信息革命。数字化、智能化,已经成为这场革命的主旋律。让计算机像人类一样动作一样思考,并拥有人的记忆和人的逻辑,使人类从繁琐的键盘操作和按键输入中解脱出来是电脑智能化面对的重要课题。在现代传感器技术、音频视频压缩解码技术的跨越式发展,使计算机实现了高度的集成化,功能也逐渐出现全能化、专门化以及智能化的分化发展方向。计算机的微处理器的功能也不仅仅局限于计算和处理数据,同时

3、也将存储和硬件解码等外围电路也集成到其中。也正是因为如此,运用单独的处理器就可以实现智能化人机对话接口,让计算机像人类一样思考,通过人类的动作和语言向计算机输入指令,使计算机的操作方式发生根本性的变革,真正拉近人与计算机间的距离。现代计算机的性能已经相当强大,运算能力已经不可限量,而且还在飞速发展。在日常生活的诸多领域,电脑已经取代人类,从事大量繁琐的、重复性的劳动。但是在这些领域中,大型的计算机不能充分发挥自身性能,而且在成本方面也毫无经济性可言。所以,针对不同领域不同功能的专门性计算机应运而生,其运算处理能力并不一定非常强大,而是对于特别的应用场合在其中整合特殊的功能,使其在特定的场合发挥

4、最大的作用。嵌入式计算机应运而生,嵌人式计算机作为计算机的一个重要分支,得到了越来越广泛的应用。随着信息技术发展所带来应用需求的增多,嵌人式计算机的应用范围和需求越来越广,性能不断改进,新的架构不断出现,各种单片机和数字信号处理器相继面世。嵌人式操作系统与PC操作系统相比,嵌人式操作系统不要求全能,但必须能够依据系统设计规格,高效率地发挥硬件的运算能力,使产品达到效率价格比的优化。本次设计是在运用成品嵌入式计算机的基础上,实现用人类的语言无线遥控单片机的运作。为了更明确的显示声音对单片机的遥控作用,使单片机控制远处可开启的药盒,体现声控单片机的运行情况。对于多功能电子医药盒的设计,关键在于语音

5、识别,语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,像ISD系列、PM50系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。而无线通信技术现在多采用无线数字通信模块,其通信协议可以自己设定,通信频率可以在一定范围内可以改变,使传输数据的可靠性、安全性都大大提高。 基于上述要求本次设计拟采用三

6、种设计方案。在芯片方面,ATMEGA16L微处理器和凌阳SPCE061A微处理器以及二者的组合应用是三种备选方案。两种微控制器都具有丰富的片上系统资源,可以通过外加辅助电路的方式实现语音辨识功能,从而满足对控制指令的语音采集、压缩、存储、解压和辨识等一系列功能的要求。在指令系统方面,两者都支持C语言,省去了繁琐重复的堆栈操作,方便了程序员的编写,和读取。在确定设计使用单片机后,还应对单片机加装部分外围电路才能使用,其中包括:电源电路、音频电路、I/O电路等。使其保证单片机各项功能的实现。此外还有部分必须的功能电路,如:复位按键,状态指示灯等等。在药盒仓体方面,采用三个直流电机驱动,动力来自驱动

7、后轮的直流电机,驱动器采用意法半导体生产的L298N直流电机驱动器,整个药盒由电源供电。语音指令的识别过程是利用单片机的特定人语音识别功能来实现的。首先对电子药盒进行训练,将语音命令转换为数字信号存储在单片机FLASH存储器中。在需要控制药仓开启的时候,单片机通过采集声音信号,并量化处理为数字信号后,与存储器中预先存储的控制命令进行辨识,结果以字节数据方式从无线模组发出,药盒接收到控制指令后,控制驱动芯片和舵机,使电子药盒完成响应动作。这些操作都是由预先编写并烧录在单片机中的C语言程序控制的。在整个设计中,两个难点在于单片机外围电路的设计和控制程序的编写。如果能很好的解决这两个方面的问题,电子

8、药盒的工作应该会比较顺利。2 多功能电子医药盒设计概述2.1设计目的随着我国国民经济的发展,针对生活节奏的加快和社会老龄化的趋势,结合产业发展需要,设计出了多功能语音电子医药盒。使用多功能电子医药盒提高了人们的生活效率:针对年轻人,可以在忙碌的工作时提醒吃药的时间;针对老年人,可以提醒按时吃药、安全吃药。2.2设计实现总体功能采用凌阳单片机的语音技术,传动技术,记忆与存储技术。性能指标:1语音提示后,仓盖开启和闭合的时间:12s;2药仓数量:4仓设计;3能根据人的提示进行药物的选择;4人性化设计与友好的人机界面;524小时内任意设定药物服用提醒;6语音互动,可以实现人机对话,具有小型机器人的识

9、别能力;7四仓设计,分为底仓、固定仓与常动仓,介绍如下:底仓:为药物备用仓;固定仓:针对家庭中常常需要服用药物的人所设计,服药时间、数量等可进行自行设定。常动仓(分两层):针对生活中的易发性疾病所设计,服药时间、数量等可进行自行设定,具备语音识别功能,可根据语音提示,自动进行药物的选择。8具有时间的记忆功能。3 系统总体设计方案3.1设计总体功能图3.2功能描述3按键功能描述时间调整键:可对现在时间及设定时间进行调整,可实现5路定时提醒:对于时间调整,可进行年月日小时分的设定。设定药物键:通过此键可进行服药位置、时间及数量(最大为4)的设定,对于服药位置,可进行层数(最大为3)与格数(最大为6

10、)的设定。采用默认键:通过此键无需设定,即可享用标准方案:位置:一层2格;时间:早上8时,数粒:2粒。3.2.2定时的开启当时钟计时达到预定时间,液晶自动显示药品位置、种类及服用量,语音播报液晶屏上显示的信息。同时,单片机控制直流电机迅速转动,自动开启药盒。系统硬件设计方案根据需要,系统硬件拟使用两块PCB板设计。其中一块为语音遥控器,用于搭载凌阳SPCE061A单片机、电源电路、音频电路、I/O电路等外围电路。另一块为车体控制板,用于搭载接口电路,电源电路及电机驱动。调整“现在时间”及定时:1)接通电源时为默认状态;2)当前时间显示:12:00;3)定时显示:08:00;4)数量显示:2粒;

11、5)当前位置显示:第一层。 遥控器硬件设计方案在无线语音遥控智能电子医药盒的设计中,凌阳SPCEO61A单片机作为遥控器的主控制器,需要增加一系列的外围电路的支持才能实现音频输入输出和识别,以及语音命令的输出等功能。需要增加的外围电路有:电源电路、MIC输入电路、音频输出电路、无线传输电路、复位电路、I/O接口电路。 1.电源电路凌阳SPCE061A单片机内核电源电压要求为,其他逻辑器件要求5V供电,设计中采用DC9V供电,直流电压先通过LM7805得到5V直流电源为逻辑电路供电,然后通过SPY0029稳压到,为整个单片机内核供电。另外,在LM7805的前端入一个二极管,目的在于防止电源接反而

12、对整个电路造成损坏。电路如图3-1所示。图3-1 电源电路2.音频电路1)MIC输入电路在使用SPCE061A的语音训练和声音控制的时候,需要使用MIC输入电路将语音信号接收,并传送至SPCE061A进行处理。为提高输入的声音质量,MIC输入电路还应具备一定的滤波降噪功能。电路中的性滤波器就能很好的实现这个功能。同时使入电路可以实现自动增益(AGC)控制。原理如图3-2其中X1是语音的MIC输入端。图3-2 MIC输入电路2)DAC输出电路在语音训练的过程中,凌阳SPCE061A需要输出信号提示音,以让训练者了解其工作状态,方便进行语音训练。另外还要播报药盒的工作状态。SPCE061A自带双通

13、道DAC音频输出, DAC1、DAC2转换输出的模拟量电流信号分别通过DAC1和DAC2管脚输出, DAC输出为电流型输出,所以DAC输出经过SPY0030音频放大,以驱动喇叭放音。这为单片机的音频设计提供了极大方便。原理图如图4.3。在P9上接一个2pin的插针外接喇叭,即可实现提示语音输出功能。DAC电路中,SPY0030是凌阳的一款音频放大芯片,相当于LM386,但是它比LM386音质好,可以工作在2.4-6.0V范围内,最大输出功率可达700mW。图3-3 DAC输出电路接口电路接口电路凌阳SPCE061A的两路16位I/O接口引出,因为一般逻辑电路都是8位并行总线,所以SPCE061

14、A的I/O接口分为4组,每组8个端口加两个电源线,电源电压可由双刀双掷选择为3.3V或5V。另外,串口和IOB7及IOB10复用,在此设计中用该资源将语音命令传输给串口nRF2401模组进行无线发射。原理图如图3-4。图3-4 I/O接口电路4.复位电路 在一些情况下,需要对SPCE061A进行硬件复位,有阻容电路完成上电复位功能,通电就自动复位,另外,还可以按键外部复位,原理图如图。 图 3-5 复位电路3.3产品使用注意事项1.在使用本产品时禁止药物混放,同时,若在已放过药物的小格重新装药时,及时清洗小格,保证小格干净清洁,防止药物污染。2.本产品应放在小孩接触范围之外。3.本产品应在遮光

15、,通风,干燥处保存。4 主要系统芯片及功能介绍4.1凌阳单片机的选择MCS51单片机+语音芯片的不足:1集成性较低:MCS51单片机与语音芯片之间的连线与外围器件较多;2可编程性差,较难理解:在看懂时序图的前提下才能理解其工作原理;3语音效果一般;4性价比较低,不易于接受和推广。凌阳单片机的优点:1.集成性好,语音信号的实时采集:采用模块式集成结构,片内集成了2KB RAM、32KB Flash、ADC、DAC、并行I/O等,特别适合语音信号处理;2.可编程性好:2个16位可编程定时器/计数器,14个中断源,可以通过定时器、外部时钟输入、键唤醒等;3.语音效果好:7通道10位ADC,内置麦克风

16、放大和自动增益控制功能;4.性价比高,易于接受和推广。 4.2主要性能特点分析电子医药盒的不足:1人的提示进行药物的选择;2按键设定,设置定时操作麻烦;3总体性能比较单一。多功能电子医药盒的特点:1能根据人的提示进行药物的选择;2人性化设计与友好的人机界面;324小时内任意设定药物服用提醒;4语音互动,可以实现人机对话,具有小型机器人的识别能力;5四仓设计,分为底仓、固定仓与常动仓,介绍如下:a)底仓:为药物备用仓;b)固定:仓针对家庭中常常需要服用药物的人所设计,服药时间、数量等可进行自行设定。c)常动仓(分两层):针对生活中的易发性疾病所设计,服药时间、数量等可进行自行设定,具备语音识别功

17、能,可根据语音提示,自动进行药物的选择。具有时间的记忆功能:用户在吃药的第一天或前几天大多会记得按时吃药,用户在吃药同时按动一下智能药盒上设定好的按键,智能药盒就自动记住这个时间,以后每天同样的时间就会响铃、闪光和语音提示说话(hello,remember me)提醒用户吃药,每天如此。4.3系统主控制芯片及部件介绍4经过上述讨论,实现声音智能控制功能最理想的控制芯片为台湾凌阳科技推出的SOPC(System On Programmable Chip)级16位MCU-DSP混合处理器SPCE061A作为处理语音指令的控制芯片,其兼有微处理器,数字信号处理器,存储器的三重功能,具有丰富的片上系统

18、资源。凌阳SPCE061A具有nSP的指令系统提供具有较高运算速度的16位*16位的乘法运算指令和内积运算指令,增添了DSP功能,使得nSPTM系列运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。凌阳内嵌32K字的Flash和2K字的SRAM,ROM和RAM统一编址,属于冯诺依曼结构计算机,这样的设计在制作中方便了对语音指令的压缩和存储。实物如图4-1。 图4-1 凌阳SPCE061A单片机 图4-2 ATMEGA16L管脚图 SPCE061A的主要性能:116位nSP核心高档微控制器;2工作电压:VVD为2.6V-3.6V(CPU),VDDH为VDD-5.5V(I/O);3C

19、PU时钟:0.32MHz-49.152MHz;4内置2K字SRAM;5内置32K字FLASH;6可编程音频控制器;7晶体振荡器;8.系统处于设备状态。耗电小雨2mA 3.6V;9.2个16位可编程定时器/计数器(可自动预置初始计数值);10.2个10位DAC;11.32位通用可编程输入/输出端口;12.14个中断源可来自定时器A/B,时基,2个外部时钟源输;13.具备触键唤醒功能;14.使用凌阳音频编码SACM_S240方式(2.4Kbps),能容纳210s的语音数据;15.锁相环PLL振荡器提供系统时钟信号;16.32768Hz实时时钟;17.7通道10位电压数模转换器(ADC)和单通道声音

20、模数转换器;18.声音模数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;19.具备串口设备接口;20.具有低电压复位(LVR)功能和低电压监测(LVD)功能;21.内置在线仿真电路ICE(In-Circuit Emulator);22.具有保密能力;23.具有Watch Dog功能。主控制器ATMEGA16L的介绍AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10倍的数据吞吐率。管脚图如图。ATmega1

21、6L有如下特点:1.16K字节的系统内可编程Flash(具有同时读写的能力,即RWW);2.512 字节EEPROM,1K 字节SRAM;3.32 个通用I/O 口线;4.32 个通用工作寄存器; 5.用于边界扫描的JTAG 接口,支持片内调试与编程;6.三个具有比较模式的灵活的定时器/ 计数器(T/C);7.片内/外中断,片内经过标定的RC 振荡器;8.可编程串行USART,有起始条件检测器的通用串行接口;9.8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC;10.具有片内振荡器的可编程看门狗定时器;11.一个SPI 串行端口;12.四通道PWM,两路8位,两路16位;13

22、.六个可以通过软件进行选择的省电模式:空闲模式、ADC 噪声抑制模式;14.省电模式、掉电模式、Standby 模式以及扩展的Standby 模式15.速度等级:0 - 8 MHz;16.工作电压:。4直流电机驱动芯片L298N的介绍L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;

23、有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。其管脚图和实物图分别如图4-1、图4-2所示,管脚功能如表4-3所示。 图4-1 L298N管脚图 图4-2 L298N实物图表4-2 L298N引脚功能表引 脚符 号功 能115SENSING ASENSING B此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号23OUT 1OUT 2此两脚是全桥式驱动器A的两个输出端,用来连接负载4Vs电机驱动电源输入端57IN 1IN2输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关611ENABLE AENABLE B使能控制端.输入标准

24、TTL逻辑电平信号;低电平时全桥式驱动器禁止工作。8GND接地端,芯片本身的散热片与8脚相通9Vss逻辑控制部分的电源输人端口1012IN 3IN 4输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关1314OUT 3OUT 4此两脚是全桥式驱动器B的两个输出端,用来连接负载在本次设计中,关键地问题之一在于人声的A/D转换存储与识别,SPCE061A提供了语音输入压缩以及辨识的先进技术。1. 语音指令的输入。凌阳 SPCE061A利用麦克风的指令输入系统,SPCE061A内置由DA转换器 DACO和逐次逼近寄存器SAR组成的逐次逼近式8通道10位AD转换器,以及采样保持电路。其中7个通

25、道用于将模拟量信号(电压信号)转换为数字量信号,可以直接通过引线(IOA 0-IOA 6)输人(Line_Inl-Line_ln7)另外一个通道只用于语音输人,即通过内置自动增益控制放大器的麦克风通道(MIC-In)输人,是语音采集专用通道,也可设置为普通A/D输入。2语音指令的训练。语音遥控器作为机器,一定是不能先天理解人类的语言的,所以,必须教会它人类语言的含义。即语音训练,内容是将人类的语言事先已训练的方式经过模数转换存储在凌阳SPCE061A的FLASH中,并指定每一条语音所要指向的操作,以便在日后的使用中将采集来的语音与存储的语音相比对,以确定单片机需要进行的操作。凌阳SPCE061

26、A对于不同的辨识能力提供以下两种语音训练方式:1)特定发音人识别SD(Speaker Dependent),是指语音样板由单个人训练,可用于语音提示,而DVR用来录音和放音;2)非特定发音人识别SI(Speaker Independert)。是指语音样板由不同年龄、不同性别、不同口音的人训练,可以识别一群人的命令;在本次设计中,需要向小车训练:向前、向后、左转、右转、停止等几项语音指令,以供控制小车时的辨识使用。值得注意的是,使用非特定发音人识别需要利用大量的DVR存储不同人训练的语音,但是凌阳SPCE061A并不能提供大量的内存空间供存储使用,由于设计条件有限,无法扩展必要的存储芯片完成存储

27、语音的功能,故选择使用特定发音人识别。其训练具体流程参看后文内容。3对训练的语音指令的存储。将经A/D转换后的数据压缩存储,SPCEO61A单片机的16位DSP有很强的信息处理能力,最高时钟频率达49.152 MHz,具备运算速度高等优势。这些为语音的录放、合成及辨识提供了条件。凌阳压缩算法中DVR可用于录、放音。语音的编码、存储、解码处理是通过操作麦克风输人所生成的WAVE文件完成的,但在这个环节上会出现的一个问题为其占用的存储空间很大,对SPCEO61A单片机的32K FLASH来说想要存储大量的信息显然是不可能的。而SPCE061A提出了解决方法:SACMV25LIB。该库将A/D、编码

28、、解码、存储及DA做成相应的模块,对于每个模块都有其应用程序接口API,所以只须了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现相应功能。在进行A/D转换之前,从MIN_IN输入的模拟信号要经过缓冲器和放大器,AGC功能将通过MICIN通道输入的模拟信号放大值控制在一定范围内,然后放大信号经采样-保持模块送入比较器参与A/D转换值得确定。4. SPCE061A的语音辨识。语音辨识是一种以语音模型为指令基础的控制方式,语音模型的质量直接影响辨识操作的速度和准确率。具体步骤是经过两次语音采集,即训练和发布指令。系统经复杂的函数操作将发布指令与预先训练的一音模型进行比对,如与语

29、音模型相匹配,则输出控制信号。具体原理如图4-3。声学模式训练语音模型复杂声学语音条件下的语音 输入语音匹配语音模式训练语音处理语言模型识别结果理解结束图 4-3 语音辨识原理简图凌阳16位微处理器的SPCE061A核心实现与计算机连接采用有线方案,通过并口将预先设计的小车控制程序烧写到SPCE061A单片机,以识别各种语音指令系统的处理过程为:当向控制器发出语音命令时,声波通过MIC输入,将相应的信号传递到SPCE061A处理芯片,在芯片中通过相关的程序与预先训练好的语音模型进行比较、识别及处理,根据识别的结果进行判断、转换,然后发出相应的控制指令到无线模组,无线发送语音指令。图 4-4 语

30、音辨识流程使用特定人语音辨识的语音样板由单个人训练和识别处理组成,如图。值得注意的是,凌阳SPCEO61A在接收到控制语音指令后,并不是直接用其进行辨识。为了提辨识的正确率,语音信号要经过语音识别电路,将语音信号经过滤波器降噪、加重等处理后进行预测、量化等一系列操作进行模数转换,以数字形式进行过零次数能量相关函数等方法进行匹配运算,输出辨识结果。5语音指令的发送和回应。在对遥控器发出语音指令后凌阳SPCEO61A将人发出的。指令与训练时的音频进行辨识后确定指令,由串口无线模组nRF2401发射。车上控制器接收到相应指令后,设置动作标志位,返回回应数据,同时控制L298N和舵机,使药盒做出开仓闭

31、仓的动作。SPCE061A接收到响应数据后,可知电子药盒已经响应了语音指令,便语音播报当前电子药盒的响应。5 软件设计部分及方案5.1凌阳SPCE061A单片机指令系统与开发环境凌阳SPCEO61A单片机采用nSP内核指令系统的程序设计支持汇编语言和C语言编写。在编程中也可以使用汇编伪指令,这样能使句子所表达的意思的结构更加清晰,能够增强可读性,使汇编器的编译效率提高。nSP内核对支持ANSI-C中使用的基本数据类型,并且可以在C程序中调用汇编函数提高代码效率,并使其具有较好的实时性。声控小车的各种动作,以及指令以及工作方式都要通过C语言与汇编语言编写,并进行摸拟,调试等操作。为减少繁琐的堆栈

32、操作和提高程序可读性,在本次设计中采用C语言编写辨识程序。在编程工作结束后,将会对声控小车进行程序的输入。使用凌阳科技提供的一个集成开发环境nSP IDE,它能完成程序的编辑、编译、链接、调试和仿真等功能。使用它的的软件仿真功能可以在不连接仿真板的情况下通过模拟硬件的部分功能来调试程序。并使用在线调试器PROBE对SPCEO61A程序进行写入,它既是一个程序烧写器人又是一个实时在线调试器。它利用了SPCE06lA片内置的在线仿真电路ICE(InCircuit Emulator)接口和凌阳公司的在线串行编程技术。PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上

33、SPCEO61A相应引脚,直接对目标电路板上的SPCEO61A调试,运行编写好的程序。PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与微机通信,在计算机IDE集成开发环境软件包下,实现在线调试。图5-6 计算机,PROBE和用户目标板三者之间的连接示意图5.2 ATMEGA16L单片机指令系统与开发环境为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。AVRS

34、tudio是Atmel公司推出的AVR单片机集成开发环境。能运行于Windows9x/ME/NT/2000/XP等操作系统平台下。它提供了源文件的编辑器,用于软件仿真的芯片仿真器和在线硬件仿真(ICE)的接口。源程序的编辑可采用汇编语言,其汇编级编译器(AVR Assembler)是免费提供的。AVRStudio也可采用C语言编程,支持第三方C编译器。AVRStudio还集成有软件调试(AVR Studio)和实时在线仿真器(JTAG ICE)以及AVRProg下载等功能。目前,ARTMEL公司所发布的最新版本为AVR Studio4.14,可以在ATMEL公司的官方网站htttp:/ atm

35、el 下载。 图5-7 AVRStudio开发结 论本次对于多功能电子医药盒的设计采用凌阳SPCE061A十六位单片机和AVR系列ATMEGA16L高档8位单片机配合实现。SPCE061A采用nSP内核微处理器,其内部集成语音采集、识别及播放功能,并且集成了2K字的RAM、32K字的Flash,同时ATMEGA16L内集成的1K字节的SRAM和16K字节的FLASH使得整个系统不需要外扩程序存储器和RAM。由于采用了高性能的MCU,省掉了大量的外围器件,使得硬件结构大大简化,提高了系统的可靠性。遥控器部分选用凌阳SPCE061A,完全取决于其高集成度和较全面的功能,不需要增加复杂的外围电路就可

36、以实现语音辨识和一系列职能动作。它的软件编程采用C和汇编混合编程来实现,集两种语言之优点于一体,它们的完美结合极大限度地简化了编程过程,丰富了编程思想,给开发者带来了莫大的方便。采用别的单片机实现所有功能一般要两个单片机,硬件电路也更加复杂。若要实现语音播报功能和语音辨识,不是多用几个别的类型的单片机就可实现的,而凌阳单片机提供了很好的语音播放和录制机制以及简单的API接口编程。使用SPCE061A开发产品不仅给开发者耳目一新的感觉更给用户以振奋的性能。在SPCE061A集成函数库带来方便的同时,我也感受到了其源代码的不透明,当想增加自己特定的功能时,不知如何下手。与此相反,ATMEGA16L

37、的技术资料很详细,甚至bootloader的编程都已涉及,所以作为单片机的初学者从AVR系列单片机入手是一个很好的选择,当具有一定经验后,可以用SPCE061A做一些设计上的辅助工作,也能为自己的作品增添不少色彩。对于无线语音遥控智能来讲,本次设计的作品并无太大实用价值,但有很大实际意义,其中声音控制机器操作的思路是今后简化人机接口的方向。此类构想可移植到诸如小家电、汽车等于生活息息相关的电子产品上。在人类与计算机的关系日益密切的今天,更为便捷、更为人性化、更为智能化的人机对话方式无疑是今后科技发展的新趋势。在结束了本次毕业设计后,本人对于单片机的了解和使用能力达到了一个更高的层次,使知识得到

38、了充分的运用,同时也补充了部分没有接触过的思想。本人从中受益匪浅。参考文献1刘海承等. MCU-DSP型单片机原理与应用.北京:北京航空航天大学出版社,2003.2罗亚非凌阳 16位单片机应用基础北京:北京航空航天大学出版社,20033郑学坚,周斌微型计算机原理及应用(第三版)北京:清华大学出版社,2001.4欧阳斌林,等单片机原理与应用中国水利水电出版社,2001.5李晶皎嵌人式语音技术及凌阳16位单片机应用北京:北京航空航天大学出版社,2003:97102.6潘松,黄继业EDA技术实用教程第二版北京:科学出版社,2005: 234237.7凌阳科技大学计划.凌阳单片机在大学生电子竞赛中的应

39、用,第一版,北京航空航天大学出版社,2005: 175179.8刘海成,秦进平.MCU-DSP型单片机原理与应用基于凌阳16位单片机,第一版,北京航空航天大学出版社,2006:215216.9张齐,杜群贵.单片机应用系统设计技术基于C语言编程,第二版,电子工业出版社,2004:191193.10侯媛彬.凌阳单片机原理及其毕业设计精选,第一版,科学出版社,2006:3341.11吴双力,崔剑,王伯岭.AVR-GCC与AVR单片机C语言开发,第一版,北京航空航天大学出版社,2004:163169.12徐煜明,韩雁.单片机原理及接口技术,第一版,电子工业出版社,2005:5758. 13杨西明,朱骐

40、.单片机编程与应用入门,第一版,机械工业出版社,2004:341344.14严天峰.单片机应用系统设计与仿真调试,第一版,北京航空航天大学出版社,2005:215223.15Michael A. Miller.Data and Network Communications,第一版,科学出版社,2002:145148.附录1:电路图附录2: 程序#include#include#define uchar unsigned char#define uint unsigned int/* 延时程序 *void delayms(unsigned int n) /延时10n毫秒程序 unsigned i

41、nt i,j; for(i=0;in;i+) for(j=0;j2000;j+); void delay(unsigned int m) /延时程序 unsigned int i,j; for(i=0;im;i+) for(j=0;j0;k-) for(i=32;i0;i-) for(j=248;j0;j-); /*语音模块*/sbit s1=P13;sbit s2=P14;sbit reshi=P15;void speak2(void) delay1ms(50); s2=1; delay1ms(50); s2=0; delay1ms(2); s2=1; /s2=1;/*LCD液晶*/ #de

42、fine LCD_CS_CLR P1&=0xfb#define LCD_SCK_CLR P1&=0xfd#define LCD_SDA_CLR P1&= 0xfe#define LCD_SDA_IN (P1 & 0x01)sbit key1=P30;/定义按键位置sbit key2=P31;sbit key3=P32;sbit key4=P33;sbit SCK=P36;sbit SDA=P34;sbit RST = P35; / DS1302复位/*电机*/unsigned char code F_Rotation4=0x01,0x02,0x04,0x08;/正转表格unsigned cha

43、r code B_Rotation4=0x08,0x04,0x02,0x01;/反转表格void Delaymotor(unsigned int i)/延时 while(-i);void oneblock(char w) unsigned char i,j; for(j=0;j120;j+) for(i=0;i4;i+) /4相 if(w) P2=B_Rotationi; /输出对应的相 可以自行换成反转表格 else P2=F_Rotationi; Delaymotor(1000); /改变这个参数可以调整电机转速 unsigned char l_tmpdate7=0,0,12,14,11,

44、3,9;/秒分时日月周年08-05-15 12:00:00unsigned char l_tmpdisplay8;code unsigned char write_rtc_address7=0x80,0x82,0x84,0x86,0x88,0x8a,0x8c; /秒分时日月周年 最低位读写位code unsigned char read_rtc_address7=0x81,0x83,0x85,0x87,0x89,0x8b,0x8d; unsigned char weizhi6=0,0,0;unsigned char shuliang3=0,0,0;unsigned char shijian7=

45、0,1,12,14,11,3,9;char a=0,f=0;/*/void Write_Ds1302_Byte(unsigned char temp) unsigned char i; for (i=0;i=1; /右移一位 SCK=1; void Write_Ds1302( unsigned char address,unsigned char dat ) RST=0;_nop_(); SCK=0;_nop_(); RST=1; _nop_(); /启动 Write_Ds1302_Byte(address);/发送地址 Write_Ds1302_Byte(dat);/发送数据 RST=0;

46、/恢复/*/unsigned char Read_Ds1302 ( unsigned char address ) unsigned char i,temp=0x00; RST=0;_nop_(); SCK=0;_nop_(); RST=1;_nop_(); Write_Ds1302_Byte(address); for (i=0;i=1;/右移一位 SCK=1; RST=0;_nop_();/以下为DS1302复位的稳定时间 RST=0;SCK=0;_nop_();SCK=1;_nop_();SDA=0;_nop_();SDA=1;_nop_();return (temp);/返回/*/vo

47、id Read_RTC(void)/读取 日历 unsigned char i,*p; p=read_rtc_address; /地址传递 for(i=0;i7;i+)/分7次读取 秒分时日月周年 l_tmpdatei=Read_Ds1302(*p); p+; /*/void Set_RTC(void)/设定 日历unsigned char i,*p,tmp;for(i=0;i7;i+) /BCD处理tmp=l_tmpdatei/10;l_tmpdatei=l_tmpdatei%10;l_tmpdatei=l_tmpdatei+tmp*16; Write_Ds1302(0x8E,0X00);

48、p=write_rtc_address;/传地址 for(i=0;i7;i+)/7次写入 秒分时日月周年 Write_Ds1302(*p,l_tmpdatei); p+; Write_Ds1302(0x8E,0x80);/* 发送字节 *void send_byte( uchar s_data ) uchar i; LCD_SCK_CLR; for( i=0; i8; i+ ) if( s_data & 0x80 ) LCD_SDA_SET; else LCD_SDA_CLR; LCD_SCK_SET; s_data = s_data 1; _nop_();_nop_();_nop_();_n

49、op_();_nop_(); LCD_SCK_CLR; /* 接收字节 *uchar receive_byte( void ) uchar i,r_data=0; LCD_SCK_CLR; for( i=0; i8; i+ ) r_data = r_data 1; LCD_SCK_SET; _nop_();_nop_(); LCD_SCK_CLR; if( LCD_SDA_IN ) r_data |= 0x01; /0x02 _nop_();_nop_();_nop_();_nop_();_nop_(); return( r_data );/* 向LCD发送指令 *void LCD_W_Com

50、m( uchar CMD ) LCD_SDA_SET; LCD_CS_SET; _nop_();_nop_(); send_byte( 0xf8 ); /0xF8 = 1111 1000,发送指令 send_byte( CMD & 0xf0); send_byte( CMD 4); LCD_CS_CLR; Delay();/* 向LCD发送数据 *void LCD_W_Data( uchar DAT ) LCD_SDA_SET; LCD_CS_SET; _nop_();_nop_(); send_byte( 0xfa ); /0xFA = 1111 1010,发送数据 send_byte( D

51、AT & 0xf0); send_byte( DAT 4); Delay(); return r_data;uchar LCD_R_Data( void ) uchar r_data; LCD_SDA_SET; LCD_CS_SET; _nop_();_nop_(); send_byte( 0xFE ); /0xFA = 1111 1110,接收指令/地址 LCD_SDA_SET; _nop_(); _nop_(); r_data = receive_byte(); r_data |= (receive_byte() 4); Delay(); return r_data;void LCD_Re

52、ady( void ) uchar aa; do aa = LCD_R_Addr(); while( aa & 0x80 );void INIT_LCD() LCD_W_Comm( 0x30 ); /功能设定,基本指令集 delay(100); LCD_W_Comm( 0x0C ); /显示状态开,游标关,游标位置关 delay(100); LCD_W_Comm( 0x01 ); /清除显示 delay(100); LCD_W_Comm( 0x06 ); /DDRAM的地址计数器(AC)加1unsigned char code Open_pic0= 智能药盒 /第一行 /第三行 /第二行 1.

53、菜单 /第四行 ;unsigned char code Open_pic1= 1.时间调整 /第一行 3.采用默认 /第二行 2.设定药物 /第三行 4.返回 /第四行 ;unsigned char code Open_pic1_1= 1.年月日调整 /第一行 /第三行 2.小时分调整 /第二行 4.确认 /第四行 ;unsigned char code Open_pic1_2= 1.设定服药位置/第一行 3.设定服药数量/第三行 2.设定服药时间/第二行 4.确认 /第四行 ;unsigned char code Open_pic1_2_1= 设定服药位置 /第一行 第 格 /第三行 第 层 /第二行 4.确认 /第四行 ;unsigned char code Open_pic1_2_2= 设定服药时间 /第一行 第 格 第 层/第三行

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!