基于80C51单片机的教育电子打铃器设计与实现

需积分: 10 4 下载量 66 浏览量 更新于2024-07-30 1 收藏 737KB DOC 举报
本文档详细介绍了基于51单片机的教学用电子打铃器的设计项目。设计者李富恒是电子信息工程0801专业的一名学生,在2011年第二学期的课程设计中,通过科信学院的指导教师刘会军、吴开兴和马永强的指导下,对单片机原理及应用进行了深入实践。 设计的主要目的是为了让学生掌握单片机基本设计方法,熟悉开发工具的使用,以及程序的编写和调试。通过设计,学生需实现以下功能: 1. 硬件设计:包括一个80C51单片机为核心,集成键盘扫描模块(利用P1口的输入引脚K1-K4进行时间调整)、时钟和复位模块、显示模块(使用八段数码管显示时间及课程节数)以及响铃模块(通过蜂鸣器实现)。80C51作为一种低电压、高性能的8位单片机,负责控制整个系统的运行。 2. 模块设计:设计分为多个独立模块,如主程序、键盘扫描程序、数码管显示程序和响铃程序,这些程序通过中断机制协同工作。主程序控制流程,定时中断程序利用单片机的定时器功能,实现定时任务。 3. 程序流程图:提供了主程序和定时中断程序的流程图,展示了程序执行的逻辑结构,有助于理解代码的组织和功能实现。 4. 电路设计:包括总原理图和各模块电路的设计,展示了硬件连接的具体布局,如单片机与按键、数码管、蜂鸣器之间的连接方式,以及如何通过总线进行集成控制。 5. 软件设计:关键部分是键盘扫描程序,用于接收用户输入;数码管显示程序,将时间和节数转换为数字并显示;主程序协调各个模块的工作,响铃程序则在特定条件下触发蜂鸣器发出铃声。 通过这个课程设计,学生不仅加深了对单片机工作原理的理解,还提升了硬件电路设计和编程调试的实际操作能力,为后续的电子设计和嵌入式系统开发奠定了基础。
2023-02-27 上传
单 片 机 课 程 设 计 题目: 电子打铃器 系 别: 电气与电子工程系 专 业: 电气工程及其自动化 姓 名: 学 号: 指导教师: 2009年6月19日 成绩评定· 一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。 二、成绩评定 目 录 一设计目的与要求 1 二、电子打铃器方案 1 三、电子打铃器硬件设计 2 3.1单片机最小系统 2 3.2键盘与开关电路 5 3.3输出电路 6 四、电子打铃器软件设计 8 4.1主函数 8 4.2按键处理函数 9 4.3打铃比较函数 10 五、电子打铃器调试与分析 10 5.1设计及调试 10 5.2调试现象及分析 11 六、结束语 11 参考文献 12 附录A 13 附录B 14 附录C 15 电子打铃器 1. 设计目的与要求 设计目的 1. 系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。 2. 培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工 具书、参考文献,寻找解决方案; 3. 培养学生独立动手,实践操作能力,掌握一些器件的使用。 4. 深入了解单片机相关知识和运用软件进行仿真。 设计要求: 5. 利用单片机组成一个电子打铃器。 6. 按照学校上下课铃声次序设定定时间 7. 用一个蜂鸣器模拟电铃,响铃10s。 8. 周六周日不打铃 9. 通过"周" "时" 键和"分"键分别校正周、时和分,每按一次对应+1。 二、电子打铃器方案 总的来说,是利用单片机及定时器设计的一个时钟,在每次秒加1的计时过程中,都 与预先设定好的时间作比较,如果相等就进行打铃,不等则返回。即电子打铃器是以单 片机器件为主体,设计的自动打铃器。本电子打铃器是按我校冬、夏两季作息时间设计 的,上下课自动打铃,每次响铃10秒,也可以显示当前的时间,且能通过"周"键"时" 键和"分"键分别校正周、时和分,每按一次对应+1。 如图1所示,电子打铃器大致由单片机、蜂鸣器装置、数码管显示装置、按键检测装 置及选择冬夏时间开关装置组成。利用STC89C51单片机,通过数码管扫描模块、响铃模 块、按键处理模块、比较模块等,实现当前时钟的显示及响铃。蜂鸣器在响铃模块的控 制下,用于模拟打铃;显示器为8位数码管,通过数码管扫描模块,用于显示当前时间的 "周"、"时"、"分"、"秒";通过按键处理模块,对三个按键扫描,实现对周、时和分的 校正;利用开关选择冬夏作息时间;比较模块为当前时间与时间表内时间比较,若相等 ,则打铃。 三、电子打铃器硬件设计 单片机是由CPU、并行口、ROM、RAM、定时/计数器、串行口和中断系统等组成部分, 通过内部总线把各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线 。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储 器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交 换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。 该电子打铃系统由4个模块实现:单片机最小系统,键盘与开关电路,数码管动态显示 以及打铃电路。 3.1单片机最小系统 单片机的最小系统指的是由最基本的电路元件组成的,外接部分简单的电路就能够独 立完成一定的工作任务的单片机系统。51单片机的最小系统有单片机芯片、电源、时钟 电路和复位电路组成,如图2所示。 图2 单片机最小系统 设计之前得对单片机的引脚及其功能应有所了解,下面简单介绍单片机的引脚: 1.主电源引脚 Vcc:芯片电源,接+5V。 VSS:电源接地端。 2.时钟引脚 XTAL1:片内放大器输入端。 XTAL2:片内放大器输出端。   3.专用控制端口   (1)ALE/:地址锁存允许/片内EPROM编程脉冲 。    ALE功能:用来锁存P0口送出的低8位地址。   功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。   (2):外ROM读选通信号,低电平有效。   (3)RST/VPD:复位/备用电源。    RST(Reset)功能:复位信号输入端。    VPD功能:在Vcc掉电情况下,接备用电源。   (4)/Vdd:内外ROM选择/片内EPROM编程电源。    功能:内外ROM选择端。    Vdd功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。   4. 输入/输出端口   AT80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第 一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在FIASH编