单片机课程设计数字时钟.docVIP

  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文档。上传文档
查看更多

PAGE/NUMPAGES

单片机课程设计报告

课题名称:数字时钟

一、设计目的:

随着半导体技术的不断发展,各种微处理芯片的性价比越来越高,在各个领域的应用也越来越广泛,其中MCU在工业控制、航天航空、民用家电、医疗设备等方面占有十分重要的地位。我们在之前所学习的MCS-51系统单片机就是MCU中的一员,作为低端的8位MCU它具有价格低、适配器件成熟种类多等优势,因此尽管现在32位、16位MCU不断发展,但8位的MCU仍占有大约50%的市场份额,同时它也是我们学习MCU的必要的入门途径,本次实习就是应用我们所学习的MCS-51单片机进行一次实际制作,要经过从硬件设计、软件设计、实验电路调试、软件调试直至最后作品焊接成型,这对以前我们所学习的理论知识进行进一步的巩固和深化,更重要的是学习以MCU为控制核心的应用的实际设计流程与基本的实践动手能力。

二、设计容

应用AT89S51与相关器件制做一个LED数码显示电子时钟。所需使用的软件与硬件具体容如下:

使用软件与器件

软件:KeiluVision2(IDE集成开发环境)、ELITE-IV单片机开发系统、protel99se

器材清单:

序号

名称

数量

备注

1

面包板

1

2

AT89S51

1

3

双位数码块

3

4

12M晶振

1

5

按钮

4

6

三极管9012

6

7

电容30p

2

8

电容104

1

9

电容10uf/10v

1

10

电阻100Ω

7

11

电阻10k

1

12

二极管4148

1

13

导线若干

三、实习步骤

根据实习容与所提供元器件,设计硬件电路,提供的参考电路见图1,也可自行设计

1)复位与晶振电路是单片机最小系统必备部分

2)三个按钮接在P3.0、P3.1、P3.2上用于调整时、分、秒

3)P2口送LED数码显示的段码

4)P1.0至P1.5送数码显示控制的位码

根据设计的硬件电路,在面包板上搭接实验电路

在硬件基础在keil上上进行软件设计,调试

调试通过后,向AT89S51烧写程序

将烧写好的AT89S51插接到实验电路中,验证是否正常,如果正常说明软、硬件正确可进行电子时钟焊接制做。

焊接好电子时钟后,再次上电调试,验证通过,实习圆满完成。

注意的问题:

单片机在锁紧座的正确放法:单片机缺口朝上。

在面包板上接好电路后,先用万用表测量一下电源与地是否会短路。

接电源调试时不能带电插拔元件

四、元件参数

1.9012

9012是一种最常用的普通三极管。

它是一种低电压,大电流,小信号的PNP型硅三极管

集电极电流Ic:Max-500mA

集电极-基极电压Vcbo:-40V

工作温度:-55℃to+

主要用途:开关应用、射频放大

2.89S51管脚图

3.双位共阴极数码块管脚图

a1b1

a1

b1

c1

d1

e1

f1

g1

dp1

a2

b2

c2

d2

e2

f2

g2

dp2

a1

a

b

f

c

dp

e

d

g

com1

com

主程序流程图结束调按键处理程序按键处理调显示子程序启动定时器定时器初始化:时间常数、工作方式、中断控制位设置初始化:时、分、秒、定时最小单元设置初值开始显示程序流程图返回显示缓存地址指针加1,位码左移一位延时1MS段码送P2口,位码送P1口取显示缓存中数据查表取段码取显示缓存区首地址,设置位控制码初始值是否一轮动态显示结束?分数据转换BCD码存入缓存区秒数据转换BCD码存入缓存区取显示缓存区首地址开始时数据转换BCD码存入缓存区分调整键是否按下?延时去抖分调整键是否按下?秒数据清0秒是否为60?秒值加1秒调整键是否按下?秒调整键是否按下?延时去抖开始调显示子程序键盘处理程序流程图返回时是否为24?时调整键是否按下?时数据清0延时去抖调显示子程序时值加1秒是否为60?分数据清0调显示子程序分值加1时调整键是否按下?定时中断程序流程图中断返回时清零分清零,取时单元中数据加1时单元中数据是否为24?分单元中数据是否为60?秒清零,取分单元中数据加1秒单元中数据是否为60?50ms清零取秒单元中数据加150ms单元中数据是否为20?取50ms单元中数据加1重新加载时间常数开始ELITE-III系统硬件(V2.0)介绍

主程序流程图

结束

调按键处理程序

按键处理

调显示子程序

启动定时器

定时器初始化:时间常数、工作方式、中断控制位设置

初始化:时、分、秒、定时最小单元设置初值

开始

显示程序流程图

返回

显示缓存地址指针加1,位码左移一位

延时1MS

段码送P2口,位码送P1口

取显示缓存中数据查表取段码

取显示缓存区首地址,设置位控制码初始值

是否一轮动态显示结束?

分数据转换BCD码存入缓存区

秒数据转换BCD码存入缓存区

取显示缓存区首地址

开始

时数据转换

文档评论(0)

197****7512 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档