51单片机自动打铃器c语言,如何利用51单片机实现自动打铃

本文详细介绍了如何使用51单片机的C语言程序设计一个自动打铃器,包括时间显示、按键控制和蜂鸣器输出等功能。通过设置不同的时钟和闹钟,实现了定时打铃。
摘要由CSDN通过智能技术生成

描述

51单片机自动打铃C语言程序:

6f7d6ef49c791f481a160693b2b584b4.png

#include “reg51.h”

#include “intrins.h” #define uchar unsigned char #define uint unsigned int

uchar code DSY_CODE[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阴极总段//

uchar DSY_BUFFER[]={0,0,0xBF,0,0,0xff,0,0};//时间显示时-分 模式

uchar DSY_BUFFER1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //模式显示段//

uchar Scan_BIT;//位选择//

uchar DSY_IDX;//段选择//

uchar Key_State; //按键控制//

uchar s,s100,h1 ;

char h,m;

sbit dd=P1^7; //喇叭和led输出端口//

sbit cc=P1^6;

sbit ss=P1^5; //时间和秒转换显示键//

void DelayMS(uchar x)

{

uchar i;

while(x--) for(i = 0;i《120;i++);

}

void Increase_Hour()

{

if (++h》23) h=0;

DSY_BUFFER[0] =DSY_CODE[h/10];

DSY_BUFFER[1] =DSY_CODE[h];

}

void Decrease_Hour()

{ h--;

if (h《0) h=23;

DSY_BUFFER[0] =DSY_CODE[h/10];

DSY_BUFFER[1] =DSY_CODE[h];

}

void Increase_Minute()

{

if(++m》59)

{

m=0;Increase_Hour();

}

DSY_BUFFER[3] =DSY_CODE[m/10];

DSY_BUFFER[4] =DSY_CODE[m];

课程设计-基于C51单片机自动打铃系统 : 摘 要 本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。 关键词:AT89C51; 数码管 ; LED 第一章 设计简介及方案论述 1.1作息时间控制钟系统概述: 本设计是一个具有报时功能的作息时间控制钟。它利用89C51单片机的2Hz时基计时,进行年历计算,并用的蜂鸣驱动模块将它报出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。由七段显示驱动模块、蜂鸣驱动模块和按钮控制模块三部分组成,四个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。 1.2本设计任务和主要内容: (1)设计任务 用可编程件为主体,设计并制作一台自动打铃系统。要求完成的作品必须固化软件,测试检查时上电即可工作,不允再用计算机下载。实现能够显示当前的时间,同时能够在规定的时间点控制打铃装置打出预期的铃声。另外增设四个按钮,通过分配以实现对时间的调整,包括对时钟、分钟的增加和减少,秒钟的清零;以及强制打铃和关闭打铃。 (2)主要内容 1、基本计时和显示功能(用12小时制显示)。包括上下午标志,时、分的数字显示,秒信号指示。 2、能设置当前时间(含上、下午,时,分) 3、能实现基本打铃功能,规定: 上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。 下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。 铃声可用小喇叭播放,凡是用到铃声功能的均按此处理。 第二章 系统主要硬件电路设计 2.1单片机总体设计思路 (1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏; (2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒; (3)在秒计数的基础上设计一个24小时时钟,并设计若干定时功能; (4)设计打铃执行机构,完成自动打铃功能。 2.2各功能模块程序实现原理分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值