云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于PIC16F887单片机的数字钟课程设计报告

基于PIC16F887单片机的数字钟课程设计报告

  • 62 次阅读
  • 3 次下载
  • 2025/12/11 1:04:12

3.4 时钟和温度模块

选用始终芯片DS1307、温度芯片TC74,皆通过IIC和单片机通信,时钟芯片带备用3V电池,电阻RA4和RA5设置为数字电阻。DS1307 是实时时钟芯片,它提供秒、分、时、日、月、、年和星期等数据,并能自动计算闰年至2100年。通常时钟芯片是要接备用电池,当主电源掉电时,备用电源为DS1307 提供维持电源,此电源只供DS1307 使用,此时时钟仍正常运行,时钟晶振是典型的32.768kHz。

3.5 闹铃模块

闹铃模块是一个简单的喇叭通过放大器、限流电阻与16F887单片机连RC1接,通过单片机CCP2模块产生PWM使喇叭响起。

5

3.6按键模块

采用普通按键实现时间和闹钟的修改、设定,MODE键实现模式切换,SET实现位置的选择,其他两个按键是加减功能。按键可以采用电平中断,此时注意按下和放开都可能产生中断,也可以采用查询方式实现。

4.软件设计及说明 4.1程序设计思路

初始化程序成功后,循环从时钟芯片、TC74里面读出数值并显示,判断时间是否为闹钟时间,同时通过查询的方式判断按键是否按下并进行相应的操作。可以通过查询的方式修改时间和闹钟,并且把闹钟的设定值显示在LCD屏幕上。

4.2主函数流程图和程序

6

N Y 判断时钟是否运行? N 写入初始化时间 初始化端口、中断设置、LCD和IIC

显示时间、温度 判断当前时间是否为闹钟时间? Y 打开闹铃

4.3 显示模块

初始化模块后,通过指令:

LCD_WRITE(LINEX+Y,COM); LCD_WRITE(STR,DAT);

实现LCD的写和显示,LINEX表示X行,Y表示X行的第Y个字符,STR代表字符的对应码值,COM表示写指令,DAT表示写数据。

4.4 时钟和温度模块

始终和温度模块的实现首先要进行正确的IIC初始化: void IIC_CSH()

时钟程序要通过编写和调用始终读写子程序实现:

void write_DS1307(char addr,char data) void READ_DS1307(char addr,char n)

从时钟芯片读出的是BCD码,需要进行转换才可以送入LCD显示。

至于温度模块是比较简单的,设置好好就只需要定时从里面读数显示即可。显示温度需要注意当其值为负数时候需要进行取补码再显示,同时显示负号。

7

4.5闹铃模块

MODE键可以进行模式切换,当M=1时是时间设置模式,当M=2时是闹钟设置模式,为了确定主函数的循环体是否需要从DS1307读写数,必须设置一个flag标志位,当M=1或0时,flag=0,执行DS1307的读和显示;否则跳过,只进行闹铃设置,确保设置闹铃时候屏幕的数不会一直变化。当sect、hourt、mint与时钟芯片匹配时候开PWM程序,按任意键退出闹钟。这段程序比较有技巧,稍不注意就会出错:

void clock()

{ if(!mod||!set||!add||!miu)

4.6按键模块

采用查询方式的按键模块,要特别注意延时消抖和按键释放检测,M作为模式切换的标志位,a作为位置确定位,add、miu实现加减。一下给出部分检测消抖程序:

if(mod==0) {

delaynms(30);//消抖 if(mod==0) {

while(!mod);//等待按键释放 M++; if(M==3)

{ M=0;flag=0;f=0;

}

} }

{delaynms(30);

if(!mod||!set||!add||!miu); }

CCP2CON=0b00000000; //关PWM模式,按任意键退出

如上程序,比较时候要先比较秒,否则无法匹配,无法输出PWM.

8

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3.4 时钟和温度模块 选用始终芯片DS1307、温度芯片TC74,皆通过IIC和单片机通信,时钟芯片带备用3V电池,电阻RA4和RA5设置为数字电阻。DS1307 是实时时钟芯片,它提供秒、分、时、日、月、、年和星期等数据,并能自动计算闰年至2100年。通常时钟芯片是要接备用电池,当主电源掉电时,备用电源为DS1307 提供维持电源,此电源只供DS1307 使用,此时时钟仍正常运行,时钟晶振是典型的32.768kHz。 3.5 闹铃模块 闹铃模块是一个简单的喇叭通过放大器、限流电阻与16F887单片机连RC1接,通过单片机CCP2模块产生PWM使喇叭响起。 5 3.6按键模块 采用普通按键实现时间和闹钟的修改、设定,MODE键实现模

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com