基于单片机的智能语音广告牌控制系统_第1页
基于单片机的智能语音广告牌控制系统_第2页
基于单片机的智能语音广告牌控制系统_第3页
基于单片机的智能语音广告牌控制系统_第4页
基于单片机的智能语音广告牌控制系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的智能语音广告牌控制系统摘 要信息社会的到来,使传统的静态广告窗在激烈的市场竞争中显得力不从心,广告进入自动控制时代已经成为必然,本文所设计的智能滚动式语音广告窗就是由单片机控制的一种静态广告 画面转换的自动控制系统,该系统可以将数幅广告画面循环滚动显示,并且每幅广告画面对应一 段语音信息,可以智能识别是否有人观看然后播放与滚动广告画面对应的语音信息 。本设计由单片机STC89C52芯片和专用时钟芯片DS1302、热释红外传感器、WT588语音模块和LCD1602显示屏组成,加上其他外围电路,组成的一个实用的单片机多功能广告控制系统。关键词:单片机,时钟芯片,热释红外感器,语音模块,LCD显示屏 Abstract The advent of the information society, the traditional static advertising window in the fierce competition in the market is insufficient, the ads into the automatic control era has become inevitable, the design of the intelligent speech advertisement window is rolling automatic control system consists of a static advertisement picture conversion MCU control, the system can be the number of advertising pictures circular scrolling, and each advertisement picture corresponds to a voice message, can identify whether the intelligent voice information people watch and then play with rolling advertisement picture corresponding.This design by STC89C52 chip and clock chip DS1302, pyroelectric infrared sensor, WT588 voice module and LCD1602 display, and other peripheral circuits, a practical single chip multi-function control system composed of advertising.Keywords: Single chip, clock chip, pyroelectric infrared sensor, voice module, LCD display目 录第一章 绪 论41.1 课题研究的背景和意义41.2 智能广告控制系统的功能4第二章 设计总体方案论证52.1. 智能广告控制系统设计思路52.1.1 单片机的方案选择52.1.2 数字时钟的方案选择62.1.3 人体感应方案62.1.4 显示电路的方案选择82.1.5 语音模块的方案选择102.1.6 步进电机驱动方案132.2. 智能广告控制系统方案13第三章 系统硬件设计153.1 单片机设计方案153.2 时钟日历芯片设计173.3 语音模块电路的组成203.4 LCD显示电路213.5 键盘控制系统的设计223.6 步进电机驱动电路223.7 人体检测电路233.8 电源电路24第四章 系统软件设计254.1 编程软件 keil254.2主程序设计254.3 键盘扫描程序274.4 步进电机驱动子程序284.5 LCD1602显示子程序29设计总结30致 谢31参考文献32第一章 绪 论1.1 课题研究的背景和意义信息社会的到来,使传统的静态广告窗在激烈的市场竞争中显得力不从心,广告进入自动控制时代已经成为必然,本文所设计的智能滚动式语音广告窗就是由单片机控制的一种静态广告 画面转换的自动控制系统,该系统可以将数幅广告画面循环滚动显示,并且每幅广告画面对应一 段语音信息,可以智能识别是否有人观看然后播放与滚动广告画面对应的语音信息 。 1.2 智能广告控制系统的功能随着商品市场的发展,广告从静态走向动态,也进入了自动控制的时代。本课题要求以单片机为核心,设计一个滚动式广告窗系统。该系统能够实现以下功能:1、自动输出多种广告画面;2、能自动识别广告窗前是否有人,若广告窗前有人,则播放语音;没人时,则继续滚动广告画面;3、系统具有时钟显示功能,能够自动精确走时;4、海报的展示时间可调,并可以由设定的时间控制;5、系统具有自我保护功能,出现异常时,能自动停止运行。第二章 设计总体方案论证本智能广告控制系统可分为以下几个模块电路组成:单片机模块,时钟模块,人体检测模块,液晶显示模块,语音模块,步进电机驱动模块,键盘和电源。2.1. 智能广告控制系统设计思路2.1.1 单片机的方案选择在嵌入式领域中有多种微处理器可以选择,比如FPGA、DSP、单片机、ARM等,在这些处理器中单片机的价格最低,性能适中,适合此类场合。下面对一些常用的单片机类型进行说明:方案一:51系列单片机。 51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称,其代表型号有ATMEL公司的AT89系列等,Philips、华邦、Dallas、Siemens(Infineon)等公司也有许多兼容的产品,它广泛应用于工业控制系统、白色家电等领域之中。目前很多公司都有51系列的兼容机型推出,在今后很长的一段时间内将占有大量市场。1方案二: AVR系列单片机。 AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC (ReducedInstruction Set CPU)精简指令集高速8位单片机。AVR单片机废除了机器周期,抛弃复杂指令计算机( CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中,广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。1方案三: MSP430。 MSP430系列是一个16位、具有精简指令集、超低功耗的混合型单片机,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。片上集成了AD、DA、PWM、LCD驱动,其比较器AD采样方式能达到很高的精度,开发系统也很便宜。缺点是在位操作时有点麻烦,不适合用于逻辑控制以及对功耗不敏感的使用场合。1 从成本、开发的难易程度考虑,选用宏晶公司的STC89C52单片机。它是一种低功耗、高性能CMOS 8位微控制器,具有8K可编程Flash存储器,与80C51产品指令和引脚完全兼容,有8K字节的Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时计数器,1个6向量2级中断结构,全双工串行口及时钟电路。22.1.2 数字时钟的方案选择数字时钟是本设计的主要部分,有两种方案可以选择。方案一:本方案采用Dallas公司的专用时钟芯片DS1302。一种低功耗、高性能的实时时钟芯片,附加31字节的静态RAM,利用SPI 三线接口和单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供年、月、日、星期、时分、秒,每个月小于31天时可以自动调整,并且具有闰年补偿功能。工作电压为2.55.5V 。并采用双电源供电(主电源和备用电源),也可设置备用电源充电方式,具有对备用电源进行涓细电流充电的能力。保证了时钟在电源电压不足或突然掉电等突发情况下仍能正常工作。当电源电压不足或突然掉电时,系统自动转换到外部备用电池供电系统。而且即使系统不上电,程序不执行时,备用电池也能保证芯片的正常运行,可以随时提供正确的时间。3方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。使用定时中断与软件结合来实现1秒定时中断,每产生一次中断,存储器内对应的秒值加1;当秒值达到60,则将其清零,并将相应的分值加1;若分值达到60,则清零分字节,并将时字节值加1;当时值达到24,则将十字节清零。这种方案具有硬件电路简单的特点。然而,每次执行程序时,定时器都要重新赋初值,所以该时钟精度较低。而且,因为是软件来实现时钟,当单片机断电时,程序将不再执行,时钟也会停止工作。基于本设计精度的考虑,这里采用方案一完成数字时钟的功能。2.1.3 人体感应方案人体感应模块其实就是热释电红外传感器,它是一种能检测人或动物发射的红外线而输出电信号的传感器。早在1938年,有人提出过利用热释电效应探测红外辐射,但并未受到重视,直到六十年代,随着激光、红外技术的迅速发展,才又推动了对热释电效应的研究和对热释电晶体的应用。热释电晶体已广泛用于红外光谱仪、红外遥感以及热辐射探测器,它可以作为红外激光的一种较理想的探测器。它目标正在被广泛的应用到各种自动化控制装置中。除了在我们熟知的楼道自动开关、防盗报警上得到应用外,在更多的领域应用前景看好。比如:在房间无人时会自动停机的空调机、饮水机。电视机能判断无人观看或观众已经睡觉后自动关机的机构。开启监视器或自动门铃上的应用。结合摄影机或数码照相机自动记录动物或人的活动等等。您可以根据自己的奇思妙想,结合其它电路开发出更加优秀的新产品。或自动化控制装置。4热释电传感器基本知识:热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,在传感器监测范围内温度有T的变化时,热释电效应会在两个电极上会产生电荷Q,即在两电极之间产生一微弱的电压V。由于它的输出阻抗极高,在传感器中有一个场效应管进行阻抗变换。热释电效应所产生的电荷Q会被空气中的离子所结合而消失,即当环境温度稳定不变时,T=0,则传感器无输出。当人体进入检测区,因人体温度与环境温度有差别,产生T,则有T输出;若人体进入检测区后不动,则温度没有变化,传感器也没有输出了。所以这种传感器检测人体或者动物的活动传感。 由实验证明,传感器不加光学透镜(也称菲涅尔透镜),其检测距离小于2m,而加上光学透镜后,其检测距离可大于7m。 使用中应注意以下几点: 第一、直流工作电压必须符合我们要求的数值,过高和过低都会影响模块性能,而且要求电源必须经过良好的稳压滤波,例如电脑USB电源、手机充电器电源、比较旧的9V的层叠电池都无法满足模块工作要求,建议客户用变压器的电源并经过三端稳压芯片稳压后再通过220UF和0.1UF的电容滤波后供电。 第二、调试时人体尽量远离感应区域,有时虽然人体不在模块的正前方,但是人体离模块太近时模块也能感应到造成一直有输出,还有调试时人体不要触摸电路部分也会影响模块工作,比较科学的办法是将输出端接一个LED或者是万用表,把模块用报纸盖住,人离开这个房间,等2分钟后看看模块是否还是一直有输出? 第三、模块不接负载时能正常工作,接上负载后工作紊乱,一种原因是因为电源容量很小负载比较耗电,负载工作时引起的电压波动导致模块误动作,另一种原因是负载得电工作时会产生干扰,例如继电器或者电磁铁等感性负载会产生反向电动势,315M发射板工作时会有电磁辐射等都会影响模块。解决办法如下:A、电源部分加电感滤波。B、采用负载和模块使用不同的电压的方法,例如:负载使用24V工作电压,模块使用12V工作电压,其间用三端稳压器隔离。C: 使用更大容量的电源。 第四、人体感应模块只能工作在室内并且工作环境应该避免阳光、强烈灯光直接照射,如果工作环境有强大的射频干扰,可以采用屏蔽措施。若遇有强烈气流干扰,关闭门窗或阻止对流。感应区尽量避免正对着发热电器和物体以及容易被风吹动的杂物和衣物。第五、人体感应模块建议安装在密封的盒里,否则可能一直会有输出信号。第六、如果要求人体感应模块的探测角度小于90度时,可以用不透明胶纸遮挡镜片或裁剪缩小镜片来实现。第七、人体感应模块采用双元探头,人体的手脚和头部运动方向与感应灵敏度有着密切的联系,而且红外模块的特性决定了无法精确控制感应距离。第八、模块中的探头(PIR)可以装焊在电路板的另一面。也可将探头用双芯屏蔽线延长,长度应在20厘米以内为好。本设计使用的HC-SR501模块是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,尤其是干电池供电的自动控制产品,用于各类自动感应电器设备。42.1.4 显示电路的方案选择常用的单片机显示电路分为LED显示屏和LCD显示屏两大类:方案一:LED显示屏:是由若干个LCD显示屏组成,LCD显示屏(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LCD显示屏有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LCD显示屏显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。LCD显示屏要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LCD显示屏的驱动方式的不同,可以分为静态式和动态式两类。静态显示:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。5动态显示:LCD显示屏动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。5方案二:LCD显示屏:分为段式LCD和点阵式LCD, 对于普通的段式LCD,需要专门的驱动电路,LCD显示的可视角度较小,本身不发光;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般采用并行接口,对微处理器的接口要求较高,占用资源多,但显示内容丰富。LCD1602液晶显示屏:也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。LCD128642液晶显示屏:带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84 行1616 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。5本设计选用显示丰富灵活的LCD1602液晶显示屏作为显示模块。2.1.5 语音模块的方案选择方案一:ISD4000系列语音芯片ISD4000系列语音芯片是美国ISD公司生产的2.7V3.3V单电源单片语音录放电路。ISD4000系列语音芯片采用多电平直接模拟量存储技术。每个取样值直接存储在片内闪存中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。取样频率可分为4.0kHz、5.3kHz、6.4kHz、8.0kHz,取样频率越低,录音时间越长,而音质有所下降,片内信息存于闪存中,可在断电情况下保存100年(典型值),可反复录音10万次。6ISD4004 工作于SPI 串行接口。SPI 协议是一个同步串行数据传输协议,协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作,因此对ISD4004 而言,在时钟止升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。方案二:WT588D语音芯片WT588d语音芯片是早期可外挂FLASH的一款语音芯片,WT588D音质较好,控制灵活的特点,更增加了可播放MIDI和弦功能,性能更好。WT588D是一款具有单片机内核的语音芯片,因此,可以冠名为WT588D系列语音单片机。WT588D系列语音单片机是广州唯创电子有限公司联合台湾华邦共同研发出来的集单片机和语音电路于一体的可编辑语音芯片。功能多音质好应用范围广性能稳定是WT588D系列语音单片机的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式,让应用人员能将产品投放在几乎可以想象得到的场所。作为一款以语音为基础的芯片,对音质的追求当然也是精益求精的,完全支持6K22KHz采样率的音频加载,芯片的独到之处便是将加载的音频音质几乎完整无损的展现出来。WT588D系列语音单片机能通过配套软件WT588D voiceChip轻而易举的做到语音组合播放、插入完美的陶冶静音。静音的时长控制得绝无丝毫误差!可控制的语音地址位能达到220个!每个地址位里能加载可组合语音为128段语音!WT588D系列语音单片机模块内置SPI-FLASH存储器,WT588D系列语音单片机芯片可根据实际用法外置SPI-FLASH存储器,众多的控制模式、语音组合只需更换SPI-FLASH的内容,即可完全实现操作方式的切换。WT588D系列语音单片机支内容在线下载,这是一个应用人员不可或缺的优势持SPI-FLASH!WT588D语音单片机的推出,非常的具有语音市场的前瞻性和革命性,势必会在语音芯片的应用方面卷起一股旋风。模块封装(带SPI-Flash及外围电路)有DIP16、DIP28,芯片封装有DIP18、SSOP20和LQFP32形式;根据外挂或者内置SPI-Flash的不同,播放时长也不同,支持2M32Mbit的SPI-Flash存储器;内嵌DSP高速音频处理器,处理速度快;内置13Bit/DA转换器,以及12Bit/PWM输出,音质好;PWM输出可直接推动0.5W/8扬声器,推挽电流充沛;支持DAC/PWM两种输出方式;支持加载WAV音频格式;支持加载6K22KHz采样率音频;支持对已加载语音播放试听;可通过专业上位机操作软件,随意组合语音,可插入静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个地址;220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放;最多可加载500段用于编辑的语音;USB下载方式,支持在线下载/脱机下载;即便是在WT588D语音芯片通电的情况下,也一样可以正常下载数据到SPI-Flash;芯片复位时间5ms;支持MP3控制模式、按键控制模式、38按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式;三线串口控制模式切换到三线串口控制控制端口扩展输出模式只需发送数据就可以进行切换。切换后仍可把切换前的最后一工作状态带进切换后的模式工作;任意设定显示语音播放状态信号的BUSY输出方式;抗干扰性强,可应用在工业领域;220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放;语音播放停止马上进入休眠模式,芯片转为完全停止状态;15种按键控制模式,任意一个按键可设定任意一种控制模式;配套WT588D VoiceChip上位机软件,接口简单,使用方便。能极大限度的发挥出WT588D语音单片机的各项功能;简单的单片机编写方式,摆脱以往复杂繁琐的汇编思维;单个芯片支持外挂多个存储器;插入的静音时间范围10ms25min;工作电压DC2.8V5.5V;静态休眠电流小于10uA。本设计结合易用和成本等各方面的考虑,选用WT588作为语音模块方案。2.1.6 步进电机驱动方案步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。方案一:L298芯片,它是是一种H桥式驱动器,它设计成接受标准TTL逻辑电平信号,可用来驱动电感性负载。H桥可承受46V电压,相电流高达2.5A。L298(或XQ298,SGS298)的逻辑电路使用5V电源,功放级使用546V电压,下桥发射极均单独引出,以便接入电流取样电阻。L298(等)采用15脚双列直插小瓦数式封装,工业品等级。H桥驱动的主要特点是能够对电机绕组进行正、反两个方向通电。L298特别适用于对二相或四相步进电机驱动。方案二:ULN2003A芯片,它是一个7路反向器电路,即当输入端为高电平时ULN2003A输出端为低电平,当输入端为低电平时ULN2003A输出端为高电平。也可以作为一些器件,如步进电机的驱动电路。它具有价格低廉的特点。本设计使用的步进电机功率较小,从性价比来考虑,选用方案二的ULN2003A芯片作为单片机的驱动芯片。2.2. 智能广告控制系统方案本设计的核心为单片机控制模块,通过单片机协调各模块之间的运作。通过步进电机的转动可以自动输出多种广告画面。通过人体感应模块自动识别广告窗前是否有人,若广告窗前有人,则通过语音模块播放语音,没人时,则继续滚动广告画面。由于加入的时钟芯片,海报的展示时间可以调节,时钟芯片DS1302采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力,即使在断电的情况下也能使计时准确。其中开机时间、关机时间通过键盘来进行调节。以上功能通过以下模块:单片机模块,时钟模块,人体检测模块,液晶显示模块,语音模块,步进电机驱动模块,键盘和电源即可满足设计要求。本系统的电路设计方框图如图2.1所示:1、电源为5V直流电;2、时钟模块采用DS13023、热释红外感应模块4、微型控制器部分芯片采用单片机STC89C52;5、显示部分采用LCD1602显示屏来显示;6、步进电机驱动用ULN2083组成;6、语音模块采用WT588模块;8、按键用来调节开、关机时间值。时钟模块DS1302 02单片机STC89C52显示屏LCD1602电源 按键人体检测模块步进电机驱动模块语音模块图2.1 系统原理框图第三章 系统硬件设计3.1 单片机设计方案单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机是微型计算机的主要分支,它的结构中最重要的特征是把CPU,存储器,定时器,和各种电路集成在单个超大规模集成芯片上。在其组成和功能而言,在单一的芯片上组成了一台计算机。单片机具有如下特点:有优异的性能价格比;1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功耗、低电压,便于生产便携式产品;4 外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;5 单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。因此,单片机被广泛用于智能电表,机电一体化,实时控制,分布式多处理器系统,以及人们的生活各个角落。单片机应用具有十分重要的意义,它已经从根本上改变了传统控制系统的设计思路和方法。大多数过去的必须是功能性的模拟电路或数字电路实现的功能,单片机的软件已能够全部实现。由软件代替硬件控制技术,是生产控制技术的一场革命。7使用单片机的智能性,电子时钟可以很容易地设计成具有智能功能的。微控制器有一个时钟振荡系统,微处理器系统利用时钟定时器/计数器功能来实现电子时钟功能。然而,这种设计系统时钟误差较大时,累积误差也更大,因此它可以通过纠错软件进行修正,或添加设计高精度时钟日历芯片,以达到精确的时间。还有很多不同的微控制器功能都是兼容的,这就比较容易实现产品的多功能性。目前在单片机系统中,广泛使用8XC5X主微处理器芯片微控制器系列。该设备是标准MCS- 51内核,兼容的硬件资源,种类齐全,功能完善,性能稳定,体积小,价格低,货源充足,方便调试和编程,所以应用广泛。例如,常用的STC89C52单片机,具有8KB闪存可编程可擦除只读存储器(EEPROM)的低电压,高性能CMOS8位微型计算机。有32个可编程I/ O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,可直接驱动LED输出。系统内部的闪存芯片可适于允许程序或用常规的非易失性存储器编程到程序。因此,STC89C52是一款功能强大,灵活性高和价格合理的单芯片,可在各种控制领域很容易地应用。STC89C52具有以下主要性能:1. 8KB可改编程序闪存存储器;2. 全静态工作:024MHz;3. 1288字节内部RAM;4. 32个外部双向输入/输出(I/O)口;5. 6个中断优先级; 2个16位可编程定时计数器;6. 具有可编程的串行通道;7. 内部时钟振荡器。此外,STC89C52的设计采用静态逻辑,工作频率可以降低到0Hz,并提供两个可用软件进行选择的省电模式 - 空闲模式和掉电模式。在空闲模式下,CPU停止工作,而RAM,定时/计数器,串行口和中断系统继续工作。在掉电模式下,片上振荡器停止工作,因为时钟是“冻结”,使所有功能都暂停,保存的片内RAM只有内容,直到下一个硬件复位。8单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。1. 复位电路复位电路有两种方式:上电复位和按钮复位,我们主要用上电复位方式。如图3 .1所示。图3.1 时钟和复位电路2. 晶振电路单片机系统的晶体振荡器在单片机系统中的作用是非常大的,整个部分被称为晶体振荡器,他结合了微控制器MCU的内部电路来产生所需的时钟频率,单片机振荡器的频率时钟越高,那么MCU的运行速度就更快速,单片机实现所有的指令都是基于振荡器时钟频率。在正常工作条件下,一个普通的晶振频率绝对精度可达百万分之五十。有的精度更高。晶振通常与锁相环电路一起使用,以提供所需的系统时钟频率。如果不同子系统需要不同频率的时钟信号,可以用同一个晶振相连的不同的锁相环来提供。根据技术手册:电容取30PF,晶振为11.0592MHz3.2 时钟日历芯片设计DALLAS公司推出的DS1302是一款高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用与CPU的SPI同步通信三线接口,并采用突发方式传送多个字节的时钟信号和数据RAM。实时时钟提供秒,分,小时,天,周,月和年,一个月超过31天少可以自动调整,且具有闰年补偿。 2.55.5V的宽工作电压。双电源(主电源和备用电源),可设置备用电源充电模式,提供了后备电源涓流充电电流的能力。有双主用和备用电源引脚,并通过一个大电容的备用电源(1F)代替。应当强调的是,DS1302需要使用32.768KHz晶体。9 DS1302引脚说明:DS1302引脚图参照图3.2。图3.2 DS1302芯片引脚图在编程过程中,应注意DS1302工作时序。DS1302是SPI总线驱动器方式。这不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。与DS1302的通信,首先需要了解它的控制字。DS1302的控制字如表3.1。寄存器名称765432101RAM/CKA4A3A2A1A0RD/W秒寄存器10000000/1分寄存器10000010/1小时寄存器10000100/1日寄存器10000110/1月寄存器10001000/1星期寄存器10001010/1年寄存器10001100/1写保护寄存器10001110/1慢充电寄存器10010000/1时钟突发寄存器10101110/1表3.1 DS1302控制字(即地址及命令字节)控制字是设定DS1302的工作方式、传送字节数等工作方式。数据的传输都是由控制字开始的。控制字每一位的含义和作用如下:1. BIT7:控制字的最高有效位,必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。2. BIT 6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;3. BIT 5至BIT 1(A4A0):用A4A0表示,定义片内寄存器和RAM的地址。定义如下:当位6位= 0,该地址被定义时钟和其它寄存器。 A4A0= 06,秒,分钟,小时,天,月,周,年寄存器的顺序。当A4A0 =7,芯片写保护寄存器地址。当A4A0=8,选择为慢充电参数。当A4A0 =31,突发模式时钟选择寄存器。当位6=1,地址的RAM中的定义,A4A0= 030,对应的RAM每个子地址,RAM地址31对应于所述多字节模式选择寄存器。4. BIT 0 0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。 控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。DS1302的1脚接电源正极,2、3脚接一个走时的晶振,4脚接电源负极,5-7脚与单片机的P34、P35、P36相连,8脚接纽扣电池的正极。具体电路如图3.3所示:图3.3 DS1302时钟芯片原理图3.3 语音模块电路的组成WT588D是一款具有单片机内核的语音芯片,因此,可以冠名为WT588D系列语音单片机。本设计采用按键控制模式用三极管代替按键对语音模块进行触发控制。WT588D的3、4脚是PWM输出端口,直接可以驱动小功率的喇叭,这里接的是一个0.5W8的喇叭;8脚与电源负极相连;12、13脚是触发端,分别和三极管Q1、Q2的集电极相连,当三极管导通时,对应的语音就会播报,三极管的控制信号取自单片机的P24、P25;14和16脚与3.3V的电源相连,为语音模块提供电源。具体电路如图3.4所示:图3.5 语音模块电路原理图3.4 LCD显示电路显示电路采用1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块5。 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。1602的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:清屏、左移右移、光标显示。而且1602显示的字符在下一条指令为到来之前不会改变,也就是能够维持显示的字符,1602液晶占用的系统资源也少。RS是复位脚与单片机的P10相连,控制线RW、E分别是数据和片选线,分别与单片机的P11、P12相连,LCD1602的数据接口DB0DB7和单片机的P0口相连。电阻R1的作用是调节提供给驱动器的供压,从而调节液晶显示的对比度。电阻R2的作用是背光板的限流电阻,调节此电阻的大小可以调节液晶显示的亮度。 显示电路图如图3.5所示:图3.5 显示电路原理图3.5 键盘控制系统的设计按键需要4个,分别是:S1返回按键,从设定菜单返回上一级菜单,直至主界面;S2加数键,调整选中的数值,短按为加1,长按超过1秒为连加;S3减数键,调整选中的数值,短按为减1,长按超过1秒为连减;S4 菜单键,进入设定菜单。4个按键分别与单片机的P20-P23相连接,按键按下时,相应的单片机端口被拉低为低电位。其电路如图3.6所示:图3.6 按键调时电路3.6 步进电机驱动电路步进电机驱动电路以ULN2803 为核心,它的公共端10脚接电源正极,9脚接电源负极,输入脚1-4脚分别与单片机的P14-P17口相连接,输出端15-18脚与步进电机的4根相线相连,步进电机的公共端接电源正极。具体电路如图3.7所示:图3.7 步进电机驱动电路3.7 人体检测电路人体感应模块,就是热释电红外的传感器模块,是一种能检测人或动物发射的红外线而输出电信号的传感器,它在很多应用领域中都有着广泛的应用,比如:在房间无人时会自动停机的空调机、饮水机。电视机能判断无人观看或观众已经睡觉后自动关机的机构。开启监视器或自动门铃上的应用。结合摄影机或数码照相机自动记录动物或人的活动等等。HC-SR501模块是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式。HC-SR501模块的内部原理图如图3.8所示:图3.8HC-SR501人体感应模块内部原理图 HC-SR501模块的3脚与电源正极相连,1脚与电源负极相连,2脚输出端与单片机的P32相连,当检测到有人时,P32口被拉低为低电平。具体连接电路图如图3.9所示:图3.9单片机和HC-SR501模块原理图3.8 电源电路整个电路使用了三种电源,+5V电源为整个电路供电。而+3V电源仅作为DS1302的备用电源。当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。当+5V电源恢复供电,LCD依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。另外还有一个语音电路使用的+3.3V采用三端集成稳压器ASM1117-3.3作为电路的稳压电源。图3.10电源模块原理图第四章 系统软件设计4.1 编程软件 keil单片机开发中除必要的硬件外,同样离不开软件,用户写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种 是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。104.2主程序设计该控制系统的程序主要分为三部分:主程序、步进电机控制程序、键盘扫描子程序、显示子程序、时钟读写子程序、热体感应子程序和各种中断子程序。主程序完成系统的地址分配、系统初始化和各子程序的调用。软件设计是本控制系统设计的核心,在完成了系统硬件的搭接之后,剩下来的主要任务接是系统软件的设计。主程序主要有定义变量、初始化程序、各种子程序调用和报警控制程序组成,其流程图如图4.1所示:YY初始化NY语音输出调整子程序调用显示子程序是否执行?是否按键?调用键盘扫描子程序读人体传感器读时钟芯片开始NNYN图4.1 主程序流程图3 键盘扫描程序为了实现单个按键复用的效果,本设计采用状态机设计方法来编写键盘扫描程序,键盘扫描子程序利用时间中断程序,每隔10MS调用一次,监控键盘的状态。T0定时中断程序主要是实现10ms的定时时间,并且对变量DS进行加一处理,其中在对T0进行赋初值时,选择为TH0=0xdc,TL0=0x00,主要是c语言在经过反汇编后,一条c语句将会编译成几条语句,这样就增加了指令执行的时间,使定时产生误差,而在经过多次调试后,选择以上数值为T0初值是最接近10ms。键盘扫描流程图如图4.2所示: NNNYY返回键值2是否释放?是否1秒到?返回键值1是否抖动?无按键状态图4.2 键盘扫描流程图4.4 步进电机驱动子程序根据步进电机手册上提供的时序图,画出步进电机驱动子序流程图如图4.3所示:开始D相得电初始化端口A相得电B相得电C相得电返回 图4.3 步进电机驱动子程序4.5 LCD1602显示子程序LCD1602显示子程序流程图如图4.4所示:写指令1602初始化开始N写数据计数器为0?写数据Y结束图4.4 LCD602显示子程序流程图设计总结 通过数周的努力,本次课程设计的任务基于单片

温馨提示

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

评论

0/150

提交评论