0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机加减计时器的设计与制作

电子设计 来源:xx 2019-02-20 09:25 次阅读

本文主要以“加、减计时器的设计和实现”为例,详细介绍了单片机的设计和制作。

一、设计要求

该设计即可做日常用的闹表,又可做体育比赛中的计时器。其设计时间达到23:59:59。设计功能要求如下:

(一)、设置在任意时刻开始加计时或减计时的控制开关;

(二)、设置可设定初值开关:设置秒初值开关、设置分初值开关、设置时初值开关;

(三)、设置定时闹铃开关;

(四)、设置在任意时刻人为暂停开关,并使闹铃有铃声;

(五)、用数码管显示,设数码管关闭显示,但不影响计时。

控制部分用单片机AT89C51来实现。

显示部分用共阴极8段数码管,其中时、分、秒的分段“:”,将分、秒的十位数码管倒置与时、分个位的点组合而成。用AT89C51的P0.0~P0.7并接6个数码管做时、分、秒的显示。

选择7个按钮开关分别做:

1、加、减控制开关SW1,接单片机AT89C51的1.4口;2、定时开关:S(调秒)、M(调分)、H(调时)分别接单片机AT89C51的P1.0、P1.1、P1.2口。

3、定时闹铃开关SW3接单片机AT89C51的P1.6口与蜂鸣器的“+”连接;

4、暂停开关SW2接单片机AT89C51的P1.4口;

5、关闭显示开关SW4接6个数码管的供电端。

电路原理图如下图所示:

三、软件编程

程序由五部分组成:

(1)主程序START:用于初始化,流程图如下图;

(2)调试功能程序NK1用于判断按键S、M、H是否按下,若有按下则调整计时器初值。当S按下一次则秒增加1秒,按下的次数与秒增加值一样;同样的M、H按下的次数与其增加值都对应。流程图如下图。

(3)取时、分、秒BCD码程序DISP

用于取出时、分、秒的BCD码,并把秒的BCD码存放于40H、41H单元,分的BCD码存放于42H、43H单元,时的BCD码存放于44H、45H单元。

(4)显示子程序INT_T0用于把时、分、秒送到数码管显示,并当SW1未按下时,实现加计时。流程图如下图。

(5)减计时子程序JIANJISHU当SW1按下时实现减计时。流程图如下图。

(6)INU1用于整点和暂停时响铃。流程图如下图。

四、程序仿真调试和烧录

单片机软件很多,其中可以软件仿真的软件如Keil C51(3)。该设计中的程序可以通过Keil C51中的Dpj8.dll仿真。仿真的时候,把程序中的S、M、H分别用P3.2、P3.3、P3.4代替,仿真以下程序,可以看到时钟的加计时功能和时、分、秒的调节功能的实现。再把SW1、SW2分别用P3.3、P3.4代替,仿真以下程序,可以看到减计时和暂停功能的实现。

当仿真无误后,用对应的烧录器把程序烧录到单片机中,然后插到电路板上进行调试。

五、安装与调试

1、AT89C51最好不要直接焊接在电路板内,应先用一个与之对应的插座焊接,以方便修改调试程序。

2、数码管要先用万用表测量各个引脚,且判断出是共阴还是共阳的数码管。把两个数码管倒装(如附图把数码观的小数点用于显示时与分、分与秒之问的“:“。

3、全部焊接好后,就对单片机编程调试;31脚()接高电平即VCC。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5998

    文章

    43949

    浏览量

    620569
  • 计时器
    +关注

    关注

    1

    文章

    395

    浏览量

    32140
收藏 人收藏

    评论

    相关推荐

    51单片机计时器#单片机

    单片机51单片机
    jf_51133201
    发布于 :2023年04月28日 22:26:24

    基于51单片机的智能音乐练习计时器

    小子我近期要做一个用51单片机控制的智能音乐练习计时器。要求如下:1、电路初始化后可以采集周围环境的乐音(说话声等其他的杂声屏蔽);2、启动计时单元并清零;3、环境有乐音时,电路开始
    发表于 10-30 17:02

    51单片机的倒计时器程序

    最近要求做一个51单片机的倒计时器程序,可是做了好久也做不出来,看了很多都不太符合要求,就请大家帮个忙。要求用C语言做。倒计时计时器1、LCD1602显示倒
    发表于 06-02 14:09

    请问有基于C51单片机计时器原理图吗?

    基于C51单片机计时器设计原理图
    发表于 10-30 09:01

    单片机按键计时器求助

    有没有人能帮忙写一下这个程序 如果顺带仿真那就更好了51单片机0到9按键计时器
    发表于 12-25 16:16

    如何利用单片机制作秒表计时器

    利用计数中断,外部中断(按钮)编写的机遇c语言的秒表计时器利用单片机制作秒表计时器(c语言)#include//包含单片机对应的头文件in
    发表于 07-15 08:27

    基于单片机的时钟计时器系统设计与制作 精选资料分享

    基于单片机的时钟计时器系统设计与制作[摘要]这次课程设计以STC89C51单片机为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直
    发表于 07-21 07:47

    如何利用51单片机实现简单计时器的设计?

    简单51计时器前言闲来无聊,虽然期末考试临近,但还是不想复习。突然有朋友问我这个用单片机控制两个LED数码,采用静态链接,要求两个数码管显示00~99计数,时间间隔为1s(中断方式)。分别设计出
    发表于 11-10 06:35

    proteus单片机实现60秒倒计时器

    proteus单片机实现60秒倒计时器项目要实现的60s秒表倒计时器,用 AT89C51单片机的定时 / 计数
    发表于 11-10 08:18

    51单片机实现计数计时器的功能

    本文中编写程序的软件是keil uvision4,拷入软件是stc-isp,这两个软件的具体使用见上一篇文章,关于计数计时器在生活中我们经常会涉及到计时或者计数的情况,那么是否可以用51
    发表于 01-24 07:33

    51单片机计时器中断

    单片机中,中断算是一个比较重要的部分,在51单片机中有八种中断方式 ,其中常用的的有五种,分别是外部中断0,计时器中断0,外部中断1,计时器
    发表于 11-24 04:37 1685次阅读

    使用51单片机计时器和中断的详细资料说明

    本文档的主要内容详细介绍的是使用51单片机计时器和中断的详细资料说明。
    发表于 06-28 17:42 11次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>计时器</b>和中断的详细资料说明

    单片机课设-60秒倒计时器

    proteus单片机实现60秒倒计时器项目要实现的60s秒表倒计时器,用 AT89C51单片机的定时 / 计数器 T0 产生一秒的定时时间,
    发表于 11-05 15:06 103次下载
    <b class='flag-5'>单片机</b>课设-60秒倒<b class='flag-5'>计时器</b>

    51单片机计时器

    51单片机计时器文章目录51单片机计时器51
    发表于 11-23 16:20 40次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>计时器</b>

    使用51单片机开发板制作60秒时钟计时器

    大家好,我是大魔王,虽然我已经离开了校园,进入了职场,但是我仍然没有停下学习的脚步。经过三周的学习,我已经能够使用51单片机的开发板制作一个60秒的时钟计时器,今天就将这个小东西的创作
    的头像 发表于 10-31 15:05 1638次阅读
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>开发板<b class='flag-5'>制作</b>60秒时钟<b class='flag-5'>计时器</b>