1、 计算机及信息工程学院 课程设计报告 学年学期 题 目 专业、学号 授课班号 学生姓名 指导教师 QQ:271441324 Email:njcyx6649250# 单片机课程设计 -定时闹钟 ii 单片机课程设计 -定时闹钟 摘要 单片机 电子闹钟 是集电子技术、数字显示技术为一体的 产品,具有按时闹铃,使用方便等优点。本论文从电子闹钟 系统的功能、软件设计、软件调试等方面 论述这一系统。 本设计使用学校提供的 单片机 试验箱为基础, 以 AT89C52RC 芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用 的 驱动电路,实现在 4 个 LED 数码管上显示 时间、定
2、时、闹铃 的功能 , 并 通过 4 个按键实现设置日期、进行调时、设定闹铃等 功能。 在实现各功能时数码管进行相应显 示,闹铃或定时时间到时蜂鸣器响,整点报时等功能。 本课程设计主要的问题,在于如何编写与调试用 C 语言实现的单片机程序。在此,我通过不断地修改程序与仿真,让程序达到我期望的程度。 关键词 定时闹钟 、 C52 单片机、软件分析、软件设计 Timing alarm of MCU Course Design Abstract The design uses microcontroller chamber to AT89C52RC chip as the core, the use
3、of dynamic scanning display, through the use of the microcontroller, in addition to part of the circuit used in the display drive circuit, to achieve the 4 LED digital tube display time, time, alarm functions, and implementation through 4 keys to set the date, the tone, the alarm and other functions
4、, all functions in the realization of the corresponding digital display, alarm or timer time when the buzzer sounds, The whole point timekeeping functions. I use the C language as the programming language, and by the relevant simulation software emulation, through hardware and software to achieve th
5、e ultimate goal. MCU-based alarm clock is a set of electronic technology, digital display technology for the integration of products, with time and alarm, ease of use. This paper from the electronic alarm system features, software design, software debugging, we discussed the system. Key words Clock,
6、 C52 Microcontroller, Software Analysis, Software Programming 单片机课程设计 -定时闹钟 iii 目录 Contents 摘要 ii 关键词 ii 一、 绪论 4 二、 系统设计 2.1 电子闹钟要求与提高 5 2.2 主要器件功能说明 5 2.3 电路框图 8 2.4 软件流程图 8 三、 实验结果 与 讨论 3.1 实际电路设计及 主要 程序设计 10 3.2 串口功能 实现 14 四、 结论 4.1 本课程设计的特点 15 4.2 总结 15 附录 1) 参考文献 17 2) 软件程序 17 3) 附图 31 单片机课程设计
7、-定时闹钟 4 / 32 一、 绪论 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断 系统、定时器 /计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、 A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 单片机系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实际上单片机系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合
8、后的产物,具有软件代码小、高度自动化、响应速度快等特点。因此它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。特别适 合于要求实时的和多任务的系统。 电子闹钟在科学技术高度发展的今天 ,千家万户都少不了它 ,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便 ,但普通电子闹钟不够方便实用。本文给出了一种以 51芯片电子闹钟设计方法,从而给人们带来更为方便的工作与生活。 设计电子打铃的最终目的是能把它应用到实际中去。如学校的作息时钟打铃,车站的日期时间显示,实时控制系统以及仪器仪表,家用电器等各个领域。由于它的应用领域广,技术要求各不相同,因此应用系统的硬件设计是多样化的,但总
9、设计方法和研制步骤相同。本论文主要介绍一下电子打铃 的设计过程与方法,以及在单片机系统上的调试方法。 电子闹钟 课题设计着重于实践和动手能力的培养,通过阅读并学习本论文可以大概了解单片机的发展及其工作方法 ,掌握一定的单片机知以及用指令编程方法和技巧。另一方面通过本论文可以了解电 子 闹钟 的时钟走时、显示、定时器等的工作方式以及时钟控制 编程方法。同时,通过时间掌握单片机串口通信的基本原理。 该时钟电路主要以单片机 AT89C52RC 为核心而设计的,通过单片机对信息的分析与处理控制外围设备。电路整体设计思想是想把它做成一个实用的器件。利用动态数码管作为显示器, K20-K23 作为输入按键
10、,蜂鸣器作为声音输出。 单片机课程设计 -定时闹钟 5 / 32 二、 系统设计 2.1 电子闹钟要求与提高 基本要求 a) 正确显示时钟 时分 b) 可以利用按钮调整时间和设定闹钟时间 c) 当时间到达设定的闹钟时间时,蜂鸣器发出滴、滴、滴的报警声 提高功能 a) 通过按钮快速切换显示闹钟所定时的时间 b) 通过计算机串口在 PC 上快速设定时间和闹钟 c) 整点报时功能 d) 一定程度上防止误操作 2.2 主要器件功能说明 1) AT89C51 单片机: 该单片机功能强大,不仅能满足设计的需要,也可以在设计要求的基础上进行一些扩展。 单片机的结构如下: 图 2.2.1 单片机引脚图 单片机
11、课程设计 -定时闹钟 6 / 32 在使用时 VCC接电源电压, GND接地。 P0, P1, P2, P3可作为输入或输出端口, RST是复位输入,接复位电路。 XTAL1和 XTAL2接复位电路。这些可以在硬件设计部分体现出来。 单片机为内含 8K FLASH程序存储器的 STC98C52RC, EA接高电平;各并行口都加了 10K的上拉电阻;晶振为 11.0592M。设置了上电复位和手动复位电路。 2) 7407驱动器: 7407是集电极开路六正相高压驱动器, 1入 2出, 3进 4出, 5进 6出, 9进 8出, 11进 10出,13进 12出, 7接地, 14接高电平。 图 2.2.
12、2 7407引脚图 图 2.2.3 7407逻辑 图 单片机课程设计 -定时闹钟 7 / 32 3) 数码管: 图 2.2.4 数码管 使用共阴极数码管时将 4个数码管按相同功能连接起来, 3与 8相连, 并联在一起,连接在P0口上。 当选通端所接管脚为低电平时该数码管选通。 LED1用于完成 LED动态显示实验, 单片机的 P2口 的 4-7口 作为选通端, 断码由 P0口输出。连接各数码管的 3、 8引脚轮流显示,连接时要加 7407和上拉电阻。 单片机的 P2口作为功能段,通高电平的引脚会使相应段亮起,同样的也要与 7407和电阻连接使用。 g f a b e d dp c 8 7 10
13、 9 6 1 2 3 4 5 a b c d e f g 单片机课程设计 -定时闹钟 8 / 32 2.3 电路框图说明 1) 单片机通过 T0 产生的脉冲计时,并通过键盘或者串口来调整闹钟及时钟时间。 2) 单片机发送的信号通过程序控制最终在数码管上显示出来。 3) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。 4) 单片机通过控制闹铃电路来完成定时闹钟的功能。 2.4 软件流程图说明 AT89C52 时钟 显 示电 路 电路 闹钟 串口输入 键盘输入 图 2.4.1 主程序流程图 图 2.3.1 单片机课程设计 -定时闹钟 9 / 32 系统功能及使用方法 : 系统上电后,自动进
14、入时钟状态,初始化值为 1:01。若在此时按下 KEY1键,显示器上将显示闹钟时间,默认为 0:00,再次按下 KEY1返回时钟时间。若按下 KEY2,则进入时间可调状态,按下 KEY1一次,则所显示的时钟的分位显示为“ 99” ,再按 KEY3或 KEY4键则可以加或减该位内容,修改完一位后再按 KEY1可改变选择位位置继续修改下 一位,依次显示为小时位显示为 99(时钟小时位),分钟显示为 88(闹钟分钟位),小时位显示为 88(闹钟小时位),之后再次循环。 修改完成后按 KEY2键即可退出设定状态进入正常显示时钟状态。 串口的使用方法是,当计算机连接试验箱后, 打开串口助手软件, 选择正
15、确的 COM口,并选择波特率为 9600,选择发送 16位进制数,以“时钟小时 时钟分钟 闹钟小时 闹钟分钟”的格式发送给单片机,单片机会立即显示。例如,发送数据为“ 01020304”,则时钟时间为 01:02,闹钟时间为 03:04。 图 2.4.2 串口输入流程图 单片机课程设计 -定时闹钟 10 / 32 三、 实验结果 与 讨论 3.1 实际电路设计及程序设计 图 3.1.1 protues 7.7仿真示意图, D1为蜂鸣器 ,此处用发光二极管代替 系统硬件电路的设计: 电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制, 单片机以晶体振荡器的振荡周期 (或外部引入的时钟
16、周期 )为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称 s 周期,所以, 1 个状态周期包含有 2个振荡周期。振荡频率 foscl2 分频后形成机器周期 MC。所以, 1 个机器周期包含有 6 个状态周期或 12 个振荡周期。 1 个到 4 个机器周期确定一条指令的执行时间,这个时间就是指令周期。 AT89C52 单片机指令系统中,各条指令的执行时间都在 1 个到 4 个机器周期之间。锁相环允许用户在片外使用频率较低的晶振,可以很大地减小板级噪声;而且,由于时钟频率可由程序控制,系统时钟可以在一个很宽的范围内调整, 总线频率往往能升得很高。但是,使用锁相环也会带来额外的功率消耗。 单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种 。 AT89C52 单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。