第一范文网 - 专业文章范例文档资料分享平台

数字电子钟课程设计报告

来源:用户分享 时间:2025/10/4 6:39:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

bit b_KeyShock=0; //键盘防抖动标志位。

//当按键中断产生时,首先判断此位。 //0--执行键盘扫描及键码处理程序;1--不执行。

bit b_KillShock=0; //防抖标志清除位:0--不清除;1--清除。

unsigned char uc_KillCount=1; //抖动标志清除计数,使用定时器1。

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//<<<<<<<<<<<<<<<<<<<<<<键

志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bit b_KeyScan=0; //0--不扫描; //1--扫描。

/<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

定时刷新时

间>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

TIME stCurrentTime; //存储从DS1302获取的时间,以及显示字符串。

bit b_TimeRefresh=0; //定时刷新标志。 unsigned char uc_TimeRefresh=0; //定时刷新计数。 void main() {

vdInitialize(); //初始化LCD。 vDSInitialize(); //初始化DS1302。 SCANPORT=0x0F; //初始化键盘。

vWriteCMD(0x81); vShowChar(\ vWriteCMD(0xC1); vShowChar(\

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中断0,用于开启键盘扫描及键码处理标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IT0=1; // 中断方式:下降沿。 EX0=1; // 开启外部中断。

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定时器1,用于防抖动标志清除 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TH1=TIME1H; TL1=TIME1L;

TR1=1; //开启定时器1 ET1=1; //开定时器1中断 EA=1; while(1) {

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

定时刷新时

间>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

if(b_TimeRefresh==1) //没900ms执行1次,刷新LCD时间显示。 {

b_TimeRefresh=0; //恢复标志。 vDSGetTime(&stCurrentTime); //获取当前时间

并将其存入指定数组。

vDateString(&stCurrentTime); //生成日期字符串。 vTimeString(&stCurrentTime); //生成时间字符串。 vWriteCMD(0x86); //向LCD写入当前时间。

vShowChar(stCurrentTime.ucaDateString); vWriteCMD(0xC6);

vShowChar(stCurrentTime.ucaTimeString); }

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<键盘扫描及键码处理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

if(b_KeyScan==1) //如果有按键按下,则进行按键扫描和键码处理。 {

b_KeyScan=0;

vKeyProcess(ucKeyScan());

搜索更多关于: 数字电子钟课程设计报告 的文档
数字电子钟课程设计报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8z9ni48pot48fsc2a7r62i4cx3q5al00q81_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top