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

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

3天内不再提示

使用单片机实现闹钟的程序设计

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-06-21 11:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这个是在之前的电子时钟上功能的扩展,主要加入闹钟模块。即到达预定时间响铃一分钟,一分钟后自动停止,也可以按下已设定的键实现手动停止。

数码管方面的学习就到此为此吧,下一步是对液晶显示的学习。

单片机闹钟程序设计如下:

#i nclude《reg51.h》

#define uchar unsigned char

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//数码管数字编码

uchar i,j,k,second,tcount,minute,hour,tminute,thour,ring;

sbit beep=P2^6;sbit S2=P3^4;

//---------------------------------------------------延时子程序,大约延时 n MS

delay(uchar n)

{

for(j=n;j》0;j--)

for(k=125;k》0;k--);

}

//---------------------------------------------------中断子程序

void timer0() interrupt 1 using 0

{

TH0=(65536-50000)/256; //中断设置初始化

TL0=(65536-50000)%256;

tcount++;

if(tcount==20) //满1秒

{tcount=0;second++;beep=0; //秒数加1

if(second==60) //满1分

{second=0;minute++; //分数加1,秒数归零

if(minute==60) //满1小时

{

minute=0;hour++; //小时数加1,分数归零

if(hour==24)

{hour=0;}

}

}

}

}

void timer1() interrupt 3 using 1

{

TH1=0x3c; //中断设置初始化

TL1=0xb0;

if(minute==tminute & hour==thour & ring==1) {beep=0;}//到预设时间自动响铃,持续一分钟后自己关闭

if(S2==0)

{

ring=0; //铃声中断

}

}

//---------------------------------------------------

void main()

{tminute=1;thour=0; //预置响铃时间

second=55;minute=0;hour=0; //给电子时钟赋初值,即启动时显示的时间

ring=1; //启动响铃功能

TH0=(65536-50000)/256; //中断设置初始化

TL0=(65536-50000)%256;

EA=1;ET0=1;TMOD=0x21;TR0=1; //开中断总开关,计数器0允许中断,设置中断模式,启动计数器0

ET1=1;TR1=1;

while(1) //死循环,进入显示,主要是动态显示原理

{

P0=table[(second%10)];

P2=0xdf;

delay(5);

P0=table[(second/10)];

P2=0xef;

delay(5);

P0=table[(minute%10)];

P2=0xf7;

delay(5);

P0=table[(minute/10)];

P2=0xfb;

delay(5);

P0=table[(hour%10)];

P2=0xfd;

delay(5);

P0=table[(hour/10)];

P2=0xfe;

delay(5);

}

}

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

    关注

    6074

    文章

    45340

    浏览量

    663575
  • 计数器
    +关注

    关注

    32

    文章

    2306

    浏览量

    97573
  • 数码管
    +关注

    关注

    32

    文章

    1891

    浏览量

    93710
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机程序的执行

    更快的SRAM中,以得到更快的执行速度。而对于,单片机而言工作频率也就几M,几十M,从Flash中与从RAM中读的差异可能并不明显,不会成为程序执行的瓶颈。 而对于PC而言,Flash的速度太慢
    发表于 12-04 06:20

    单片机烧录原理是怎样的?辉芒微单片机烧录程序详细步骤讲解

    烧录(Programming)就是把 .hex/.bin 文件里的机器码搬运进单片机片内 Flash 的过程。辉芒微(FMD)单片机内部有一块 自举 BootROM,上电时会先跑这段程序;如果检测
    的头像 发表于 09-17 16:14 1386次阅读
    <b class='flag-5'>单片机</b>烧录原理是怎样的?辉芒微<b class='flag-5'>单片机</b>烧录<b class='flag-5'>程序</b>详细步骤讲解

    单片机的储存优点是什么

    单片机作为嵌入式系统的核心,其储存系统是实现数据存储与程序运行的关键部分。与独立存储芯片相比,单片机的储存单元在集成度、功耗、可靠性等方面具备独特优势,这些优点使其能适应从消费电子到工
    的头像 发表于 07-31 10:09 494次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要
    的头像 发表于 07-25 11:39 476次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机
    的头像 发表于 07-23 11:47 651次阅读

    单片机原理及应用

    本书全面系统地介绍了 MCS-51 系列单片机的基本结构、工作原理及应用技术。主要内容包括:微型计算机的基础知识、MCS-51 单片机的基本结构、汇编语言和 C51 语言程序设计方法、中断系统
    发表于 06-16 16:58

    图解单片机功能与应用(完整版)

    从基础知识的介绍出发,图文并茂,直观、系统地介绍了单片机的内部结构、工作原理和应用技巧。全书分为10章,内容包括51单片机编程资源图解、51单片机指令系统图解、汇编语言程序设计图解、输
    发表于 06-16 16:52

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 8次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    基于51单片机的多功能万年历设计

    基于51单片机的多功能万年历设计    本项目是基于51单片机STC89系列,运用protues仿真软件开发,使用模块化编程方法,模块化电路设计,硬件部分采用
    发表于 06-03 17:17 1次下载

    单片机和伺服有什么区别

    单片机和伺服的区别 单片机(Microcontroller)和伺服(Servo System)是两种完全不同的技术概念,分别属于 控制系统硬件 和 运动控制执行系统 。以下是它们的详细对比和区别
    的头像 发表于 05-26 09:18 582次阅读

    C51单片机及C语言知识点必备秘籍

    定时/计数器实验 21:单片机串行口介绍 系列四 22:单片机串行口通信程序设计 23:LED 数码管静态显示接口与编 24:动态扫描显示接口电路及程序 25:
    发表于 05-15 14:00

    单片机C语言编程宝典大全,初学必备【强推下载!】

    (400页PPT) 6. 单片机程序设计实例 7. 单片机应用程序设计技术_周航慈.pdf 8. 8051单片机C语言彻底应用 9. C语言
    发表于 03-14 11:03

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2163次阅读