- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息与电气工程学院
课程设计说明书
(2014 /2015 学年第二学期)
课程名称 : 单片机课程设计
题 目 : 简易数字钟设计
专业班级 :
学生姓名 :
学 号:
指导教师 :
设计周数 : 2周
设计成绩 :
2015年 6 月 25 日
课程设计目的
(1)综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验。
(2)学习A T 8 9 C 5 1定时/计数器的原理及基本应用。
(3)掌握多为数码管动态显示方法。
(4)掌握Keil?uVision2?IDE的使用方法。【包括项目文件的建立,给项目添加程序件,
编译、连接项目,形成目标文件,运行调试观察结果,多文件的处理,仿真环境的设置。】
(5)掌握Keil?C51的调试技巧。【包括如何设置和删除断点,如何查看和修改寄存器的内容,如 何 观 察 和 修 改 变 量,如 何 观 察 存 储 器 区 域,并 行 口 的 使 用, 定 时 器 /计数器的使用,串行口的使用,外中断的使用。】
(6)掌握PROTEUS软件使用过程。
简易数字钟的要求及软硬件的分析
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;
文档评论(0)