基于单片机系统的电子时钟设计.doc_第1页
基于单片机系统的电子时钟设计.doc_第2页
基于单片机系统的电子时钟设计.doc_第3页
基于单片机系统的电子时钟设计.doc_第4页
基于单片机系统的电子时钟设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机系统的 数字电子时钟设计数字电子时钟设计 班班 级 级 08 电 气 自 动 化 姓姓 名 名 X X X 学学 号 号 XXXXXXXXXXX 指导教师 指导教师 XXXXXXX 实训日期 实训日期 2010 年 6 月 18 日 目录目录 1 内容提要 1 2 电子时钟原理 1 3 设计要求 1 4 控制系统的硬件设计 2 4 1 电路板原理 2 4 2 电路原器件 2 4 2 1 80C51 单片机介绍 2 4 2 2 数码管显示工作原理 2 4 2 3 74LS48 引脚图以及真值表 3 4 3 整个电路原理图 3 5 控制系统的软件设计 4 5 1 程序流程图 6 5 2 控制程序 8 6 仿真与调试 11 7 结果分析 12 8 总结 12 9 心得体会 13 10 参考文献 13 1 内容提要 单片计算机即单片微型计算机 由 RAM ROM CPU构成 定时 计数和多 种接口于一体的微控制器 它体积小 成本低 功能强 广泛应用于智能产业 和工业自动化上 而51系列单片机是各单片机中最为典型和最有代表性的一 种 这次课程设计通过对它的学习 应用 从而达到学习 设计 开发软 硬 的能力 本设计主要设计了一个基于8051单片机的电子时钟 并在数码管上显示 相应的时间 并通过一个控制键用来实现时间的调节和是否进入省电模式的转 换 应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真 该 方法仿真效果真实 准确 节省了硬件资源 关键字 单片机 子时钟 键盘控制 2 2 电子时钟的原理 电子时钟的原理 该电子时钟由8051 BUTTON 六段数码管等构成 采用晶振电路作为 驱动电路 由延时程序和循环程序产生的一秒定时 达到时分秒的计时 六十 秒为一分钟 六十分钟为一小时 满二十四小时为一天 而电路中唯一的一个 控制键却拥有多种不同的功能 按下又松开 可以实现屏蔽数码管显示的功能 达到省电的目的 直接按下不松开 则可以通过按键实现分钟的累加 每按一 次分钟加一 而连续两次按下按键不放松 则可实现小时的调节 同样每按一 次小时加一 3 3 设计要求 设计要求 1 6MHZ 晶振 在实验板上用动态扫描显示 00 59 2 L9 L10 显示 00 59 十进制数并循环 相隔 1S 3 L9 显示内寄存内部 RAM30H L10 显示内寄存内部 RAM31H 4 要求显示 时 分 秒 4 4 控制系统的硬件设计 控制系统的硬件设计 4 1 电路板原理 电路板原理 通过对多种单片机性能的分析 最终认为80C51是最理想的电子时钟开 发芯片 80C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压 高 性能CMOS8位微处理器 器件采用ATMEL高密度非易失存储器制造技术 制造 与工业标准的MCS 51指令集和输出管脚相兼容 80C51 的 P0 P2 口用作键盘 显示接口 用程序扫描的方法进行键盘输入和 显示输出 P0 口作为字段口 P2 作为显示器的置位口以及键盘的输出口 P2 0 P2 1 接 2 个数码管 P2 2 P2 3 接 2 个按钮 4 4 2 2 电路元器件 电路元器件 80C51 74LS48 芯片 三极管 按键 发光二极管 共阴级七段 数码管 电阻 4 2 14 2 1 80c5180c51 简介简介 MCS 51 系列单片机中的 8031 8051 及 8751 均采用 40Pin 封装的双列直 接 DIP 结构 右图是它们的引脚配置 40 个引脚中 正电源和地线两根 外置 石英振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 各引脚及其基本功能如下所示 4 2 24 2 2 数码管显示工作原理 数码管显示工作原理 数码管是一种把多个LED显示段集成在一起的显示设备 有两种类型 一种是共阳型 一种是共阴型 共阳型就是把多个LED显示段的阳极接在一 起 又称为公共端 共阴型就是把多个LED显示段的阴极接在一起 即为公 共商 阳极即为二极管的正极 又称为正极 阴极即为二极管的负极 又称为 负极 通常的数码管又分为8段 即8个LED显示段 这是为工程应用方便 如设计的 分别为A B C D E F G DP 其中DP 是小数点位段 而多位数码管 除某一位的公共端会连接在一起 不同位的数码管的相同端也 会连接在一起 即 所有的A段都会连在一起 其它的段也是如此 这是实际 最常用的用法 数码管显示方法可分为静态显示和动态显示两种 静态显示就 是数码管的8段输入及其公共端电平一直有效 动态显示的原理是 各个数码 管的相同段连接在一起 共同占用8 位段引管线 每位数码管的阳极连在一起 组成公共端 4 2 34 2 3 74ls4874ls48 引脚图以及真值表引脚图以及真值表 BCD 七段译码器 驱动器 LS48 是由与非门 输入缓冲器和 7 个与或非门组成的 BCD 7 段译码器 驱动器 输出是高电平有效 7 个与非门和一个驱动器成对连接 以产生可用的 BCD 数据及其补码至 7 个与或非译码门 剩下的与非门和 3 个输入缓冲器作为试灯输入 LT 端 灭灯输入动态灭灯输出 BI RBO 端及动态灭灯输 RBI 端 4 34 3 控制系统整个原理图 控制系统整个原理图 8051 系统处理系统处理 键盘控制键盘控制 时间参数时间参数 74LS48 译码处理译码处理 时间显示时间显示工作状态显工作状态显 示示 5 5 控制系统的软件设计 控制系统的软件设计 5 5 1 1 程序流程图 程序流程图 主程序流程图 中断处理流程图 5 5 2 2 控制程序 控制程序 ORG 0000H LJMP MAIN ORG 0010H MAIN MOV P0 00H MOV P2 00H MOV R0 01H MOV R1 01H MOV R2 00H LOOP MOV DPTR TAB MOV A R2 MOVC A A DPTR INC R2 CJNE A 60H LOOP1 MOV A R0 MOV DPTR TAB MOVC A A DPTR INC R0 CJNE A 60H LOOP2 MOV A R1 MOV DPTR TAB MOVC A A DPTR INC R1 CJNE A 24H LOOP3 SJMP MAIN LOOP1 MOV P1 A JNB P3 0 LPP LCALL DELAY SJMP LOOP LPP LCALL DELAY1 SJMP LOOP LOOP3 MOV P0 A MOV R2 00H MOV R0 00H SJMP LOOP LOOP2 MOV P2 A MOV R2 00H SJMP LOOP DELAY MOV R7 200 L1 MOV R6 190 L2 MOV R5 9 L3 DJNZ R5 L3 DJNZ R6 L2 DJNZ R7 L1 RET DELAY1 MOV R7 2 L4 MOV R6 19 L5 MOV R5 9 L6 DJNZ R5 L6 DJNZ R6 L5 DJNZ R7 L4 RET TAB DB 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H DB 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H DB 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H DB 30H 31H 32H 33H 34H 35H 36H 37H 38H 39H DB 40H 41H 42H 43H 44H 45H 46H 47H 48H 49H DB 50H 51H 52H 53H 54H 55H 56H 57H 58H 59H DB 60H END 6 6 调试与仿真 调试与仿真 仿真图如下 仿真图如下 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 D1 D2 D3 D4 0 0 0 D5 D6 D7 D8 D9 D10 D11 D12 0 0 0 0 0 0 D13 D14 D15 D16 0 0 0 a1 a2 a3 a4 a5 a6 a7 D17 D18 D19 D20a11 a10 a9 a8 0a12 a130 0a14 a15 a16 a17 a18 a19 a20 a21 D21 D22 D23 D24 0 0 0 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 1 1 1 1 1 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A29 A30 A31 A32 A36 A37 A38 A39 A40 A41 A42 A33 A34 A35 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 1 0 1 13 3 r1 1 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 U1 80C51 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U2 74LS48 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U3 74LS48 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U4 74LS48 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U5 74LS48 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U6 74LS48 A 7 QA 13 B 1 QB 12 C 2 QC 11 D 6 QD 10 BI RBO 4 QE 9 RBI 5 QF 15 LT 3 QG 14 U7 74LS48 Q1 2N3055 D1 LED RED 软件测试步骤如下 1 打开 Proteus 软件 2 选择 file 菜单下的 open design 选项 找到所需的元器件 按照电路 图连接后并保存 3 将用 ISIS 编译过的 HEX 格式程序 下载到单片机中 右击 51 单片机再左击 再弹出的对话框中 选择 program file 文本框或单 击文件图标 浏览找到所编译的程序 单击确定 4 单击左下角运行按钮 进行软件仿真 调试 直到出现正确的结果 在通电前 一定要检查电源电压的幅值和极性 否则很容易造成集成块损坏 加 电后检查各插件上引脚的电位 一般先检查 VCC与 GND 之间电位 若在 5V 4 8V 之间属正常 若有高压 联机仿真器调试时 将会损坏仿真器等 有时 会使应用系统中的集成块发热损坏 有时元器件会出现失效造成这类错误的原因有两个 一个是元器件买来时就已 坏了 另一个是由于安装错误 造成器件烧坏 可以采取检查元器件与设计要求 的型号 规格和安装是否一致 在保证安装无误后 用替换方法排除错误 仿真结果分析 仿真中会出现数码管显示不全情况 多为连线有误 或程序编写时出现问题 数码管一直显示 00 而不跳动 原因就是少了返回指令 SJMP 数码管的十位 个位乱跳就是标志位设置有问题 另外在程序中用到的单元地址都要赋值 0 中断程序有多个时的优先级要确定正确 在解决这些问题时也是一个再次学习 的过程 本次设计功能有些单调 只能实现时分秒的显示 设计比较简单 电路图 的设计过于单调 用的器件太少 实现调节时间的按钮太少 不能很好的实现 时间的调节 在测试过程中 六位数码显示管只显示五位数字 有一位数字不 亮 通过多次的修改程序并在PROTEUS软件环境中进行仿真 最终解决了 这个问题 同时也透露出本人在单片机电路设计和程序设计方面的不足 不过 最后的仿真效果非常好 实现了预期的效果 能过通过多功能控制键 8 8 总结 总结 通过这次的课程设计 我终于完成了单片机时钟课程设计 从开始接到论 文要求到时钟的实现 再到论文文章的完成 每走一步对我来说都是新的尝试 与挑战 这也是我在大学期间独立完成的最大的项目 在这段时间里 我学到 了很多知识也有很多感受 我开始了独立的学习和试验 查看相关的资料和书 籍 让自己头脑中模糊的概念逐渐清晰 使自己非常稚嫩作品一步步完善起来 每一次改进都是我学习的收获 每一次试验的成功都会让我兴奋好一段时间 当看着自己的程序 自己成天相伴的系统能够健康的运行 真是莫大的幸福 和欣慰 我相信其中的酸甜苦辣最终都会化为甜美的甘泉 本次毕业设计 我在喻老师的精心指导下 获得了丰富的理论知识 极 大地提高了实践能力 单片机领域这对我今后进一步学习计算机方面的知识有 极大的帮助 有些内容的准备上还有很多不足之处 通过这次设计可以有很大 的提高 从这次实践中学到一些经验 并在以后的工作中有实践的指导 在硬 件调试方面我也学到了很多东西 对电路的检查有了很多的经验 在软件编译 方面是我有了很好的编译习惯 并掌握了一些软件编译技巧 9 9 心得体会 心得体会 通过这次的设计使我认识到本人对单片机方面的知识知道的太少了 对于 书本上的很多知识还不能灵活运用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论