简易数字钟设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用文档 信息与电气工程学院 课程设计说明书 (2014 /2015 学年第二学期) 课程名称 : 单片机课程设计 题 目 : 简易数字钟设计 专业班级 : 学生姓名 : 学 号: 指导教师 : 设计周数 : 2 周 设计成绩 : 2015 年 6 月 25 日 . 实用文档 1 、课程 设计 目 的 (1)综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解, 获得初步的应用经验。 (2)学习AT89C51定时/计数器的原理及基本应用。 (3)掌握多为数码管动态显示方法。 (4)掌握Keil uVision2 IDE 的使用方法。【包括项目文件的建立,给项目添加程序件, 编译、连接项目,形成目标文件,运行调试观察结果,多文件的处理,仿真环境的设置。】 (5)掌握Keil C51 的调试技巧。【包括如何设置和删除断点,如何查看和修改寄存器的内容,如何观察和修改 变量,如何观察存储器区域,并行口的使用,定时器/计数器的使用,串行口的使用, 外中断的使用。】 (6)掌握PROTEUS 软件使用过程。 2 、 简 易 数 字 钟 的 要 求 及 软 硬 件 的 分 析 2.1 简 易 数 字 钟 的 设 计 要 求 利用电子电路构成一个简易数字钟,该数字钟电路主要由 C51 单片机、 4 位共阳极数码管、时计数、 分计数器、 蜂鸣器、 LED 灯、NPN 型和 PNP 型三极管、 按键、若干电阻和导线组成。 其中电路系统的 分计数器采用 60 进制,时计数器采用 24 进制,。译码器显示电路将时、 分计数器的输出状态通过三 个两位共阳数码管显示出来。整点报时电路根据计时系统的输出状态产生一个脉冲信号,用蜂鸣器输 出。相对机械钟而言,数字钟能达到准确计时,并显示小时、分钟,同时通过不同按键的不同功能对该数字钟进行小时和 分钟调整,也可通过按键来接她通蜂鸣器来发出响声。 2.2 数 字 钟 的 软件 分 析 2.1.1 数 字 钟 软 件 的 系 统 分 析 系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成 各种实 质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的 问题: (1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体 结构, 使软件开发清晰、简洁和流程合理; (2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调 试、 链接, 又便于移植和修改; (3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数; . 实用文档 (4)绘制程序流程图; (5)合理分配系统资源; (6)为程序加入注释,提高可读性,实施软件工程; (7)注意软件的抗干扰设计,提高系统的可靠性。 系统软件设计流程图 这次的数字电子钟设计用到很多子程序, 它们的流程图如下所示。 主程 序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加 1,如果没有按下,就检 测分 按键是否按下,分按键如果按下,分就加1,如果没有按下,就检测时按键是否按下, 时按键如果 按下,时就加1,如果没有按下,就把时间显示出来。 2.2.2 简易数字钟程序 #include regx52.h #define uchar unsigned char #define uint unsigned int sbit k1 = P3^5; //按键1 sbit k2 = P3^4; //按键2 sbit k3 = P3^3; //按键3 sbit k4 = P3^2; //按键4 sbit LED = P1^0; //LED显示 sbit beep = P3^6; //蜂鸣器 int m1 = 0, m2 = 0, m3 = 0, m4 = 0; //数码管要显示的数字 int time_n = 0; int smg_n = 0; int xz_flg = 0; //1s时间到标志位 //位选控制哪个数码管闪 //选择键是否被按下 int shi = 0, fen = 0; miao = 0; int zd_flg = 0; //整点标志 char duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//段 选编码0~9~null; //----------------------------------------------------- //本文件函数 void System_Init();//初始

文档评论(0)

小石头 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档