单片机实现教学上下课的自动打玲

系列文章目录

使用单片机实现教学上下课的自动打玲


前言

这里需要基本的c语言基础,单片机应用知识,熟练的使用仿真软件如keil和proteus


一、proteus是什么?

proteus是一高效的电路仿真软件,可以有效解决利用仿真就可以完成一些设计。

二、使用步骤

1.设计要求

以学校白天上课、下课及午休时间为依据,设计51单片机为核心的自动打铃器。假定学校作息时间如下所示:
第1节课 8:00——8:45
第2节课 8:55——9:40
第3节课 10:10——10:55
第4节课 11:05——11:50
第5节课 14:00——14:40
第6节课 14:55——15:40
第7节课 16:10——16:55
第8节课 17:05——17:50
根据此作息时间表,每到上课或下课时控制电铃接通,接通1分钟后电铃断开。结合万年历,可自动排除节假日和星期六星期日打铃操作,亦可手工按键设置打铃时间,修正节假日作息时间。
设计内容及要求:用Proteus仿真软件搭建仿真硬件电路图,用keil编写验证软件,并完成综合调试。

2.c文件代码

// #include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit SPK=P3^7;//喇叭
bit bell_time=0;//打铃的时间标志
uchar temp=0;//记录电子中的技术次数
uint time_cout=0;//记录大龄时间的计数次数
char miao,fen,shi;//记录时间秒,分,时
uchar miaos,fens,shis;
uchar miaou,fenu,shiu;
uchar flag1,flag2,flag3,t;	  
uint code disl[]={
   
   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uint code dis[]={
   
   0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar bell_shi[]={
   
   8,8,8,9,10,10,11,11,14,14,14,15,16,16,17,17,0};
uchar bell_fen[]={
   
   0,45,55,40,10,55,5,50,0,40,55,40,10,55,5,50,0};
char lr;
uchar flag=0;
uchar lr1=0;
uchar flag4=1;
uchar ff=0;
uchar key_code;
char chance,t1;
uchar setflag=0;
uchar updataflag=0;
uchar kk=0;

void delay(uint tt)
{
   
   
uchar i,j;
for(i=0;i<tt;i++)
for(j=0;j<30;j++);
}
void show()
{
   
   
if(lr>=1){
   
   lr=0;flag=1;}
else{
   
   
    if(flag==1&&flag4==1)lr=1;
	if(flag==1&&flag4==1&&ff==1)lr=1;
	}
P0=dis[0];
P2=disl[miao%10];
if(lr1==1)
设计-基于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各功能模块程序实现原理分析
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值