电子钟pic16f887单片机课设报告+完整程序

电子钟pic16f887单片机课设报告+完整程序

ID:3702948

大小:314.00 KB

页数:34页

时间:2017-11-23

电子钟pic16f887单片机课设报告+完整程序_第1页
电子钟pic16f887单片机课设报告+完整程序_第2页
电子钟pic16f887单片机课设报告+完整程序_第3页
电子钟pic16f887单片机课设报告+完整程序_第4页
电子钟pic16f887单片机课设报告+完整程序_第5页
资源描述:

《电子钟pic16f887单片机课设报告+完整程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、==《PIC单片机》课程设计学生姓名:学号:专业班级:2011级电气指导教师:江和二○一四年六月五日34-34-目录1.课程设计题目和要求……………………………………………32.设计方案…………………………………………………………33.硬件设计及说明…………………………………………………34.软件设计及说明…………………………………………………85.实验验证…………………………………………………………116.实验小结及感想…………………………………………………1334-34-1.课程设计题目和要求1.1课程设计的性质和目的《PIC单片机课程设计》是电气工程

2、及其自动化专业及相近专业的一门重要的专业实践课,本课程在《PIC单片机》课程的基础上,通过硬件设计与软件编程与调试的实践,进一步掌握PIC单片机的应用方法,熟练PIC单片机的C程序的编写与调试,是毕业设计前的一次重要的实践,为今后走上工作岗位打下坚实的单片机应用基础。对于电力电子方向学生以后制作电源有很重要应用.1.2课程设计内容和要求设计一个具有完整功能、有一定工作量与一定难度的单片机应用线路,并绘制能用于仿真的proteus线路图,编制相应的单片机c语言,分别在proteus仿真界面和实物板上调试运行正确。最后用实物进行运行演示,并写出符合规范的课程设

3、计报告。2.设计方案利用PIC16F887单片机设计一个电子时钟,通过IIC通信将DS1307时钟芯片的时间和TC74温度传感器的温度值用1602LCD液晶屏显示。同时,可以完成修改时间和整点报时等等附加功能.同时能够进行电子钟和密码锁的功能切换,使得该电子钟能够得到更多的实际应用.3.硬件设计及说明3.1硬件设计思路根据所要实现的预期功能,硬件必须要有最小系统模块、LCD显示模块、时钟模块、蜂鸣器模块、温度模块、按键模块等。根据所提供的实验板资料,设计了如下电路(proteus图):34-34-3.2最小系统最小系统包括16F887单片机、复位模块、4M

4、外部晶振、等部件组成如下最基本电路,其中芯片供电的引脚略去。本课设板所用的单片机为PIC16F887,是877A的升级,其主要参数与887A类似,但使用更为灵活、有的参数更为细化(如异步通信的波特率为双字节),功能更多,而价格比887A更低,887引脚与877A兼容.3.3LCD显示模块本设计采用字符型LCD:LM016L,和书上的LM041L使用方法基本一致,为了节省I/O口,采用4位接线法实验开发板上使用的是LCDYB1602A,有关编程,主要要点为:(1)数据使能端E的控制,高电平变为低电平时写入;(2)4位数据线的写入方式,要分别将高4位和低4位写

5、入;(3)注意检测LCD忙状态和刷新频率.34-34-3.4时钟和温度模块选用始终芯片DS1307、温度芯片TC74,皆通过IIC和单片机通信,时钟芯片带备用3V电池,电阻RA4和RA5设置为数字电阻。DS1307是实时时钟芯片,它提供秒、分、时、日、月、、年和星期等数据,并能自动计算闰年至2100年。通常时钟芯片是要接备用电池,当主电源掉电时,备用电源为DS1307提供维持电源,此电源只供DS1307使用,此时时钟仍正常运行,时钟晶振是典型的32.768kHz。主要注意点为IIC通讯地址不要错误.34-34-3.6按键模块采用4*4矩阵按键实现实现时间的

6、设定,修改切换和修改加减等功能,实际上仅使用了第一列的按键,由于本人希望能够进行密码锁和电子钟的切换,所以保留了4*4按键.编程中主要注意按键消抖时间的设置和RB0口弱上拉功能.34-34-3.7其他模块本设计还能够实现整点报时和密码控制门开关功能,故加上了蜂鸣器模块和电机模块.34-34-1.软件设计及说明4.1程序设计思路初始化程序成功后,循环从时钟芯片、TC74里面读出数值并显示,判断时间是否为闹钟时间,同时通过查询的方式判断按键是否按下并进行相应的操作。可以通过查询的方式修改时间和闹钟,并且把闹钟的设定值显示在LCD屏幕上。4.2主函数流程图和程序

7、初始化I/O、IIC、LCD、DS1307LCD显示开机时间温度值按键按下?进入修改模式修改时间整点?整点响铃主函数流程图34-34-4.3显示模块初始化模块后,通过指令:LCD_WRITE(LINEX+Y,COM);LCD_WRITE(STR,DAT);实现LCD的写和显示,LINEX表示X行,Y表示X行的第Y个字符,STR代表字符的对应码值,COM表示写指令,DAT表示写数据。主要注意点为每次读取和输入需要检查LCD是否忙:voidLCD_BUSY(void);4.4时钟和温度模块始终和温度模块的实现首先要进行正确的IIC初始化:voidIIC_CSH

8、()时钟程序要通过编写和调用始终读写子程序实现:voidDS130

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

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

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