历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2020年02月13日 | 单片机学校打铃系统

2020-02-13 来源:51hei

第1章 设计任务书
1.1目的与目标

在学校生活中,每一天和下一堂课都离不开打铃器的使用。铃声可以为在校学生和老师提供提醒,同时也可以作为提醒学生日程安排,让我们有时间感,形成一个规律的时钟,对自己的健康也有很大的好处。对于那些上课拖堂现象,广大教师知识的发展也给一个班的时间提醒学生,以免耽误下一节课的上课时间。


随着现代科学技术的发展,提高管理水平,已使钟装置自动提示节省人力资源,降低成本,对实现综合管理有很大帮助。而自动打铃系统继续影响着我们的生活和学习,它已广泛应用于各个学校,它可以实现学校的办公自动化,为学校管理服务。自动打铃器配有微电脑,充分发挥了体积小、价格便宜、功耗低、可靠性好等优点,而且还可以修改为学校课表,方便广大师生。自动打铃系统的研究和应用已经非常普及,选择这一课题的原因是看其成熟性和通用性。


在第二十世纪和第二十一世纪的半导体和集成电路技术的电子技术的发展,电子技术已渗透到各行各业,具有更快的林格电子表格为自然主要依据时间和更新提供参考,现在各种功能,层出不穷的贝尔更先进使用智能设备的使用,离不开供应链管理。单片机只是一个微型计算机,包括中央处理器杯、随机存取存储器ram、只读存储器ROM、I/O口、串口等部件,可作为系统的主控制器,其他部分电路将集成在一起构成一个智能控制系统。


基于以上原因,本课题设计了一款基于单片机的自动打铃系统,使用简单方便、功能齐全。


1.2软硬件环境

1.硬件清单:

元器件名称

个数

元器件名称

个数

AT89C52单片机

1

DS1302时钟芯片

1

LCD1602液晶

1

32.768KHz晶振

1

9012三极管

1

蜂鸣器

1

3V纽扣电池座

1

12MHz晶振

1

20uF电容

2

电源开关

1

10uF电容

1

万用板

1

10Ω电阻

1

SW-PB按键

5

2K电阻

2




2、软件

Proteus7.5sp3

记事本

第2章 设计、制作2.1 总体设计

系统设计框图如下:


系统软件设计流程图如图所示。

程序设计过程:首先要定义单片机的引脚,然后初始化器件,再利用DS1307的读写时序读取时间数据。再利用按键进入时间设定状态,设定完时间后单片机通过比较时间是否到达设定的时间来确定是否到打铃时间,如果达到打铃时间,则控制蜂鸣器响LED灯亮。


2.2各部分的电路设计

2.2.1时钟电路设计

时钟芯片的SCL引脚和SDA引脚分别由单片机的P3.1和P3.2引脚控制,单片机只需按照DS1302的工作时序来控制即可实现时间的写入和读取,其中DS1302的时钟端与数据端需外接上拉电阻,本设计选用5针排阻来充当上拉电阻。


2.2.2按键电路

由单片机的P1口控制按键电路。本设计中按键用于设定定时时间、打铃时间间隔,所以只需4路按键即可实现所需功能,采用独立式按键即可。由于按键是机械式触点,所以在断开或闭合时,一般都有抖动产生,虽然这个抖动时间在我们看来非常短,但是单片机执行指令的速度为微秒级别,很容易会读取这个时间而将其判断为真正的工作状态,从而引起误判。因此,在设计中必须考虑到按键抖动的影响。常用的去抖动的方法有两种:硬件方法和软件方法。硬件方法一般是加电容或者RS触发器;软件方法是在单片机在检测引脚所连接的按键的工作状态时加一个延时程序再次确认,通过2次的确认就可以确保按键的工作状态不受机械抖动的影响了。

2.2.3单片机电路

晶振电路用于产生单片机工作时所需要的时钟信号,单片机的指令必须在时钟信号下按照时序执行。晶振电路通常用两种设计方式:内部振荡方式和外部振荡方式。内部振荡方式是在单片机的XTAL1和XTAL2引脚外接一个晶体振荡器,与单片机内部的振荡器组成时钟信号;外部振荡方式是在外部将已有的脉冲信号引入单片机内,一般用于使单片机的时钟与外部信号保持同步。本设计选用内部振荡方式,在XTAL1和XTAL2引脚之间连接一个12MHz的晶振,再分别外接30p的对地电容。


单片机在启动时需要复位,使系统各器件处于初始状态。复位引脚为RST,当系统上电后晶振电路稳定后,RST引脚有一个高电平且持续2个机器周期以上,单片机系统就可以实现复位功能。复位一般有手动复位和上电复位功能。手动复位是在RST引脚设置按键,当按键按下时,RST引脚会有高电平,即可实现复位功能;上电复位是在RST引脚连接一个电解电容接至电源,再接一个电阻接地,系统上电时,电容充电,只要电源的上升时间不超过1ms,就可以实现复位功能。本设计选用按键复位。

2.2.4显示电路

单片机的P2口作为LCD1602的数据线端口,P3口控制LCD1602的使能端。单片机读取数据后,通过控制LCD1602的读写端、复位端和使能端将其设置为写入数据状态,再将数据通过P2口送入LCD1602实现显示功能。

2.2.5打铃电路

打铃电路一般用声音或音乐作为提醒,本设计选用蜂鸣器和LED灯实现声光双重打铃功能,电路如图3-7所示。打铃时间到时,单片机P3.3引脚置高,三极管9013导通,继而蜂鸣器和LED灯导通,实现蜂鸣和灯亮打铃功能。


系统蜂鸣器的工作原理如下:当单片机端口输出高电平时,三极管B极(三极管的各个参数如3.6节所示)处于高电平,三极管不导通,蜂鸣器不响。当单片机端口输出低电平时,三极管B极处于低电平,三极管导通,蜂鸣器鸣响。在本系统中如果要运用到实际中的话本来是要把单片机端口P3.4口接上继电器再控制220V电源的电铃的,但由于各种原因,在这次设计中我是用蜂鸣器来显示出打铃的效果的,蜂鸣器与单片机的连接图如图所示。


2.3 硬件连接

2.4 程序设计

第3章 调试3.1源程序的编辑


一、使用的工具:记事本

二、编辑的具体操作步骤

1、ds1302 内部RAM   RAM0  1100 000R/W   1读 0写

                                                                      RAM1  1100 001R/W

                                                                             .......

RAM30 1111 110R/W

定义ds1302时钟线、数据线和复位线。

2、写一个数据到对应的地址里

3、从对应的地址读一个数据出来

4、把要的时间 年月日 都读出来

5、把要写的时间 年月日 都写入ds1302里

6、把数据保存到ds1302 RAM中**0-31

7、设置ds1302时间函数

8、把数据从ds1302 RAM读出来**0-31

9、初始化ds1302时间

10、AT89C51扇区分布

第一扇区:1000H--11FF

第二扇区:1200H--13FF

第三扇区:1400H--15FF

第四扇区:1600H--17FF

第五扇区:1800H--19FF

第六扇区:1A00H--1BFF

第七扇区:1C00H--1DFF

第八扇区:1E00H--1FFF

11、AT89C52扇区分布

第一扇区:2000H--21FF

第二扇区:2200H--23FF

第三扇区:2400H--25FF

第四扇区:2600H--27FF

第五扇区:2800H--29FF

第六扇区:2A00H--2BFF

第七扇区:2C00H--2DFF

第八扇区:2E00H--2FFF

12、打开 ISP,IAP 功能

13、关闭 ISP,IAP 功能

14、触发代码

15、字节读

16、扇区擦除

17、字节写

18、延时函数

19、lcd1602写命令函数

20、lcd1602写数据函数

21、lcd1602初始化设置

22、lcd1602上显示两位十进制数

23、lcd1602上显示两位十进制数

24、lcd1602上显示这字符函数

25、控制光标函数

26、开机液晶显示函数 初始化液晶的内容

三、编辑时注意的问题

1、写一个数据到对应的地址里时要低位在前

2、从对应的地址读一个数据出来时要注意最后返回读出来的数据

3、把要写的时间 年月日 都写入ds1302里要记得开始时打开写保护,结束时关闭写保护

4、把数据保存到ds1302 RAM中**0-31时地址是从第二位开始的

5、初始化ds1302时间第一次读写数据时要把IO品拿低


四、给出过程中的截图。

3.2 编译

一、使用的工具Proteus7.5sp3

二、编译的过程(主要步骤,要有截图)

三、编译后的结果

3.3 烧写

烧写工具的名称

烧写的过程(主要步骤,要有截图)

3.4 调试

调试的主要过程(或调试的主要内容)

出现问题的原因是什么,如何解决?

最终的调试结果


第4章 总结

本设计是一种为上课时间设计的自动打铃系统,可在工厂、工厂车间、学生等场所使用,能起到很好的时钟功能,方便人们的日常生活。在硬件设计部分,LCD对LCD进行监控,具有功耗低、工作电压低的特点,显示质量高、可视面积大,能很好地实现设计要求,减少了软件编程的难度。


自动打铃系统还存在不足和缺点,主要表现在这些方面:虽然系统能够很好的实现打铃的要求,但是能够设定的打铃时间只有六个,这是因为想降低编程时的难度,在不影响其功能的前提下,降低了要求;还有就是其扩展性不强,后续的发展比较困难,制约了系统的升级,在商品竞争中没什么优势,需要进一步的研究和开发。


通过此次期末设计,我对所学专业的知识有了很好的回顾和实践,提高了自己的动手和思考能力,这对我自身的发展有很大的帮助,同时在此期间我查阅了很多的书籍和资料,从中学到了很多课本上没有的知识,拓展了自己的知识面,如果没有前期的准备工作是没法很好的完成此次设计的,所以想了解更多,看到更多更想做的,是学习知识的必备素质,这对我未来的发展和进步有着至关重要的作用。


推荐阅读

史海拾趣

FETek Technology(东沅)公司的发展小趣事

随着业务的不断扩展,东沅开始寻求国际化的发展道路。他们积极参加国际电子展会和技术交流活动,与全球各地的客户和合作伙伴建立了广泛的联系。同时,东沅还加大了对品牌建设的投入,通过广告宣传、媒体合作等方式提升品牌知名度和美誉度。这些努力使得东沅在国际市场上逐渐崭露头角,成为一家备受瞩目的电子企业。

Baumer Electric Ag公司的发展小趣事

1966年,Baumer Electric Ag完成了从个体企业向股份公司的转型。同年,公司推出了测量开关和控制开关,这一创新产品为公司的成功发展奠定了坚实基础。股份制改革为公司带来了更多的资金和资源支持,加速了产品研发和市场推广的进程。

GuangDong Province MengCo Semiconductor Co., Ltd公司的发展小趣事
可能是由于制动过程不平稳或电机本身故障引起的。
Epistar Corp公司的发展小趣事

近年来,随着OLED(有机发光二极管)技术的兴起,LED行业面临着巨大的挑战。Epistar敏锐地意识到了这一点,开始积极调整战略方向,加大在OLED技术领域的研发力度。同时,公司还通过优化产品结构、提高生产效率等措施降低成本、提升竞争力。这些努力使Epistar在OLED技术浪潮中保持了稳健的发展态势。

Faraday Electronics Inc公司的发展小趣事

随着技术的不断进步,Faraday Electronics Inc意识到单一的产品线已无法满足市场的多样化需求。于是,公司开始积极拓展市场布局,将产品线拓展至智能家居、汽车电子等领域。通过不断的技术创新和市场拓展,公司逐渐在多个领域取得了领先地位,成为了电子行业的佼佼者。

Anritsu公司的发展小趣事

在电子通信领域,Faraday Electronics Inc一直以其卓越的技术创新能力著称。公司自创立之初,就专注于研发高性能的通信芯片。经过多年的技术积累,终于在XXXX年成功推出了一款具有划时代意义的5G通信芯片。这款芯片不仅性能卓越,而且功耗极低,一经推出便迅速占领了市场,为公司带来了可观的利润。

问答坊 | AI 解惑

SHOW MY CAR(飞思卡尔智能车大赛)

本帖最后由 paulhyde 于 2014-9-15 08:59 编辑 前一段时间,参加了飞思卡尔智能车大赛,华北赛区一等奖,也来SHOW一下  …

查看全部问答>

epw9

674654394友情链接QQ号码  密码9982499824 http://www.admin5.com/站长网 用户名:njhuisi 密码:9982499824 邮件:chinagoogleweb@163.com http://bbs.admin5.com交易论坛 用户名:njhuisi 密码:9982499824 邮件:nanjingmaste ...…

查看全部问答>

关于上拉电阻的问题

请问高手为什么有的24c02电路图上有上拉电阻,而有的没有啊??还有就是什么时候需要在外电路中接入上拉电阻啊。具体怎么选阻值啊?? 这两个图为什么一个不接上拉电阻,一个接上拉电阻啊??? SCL接P1.1 SDA接P1.2 SDA接P2.0 SCL接P2 ...…

查看全部问答>

CC1000-atmel128

CC1000-atmel128 的原理图,做下参考…

查看全部问答>

如何在PC机上显示WinCE平台的显示屏的画面啊?

我的环境是S3C2440+WinCE5.0,现在想从PC机上观看液晶屏上的内容怎么办啊,因为要写论文,想截个图什么的,谢谢大家了。。。…

查看全部问答>

请教一个 MPLAB C18编译的问题

环境:MPLAB 8.0 编译器:MPLAB C18 v3.0 full 芯片:PIC18F25K20 编译的时候报错: unknown processor ‘18F25K20’ 请问这是什么原因,应该怎样做呢?       …

查看全部问答>

请教:怎样实现OBEX服务器端

我已经实现OBEX 蓝牙的客户端,但是不知道服务器端应该怎样实现, 有做过这方面的朋友能不能说一下大概方法? 谢谢了…

查看全部问答>

sd卡驱动中的模块之间调用的问题

mmcsd.h #ifndef MMCSD_MMCSD_H #define MMCSD_MMCSD_H struct mmc_slot {          int (*transfer1b)(struct mmc_slot *slot, int rd, u_long from,             &nbs ...…

查看全部问答>

MDI子框架一启动就最大化[转载]

  MDI子框架一启动就最大化     方法一:     在CChildFrame::PreCreateWindow(CREATESTRUCT&   cs)函数中,加了     cs.style   |=   WS_VISIBLE|WS_MAXIMIZE;,可以实现了   &nb ...…

查看全部问答>

有谁知道温度传感器的接线盒的作用?

有谁知道温度传感器的接线盒的作用?除了防止污染物之外是否对电气方面也有影响?…

查看全部问答>