C语言数字钟(单片机).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数字钟(单片机)

源点教育项目报告 --教学部 项目名称 C语言数字钟 项目管理人 邓老师 硬件负责人 蒋伟伟 软件负责人 蒋伟伟 项目起动时间 项目完成时间 班级 MCU-16 学号 2 指导老师 邓老师 项目命题老师 邓老师 个人项目姓名 蒋伟伟 团队项目组成成员名单 无 一、功能要求: (1)、电路图对学员要求是一样,完整电路图请见原理图。 (2)、由图1所示:正常显示(上电显示)如下: (3)、● 按下key1第一次,显示如下: ● 再按下key1,则回到正常显示,依次类推。 (4)、在任何显示状态下,按下key1超过2秒,则进入设置状态,同时显示“时、分、秒”闪烁。 此时按下key2,“秒”闪,进入设置状态。 再按下key2,“分”闪,进入设置状态。 再按下key2,“时”闪,进入设置状态。 再按下key2,显示“星期、月{阳历}、日{阳历}”,同时“日{阳历}”闪,进入设置状态。 再按下key2,“月{阳历}”闪,进入设置状态。 再按下key2,“星期”闪,进入设置状态。 再按下key2,显示“年(四个数码管显示)”,同时“年”闪,进入设置状态。 再 (3)、● 按下key1第一次,显示如下: ● 按下key1第二次,显示如下: ● 再按下key1,则回到正常显示,依次类推。 (4)、在任何显示状态下,按下key1超过2秒,则进入设置状态,同时显示“时、分、秒”闪烁。 此时按下key2,“秒”闪,进入设置状态。 再按下key2,“分”闪,进入设置状态。 再按下key2,“时”闪,进入设置状态。 再按下key2,显示“星期、月{阳历}、日{阳历}”,同时“日{阳历}”闪,进入设置状态。 再按下key2,“月{阳历}”闪,进入设置状态。 再按下key2,“星期”闪,进入设置状态。 再按下key2,显示“年”,同时“年”闪,进入设置状态。 再 ● 电源电路分析: 直接用USB提供5V的电压 五、系统程序的设计: 系统程序设计的总体分析。 以下分析例题: (按快热式热水器的功能,系统程序必须实现显示扫描、按键扫描处理、加热控制和温度检测4项任务。此系统是多任务运行结构,所在采用整体结构采用分时复用方法。这样显示扫描、按键扫描和加热控制任务要求实时要求,而温度检测任务则可用定时(0.5s~1s)实现)。 4.1、主程序流程图。 4.2、键盘流程图 4.3、时间处理流程图 4.4、显示流程图 六、元器件清单及价格 元器件名称 元器件数量 元器件单价 总价 AT89C52 1个 7元 7元 7段数码管/电路板 6个/一块 0.5元/3元 6元 LED和电阻 若干 led.1元电阻0.01元 1元 总价 14元 七、项目心得和总结,有何创新,有何改进。 八、程序源代码。 //;=============================================== //;键盘接P1口,数码管数据接P2数码管接P3口,/ //;蜂鸣器接P3.6 p3.0/1控制年p3.2/3控制月p3.4/5控制日 //数码管是低电平选通 LED接P1.3/P1.4/P1.5(秒的闪烁) //======================================================== #include reg52.h #define uchar unsigned char #define uint unsigned int #define output P2 sbit Control_1=P3^0; sbit Control_2=P3^1; //控制第一组数码管 sbit Control_3=P3^2; sbit Control_4=P3^3; //控制第二组数码管 sbit Control_5=P3^4; sbit Control_6=P3^5; //控制第三组数码官 sbit beep=P3^6; //;蜂鸣器 sbit cMiaos=P1^5; sbit key1=P1^0; //按键扫描 sbit key2=P1^1; sbit key3=P1^2; uchar disp1,disp2,disp3;//显示缓冲区入口地址 uchar keyMode,keySet;//模式键和设置键 uchar key1Count,cDispCon,

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档