基于单片机的多功能电子钟

基于单片机的多功能电子钟

ID:40918425

大小:2.27 MB

页数:17页

时间:2019-08-10

基于单片机的多功能电子钟_第1页
基于单片机的多功能电子钟_第2页
基于单片机的多功能电子钟_第3页
基于单片机的多功能电子钟_第4页
基于单片机的多功能电子钟_第5页
资源描述:

《基于单片机的多功能电子钟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于单片机的多功能电子钟设计锦城08级电子系一、绪论为了初步掌握单片机编程的基本实现方法和思路,为了进一步熟悉嵌入式系统,为了将理论和实践充分的结合起来,为了积极响应学院提出的“社会实践活动”,在学院和老师们的大力支持下,我们队于2010年7月15日到8月10留校做智能电子钟。二、设计要求我们之所以选电子钟,是因为电子钟难度适中,涉及到模块也正是我们大二上学期ARM嵌入式ARM7中大部分功能。能对一学期所学知识作一个综合实践,并加强我们的自学能力。经过我们队的内部讨论及老师的建议下,我们提出所作的电子钟应具有以下功能:1、时间功能,待命模式下的时,分

2、,钞显示;2、日期,年,月,日,星期,带闰年补偿,每月天数调整;3、闹钟(和弦铃声),超过20首的铃声,用优美的旋律提醒用户;4、报时,设有专用的报时按钮,只需要轻按一下就可以听到即刻时间;5、按键输入,尽量减少按键,以降低操作复杂度,我们设计了必须的三个按键,一个报时按钮,一个模式切换以及一个调节按钮。三、设计内容3.1、硬件电子钟能否成功硬件是基本。所以我们对硬件作了认真仔细的选型。制板也采用模块化,为以后的设计节约开发成本。主要有核心板控制模块,数码管显示模块,按键输入模块,语音模块等。3.1.1、主控芯片MCU是整个电子表的灵魂,单片机种类繁

3、多,有C51,AVR,ARM等。C51:成本低,有DIP封装,可直接手工用万能板焊接,可节省对我们而言有点高的开板费。AVR:采用RISC指令,性价比最高,有DIP封装。ARM:处理器性能强劲,功能强大,只有贴片封装。还有一些其它种类,但由于市场占有率原因,我们没有选择。3.1.2、电源电源采有外接5V直流电源,内部二次稳压,未用电池。核心板要给芯片提供数3.3V,模3.3,1.8V电压,因此采用一块AMS1117-1.8V,以及AMS1117-3.3稳压。3.1.3、复位电路复位电路能使芯片回到一个确定状态运行,为最小系统必不可少部分,包括按键复位

4、和上电复位两种低电平复位功能。利用电容的充放电实现上电复位,电路如下:3.1.4、晶振晶振有CPU晶振以及RTC晶振,CPU晶振可用12M的,也可用11.0592M。区别在于能否精准地分到我们所用的频率。为减小焊接难度使用DIP封装。3.1.5、按键通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号小型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,

5、在很多场合都要用到。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法。硬件消拌:1、电路为开关串联一10K电阻,并在开关处并联电容,来从硬件上消除一定的机械抖动;2、接RS触发器消除机械抖动。3.1.6、语音芯片语音芯片为OSY6188,为语音合成芯片,能实时控制所发声音,包括发音文字,音量,声音类型,有无背景声音等,内置有和弦音乐,并能自

6、己编写。语音芯片使用UART与2103通信,本身也要构成一最小系统。电路图见附录:3.1.7、LED显示1、12864液晶显示;2、数码管显示;3.1.8、最终硬件方案1、LPC2103;2、外接电源;3、按键上电复位;4、12M,32768晶振;5、上电,按键复位;6、OSY6188;7、数码管6位8共阳极。我们设计更多地考虑了开发成本,而不是产品成本,很多部分都是可以将来复用,所以不是很适合规模生产,主要为学习进步所用。3.2、软件3.2.1、UART与语音由于我们要与语间芯片进行串口通信,所以用到了UART0。voidUART0_Init(vo

7、id)//对串口初始化{uint16Fdiv;PINSEL0=PINSEL0

8、0x05;//设置引脚连接到UART0U0LCR=0x83;//允许访问除数锁存寄存器Fdiv=(Fpclk/16)/UART_BPS;//设置波特率U0DLM=Fdiv/256;U0DLL=Fdiv%256;U0LCR=0x03;//设置串口的工作模式U0FCR=0x07;/*清空FIFO并使能FIFO*/}voidUART0_SendByte(uint8data)//向串口发送字节数据,使用查询方式{U0THR=data;while((U0LSR&0x40)==0);/

9、/等待数据发送完毕}voidUART0_SendStr(uint8const*str)//向串口发送字符串,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。