专业课程设计定时打铃器.doc





《专业课程设计定时打铃器.doc》由会员分享,可在线阅读,更多相关《专业课程设计定时打铃器.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计定期打铃器设计 课程名称: 专业课程设计 学院名称: 南昌航空大学科技学院 专业: 电子信息工程 班级: 1482052 学号: 姓名: 彭少锟 同组人: 刘晶晶 指引教师: 评分: 20 17 年 6 月 19 日摘 要当代社会定期打铃器已广泛用于各种私人和公众场合,成为咱们生活、工作和学习中不可缺少好帮手,因而研究实用性更强电子闹钟具备十分重要意义。本设计是基于单片机电子钟设计,不但具备时分秒显示功能,还具备定期打铃和倒计时功能,实用性非常强。电子钟计时某些采用AT89S52单片机内部定期器实现,而显示功能是采用液晶模块LCD1602来实现,该定期打铃器可以让使用者通过按键来轻松选
2、取功能菜单和调节时间,具备非常良好地人机界面。核心词:定期打铃器;倒计时;AT89S52;液晶LCD1602;按键目 录1 设计规定12 方案论证12.1 计时方案选取12.2 显示方案选取12.3 按键功能方案设计12.4 批示灯和响铃方案设计23 系统构成24 硬件设计24.1 单片机最小系统设计24.2 显示电路设计44.3 蜂鸣器电路设计44.4 按键电路设计55 软件设计55.1 走时某些55.2 定期打铃检测某些65.3 键盘扫描某些65.4 液晶某些75.5 流程图76 仿真设计117 系统调试及成果117.1 软件调试117.2 硬件调试137.3 调试成果138 总结13参照
3、文献14附 录151 设计规定1.显示时钟格式:*时*分*秒。2.可任意设定期间达到定期控制,定期点至少有两个3.可对设定期间进行存取,实现掉电保护功能。3.定期时间到,打铃一分钟,自动关闭打铃继续计时。2 方案论证2.1 计时方案选取1、采用专门时钟芯片,例如美国DALLAS公司推出DS1302实时时钟芯片,它工作电压为2.5V-5.5V,采用三线接口与CPU进行同步通信,并可采用突发式一次传送各种字节时钟信号或RAM数据,长处是高性能、低功耗,可以对年、月、日、周日、时、分、秒进行计时,具备闰年补偿功能,但DS1302存在时钟精度不高,易受环境影响,浮现时钟混乱等缺陷,并且会增长电路硬件复
4、杂性。2、采用AT89S52单片机内部定期器,51系列单片机内部有两个16位定期器/计数器,简称定期器0和定期器1,简称T0和T1,设立T0工作在模式0状态下,每隔50ms中断一下,中断20次正好是1秒。用此办法长处是可节少硬件设计,计时精度高,缺陷是软件编程略显复杂。总结:综合两种方案优缺陷,以及本次课设规定,选取第二种方案是用单片机内部定期器。由于使用该方案不但可以节约硬件成本,还可以更锻炼自己使用单片机内部定期器和C语言编程能力。2.2 显示方案选取1、使用LED数码管,由各种发光二极管封装在一起构成“8”字型器件,引线已在内部连接完毕,只需引出它们各个笔划,公共电极。它可以在低电压、小
5、电流条件下驱动发光,发光响应时间极短,单色性好,亮度高,但是数码管显示内容单一,引脚与单片机I/0连接复杂。2、使用液晶LCD1602,液晶显示原理是运用液晶物理特性,通过电压对其显示区域进行控制,有电就有显示,LCD1602是字符型液晶显示模块,它是一种专门用于显示字母、数字、符号等点阵式LCD,并且显示质量高,功耗小。缺陷是较数码管成本高。总结:数码管显示内容单一,液晶则比较丰富,并且数码管消耗电力会比液晶更高,若选取数码管硬件布线会较复杂,影响美观性,而选取液晶也不会超过经费支持。综合两种方案优缺陷,选取方案二液晶显示。2.3 按键功能方案设计依照题目设计规定,定义6个12*12mm按键
6、来选取系统功能菜单和调节时间,分别为K1、K2、K3、K4、K5、K6。各个按键详细功能如表2.1: K1选取调节时间菜单键及时增长键K4选取倒计时菜单键K2选取调节闹铃1菜单键及分增长键K5关闭闹铃响声键K3选取调节闹铃2菜单键及秒增长键K6确认键表2.1 按键功能表2.4 批示灯和响铃方案设计1、批示灯:综合设计规定和自我考虑,需要批示灯个数为4个,分别为电源批示,程序运营批示和两个闹铃批示。为了加以区别可使用不同颜色LED。2、响铃选取:采用经济合用蜂鸣器,它是一种一体化构造电子讯响器,采用直流电压供电,广泛应用于计算机、报警器、电子玩具、定期器等电子产品中作发声器件,并且驱动电路简朴,
7、由单片机一种I/O口外接一种三极管即可。3 系统构成通过以上计时方案选取和显示方案选取,拟定本设计电子闹钟计时方案为单片机内部定期,显示方案为液晶LCD1602。闹铃响铃来源选取经济合用蜂鸣器,并用按键来选取功能菜单和调节时间,用4个不同颜色发光二极管作为两个闹铃批示灯,程序运营批示灯和电源批示灯。因而系统构成框图如图3.1:LCD1602批示灯蜂鸣器AT89S52最小系统键盘 图3.1 系统框图4 硬件设计4.1 单片机最小系统设计单片机最小系统设计核心就是时钟电路和复位电路设计。1、时钟电路在这里使用单片机内部振荡电路,管脚XTAL1、XTAL2用来外接石英晶体和微调电容,如图4.1所示。
8、晶体可在1.212MHz之间选取,电容可在630pF之间选取。图4.1 时钟电路2、复位电路当振荡电路工作,并且在RST引脚加上一种至少保持两个机器周期高电平时,就能完毕一次复位。这里我使用按钮复位方式,如图4.2,运用RC微分电路产生正脉冲来达到复位目,该正脉冲持续时间不不大于两个机器周期。图4.2 复位电路4.2 显示电路设计此设计显示电路采用是液晶模块LCD1602,其为5V电压驱动,只有并行接口。其与单片机连接硬件电路如图4.3,其中D0-D7分别连接到单片机P0.0-P0.7,VSS接地,VDD接+5V电源,VEE经10K电位器接地,用于调节背光,RS端为向液晶控制器写数据/写命令选
9、取端,接单片机P2.1口,RW为读/写选取端,由于咱们不从液晶读取任何数据,故接地,E端为使能信号,接单片机P2.2口。图4.3 液晶连接电路4.3 蜂鸣器电路设计电路设计如图4.4,单片机P2.0脚通过限流电阻R与三极管基极相接,集电极接蜂鸣器。当P2.0引脚电平为0是,三极管导通,蜂鸣器工作,引脚电平为1时,三极管截止,蜂鸣器不工作。由于单片机口输出低电平时驱动能力比高电平强多,故三极管采用基极低电平导通PNP型三极管。图4.4 蜂鸣器驱动电路4.4 按键电路设计本次按键电路设计可直接将按键一端接到单片机I/O口,另一端直接接地。通过单片机检测低电平判断按键按下,K1-K6分别接至单片机P
10、3.0-P3.5。按键电路如图4.5:图4.5 按键电路5 软件设计软件设计重要包括显示走时、闹铃检测和键盘扫描三某些。5.1 走时某些走时某些重要有3个变量hour、min、sec和deda做为时钟时、分、秒和定期标志位,通过单片机内部定期器定期50ms,定期标志位deda加1,此过程在中断服务程序中完毕,当加满20次时,deda清零并且时钟秒sec加1,从而到达计时目。代码如下:void T0_srv(void) interrupt 1 TH0=0x3C; TL0=0x0B0; deda+;void conv() if(deda=20)sec+;deda=0; if(sec=60)min+
11、;sec=0;ok=1; if(min=60)hour+;min=0; if(hour=24)hour=0;5.2 定期打铃检测某些定期打铃检测某些重要变量有6个,hh1、mm1和flag1做为定期1时、分和开关标志位,hh2、mm2和flag2做为定期2时、分和开关标志位,当hh1=hour,mm1=min并且开关标志flag1=1时,定期1便可以执行响铃程序,当hh2=hour,mm2=min并且开关标志flag2=1时,定期2便可以执行响铃程序,在这个子程序中为了不影响正常走时时间,故加上走时函数time( )。代码如下:void alm_check1() while(alm_flag1
12、=1)&(hour=hh1)&(min=mm1)&(ok=1) time(); alm_led1=0; beep=beep;delay(40); if(k5=0) alm_led1=1;beep=1;ok=0; 5.3 键盘扫描某些键盘扫面某些是该软件设计中较复杂某些,用单片机I/O口检测低电平来判断与否有键按下,依照按下键值来执行相应子程序。在此某些增长一种标志变量ok做为子程序执行完毕标志变量,在子程序执行过程中当K6键按下,则ok=1,返回主程序。 while(1) time(); alm_check1(); alm_check2(); if(k1=0) set_time(); if(k
13、2=0) set_atime1(); if(k3=0) set_atime2(); if(k4=0) set_countdown(); 5.4 液晶某些液晶LCD1602做为本设计显示元件,其初始化程序如下:void TS1602_INIT(void)RS=0;write_com(0x38); /设立16*2显示,5*7点阵,8位数据接口write_com(0x0c); /设立开显示,不显示光标write_com(0x06); /写一种字符后地址指针自动加1write_com(0x01); /清屏5.5 流程图1、主程序流程图,如图5.1:图5.1 主程序流程图2、中断服务流程图:如图5.2:
14、图5.2 中断服务流程图2、时间流程图,如图5.3:图5.3 时间流程图3、闹铃检测流程图,如图5.4:图5.4 闹铃检测流程图4、键盘扫描流程图,如图5.5:图5.5 键盘扫面流程图6 仿真设计仿真设计是设计一种系统十分重要环节,在实际电路做好之前系统软件调试最佳选取。本次仿真设计采用是英国Labcenter electronics公司出版EDA工具软件Protues,在PROTUES绘制好原理图后,调入已编译好目的代码文献:*.HEX,可以在PROTUES原理图中看到模仿实物运营状态和过程。仿真电路图如下,图6.1:图6.1 仿真电路图7 系统调试及成果7.1 软件调试此时设计软件调试某些
15、重要在仿真软件Protues中完毕。一方面依照硬件设计在Protues中完毕原理图设计,拟定使用单片机哪些I/O口,然依照软件设计中流程图编写单片机C语言程序。结合题目规定模块化地编写程序,一方面编写走时程序,然后编写闹铃1、闹铃2、程序,最后完毕倒计时设计,在分模块化编写过程中,不断地依照仿真现象调试程序来修复软件编写错误。例如调试液晶显示问题,写指令write_com(0x80)将数据指针定位到第一行第一种字处,当写第二行时需要重新定位数据指针,写指令write_com(0x80+0x40)。再者,在显示倒计时时浮现走时时间不精确问题,故在倒计时变量解决程序中要加上正计时走时时间变量解决,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计 定时 打铃

限制150内