




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 电子闹钟毕业设计电子闹钟毕业设计 摘要 摘要 本设计是以 89C51 单片机作为控制核心的闹铃系统 本文大致可以分为三个章节 第一章节讲了用单片机来制作电子闹钟所带来的优势 还有电子闹钟在电子产品中未来的 趋势以及本次设计所要实现的课题目标 第二章节讲了设计的一些思路和该产品包含的一 些硬件电路组成 第三章节讲了各个软件模块之间的设计以及该产品的程序代码 最后是 一些结论体会部分和附录图 关键词 关键词 PC 机 单片机 89C51 串行通信 数码显示 II 目目 录录 第一章 绪论 1 1 1 引言 1 1 2 闹钟的发展趋势 1 1 3 本次设计所要实现的目标 1 第二章 系统总体设计 2 2 1 系统总体设计思路 2 2 2 总体硬件组成框图 2 2 3 AT89C51 的简介 3 2 4 系统功能的确定 4 2 5 时钟电路 5 2 6 复位电路 5 2 7 键盘电路 6 2 8 数码显示电路 7 第三章 系统软件设计 8 3 1 数据单元分配 8 3 2 时钟程序设计步骤 8 3 3 计时子程序模块的实现 9 3 4 时钟设定子程序模块的实现 10 3 5 程序说明 11 3 6 实现方式 12 3 7 源程序设计 12 结论与体会 20 主要参考材料 21 附录 1 系统原理图 22 附录 2 PCB 图 23 1 第一章第一章 绪论绪论 1 11 1 引言引言 电子闹钟是一种应用非常广泛的日常计时工具 数字显示的日历钟已经越 来越流行 特别是适合在家庭居室 办公室 大厅 会议室 车站和广场等使 用 壁挂式 LED 数码管显示的日历钟逐渐受到人们的欢迎 单片机电子闹钟是 集电子技术 数字显示技术为一体的高产品 具有按时闹铃 显示清晰直观 走时准确等优点 首先介绍设计电子闹钟所涉及的主要硬件和特性 然后说明 软件设计的思路 程序结构及流程 并在测试软件上进行调试和修改 以完成 电子闹钟的基本要求 即可以随意设定起始时间 有秒显示功能 有 12 24 世 制选择 可以设定闹钟 停电时由电池供电等功能 现代社会电子闹钟发挥着 很大的作用 也是它存在和发展的一个重要方面 尤其是在代表集成电路技术 的发展方面 通过不断提高电子闹钟的计时的精确度可以极大促进定时技术芯 片的发展 同时电子闹钟与其他嵌入式电子产品一样是微处理器的应用 通过 电子闹钟的设计可以很好的掌握电子设计技术 1 21 2 闹钟的发展趋势闹钟的发展趋势 随着电子技术的飞速发展 家用电器和办公电子设备逐渐增多 不同的设 备都有自己的控制器 使用起来很不方便 这些具有人们所需要的智能化特性 的产品减轻了人的劳动 扩大了数字化的范围 为家庭数字化提供了可能 基 于单片机的电子闹钟就是新一代的产品 能够实现远程控制等功能 它功能强 大 体积小 质量轻 灵活好用 1 31 3 本次设计所要实现的目标本次设计所要实现的目标 设计一个电子闹钟 1 能随意设定走时起始时间 2 螚指示秒节奏 即秒指示 3 能通过 PC 机实现远程控制 4 时间预设 定时关机的功能 2 第二章第二章 系统总体设计系统总体设计 2 12 1 系统总体设计思路系统总体设计思路 先进行系统的整体规划确定整个系统的功能 然后按照每个功能的具体要 求 进行各个模块的实物设计并逐个调试 待全部通过后 进行整个系统的联 调 最终实现一个完整的系统 并制成印刷线路板 整个系统的设计步骤如下 在单片机最小系统的基础上 完成按键电路和复位电路的设计 完成显示电 路 数字按键 复位电路 具有 3 个功能按键 1 在复位后的待机状态下 用于启动设定时间参数 对时或定闹 2 在设定时间参数状态而且不是设定最低位 即分个位 的状态下 用于 结束当前位的设定 当前设定位下移 3 在设定最低位 分个位 的状态下 用于结束本次时间设定 2 键 用于对当前设定位 编辑位 进行加 1 操作 根据正在编辑的当前位的含义 时十位 时个位 分十位 分个位 自动进行数据的上限和下限判断 例如 对 12 小时制 小时的十位只能是 0 1 如果当前值为 0 则按 1 键后为 1 再按 1 键则又回复到 0 把以上各个模块联结起来 整体调试功能 2 22 2 总体硬件组成框图总体硬件组成框图 整个系统的原理框图如图 2 1 所示 图 2 1 系统原理框图 3 2 32 3 AT89C51AT89C51 的简介的简介 2 3 12 3 1 AT89C51AT89C51 简介简介 AT89C51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令 系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储 单元 功能强大的微型计算机的 AT89C51 可为许多嵌入式控制应用系统提供高 性价比的解决方案 2 3 22 3 2 引脚介绍引脚介绍 AT89C51 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出口 5 个中 断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串行通信 口 看门狗 WDT 电路 片内时钟振荡器 图 2 2 为 AT89C51 引脚图 图 2 2 AT89C51 引脚图 此外 AT89C51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模 式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可 继续工作 掉电模式冻结振荡器而保存 RAM 的数据 停止芯片其它功能直至外 中断激活或硬件复位 同时该芯片还具有 PDIP TQFP 和 PLCC 等三种封装形式 以适应不同产品的需求 4 主要功能特性 兼容 MCS 51 指令系统 32 个双向 I O 口 2 个 16 位可编程定时 计数器 全双工 UART 串行中断口线 2 个外部中断源 中断唤醒省电模式 看门狗 WDT 电路 灵活的 ISP 字节和分页编程 4k 可反复擦写 1000 次 ISP Flash ROM 4 5 5 5V 工作电压 时钟频率 0 33MHz 128x8bit 内部 RAM 低功耗空闲和省电模式 3 级加密位 软件设置空闲和省电功能 双数据寄存器指针 2 42 4 系统功能的确定系统功能的确定 2 4 12 4 1 基本功能基本功能 系统具有时间 日期 三路定时功能 并可以对时间 日期 定时进行设 定 有定时提示音 要求计时精度尽量提高 显示格式为 时间 时 第 1 2 位 分 第 3 4 位 秒 第 5 6 位 日期 年 第 1 2 位 如 2007 年显示为 07 月 第 3 4 位 日 第 5 6 位 定时 时 第 1 2 位 分 第 3 4 位 状态标志 第 5 6 位 键盘及数码管排列如图 2 3 所示 2 4 22 4 2 扩展功能扩展功能 该系统可以增加温度传感器 实现温度测量 以实时显示温度 用 1 2 位 5 数码管显示 还可以增加湿度传感器 实现湿度测量 以实时显示湿度 用 5 6 位数码管显示 多路定时器功能也可扩展为对多种家电等电气产品的自动控制 比如电饭 煲等 也可利用温度对某些电气产品进行自动控制 比如空调等 还可利用湿 度传感器对湿度进行调节 如图 2 3 所示 图 2 3 系统功能图 2 52 5 时钟电路时钟电路 实验板的时钟振荡源电路如图 2 4 所示 其中 JT 为 11 0592MHz 的晶振 改变两电容 CB 的值即可对此晶振频率进行调节 该电路提供单片机工作所需的 振荡频率 计算定时器初值即需此晶振频率 在通信时也需知道晶振频率 以 对波特率进行计算 图 2 4 时钟电路 2 62 6 复位电路复位电路 如图 2 5 所示为实验板的复位电路 当 RESET 信号为低电平时 实验板为 6 工作状态 当 RESET 信号为高电平时 实验板为复位或下载程序状态 由于 AT89S52 具有 ISP 的功能 即可以通过并口线直接将程序下载到单片机内 因 此 AT89S52 具有两种状态 下载程序状态和运行状态 该复位电路能实现上 电自动复位 也能手动复位 一般复位时 RESET 应保持 20 毫秒以上高电平 此 复位时间由接地电容控制 图 2 5 复位电路 2 72 7 键盘电路键盘电路 如图 2 6 所示为阵列按键电路 各设置及转换信号由此电路输入 实验板 提供了 16 个按键 由 P1 口经 SN74F244 驱动芯片 输出扩展成 4 4 的阵列 按键 P1 0 P1 3 为行线 P1 4 P1 7 为列线 SN74F244 有一片选信号线 G 当此口线为低电平时 A1 A4 与 Y1 Y4 接通 反之 A1 A4 与 Y1 Y4 断开 此键盘用扫描工作方式 若有键按下 则相应位端口被拉低为低电平 由 于本系统只用了 4 个按键 所以只需对 4 个按键进行扫描 扫描时 先置 P3 3 口为高电平 向 P1 口送 0EFH MOV P1 0EFH 再置 P3 3 口为低电平 读 P1 口 MOV A P1 最后判断 P1 口低 4 位哪位是低电平 若某位为低电平 则相应按键被按下 如 P1 0 为低电平 ACC 0 0 则 K1 键被按下 7 图 2 6 阵列按键 2 82 8 数码显示电路数码显示电路 如图 2 7 所示为数码显示电路 实验板使用了 6 个共阳数码管 P0 口为段 码信号线 B1 B6 为位控线 是 P1 口经 SN74F573 反向驱动芯片 即输入为 高电平 则输出为低电平 反之则输出为高电平 该芯片也有一片选信号 C 当此信号为高电平时有效 反向得到 再由 B1 B6 控制晶体管 Q1 Q6 以达 到控制每位数码管的目的 系统采用动态显示 先向 P0 口送第一位数码管需要显示的段码值 再给 P1 口送 0FEH 延时 1 毫秒使第一位数码管显示 又向 P0 口送第二位数码管需 要显示的段码值 P1 口送 0FDH 延时 1 毫秒 使第二位数码管显示 依次递推 直到最后一位数码管 然后再循环 改变延时时长可以调节数码管显示的亮度 由于单片机执行速度很快 微秒级 所以看上去数码管一直亮着 图 2 7 数码显示电路 8 第三章第三章 系统软件设计系统软件设计 3 13 1 数据单元分配数据单元分配 数据存储单元分配如表 3 1 所示 表 3 1 数据存储单元分配 项目秒分时日月年 存储单 元 30H31H32H33H34H35H 项目定时 1 开关 定时 1 分 定时 1 时 定时 2 开 关 定时 2 分 定时 2 时 存储单 元 36H37H38H39H3AH3BH 项目定时 3 开关 定时 3 分 定时 3 时 存显示首地址堆栈起始单元 存储单 元 3CH3DH3EH3FH50H 标志位单元 20H 分配如表 3 2 所示 表 3 2 标志位单元 20H 分配 位单元项目位单元项目 01H08H 定时 1 显示标志位 02H 1 2 位数码管闪烁标志位 09H 定时 2 显示标志位 03H0AH 定时 3 显示标志位 04H 3 4 位数码管闪烁标志位 0BH 定时 1 响铃标志位 05H0CH 定时 2 响铃标志位 06H 5 6 位数码管显示标志位 0DH 定时 3 响铃标志位 07H 日期显示标志位 0EH 总响铃标志位 3 23 2 时钟程序设计步骤时钟程序设计步骤 系统采用模块化结构 主程序只需调用各个子程序模块即可实现相应功能 其模块结构图如图 3 1 所示 9 图 3 1 模块结构图 3 33 3 计时子程序模块的实现计时子程序模块的实现 当 T0 中断时 执行本程序 因 T0 设为 50 毫秒中断 故中断 20 次为 1 秒 中断程序分别有 20 次计数 1 秒 60 次计数 1 分 60 次计数 1 小时 24 次计数 1 天 28 29 30 31 次计数 1 个月 12 次计数 1 年 当前 位到设定数值时写 0 或 1 下一位加 1 由于本世纪是 21 世纪 年位前两位是 4 的倍数 故判断闰年时只需对年的后两位进行计算 能被 4 整除为闰年 否 则为平年 年位只进行加 1 大于 99 时又重新开始 计时中断流程图如图 3 2 所示 10 图 3 2 计时子程序流程图 图 3 3 显示子程序流程图 3 43 4 时钟设定子程序模块的实现时钟设定子程序模块的实现 当设定时间时 断开 T0 中断 秒单元清 0 进入时 分单元设定 设定好 后重装 T0 初值 开 T0 中断 流程图如图 3 4 所示 11 图 3 4 时钟设定子程序流程图 3 53 5 程序说明程序说明 3 5 13 5 1 定时器初值计算定时器初值计算 因定时器工作于方式 1 需要 50ms 的中断 所以计数初值 216 t fosc 12 65536 50 10 3 11 0592 106 12 19456 表示成十六进制为 4C00H 故 TH0 4CH TL0 00H 3 5 23 5 2 程序初始化程序初始化 程序初始化时 清相应内存单元 20H 4FH 共 48 个单元 送时间 00 时 00 分 00 秒 日期 07 年 10 月 01 日 初值 送定时器 T0 T1 初值 TH0 TH1 4CH TL0 TL1 00H 特殊寄存器 SP 50H TMOD 11H 值等 3 5 33 5 3 误差分析及校正误差分析及校正 当 T0 中断时 需重装定时初值 且要加上从断开 T0 中断到允许 T0 中断共 有 13 个周期 以减小误差 故理论重装定时初值为 TH0 4CH TL0 13H 但该外接晶振电路的晶振频率可调 可能出现误差 所以实际不是这个 值 经调试 当定时初值为 TH0 4CH TL0 06H 时 24 小时约慢 2 秒 所以每当计时 24 小时之后 给秒单元 30H 送 02H 使秒累加时从 2 加起 24 小时就少加 2 秒 即可使时间得到校正 3 5 43 5 4 实现闪动设定实现闪动设定 闪动可选用段码送 00H 实现 也可禁止当前位显示 选通位送 0 实现 本 设计选用后者实现闪动 用定时器 T1 进行控制 12 3 5 53 5 5 实现连续加实现连续加 1 1 先判断键是否松开 若松开 则只执行一次加 1 程序段 进行单次加 1 若未松开则连续执行加 1 程序段 实现连续加 1 每执行一次加 1 程序段就调 用显示子程序进行延时 以对调节速度进行控制 本系统以 5Hz 的速度连续加 1 这样能快速对时间 日期 定时进行设定 3 63 6 实现方式实现方式 该时钟程序的功能模块先后实现的顺序为 主程序 时间模块 显示模块 键盘模块 时间设定及其显示模块 日期 及其显示模块 日期设定及其显示模块 定时及其显示模块 定时设定及其显 示模块 定时提示音及与显示相冲突的协调模块 每完成一个模块就与前一个已完成的模块结合起来调试 直至实现相应功 能 再编写下一模块程序 在与主程序衔接时 主程序和各子程序也需作相应 的改动 以便与子程序更好的衔接 特别是显示子程序需作较大改动 以便对 不同内容进行显示 3 73 7 源程序设计源程序设计 include include define uchar unsigned char define uint unsigned int sbit dula P1 0 sbit wela P1 1 sbit key1 P2 0 sbit key2 P2 1 sbit key3 P2 3 sbit key4 P2 3 sbit key5 P2 4 uchar temp tt sec min hour 13 uchar code table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 void init void keyscan void counter void delay uint z void main init wela 1 P0 0 xfe temp P0 wela 0 dula 1 P0 0 x3f dula 0 while 1 wela 1 P0 temp wela 0 if temp 0 xfe 1111 1110 dula 1 P0 table sec 10 dula 0 14 if temp 0 xfd 1111 1101 dula 1 P0 table sec 10 dula 0 if temp 0 xfb 1111 1011 dula 1 P0 0 x40 dula 0 if temp 0 xf7 1111 0111 dula 1 P0 table min 10 dula 0 if temp 0 xef 1110 1111 dula 1 P0 table min 10 dula 0 15 if temp 0 xdf 1101 1111 dula 1 P0 0 x40 dula 0 if temp 0 xbf 1011 1111 dula 1 P0 table hour 10 dula 0 if temp 0 x7f 0111 1111 dula 1 P0 table hour 10 dula 0 delay 2 temp crol temp 1 if temp 0 xff temp 0 xfe keyscan counter 16 void delay uint z 延时子函数 uint x y for x z x 0 x for y 110 y 0 y void init 系统初始化 tt 0 wela 0 dula 0 EA 1 ET0 1 TR0 1 TMOD 0 x01 TH0 65536 50000 256 TL0 65536 50000 256 void timer0 interrupt 1 定时器 0 中断 TH0 65536 50000 256 TL0 65536 50000 256 tt void counter 计时子函数 17 if tt 20 tt 0 sec if sec 60 sec 0 min if min 60 min 0 hour if hour 24 hour 0 void keyscan 键盘扫描 if key1 1 delay 5 if key1 1 18 TR0 0 while key1 delay 5 while key1 if key2 1 delay 5 if key2 1 sec while key2 delay 5 while key2 if key3 1 delay 5 if key3 1 min while key3 delay 5 while key3 if key4 1 19 delay 5 if key4 1 hour while key4 delay 5 while key4 if key5 1 delay 5 if key5 1 TR0 1 while
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村社会服务的专业化发展
- 初中数学竞赛题库设计:解题技巧与策略分享
- 合同管理规范及合同范本库
- 农业用地租赁与利用协议
- 供应链管理标准化流程包含供应商选择与订单跟踪
- 观川川和洋洋有感500字(13篇)
- 家庭和谐承诺书温馨家庭版(9篇)
- 阅读策略:如何从不同文体中获取有效信息教案
- 产品需求文档编制规范
- 项目材料可靠性承诺书4篇
- 法国国家介绍
- 公园的欢乐时光记叙文(10篇)
- 用英语讲好中国故事课件
- 信息储存设备管理制度
- 人防机房管理制度
- 2025年轴流冷却风扇行业深度研究分析报告
- 《商法学》本科笔记
- 读书分享会红色书籍《保卫延安》课件
- 华能集团薪酬管理制度
- T/CIE 147-2022空间行波管加速寿命试验评估技术规范
- 系统性淀粉样变性护理
评论
0/150
提交评论