1、嘉应学院电子信息工程学院基于 MCS51 单片机的闹钟提醒器设计报告单片机原理课程设计报告班级:073座号:27姓名:林龙时间:2010 年 3 月指导老师:杨冬涛2一、设计方案选定1.1 前言:单片计算机即单片微型计算机, (Single-Chip Microcomputer) 。是集 CPU ,RAM ,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。基于单片机的定时和控制装置在许多行业有着广泛的应用。而数字
2、定时闹钟是其中最基本,也是最有代表性的一个实例。数字定时闹钟的设计方法有许多种,例如,可以用中小规模集成电路组成数字定时闹钟,也可以利用专用的时钟芯片配以显示电路及其所需要的外围电路组成数字定时闹钟,还可以利用单片机来实现数字定时闹钟。这些方法都各有其特点,其中,利用单片机来实现数字定时闹钟具有编程灵活、精度高等特点,便于数字定时闹钟功能的扩充,同时还可以用该数字定时闹钟发出各种控制信号1.2 实验目的:1、熟悉集成电路的引脚安排。2、掌握各芯片的逻辑功能及使用方法。3、充分认识单片机设计。4、了解数字钟的组成及工作原理。5、提高同学们的动手能力和编程技巧。1.3 总体设计要求1、基本要求:(
3、1) 显示准确的北京时间(时、分、秒) ,可用 24 小时制式;(2) 随时可以调校时间。(3)闹铃功能2、自由发挥部分:(1)秒表功能(2)增加公历日期显示功能(年、月、日) ,年号只显示最后两位;(3) 随时可以调校年、月、日;(4) 允许通过转换功能键转换显示时间或日期。1.4 方案选定:思路:基于单片机的数字定时闹钟在设计时需要解决三个方面的主要问题:一是LCD 显示模块的驱动和编程,二是有关单片机中定时器的使用,三是如何利用单片机的外中断实现时钟功能和运行模式的转化。在基于单片机系统的数字定时闹钟电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。在本设计中,输入装
4、置是3按键开关,用于控制数字定时闹钟的运行模式,显示装置是 LCD 液晶显示器。该数字定时闹钟是由 AT89C51 单片机控制的,可以达到以下效果:1、能够显示“时时-分分- 秒秒”。2、能够设定定时时间、修改定时时间。3、定时时间到能够发出一分钟的报警声。AT89C51 的指令系统和引脚与 8051 完全兼容,片内有 128B 的 RAM、32 条 I/O 口线、2 个 16 位定时计数器、5 个中断源、一个全双工串行口等。显示部分采用六位一体的共阳极数码管二、硬件电路设计:2.1 AT89C52: AT89C52 是 51 系 列 单 片 机 的 一 个 型 号 , 它 是 ATMEL 公
5、 司 生 产 的 。主 要 功 能 特 性 : 1、 兼 容 MCS51 指 令 系 统 。 2、 8k 可 反 复 擦 写 (1000 次 ) Flash ROM。 3、 32 个 双 向 I/O 口 。 4、 256x8bit 内 部 RAM。 5、 3 个 16 位 可 编 程 定 时 /计 数 器 中 断 。 6、 时 钟 频 率 0-24MHz 2 个 串 行 中 断 可 编 程 UART 串 行 通 道 2 个 外 部 中 断 源 共 6 个 中 断 源 2 个 读 写中 断 口 线 3 级 加 密 位 低 功 耗 空 闲 和 掉 电 模 式 软 件 设 置 睡 眠 和 唤 醒 功
6、 能 2.2 复位电路: 为 确 保 微 机 系 统 中 电 路 稳 定 可 靠 工 作 , 复 位 电 路 是 必 不 可 少 的 一 部 分 , 复 位 电 路 的 第 一 功 能 是 上电 复 位 。 一 般 微 机 电 路 正 常 工 作 需 要 供 电 电 源 为 5V5%, 即 4.75 5.25V。 由 于 微 机 电 路 是 时 序 数字 电 路 , 它 需 要 稳 定 的 时 钟 信 号 , 因 此 在 电 源 上 电 时 , 只 有 当 VCC 超 过 4.75V 低 于 5.25V 以 及 晶体 振 荡 器 稳 定 工 作 时 , 复 位 信 号 才 被 撤 除 , 微
7、机 电 路 开 始 正 常 工 作 。42.3 晶振电路: 晶振在数字电路的基本作用是提供一个时序控制的标准时刻。数字电路的工作是根据电路设计,在某个时刻门完成特定的任务,如果没有一个时序控制的标准时刻,整个数字电路就会成为“聋子”,不知道什么时刻该做什么事情了。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振的工作原理: 主板时钟芯片即分频器的原始工作振荡频率,由石英晶体多谐振荡器的谐振频率来产生,晶振其实是一个频率产生器,他主要把传进去的电压转化为频率信号。提供给分频率一个基准
8、的 14.318MHZ 的振荡频率,它是一个多谐振荡器的正回馈环电路,也就是说它把输入作为输出,把输出作为输入的回馈频率,象这样一个永无休止的循环自激过程。2.4 时钟显示LCD1602:工 业 字 符 型 液 晶 , 能 够 同 时 显 示 16x02 即 32 个 字 符 。 ( 16 列 2 行 )DS1302:1. 引 脚 功 能 及 结 构 DS1302 的 引 脚 排 列 ,其 中 Vcc1 为 后 备 电 源 , VCC2 为 主 电 源 。 在 主 电 源 关 闭 的 情 况 下 , 也 能保 持 时 钟 的 连 续 运 行 。 DS1302 由 Vcc1 或 Vcc2 两 者
9、 中 的 较 大 者 供 电 。 当 Vcc2 大 于 Vcc1 0.2V时 , Vcc2 给 DS1302 供 电 。 当 Vcc2 小 于 Vcc1 时 , DS1302 由 Vcc1 供 电 。 X1 和 X2 是 振 荡 源 ,外 接 32.768kHz 晶 振 。 RST 是 复 位 /片 选 线 , 通 过 把 RST 输 入 驱 动 置 高 电 平 来 启 动 所 有 的 数 据 传 送。 。 下 图 为 DS1302 的 引 脚 功 能 图 :DS1302 封装图5要 特 别 说 明 的 是 备 用 电 源 B1, 可 以 用 电 池 或 者 超 级 电 容 器 (0.1F 以
10、 上 )。 虽 然 DS1302 在主 电 源 掉 电 后 的 耗 电 很 小 , 但 是 , 如 果 要 长 时 间 保 证 时 钟 正 常 , 最 好 选 用 小 型 充 电 电 池 。 可 以 用 老 式电 脑 主 板 上 的 3.6V 充 电 电 池 。 如 果 断 电 时 间 较 短 (几 小 时 或 几 天 )时 , 就 可 以 用 漏 电 较 小 的 普 通 电 解电 容 器 代 替 。 100 F 就 可 以 保 证 1 小 时 的 正 常 走 时 。 DS1302 在 第 一 次 加 电 后 , 必 须 进 行 初 始 化 操作 。 初 始 化 后 就 可 以 按 正 常 方
11、 法 调 整 时 间 。2.5 程 序 框 图 :电 子 闹 钟 的 主 电 路 指 的 是 图 中 的 框 部 分 , 主 要 设 计 到 单 片 机 电 路 和 按 键 按 钮 电 路 , 主 机 的 设 计 具 体 地说 有 : ( 1) 系 统 时 钟 电 路 设 计 ; ( 2) 系 统 复 位 电 路 设 计 ; ( 3) 按 键 与 按 钮 电 路 设 计 ; ( 4) 闹 铃声 指 示 电 路 设 计 。 本 设 计 是 定 时 闹 钟 的 设 计 , 由 单 片 机 AT89C52 芯 片 和 LCD 液 晶 显 示 器 为 核 心 ,辅 以 时 钟 芯 片 等 必 要 电
12、路 , 构 成 的 一 个 单 片 机 电 子 定 时 闹 钟 。 电 子 钟 设 计 可 以 采 用 数 字 。2 程 序 流 程 图单片机复位、时钟等电路按钮电路LCD 液晶显示电路闹钟铃声指示电路电源系统时间显示初始化设定值读键定时Y蜂鸣器响 闹钟?判断N比较读键计时闹钟标志62.6 基 本 电 路 及 工 作 原 理 :定 时 闹 钟 的 设 计 , 由 单 片 机 AT89C52 芯 片 和 DS1302 和 LCD 液 晶 显 示 器 为 核 心 , 辅 以 必 要 的电 路 , 构 成 一 个 单 片 机 电 子 定 时 闹 钟 。 电 子 钟 设 计 可 以 采 用 数 字 电
13、 路 实 现 , 也 可 以 采 用 单 片 机 来 完 成 。AT89C52 的指令系统和引脚与 8051 完全兼容,片内有 128B 的 RAM、32 条 I/O 口线、2 个 16 位定时计数器、5 个中断源、一个全双工串行口等。AT89C52 结合用 LCD 液晶显示器设计的简易定时闹钟,可以设置限制的时间及显示闹钟设置时间,若时间一到则发车一阵声响,进一步可以扩充控制电器的启停。定时 闹 钟 包 括 时 间 显 示 , 按 键 电 路 , 复 位 电 路 , 闹 铃 指 示 电 路 等 等 几 部 分 。三 、 软 件 设 计 :3.1 程 序#include #include #i
14、nclude #define uchar unsigned char#define uint unsigned intsbit key_set =P10;sbit key_add =P15;sbit key_sub =P16;sbit key_break =P17;sbit bell =P36;sbit RS=P25;7sbit RW=P26;sbit E =P27;sbit T_CLK=P22;sbit T_IO =P21;sbit T_RST=P20;sbit ACC0=ACC0;sbit ACC7=ACC7;uchar alarm_temp2=0,0;/时 、 分uchar time_t
15、emp7=0x00,0x00,0x17,0x01,0x04,0x04,0x10,;/存 放 初 始 化 时 间 及 从 ds1302 读取 的 数 据 /数 据 格 式 : 秒 分 时 日 月 星期 年/初 始 时 间 : 00-00-17-01-04- 4 -10bit m;void InitTimer0(void) /50ms 中 断 , 用 于 产 生 “:“的 闪 烁TMOD = 0x01;TH0 = 0x3C;TL0 = 0x0B0;EA = 1;ET0 = 1;TR0 = 1;/*定 时 器 延 时 , n 为 延 时 的 微 秒 数 , 整 个 程 序 可 用 */void de
16、lay(uint n)TH1=-n/236;TL1=-n%236;TR1=1;while(!TF1)TF1=0;TR1=0;void delay_4s(void) /误 差 0usunsigned char a,b,c;for(c=252;c0;c-)for(b=230;b0;b-)8for(a=33;a0;a-);_nop_(); /if Keil,require use intrins.h/* LCD1602 驱 动 程 序 *void lcd_wdat(uchar m)RS=1;RW=0;P0=m;delay(1);E=1;delay(1);E=0; void lcd_wcmd(ucha
17、r h)RS=0;RW=0;P0=h;delay(1);E=1;delay(1);E=0;void lcd_init(void)delay(15000);lcd_wcmd(0x38);delay(5000);lcd_wcmd(0x38);delay(5000);lcd_wcmd(0x38);delay(5000);lcd_wcmd(0x0c);lcd_wcmd(0x06);lcd_wcmd(0x01);/*-*/*ds1302 读 写 程 序 */void RTInputByte(uchar d) /往 DS1302 写 入 1Byte 数 据 (内 部 函 数 ),d 写 入 的 数 据 9
18、 uchar i;ACC = d;for(i=8; i0; i-)T_IO = ACC0; /*相 当 于 汇 编 中 的 RRC */T_CLK = 1;T_CLK = 0;ACC = ACC 1; uchar RTOutputByte(void) /从 DS1302 读 取 1Byte 数 据 (内 部 函 数 ) /uchar i; for(i=8; i0; i-)ACC = ACC 1; /*相 当 于 汇 编 中 的 RRC */ACC7 = T_IO;T_CLK = 1;T_CLK = 0; return(ACC); void W1302(uchar ucAddr, uchar u
19、cDa)/往 DS1302 写 入 数 据 /先 写 地 址 , 后 写 命 令 /数 据 (内 部 函 数 ) T_RST = 0; /ucAddr: DS1302 地 址 , ucData: 要 写 的 数 据T_CLK = 0;T_RST = 1;RTInputByte(ucAddr); /* 地 址 , 命 令 */RTInputByte(ucDa); /* 写 1Byte 数 据 */T_CLK = 1;T_RST = 0;uchar R1302(uchar ucAddr)/读 取 DS1302 某 地 址 的 数 据 ,先 写 地 址 , 后 读 命 令 /数 据 (内 部 函 数
20、 ) /ucAddr: DS1302 地 址uchar ucData; /ucData :读 取 的 数 据T_RST = 0;T_CLK = 0;T_RST = 1;RTInputByte(ucAddr); /* 地 址 , 命 令 */ucData = RTOutputByte(); /* 读 1Byte 数 据 */10T_CLK = 1;T_RST = 0;return(ucData);void set1302(uchar *pClock) /设 置 初 始 时 间 ,先 写 地 址 , 后 读 命 令 /数 据 (寄 存 器 多 字 节 方 式 ) /簆 Clock: 设 置 时 钟
21、 数 据 地 址 格 式 为 : 秒 分 时 日 月 星 期 年uchar i;uchar ucAddr = 0x80; W1302(0x8e,0x00); /* 控 制 命 令 ,WP=0,写 操 作 */for(i =7; i0; i-) W1302(ucAddr,*pClock); /* 秒 分 时 日 月 星 期 年 */ pClock+;ucAddr +=2;W1302(0x8e,0x80); /* 控 制 命 令 ,WP=1,写 保 护 */*-开 机 显 示 -*/void display1(void)uchar i;uchar code dis4=“week“;uchar code p114=“073-linlong“;uchar code p214=“No:2071022127“;delay(1000);for(i=0;i11;i+) lcd_wcmd(0x80|i);lcd_wdat(p1i);for(i=0;i13;i+)lcd_wcmd(0xc0|i);lcd_wdat(p2i);delay_4s();lcd_init();delay(1000);delay(1000);lcd_wcmd(0x80);/2lcd_wdat(0x32);
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。