版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时闹钟的设计学生姓名: 学生学号: 指导教师: 所在学院: 专业班级:2014 年 6 月信息技术学院课程设计任务书信息技术学院 院 专业 级,学号 姓名一、课程设计课题:定时闹钟的设计二、课程设计工作日自 2014 年_6_月15 日至2014 年7月 二_ 日三、课程设计进行地点:四、程设计任务要求:(详细内容见课程设计文档)1. 课题来源:指导老师下发2. 目的意义:此次设计的目的是培养同学们系统地运用已学的理论知识解决实际问题的 能力和查阅资料的能力,以及一定的自学能力和独立分析问题、 解决问题的能力, 能通过独立思考、查阅工具书、参考文献,寻找解决方案;通过完成所选题目的 分析与设
2、计,达到技术性能要求。3. 基本要求:设计基于单片机的定时闹钟,可以实现时分秒的显示、以及定时等基本功能。 能够设定定时时间,并实现修改定时的功能。定时时间到应能发出报警声。课程设计评审表指导教师评语:成绩:签字:日期:目录设计任务要求方案设计单元电路设计元件选择(要求计算元件参数)整体电路(标出原元件型号和参数、 画出必要波形图)说明软件程序设计困难问题及解决措施总结与体会致谢10 参考文献91. 设计要求1.1 目的:此次设计的目的是培养同学们系统地运用已学的理论知识解决实际问题 的能力和查阅资料的能力,以及一定的自学能力和独立分析问题、解决问题的 能力,能通过独立思考、查阅工具书、参考文
3、献,寻找解决方案;通过完成所 选题目的分析与设计,达到技术性能要求。1.2要求:1)2)3)设计基于单片机的定时闹钟,可以实现时分秒的显示、以及定时等基 本功能。能够设定定时时间,并实现修改定时的功能。 定时时间到应能发出报警声。1.3规定:设计硬件线路,用Protel画图。按单元电路详细说明硬件线路设计思路, 元件参数,选取根据。附详细的元件清单。 总结设计过程和设计体会。1.4 内容:这一次课程设计,所设计的是一个定时闹钟,能显示时 - 分- 秒,能够设计 定时时间,修改定时时间,并且定时时间到了能发出报警声。设计的部分分为 软件及硬件,软件部分写出闹钟的工作方式以及它是如何工作的,而硬件
4、部分 是软件的载体,画出正确的电路图然后在软件的控制下才能使设计的定时闹钟 正常工作。1.5 完成时间: 3 周。2.设计方案原理图3.各部分电路设计3.1主电路主电路主要就是芯片的运行,加载程序后,在外部时钟的作用下,将按照程 序运行,从而可以实现设计的要求,进行时钟时间和定时时间的调整,并且能够 在到达定时时间后控制蜂鸣器发出声响。19>XTAL118XTAL2RSTPO.O/AKP 0 1/ADIP0.2/AD2P0.3/AD3P0 4/AD4 P05/AD5 po.e/AcePD.7/AD73938373634 333229"30"31PSENALEP2吹P2
5、.1/A9P2.2/A10P2.3/A11P2.4;A12P3.5/A13P2.6yAl4P27/A152T边.盪"帀252627281 2"4 £/Bi.0<122.45.6P3.0ZRXDP3.1/TXDP3.2/iNTOP3.3/iNTrP3 4/raP3.5/T1P3.6 壁P37/RD10 1T13 I帀1516 17图1主电路3.2显示电路显示电路即可以让我们看到时间的调整和定时时间的调整,显示调整后的时 间。3.3内部时钟方式的电路单片机内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片 引脚XTAL1,输出端为引脚XTAL2。这两个
6、引脚跨接石英晶体和微调电容,构成 一个稳定的自激振荡器。时钟频率可以影响单片机的速度。单片机的各功能部件 的运行都以时钟控制信号为基准C1.20UFU119>XTAL1crystalme - i XTAL2图3内部时钟方式的电路3.4按键及蜂鸣器电路按键可以对时间进行调整,蜂鸣器可以在到达定时的时间时提醒我们。P 2.e/A14P2.7/AlflP3.D/RXDP 3 1/TXDP3P 3.3/iMTTP3.4ncP 3如P3.3®価t4'16-LSI-P - >|_ r P 1GrF&. PNP:T 匚丄:,、."图4按键及蜂鸣器电路4.元件选
7、择4.1 芯片 AT89C52AT89C52是ATME公司生产的低电压,高性能 CMO单片机.AT89C52提供 以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O 口线, 3个16位定时/计数器,一个 6向量两级中断结构,一个全双工串行通信口, 片内振荡器及时钟电路。同时,AT89C52可降至OHz的静态逻辑操作,并支持两 种软件可选的节电上作模式。空闲方式停止CPU的工作,但允许RAM定时/计数器.串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器 停止工作并禁止其它所有部件工作直到下一个硬件复位 .4.2 LCD显示屏1602液晶显示的原理
8、是利用液晶的物理特性, 通过电压对其显示区域进行控 制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大 规模集成电路直接驱动、易于实现全彩色显示的特点。晶模块内部的控制器共有 11条控制指令,如表所示:表3-1 :控制命令表序号指令RSR/W'D7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显小开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地0001字符发生存贮器地址址8置数据存贮器地址001显示数据存贮器地址9读忙
9、标志或地址01BF计数器地址10写数至U CGRA或DDRA M'10要写的数据内容11从CGRA或 DDRA读数11读出的数据内容指令3:光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电 平表示关显示C :控制光标的开与关,高电平表示有光标,低电平表示无光 标B :控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令指令指令5:光标或显示移位S/C :高电平时移动显示的文字,低电平时移动光标。6:功能设置命令DL高电平时为4位总线,低电平
10、时为8位总线N:低电平 时为单行显示F:低电平时显示5X 7的点阵字符。9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能4.3接收命令或者数据,如果为低电平表示不忙。蜂鸣器有源蜂鸣器是一种一体化结构的电子讯响器,是内部自带振荡电路,只需电 平驱动就可以发生的蜂鸣器,而与其对应的无源蜂鸣器内部则无振荡电路。5. 整体电路图见附图。6. 软件程序设计#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar code table1="00:00:00"s
11、bit Icde n=P 2八6 ;/位定义 sbit Icdrw=P 2八5;sbit Icdrs=P 2八4;sbit s1= Pao; sbit s2=Pai;sbit s3=P3A2;sbit bee p=P 3八7;/定义蜂鸣器 uchar num,co un t,s1 num;/显示的位数;响应中断数;按键次数;uint i;char shi,fen,miao,shi1,fen1,miao1;void delay(ui nt z)/ 延时程序uint x,y;for(x=z;x>o;x-)for(y=11o;y>o;y-);void write_com(uchar co
12、m)/控制指令lcdrs=0; /低电平时选择指令寄存器 lcdrw=0;/ 低电平时进行写操作delay(5);lcden=1; /E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令P0=com;delay(5);lcden=0;void wnte_data(uchar date)/数据指令lcdrs=1;lcden=1; /均为高时是读出数据的内容 delay(5);P0=date;delay(5);lcden=0;void init()/ 初始化lcdrw=0;lcden=0;delay(15);write_com(0x38);/设置为4位总线,单行显示 delay(5)
13、;write_com(0x38);delay(5);write_com(0x38);write_com(0x38);/重复多次以确定可以正确设置11write_com(0x08);/ 无光标正常显示write_com(0x01);/ 清显示write_com(0x06);/光标和显示模式设置 d1 1/D :光标移动方向,高电平右移d0 S:屏幕上所有文字是否左移或者右移。低电平表示光标闪烁write_com(0x0c);/显示开关控制。d2 D:控制整体显示的开与关,高电平表示开显示d1 C:控制光标的开与关,低电平表示无光标 B:控制光标是否闪烁,低电平不闪烁write_com(0x80+
14、1);d7 为高时,显示数据存储地址TMOD=0x11;工作方式3TH0=(65536-50000)/256;/定时时间为 50msTL0=(65536-50000)%256;EA= 1 ;/开总中断ET0=1;/打开定时器TR0=1;/启动定时器write_com(0x80+4) ;/秒的设定 for(num=0;num<8;num+)write_data(table1num);delay(20);write_com(0x80+0x40+4);for(num=0;num<8;num+)write_data(table1num);delay(20);void write_sfm(u
15、char add,uchar date)/调整时间uchar shi,ge;13if(s1 num=1)/ 按下次数ge=date%10;write_com(0x80+0x40+add);/控制指令,0x40:字符发生器RAM 地址设置进行加write_data(0x30+shi);/数据指令,功能设置命令 d4 DL :高电平时为4位总线d3 N :低电平时单行显示d2 F:低电平时显示5x7的点阵字符,高电平时显示 5x10 的点阵字符。write_data(0x30+ge);void write_shedi ngsfm(uchar add1,uchar date1)设定定时时间uchar
16、 shi1,ge1;shi1=date1/10;ge1=date1%10;write_com(0x80+add1);/ 控制指令write_data(0x30+shi1);write_data(0x30+ge1);void keyscan()if(s1=0)delay(5);if(s1=0)s1num+;while(!s1);/s1 按下TRO=O;/停止定时器工作 write_com(0x80+0x40+11);/调整时间设置,控制秒设定write_com(0x0f); /d3显示开关控制。d2 D:控制整体显示的开与关,高电平表示开显示d1 C:控制光标的开与关,高电平表示有光标 dO B
17、:控制光标是否闪烁,高电平闪烁if(s1num=2)write_com(0x80+0x40+8);/ 控制分钟设定write_com(0x0f);/控制光标闪烁if(s1num=3)write_com(0x80+0x40+5);/ 控制时设定write_com(0x0f);if(s1num=4)TR0=1;/启动定时器,定时时间的设定 write_com(0x80+11);/ 控制秒的设定write_com(0x0f);/ 光标显示if(s1num=5)write_com(0x80+8);/定时分钟的设定write_com(0x0f);if(s1num=6)15write_com(0x80+5
18、);/ 定时时的显示write_com(0x0f);if(s1num=7)s1num=0; / 按键次数清零write_com(0x0c) ;/显示此时为无光标状态if(s1 nu m!=0)/ 有按键时if(s2=0)delay(5);if(s2=0)while (!s2);if(s1num=1)miao+;if(miao=60)miao=0;write_sfm(10,miao)/第10位进行秒的设定 write_com(0x80+0x40+11);/ 控制秒的设定fen+;if(s1num=2)if(fen=60)16fen=0;write_sfm(7,fen);write_com(0x8
19、0+0x40+8);if(s1num=3)shi+;if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+5);if(s1num=4)TR0=1;/定时器启动 miao1+;if(miao1=60)miao1=0;write_shedingsfm(10,miao1);write_com(0x80+11);fen1+;if(s1num=5)18if(fen1=60)if(s1num=1)if(miao=-1)20fen1=0;write_shedingsfm(7,fen1);write_com(0x80+8);if(s1num=6)shi1+;
20、if(shi1=24)shi1=0;write_shedingsfm(4,shi1);write_com(0x80+5);if(s3=0)delay(5);if(s3=0)while (!s3);miao-;if(miao1=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+11);if(s1num=2)fen-;if(fen=-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+8);if(s1num=3)shi-;if(shi=-1)shi=23;write_sfm(4,shi);write_com(
21、0x80+0x40+5);TR0=1;miao1-;miao1=59;write_shedingsfm(10,miao1);write_com(0x80+11);if(s1num=5)fen1-;if(fen1=-1)fen1=59;write_shedingsfm(7,fen1);write_com(0x80+8);if(s1num=6)shi1-;if(shi1=-1)shi1=23;write_shedingsfm(4,shi1);write_com(0x80+5);22void main()/ 主函数init();/ 初始化函数while(1)keysca n();/键盘扫描if(co
22、unt=20)/响应中断20次,时间1scou nt=0;/ 清零miao+; 秒力卩1if(miao=60)/60 秒时分加 1miao=0;fen+;if(fen=60)/60 分时时加 1fen=0;shi+;if(shi=24)/24 时时时全为 0,从 00:00:00 开始计时shi=0;write_sfm(4,shi);/ 修改时write_sfm(7,fe n);/ 修改分write_sfm(10,miao);/ 修改秒if(shi=shi1)&&(fen=fen1)&&(miao=miao1)/ 蜂鸣器电路的运行for(i=0;i<10;
23、i+)bee p=0;/蜂 鸣器响delay(50);beep=1;delay(50);void timer0()interrupt 1/中断函数26TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;8. 总结与体会8.1 设计过程中遇到的问题及解决方法在设计的过程中遇到问题是不可避免的,我遇到了很多问题,如下所示;(1). 做实物时无法驱动数码管显示,后来了解到可以加锁存器,如 74LS253,74LS573 等等,还可以加三极管用来加大电流。当然如果换成液晶显示 屏的话就不需要考虑驱动不了的问题了。( 2).烧程序时没发烧进去,需要改变最
24、高和最低波特率,才能按照步骤把程序 烧进去。能。(3). 仿真时没问题的电路,在做好实物时发现无法运行。原因可能是程序出现 问题,或者在连实物时线路连接错误等等都有可能。这是很难的一部分,需要查 找出原因。在做实物的过程中我进行的很多检查,有很多连接错误,最终又重新 焊接的。(4). 复位电路在实物中可以运行,但是在仿真中不能正常运行。目前还未找到 原因。8.2 设计体会 这次设计中遇到了很多问题,例如刚开始我在在仿真时程序出现了每次按按 钮时总是显示测量时需要关闭仿真的字样,试了很多方法都没有找到原因,最后 才知道是因为按钮太近的缘故。很多类似的经历让我明白:(1). 在设计程序之前 ,务必
25、要对所学单片机课程的内容有一个系统的了解 , 知 道单片机片内片外的内容及其功能。( 2) . 设计程序关键要有一个清晰的思路和一个完整的软件流程图。模块化的 设计思想在程序设计中的作用是重大的,它可以为你提供一个比较清晰的思路, 并且很容易找到头绪,不至于在编写一个程序时感觉到无从下手。(3). 在设计程序时 ,不能妄想一次就将整个程序设计好 ," 反复修改 ,不断改进 " 是程序设计的必经之路。程序刚开始编好时,一般情况下会存在很多错误,要不 断地修改,不断的改进才能达到预期的目的,编写程序的时间并不是很长,主要 是花很多时间去修改程序。(4). 要养成注释程序的好习惯
26、 , 让人一看就能明白你的思路 , 这样也为资料的 保存和交流提供了方便。刚开始我在编写程序时,很不习惯于写注释,感觉很麻 烦,而且没用,但是在修改的过程中我就遇到了较大的麻烦,以至于不得不重新 的作了注释,以增加程序的易读性,从而使修改过程变得容易一些。总之,通过这次课程设计不仅使我巩固了本课程所学的基本知识,还使我具 有了撰写科研报告的初步训练能力,我相信这些能力在我以后的工作或者是再学 习中一定会起到不小的作用,一切的辛苦和艰难都是值得的。8.3 对设计的建议在设计前应该对所要实现的功能有一定的了解,定下有大概的流程图,把设 计模块化,写程序时也应该一个模块一个模块的写,这样方便理解,也
27、方便以后 的检查。在仿真和实物的过程中要了解所使用芯片的功能及引脚的排列方式,这 样焊接时比较方便。9.致谢本设计是在指导老师朱明杰的悉心指导和严格要求下完成的,朱老师多次询 问研究进程,并为我们指点迷津,帮助我开拓研究思路,并解答了我们许多的疑 问,在这里衷心感谢朱明杰老师。同时,我还要感谢同组同学对我的帮助和指点,没有他们的帮助和提供资料, 没有他们的鼓励和加油,这次毕业设计就不会如此的顺利进行。此次毕业设计历 时三个月,是我大学学习中遇到过的时段最长、涉及内容最广、工作量最大的一 次设计。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完 成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵阳档案智慧馆建设方案
- 试点先行人工智能+智能制造生产线研究报告
- 河北计算机岗2026事业单位面试自测卷习题汇编含答案
- 登封市2025-2026学年中考冲刺卷数学试题含解析
- 2026年经济与管理学基础与应用知识测试试题及答案
- 2026国铁集团考试题库及答案
- 海洋知识竞赛题及答案
- 2026年全国海船船员考试(轮机部船舶电气7101)综合能力测试题及答案
- 动物生理学练习题库(附答案)
- 污水厂安全培训试题及答案
- 广东深圳市龙岗区实验学校2026-2027学年度第一学期 七年级9月阶段性反馈英语试卷(含答案)
- 2026年鞍山市台安县事业单位面向应届毕业生公开招聘高层次急需紧缺人才15人笔试模拟试题及答案详解
- 2026年静疗专科护士考核考试题库(含答案)
- 2026中控证考试题库及答案解析
- 2026年版概论测试题及答案
- (2026年版)糖尿病患者合并心血管疾病诊治专家共识
- 无产权车位使用权转让协议书2026年模板
- ATA银行考试试题
- 自动驾驶车辆创投项目计划书
- 2026年国土空间规划中心下属事业单位选聘考试试题(附答案)
- 格力销售内部控制制度
评论
0/150
提交评论