微机控制系统应用方向学年设计任务书基于单片机控制的教学打铃系统的设计与实现设计说明书(封面)学院名称:滁州学院班级名称:计算机科学与技术专业10级(2)班学生姓名:方纪锋、贝兴芝、陈文君、陈丹丹、陈竞学号:81、66、73、68、70题目:基于单片机控制的教学打铃系统的设计与实现指导教师姓名:姚光顺起止日期: 2013年7月3日—2013年8月29日目录第一部分:正文部分 0一、绪论 01 设计背景 02 主要工作和方法 03 本文结构 0二、相关知识 (1)1 单片机介绍 (1)2 显示器简介 (3)3 蜂鸣器简介 (3)三、系统设计 (3)1 需求分析 (3)2 系统硬件电路设计 (4)3 软件设计流程图 (6)4 显示程序设计 (6)5 按键设定程序设计 (7)四、系统实现 (8)1 功能模块 (8)五、系统测试与数据分析 (8)1 元件清单 (8)2 调试过程 (9)六、结论 (9)第二部分:参考文献 (9)第三部分:指导教师评语 (9)第四部分:成绩评定 (10)附录 (10)基于单片机控制的教学打铃系统的设计与实现第一部分:正文部分一、绪论1 设计背景目前自动打铃系统广泛应用于生活、工作等方方面面,在人们的日常生活中起到重要作用。
例如,在学校生活中,每天上下课都离不开打铃器的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。
对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。
最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械式打铃器。
随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,打铃器也更多的向着智能型转变。
设备的智能化离不开单片机的使用。
基于以上原因,本学年设计了一款基于单片机的自动打铃系统,使用简单方便。
2 主要工作和方法本系统主要完成以下工作:⑴能够通过7段数码管显示时间;⑵能够通过按键对当前的时间设置进行校正;⑶能够按照学校当前的作息时间进行打铃;⑷能够通过按键对学校当前的作息时间进行修改。
3 本文结构本文第1部分绪论主要说明了本文的设计背景、主要工作和实现方法。
第2部分相关知识介绍了单片机的概念、结构,数码管的相关知识,蜂鸣器的相关知识。
第3部分系统设计,阐述了需求分析、系统硬件设计和系统工作流程设计。
第4部分系统实现介绍了系统各个功能模块。
第5部分系统测试与数据分析,介绍了所用元件和调试过程。
二、相关知识1 单片机介绍⑴单片机概念本系统采用AT89C51系列单片机。
AT89C51是一种带4K字节 FLASH 存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
⑵单片机结构AT89C51的结构如图2-1所示:图2-1 AT89C51管脚图AT89C51的管脚说明如下:①VCC:供电电压。
②GND:接地。
③P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
④P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
⑤P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
⑥P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
P3口也可作为AT89C51的一些特殊功能口,如表2-1所示:表2-1 AT89C51特殊功能表管脚备选功能RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(计时器0外部输入)T1(计时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)⑦RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
⑧ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
⑨/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
⑩/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
⑪XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2:来自反向振荡器的输出。
2 显示器件简介本系统的显示时间功能是按照一般电子表的显示进行设计的,让其显示6为数字时间信息即显示时、分、秒,再加上成本等因素,所以我们选择用7段数码管进行显示。
一般的七段数码管拥有八个发光二极管用以显示十进制0至9的数字,也可以显示英文字母,包括十六进制和二十进制中的英文A至F(a至f)。
七段数码管由四个直向、三个横向及上右下角一点的发光二极管组成,由以上向条发光体组合出不同的数字。
除七段数码管外,还有十四及十六划的显示器,但现时已被点阵显示器所取代。
七段数码管分为共阳极及共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。
3 蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器工作原理:当接通电源后(~15V直流工作电压),多谐振荡器起振,输出~的音频信号,阻抗匹配器推动压电蜂鸣片发声。
电磁式蜂鸣器工作原理:接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
三、系统设计1 需求分析⑴设计任务①能够通过7段数码管显示时间;②能够通过按键对当前的时间设置进行校正;③能够按照学校当前的作息时间进行打铃;④能够通过按键对学校当前的作息时间进行修改。
⑵基本要求该系统具备以下几点基本要求:①基本计时和显示功能(用24小时制进行显示)。
②能够设置当前时间。
③能够实现基本打铃功能,按照表3-1显示的时间进行打铃。
表3-1 作息时间表8:00第一节课上14:20第五节课上19:30第九节课上8:45第一节课下15:05第五节课下20:15第九节课下8:55第二节课上15:15第六节课上20:25第十节课上9:40第二节课下16:00第六节课下21:10第十节课下10:00第三节课上16:20第七节课上10:45第三节课下17:05第七节课下10:55第四节课上17:15第八节课上11:40第四节课下18:00第八节课下⑶性能指标该系统具备以下性能指标:①时钟:时(2位)、分(2位)、秒(2位),时分秒用“--”分开。
②校对键:设置键,左移/右移键,加减键,确定/取消键,添加键。
③响铃:蜂鸣器。
2 系统硬件电路设计分析完单片机教学打铃系统原理及特点后,设计了以下硬件系统。
⑴总体方案设计本系统是基于单片机AT89C51的教学打铃系统。
系统硬件电路包括:AT89C51单片机的最小系统硬件电路、时钟电路、显示电路、打铃电路。
本系统的结构框图如图3-1所示:图3-1 系统结构图⑵硬件电路图该系统的硬件电路如图3-2所示:图3-2 硬件电路图⑶按键电路本系统接有8个按键,按键的一端接地。
另一端分别单片机的~口。
按键从上到下的功能分别是:设置按键、加按键、减按键,左移按键、右移按键、确定按键、取消按键和修改闹铃按键。
按键电路模块如图3-3所示:图3-3 按键电路模块图⑷显示电路根据设计要求,该系统采用共阴极数码管,其公共端接单片机的P0口。
数码管显示电路使用AT89C51的动态显示功能,数码管的八段(a、b、c、d、e、f、g、dp)接入单片机的P2口,数码管分别显示:“时”、“—”、“分”、“—”、“秒”。
数码管显示电路如图3-4所示:图3-4 显示电路图⑸打铃电路打铃电路(接):当前时间与程序设定时间相同时,端输出高电平的方波,即打铃。
打铃电路模块如图3-5所示:图3-5 打铃电路图3 软件设计流程图图3-6 主程序流程图4 显示程序设计利用12MHz中断做时钟源进行计时,每20次中断秒加1。
流程图如图3-7 所示:s图3-7 定时中断程序流程图5 按键设定程序设计本系统接有8个按键从上到下的功能分别是:设置按键、加按键、减按键,左移按键、右移按键、确定按键、取消按键和修改闹铃按键。