1、 基于 AT89s52 的多功能数字钟 引言 单片机 ( Single-Chip Microcomputer ) ,是 集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。 时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要求也越来越高。怎样让时钟更好的为人民服务,怎样让我们的老朋友再次焕发青春呢?这就要求我们不断设计出新型的时钟,来不断满足人们的日常生活 需要。然而市场上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么,有没有一款既
2、简单实用价格又便宜的时钟呢 ? 我们设计小组设想:可不可以利用单片机功能集成化高,价格又便宜的特点设计一款结构既简单,价格又便宜,功能又强大的单片机电子时钟呢? 基于这种情况 ,我们课程设计小组成员多方查阅资料,反复论证设计出了这款集时钟显示、闹铃提醒和秒表功能于一体的单片机数字时钟。 【 摘 要 】本设计由数码管显示模块、单片机处理模块、闹铃提醒模块、按键控制模块和电源模块等组成。通过单片机软件运算方式进行时钟计时,外部获得的 按键信息进行模式切换和控制,输出到信号数码管显示模块,从而控制数码管显示内容,实现时钟显示、闹铃提醒和秒表等功能。 【 关键词 】数字钟; AT89s52; PNP9
3、012;数码管 【 Abstract】 The design consists of the digital display module, MCU processing module, alarm reminding module, key control module and power module and other components. Through the way MCUs software operation to 2 time ,external information on access to key data processing to mode changing an
4、d control, output signal to digital display module to control the digital display content, and then, realizing the clock display and alarm reminding and stopwatch, and other functions. 【 Keywords】 Dgital clock;AT89s52;PNP9012;nixietube 3 目录 目录 . 3 一、 课程选题及设计目的 . 4 1. 1 课程选题及相关设计要求 . 4 1.1.1 课程题目 . 4
5、 1.1.2 设计要求 . 4 1.1.3 本设计功能完成情况 . 4 1.2 课程设计目的 . 5 1.3 课程设计所用软件 . 5 二、 硬件设计与实现 . 6 2.1 课题分析 . 6 2.1.1 元件选择 . 6 2.1.2 工作原理 . 7 2.1.3 系统的硬件构成及功能 . 8 2.2 由原理设计实际电路 . 9 2.2.1 抢答器实际电路图 . 9 2.2.2 PCB 图设计 .10 3.1 软件功能需求 .11 3.2 系统主程序设计 .11 4.1 仿真电路设计 .18 4.2 功能仿真结果 .18 4.2.1 时间显示 .18 4.2.2 闹铃设定 .19 4.2.3 时
6、间设定 .19 4.2.4 秒表 使用 .19 附录 4 一、 课程选题及设计目的 1. 1 课程选题及相关设计要求 1.1.1 课程题目 基于 AT89s52 的多功能数字钟 1.1.2 设计要求 1. 显示时间:用数码管显示 时:分,时间可用硬件调整。 2. 定时功能,可硬件调整 (时分 )定时,定时到驱动蜂鸣器 (或 LED)提示。 3. 计时功能:精确到 0.1 秒,结果在数码管显示。 4. 设计出相应电路并用 protel 出图。 5. 给出完整的汇编语言 (或 C 语言 )源程序。 1.1.3 本设计功能完成情况 1. 显示时间: 完整实现并自由发挥。用数码管显示,按照时 -分 -
7、秒的格式显示,时间可用硬件调整,比照设计要求增加了秒显示功能。 2. 定时功能,完整实现。可硬件调整 (时分 )定时,定时到驱动蜂鸣器 (或 LED)提示,本设计采用了 LED 提示(亮 1min)。 3. 计时功能:完整实现并自由发挥。精确到 0.01 秒,结果在数码管显示,比照设计要求秒表精度提高了 10 倍。 4. 设计出相应电路并用 protel 出图,完整实现。 5. 给出完整的汇编语言 (或 C 语言 )源程序,完整实现。 6.仿真,此步骤为自行添加,用于验证了设计的可行性。 5 1.2 课程设计目的 ( 1)学习使用 protel 设计电子线路原理图和 PCB 图的方法。 ( 2
8、)学习使用 protues 仿真并调试电路及程序的方法。 ( 3)学习使用以 AT89s52 为核心设计外围电路及实现预期功能的思想和方法。 ( 4)学习查找电路所用元件封装方式的查找和自行制作的方法。 ( 5)学习使用 Keil C 设计相应程序实现硬件控制和功能的方法。 1.3 课程设计所用软件 软件工具: Altium Designer Summer 09、 Protel 99用于设计电路原理图和 PCB图。 Keil uVision4 用 于软件的编写、编译以及 hex 文件的生成。 Protues7.5 用于软件的仿真。 6 二、 硬件设计与实现 2.1 课题分析 2.1.1 元件选
9、择 本设计使用到的元器件包括: AT89s52 芯片、数码管、 PNP9012、电容、电阻、晶振、按键开关、。 AT89s52 芯片是系统的核心,它主要负责控制各个部分的协调工作。选择该芯片的原因主要有以下几点:( 1)该芯片在以前的电子设计中使用过一次,手头恰好有,便于节省课程设计资金。( 2)内部资源丰富,功能强大, 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 ( 3) 能工作在 3.55.5V,其工作电压范围宽泛,便于使用。 在 AT89s52 芯片外围接上复位电路,外部时序电路、上拉电阻,数码管,按钮等外部设备,通过数码管、 PNP9012 搭配实现功能的显示。
10、P3.3 为蜂鸣器(用 LED 代替)输出口, P0为数码管段选显示输出, P2 为数码管位选显示输出, P3.0-P3.2 为按键控制接口。 原件列表: AT89s52 1 片 四位共阳极数码管 2 片 PNP9012 三极管 8 个 22F 电容 1 个 7 30pF 电容 2 个 1K电阻 12个 4.7K电阻 8 个 12M 晶 振 1 个 导线、焊锡 若干 2.1.2 工作原理 基于上述设计要求,根据功能要求,设计中除了必要的单片机复位和时序电路外,还需要有闹铃提醒电路、显示电路、按键控制电路等部分。各个电路都有其自己的功能。 电路进入就绪状态后,开始计时。 然后由按键控制进行模式切
11、换和控制状态。在电路中 P3.0-P3.2为按键控制部分的 3 个按键, P3.0 对应模式切换功能, P3.1 在时钟显示和闹铃模式下起到加 1 功能, P3.2 在时钟显示和闹铃模式下起到减 1 功能,在秒表模式下起到控制秒表开始和暂停的功能。 P3.3 为闹铃输出口, 闹铃时间到,则该输出口置高,保持 1min,使 LED 保持高亮达到闹铃提醒功能。 P0 为数码管段选显示输出,同个 8 个口电平高低不同,控制单个数码管的显示,; P2 为数码管位选显示输出,通过 8 个口的输出电平高低不同,控制相连的 PNP9012 的导通状态,从而控制共阳数码管的显示。 AT89s52 的针脚定义如下: 8 2.1.3 系统的硬件构成及功能 ( 1)抢答器的电路框图 抢答器电路功能框图 P3.0-3.2 P0 口 单片机 P2 口 数码管显示模块 外围驱动电路 电源模块 按键控制模块 闹铃提醒模块 复位电路及时序电路 9 2.2 由原理设计实际电路 2.2.1 抢答器实际电路图 抢答器工作电路原理图 10 2.2.2 PCB 图设计 ( 注明:因为沟通的原因,实际作出的 PCB 图未按照此图制作,而是制作了第一版设计的一个 PCB,其中有错误,故在实际应用时,自行焊接了设计电路。)