基于单片机的时尚动感闹钟设计.docx
- 文档编号:24906545
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:12
- 大小:74.04KB
基于单片机的时尚动感闹钟设计.docx
《基于单片机的时尚动感闹钟设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的时尚动感闹钟设计.docx(12页珍藏版)》请在冰豆网上搜索。
基于单片机的时尚动感闹钟设计
摘要
本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机STC89C51为核心元件同时采用1602液晶显示器动态显示“时”、“分”、“秒”的现代计时装置。
另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
重要的是,本闹钟具有自动行走功能,当达到定时的时刻时会自动行走,同时LED灯闪烁报警,并发出声音提醒时间到,而本车具有避障功能,防止在移动过程中破损。
本系统通过稳压芯片转换后,为单片机提供电源,同时采用时钟芯片保障及时准确性,通过调节键盘来控制闹钟的设定,当达到设定的时间后,单片机驱动小车行走,同时进行声光报警,并在液晶上显示当前时间。
目录
一设计方案………………………………………………………1
二结构说明………………………………………………………2
三功能与使用说明………………………………………………3
四系统总设计方案………………………………………………4
4.1硬件系统设计方案……………………………………………4
4.2系统软件设计方案……………………………………………5
五创新点…………………………………………………………7
六软件设计………………………………………………………8
结束语……………………………………………………………12
参考文献…………………………………………………………13
一设计方案
随着生活水平的提高,人们越来越追求人性化的事物。
传统的时钟已不能满足人们的需求。
而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。
利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。
但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
多功能数字钟的应用非常普遍。
由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行校时、定时等功能。
输出设备显示器可以用液晶显示技术和数码管来显示技术。
本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机STC89C51为核心元件同时采用1602液晶显示器动态显示“时”、“分”、“秒”的现代计时装置。
另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
重要的是,本闹钟具有自动行走功能,当达到定时的时刻时会自动行走,同时LED灯闪烁报警,并发出声音提醒时间到,而本车具有避障功能,防止在移动过程中破损。
二结构说明
结构框图如下,本系统通过稳压芯片转换后,为单片机提供电源,同时采用时钟芯片保障及时准确性,通过调节键盘来控制闹钟的设定,当达到设定的时间后,单片机驱动小车行走,同时进行声光报警,并在液晶上显示时间。
三功能与使用说明
1具有实时时间显示功能。
并具有断电保护功能
2具有闹钟功能,当到点小车会在屋内移动,可以达到唤醒睡懒者。
使用时通过按键设定即可,操作简单。
四系统总设计方案
(一)硬件系统设计方案
1.电源设计
由于小车运动时负载大,需要驱动力较大,且在运动时需要较大的稳定电流输出,以保证较长时间的行驶,故将性能较好的南孚电池通过稳压芯片7805,以获得稳定的5V电压输出。
如图1.1所示,电池电源通过7805的IN口,经OUT口输出,图中C1,C2,C3为滤波作用,同时分出的6.5V又可接电机以获得较大速度,在保证系统工作正常的同时使小车较快行驶。
图1.1电源原理图
2.驱动电路设计
电机的左右轮分别由两个独立的电机驱动,通过控制两个电机正转时间的不同,实现小车的前进和左右的方向选择。
应用L298N进行电机驱动,如图3.2.1所示,IN1和IN2控制小车左轮并且通过ENA控制占空比,这样能控制小车的左轮驱动能力。
IN3和IN4控制小车右轮并且通过ENB控制占空比来控制小车右轮的驱动能力,以达到调节速度的要求。
输出端OUT1和OUT2接左轮,OUT3和OUT4接右轮,前进时,两轮驱动能力相同,左转时,右轮比左轮驱动力强,右转时,同理。
而二极管的引入能够起到保护电机的作用。
图2.1电机驱动原理图
3.红外避障设计
本系统采用红外反射传感器,这种传感器使用方便且性价比价高,闹钟小车车装有红外避障模块,通过红外传感器对前面行驶的障碍物进行避障检测,从而控制小车的行驶速度。
当检测到前方一定距离内有障碍物时,车开始减速,以达到避障的目的。
4.液晶显示设计
采用1602LCD液晶显示,显示的内容较丰富,且画面稳定不闪烁,抗干扰能力强,程序控制简单,且功耗低符合环保节能的实际电路特征要求。
图3.1液晶显示原理图
5.时钟芯片设计
本系统采用Ds12c887作为实时时钟芯片,其功能丰富,且能够自动产生世纪、年、月、日、时、分、秒等时间信息,同时内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久。
图3.2时钟芯片图
(二)系统软件设计方案
系统软件设计如图1.1所示,分为电源设计、红外避障设计、电机驱动设计、液晶显示模式设计。
图4.1软件系统框图
(三)整体电路图
五创新点
1这种闹钟的恐怖之处在于,它响的时候会四处乱窜,但却不会碰到墙壁,这样你就没法关掉它——至少你还在床上的时候不行,所以说这个闹钟绝对懒虫的克星,而且会边跑边播放音乐,保证叫醒熟睡的你。
2报警灯设计成了“心形”,并用了红,绿,蓝三种颜色的发光二极管,当定时时间到时,跑马灯交替闪烁,给人一种视觉的美感。
闹铃选择了用“生日快乐歌”(当然,其它歌曲也行),整个作品突出了人性化的特点。
3蔽障选择了用红外对管,与一般用超声波蔽障相比,大大的降低了作品的成本,有利于实现低成本的生产。
4将闹钟和玩具车巧妙的结合在了一起,这是以往很多闹钟产品所没有想到的。
如果做成产品大批量销售,市场前景一定很好
六软件设计
#include
#include"delay.h"
#include"1602.h"
#include"key.h"
#include"display.h"
#include"che.h"
#defineSYSCLK16000000/8//SYSCLKinHz(16MHzinternal
#defineTIMER_PRESCALER12//BasedonTimerCKCONsettings
#defineTIMER_TICKS_PER_MSSYSCLK/TIMER_PRESCALER/1000
#defineAUX1TIMER_TICKS_PER_MS
#defineAUX2-AUX1
#defineLED_TOGGLE_RATE1000//LEDtogglerateinmilliseconds
#defineTIMER0_RELOAD_HIGHAUX2//ReloadvalueforTimer0highbyte
voidPort_Init(void);
voidTimer0_Init(void);//Timer0initializationroutine
unsignedintvalue;
ucharpage,shi,fen,miao,count,ashi,afen,amiao;
sbitshan1=P1^6;
sbitshan2=P1^7;
sbitbeep=P1^4;
ucharflag;
voidTimer0_Init(void)
{
TH0=TIMER0_RELOAD_HIGH;//ReinitTimer0Highregister
TL0=TH0;//SettheintialTimer0value
ET0=1;//Timer0interruptenabled
TMOD=0x02;//16-bitModeTimer0
TR0=1;//Timer0ON
}
voidPORT_Init(void)
{
XBR2=0x40;/*使能交叉开关*/
P1MDOUT=0xff;
P2MDOUT=0xff;
P3MDOUT=0x9f;
}
voidmain()
{
WDTCN=0xde;
WDTCN=0xad;//禁止看门狗定时器
PORT_Init();
init();
display();
Timer0_Init();//InitializetheTimer0
EA=1;
while
(1);
{
key();
if(miao==60)
{
miao=0;
fen++;//分//
}
if(fen==60)
{
fen=0;
shi++;
}
if(shi==24)//时//
shi=0;
if(amiao==60)
{
amiao=0;
afen++;
}
if(afen==60)
{
afen=0;
ashi++;
}
if(ashi==24)
ashi=0;
write_sfm(0x40+12,miao);
write_sfm(0x40+9,fen);
write_sfm(0x40+6,shi);
write_sfm(12,amiao);
write_sfm(9,afen);
write_sfm(6,ashi);
while((amiao==miao)&(afen==fen)&(ashi==shi)&(miao>0))
{
display1();
beep=0;
if(flag==0)
{
deng();
deng();
deng();
flag=1;
}
if((shan1==1)|(shan2==1))
bizhang();
else
qianjin();
}
}
}
voidTimer0_ISR(void)interrupt1
{
staticintcounter=0;
if((counter++)==LED_TOGGLE_RATE)
{
miao++;
counter=0;
}}
结束语
通过本次设计,复习巩固我们以前所学习的数字、模拟电子技术、单片机原理及应用等课程知识,加深对各门课程及相互关系的理解,并是理论知识系统化、实用化,系统地掌握微机应用系统的一般设计方法,培养较强的编程能力、开发能力。
同时,在这次课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在实践中,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
参考文献
[1]郭天祥.51单片机C语言教程.北京:
电子工业出版社,2011.
[2]阎石.数字电子技术基础.北京:
高等教育出版社,2010.
[3]童诗白,华成英.模拟电子技术基础.北京:
高等教育出版社,2010.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 时尚 动感 闹钟 设计