




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现代电子技术 综合实训 实训报告 专业 年级 班级 姓名 实训时间 实训地点 指导教师 一 一 前言 前言 1 近些年 人们对数字钟的要求越来越高 传统的时钟已不能满 足人们的需求 多功能数字钟不管在性能还是在样式上都发生了质 的变化 如电子闹钟 数字闹钟等 单片机在多功能数字钟中的应 用已是非常普遍 人们对数字钟的功能及工作顺序都非常熟悉 但 是却很少知道它的内部结构及工作原理 由单片机作为数字钟的核 心控制器 可以通过它的时钟信号进行计时 实现数字钟的各种功 能 将其时间数据经单片机输出 利用显示器显示出来 通过键盘 可以进行定时 校时 输出设备显示器可以为液晶显示器或数码管 本次设计以 AT89S52 芯片为核心 辅以必要的外围电路 设计 了一个简易的电子时钟 它由 5V 直流电源供电 在硬件方面 除 了 CPU 外 使用 CD4511 驱动六个 7 段 LED 数码管来进行显示 LED 采用的是动态扫描显示 使用三极管 9015 进行驱动 通过 LED 能够比较准确地显示时间 四个简单的按键实现对时间的调整 软件方面采用 C 语言编程 整个电子时钟系统计时比较准确并且方 便实用 二 二 需求分析需求分析 单片机自 20 世纪 70 年代问世以来 以其极高的性能价格比 受到人们的重视和关注应用很广 发展很快 单片机体积小 重量 轻 抗干扰能力强 环境要求不高 价格低廉 可靠性高 灵活性 好 开发较为容易 由于具有上述优点 在我国 单片机已广泛的 应用在工业自动化控制 自动检测 智能仪器仪表 家用电器 电 力电子 机电一体化设备等各个方面 而 51 单片机是各单片机中最 为典型的和最有代表性的一种 这次设计通过对它的学习 应用 以 AT89S52 芯片为核心 加以辅助电路 设计了一个简易的电子时 钟 它由直流电源供电 通过数码管能够准确显示时间 2 1 设计要求 设计要求 1 以 AT89S52 单片机为核心设计一个时钟控制器 2 时钟控制器由 5V 直流电源供电 2 3 通过六只 7 段数码管准确地显示时间 4 通过 CD4511 驱动数码管显示 5 通过按键能够方便的调节时间 2 2 方案比较方案比较 2 2 1 定时定时 方案一 硬件方法 定时采用专用的时钟芯片如 DS12887 定时较准 但增加了设计成本 方案二 软件方法 利用单片机自身的定时计数功能 设计 简单 容易实现并且比较稳定 本设计采用方案二 2 2 2 显示显示 方案一 采用 7 段 LED 数码管 LED 数码管使用 LED 模组 作为背光源 具有耗电低 配置灵活 线路简单 安装方便 耐 转动 价格低廉且寿命长等优点 方案二 采用 LCD 数码管 LCD 数码管使用 CCFL 冷阴 极荧光管 作为背光源 CCFL 灯管的发热量大 耗电高 老化 较快 LCD 发光不稳定均匀 功耗大 含有害化学物质等但价 格相对便宜 LED 在亮度 功耗 可视角度和刷新速率等方面 都更具 优势 LED 与 LCD 的功耗比大约为 1 10 而且更高的刷新速率 使得 LED 在视频方面有更好的性能表现 可提供宽达 160 的视 角 故采用方案一 2 2 3 数码管驱动数码管驱动 方案一 选用 CD4511 译码驱动芯片 CD4511 能够提供较 大的上拉电流 可直接驱动数码管 方案二 利用单片机本身的上拉电阻 虽然外围电路简单 但灌电流和数码管驱动电流不可兼得 即流过数码管电流满足要 求 则灌电流会超出单片机的承受极限 灌电流在单片机允许范 围内 则流过数码管电流过小 故该方案驱动能力较弱 3 为使数码管足够亮 选方案一 三 三 器件工作原理器件工作原理 3 13 1 AT89S52AT89S52 主要的性能参数主要的性能参数 8K 字节可擦写 1000 次的在线可编程 ISP 闪存 4 0V 到 5 5V 的工作电源范围 全静态工作 0Hz 24MHz 3 级程序存储器加密 256 字节内部 RAM 32 条可编程 I O 线 3 个 16 位定时器 计数器 8 个中断源 UART 串行通道 低功耗空闲方式和掉电方式 通过中断终止掉电方式 看门狗定时器 双数据指针 灵活的在线编程 字节和页模式 3 23 2 AT89S52AT89S52 引脚说明引脚说明 51 系列单片机 89s52 采用 40Pin 封装的双列直接 DIP 结构 上图是它的引脚配置 40 个引脚中 正电源和地线两根 外置石 4 英振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 3 33 3 引脚的功能 引脚的功能 电源引脚 电源引脚 VccVcc 40 脚 正电源脚 工作电压为 5V GNDGND 20 脚 接地端 外接晶体引脚外接晶体引脚 XTAL2XTAL2 18 脚 XTAL1XTAL1 19 脚 复位复位 RSTRST 9 脚 输入输出输入输出 I O I O 引脚引脚 39 脚 32 脚为 P0 0 P0 7 输入输出脚 称为 P0 口 是一个 8 位漏极开路型双向 I O 口 内部不带上拉电阻 当外接上拉电阻 时 P0 口能以吸收电流的方式驱动八个 LSTTL 负载电路 通常在 使用时外接上拉电阻 用来驱动多个数码管 在访问外部程序 和外部数据存储器时 P0 口是分时转换的地址 低 8 位 数据总 线 不需要外接上拉电阻 1 脚 8 脚为 P1 0 P1 7 输入输出脚 称为 P1 口 是一个带内 部上拉电阻的 8 位双向 I 0 口 P1 口能驱动 4 个 LSTTL 负载 通常在使用时外不需要外接上拉电阻 就可以直接驱动发光二极 管 端口置 1 时 内部上拉电阻将端口拉到高电平 作输入用 21 脚 28 脚为 P2 0 P2 7 输入输出脚 称为 P2 口 是一个带 内部上拉电阻的 8 位双向 I O 口 P2 口能驱动 4 个 LSTTL 负载 端口置 1 时 内部上拉电阻将端口拉到高电平 作输入用 对内 部 Flash 程序存储器编程时 接收高 8 位地址和控制信息 在访 5 问外部程序和 16 位外部数据存储器时 P2 口送出高 8 位地址 而在访问 8 位地址的外部数据存储器时其引脚上的内容在此期间 不会改变 10 脚 17 脚为 P3 0 P3 7 输入输出脚 称为 P3 口 是一个带 内部上拉电阻的 8 位双向 I O 口 P3 口能驱动 4 个 LSTTL 负载 这 8 个引脚还用于专门的第二功能 端口置 1 时 内部上拉电阻 将端口拉到高电平 作输入用 对内部 Flash 程序存储器编程时 接控制信息 P1 3 端口在做输入使用时 因内部有上接电阻 被外部拉低 的引脚会输出一定的电流 除此之外 P3 端口还用于一些专门功能 具体请看下表 P3 引 脚 兼用功能 P3 0 串行通讯输入 RXD P3 1 串行通讯输出 TXD P3 2 外部中断 0 INT0 P3 3 外部中断 1 INT1 P3 4 定时器 0 输入 T0 P3 5 定时器 1 输入 T1 P3 6 外部数据存储器写选通 WR P3 7 外部数据存储器写选通 RD 6 其它的控制或复用引脚其它的控制或复用引脚 ALE PROGALE PROG 30 脚 访问外部存储器时 ALE 地址锁存允许 的 输出用于锁存地址的低位字节 即使不访问外部存储器 ALE 端 仍以不变的频率输出脉冲信号 此频率是振荡器频率的 1 6 在 访问外部数据存储器时 出现一个 ALE 脉冲 对 Flash 存储器编 程时 这个引脚用于输入编程脉冲 PROG PSEN PSEN 29 脚 该引是外部程序存储器的选通信号输出端 当 AT89C51 由外部程序存储器取指令或常数时 每个机器周期输出 2 个脉冲即两次有效 但访问外部数据存储器时 将不会有脉冲 输出 EA Vpp EA Vpp 31 脚 外部访问允许端 当该引脚访问外部程序存储 器时 应输入低电平 要使 AT89S51 只访问外部程序存储器 地 址为 0000H FFFFH 这时该引脚必须保持低电平 对 Flash 存储 器编程时 用于施加 Vpp 编程电压 7 四 四 硬件设计硬件设计 时钟控制电路由四部分 复位电路 显示电路 晶振电路和控 制电路组成如下图所示 4 14 1 总电路图 总电路图 正 5V 电源直接接到 AT89S52 的 40 脚 VCC 20 脚 GND 接地 电路图如下所示 单 片 机 复位电路 晶振电路 显示 电路 按键电路 8 4 2 复位电路复位电路 该电路采用上电自动复位与手动复位结合接到 89S52 的 9 脚 RST 由一个 30uF 的电容 一个按键 一个 10K 的电阻和一个 220 欧电阻构成 手动按 K5 无论电路处于何种状态 电路都会恢 复到初始状态的显示 4 3 显示电路显示电路 显示电路部分通过 CD4511 驱动七段数码管 CD4511 译码 驱动芯片能够提供较高的上拉电流 可以直接驱动七段数码管 三极管可以较为方便的控制七段数码管 电路图如下图所示 9 4 3 14 3 1 CD4511CD4511 引脚图如下所示 引脚图如下所示 BI 4 脚是消隐输入控制端 当 BI 0 时 不管其它输入端状态 如何 七段数码管均处于熄灭 消隐 状态 不显示数字 LT 3 脚是测试输入端 当 BI 1 LT 0 时 译码输出全为 1 不管输入 DCBA 状态如何 七段均发亮 显示 8 它主要用 来检测数码管是否损坏 LE 锁定控制端 当 LE 0 时 允许译码输出 LE 1 时译码器 是锁定保持状态 译码器输出被保持在 LE 0 时的数值 D C B A 为 8421BCD 码输入端 a b c d e f g 为译码输出端 输出为高电 平 1 有效 84218421 BCDBCD 码对应的显示见下图 码对应的显示见下图 4 3 2 数码管数码管 10 1 数码管引脚图数码管引脚图 2 数码管使用方法数码管使用方法 LED 数码管分共阳型和共阴型两种 这里我们选择七段共阴型 数码管 数码管的 a b c d e f 引脚分别接到 CD4511 译码驱 动芯片对应的引脚 公共端 com 分别与连接在 P2 口的 NPN 的集电 极相连接 NPN 的发射极并联接地 CD4511 对应的引脚 ABCD 分 别连在 AT89S52 的 P0 0 P0 1 P0 2 P0 3 引脚 当数码管选通时 通过控制 P0 口来实现七段数码管动态显示数据 4 3 3 三极管三极管 1 三极管引脚图三极管引脚图 2 三极管使用方法三极管使用方法 11 单片机灌电流不易过大 对于数码管每个位选的灌电流约为 10mA 左右 六个位选为 60mA 达到了单片机端口极限 可采用三极 管 作为开关管 基极接单片机 P2 口 集电极接数码管 发射极并 联接地 三极管高电平时导通 导通后集电极电压为 0 3v 满足数 码管共阴极接地的要求 4 44 4 晶振电路晶振电路 18 脚 XTAL1 和 19 脚 XTAL2 外接 12MHZ 的晶振和两 个 30PF 的电容 震荡频率就是晶体的固有频率 4 54 5 控制电路控制电路 本电子钟设计有四个轻触式按键 分别命名为 K1 设置按钮 K2 分钟加 1 K3 小时加 1 K4 确定按钮 按键电路 五 五 软件设计软件设计 12 1 软件设计总框图软件设计总框图 1 总框图 如图 5 1 2 程序代码详见附录 1 5 1 主程序流程图 2 数码管控制 数码管控制 1 流程图 如图 5 2 2 程序代码详见附录 1 N N N N Y Y Y Y 秒单元加 1 60s 了吗 秒单元清零 分单元加 1 60 分了吗 分单元清零 时单元加 1 到 24 小时了 时单元清零 主程序入口 到 1s 了吗 定时器初始化 13 5 2 数码管控制流程图 3 定时器中断的使用 定时器中断的使用 1 流程图 如图 5 3 2 程序代码详见附录 1 5 3 定时器中断流程图 六 六 实习心得 设计实物照片 实习心得 设计实物照片 经过几周的努力 感触颇深 从开始的搜索整理资料到程序在 电路板上边良好的运行 期间并非是一帆风顺的 但我们克服了重 重障碍 终于完成了时钟控制器的制作 看着数码管上的时间一分 一秒的跳动 那一刻激动地心情无法用语言来表达 只是感觉身上 14 的每一个细胞都充满了活力 对于电子信息工程专业即将毕业的我们 本次实训是我们走入 职场之前比较有意义的一次实训 实训开始时候漫无目的 不知道 从何着手 但是随着资料的整理 之间不断地学习 渐渐地完成了 电路板的焊接 本来以为将写好的程序烧到芯片里边 时钟就可以 正常的运行了 但是当我在写程序的时候 才发现这部分对于电路 的调试却是整个设计环节的重中之重 这里边不但涉及到硬件的调 试 还有软件的调试 下面有我的调试记录 1 硬件电路按键部分不起作用 由于按键一端接地 另一端接 AT89S52 按键电路接上拉电 阻 接 5V 但是用万用表检查后发现按键的引脚接错了 当更 改了按键的引脚连接后 问题解决 2 第四个数码管始终选通 因为六只数码管中只有一只时钟选通 所以怀疑是位选环 节的错误 经过检验 是三极管的问题 更换了一个三极管 问题得到解决 3 放在定时器 T1 中的按键程序没有运行 放在定时器 T1 中的中断程序没有运行 通过检查 发现没 有对定时器 T1 重新赋初值 对定时器 T1 赋初值 2ms 之后 按 键程序得以运行 随着这次实训的结束 我们真正理解了理论联系实践的重要性 如果空有理论而没有实践 就像一件物品 知道了它的功能 但是 不知道如何运用 这样便失去了它实用的价值 如果空有实践没有 理论的支持 就像一辆汽车一直在行驶 却没有前进的方向 继续 这样前进 那么前方将会是万丈深渊 21 世纪 是一个飞速发展的 年代 需要的是复合型人才 这就要求我们既要掌握丰富的理论基 础 还要懂得如何将它们灵活的运用 实训虽然结束了 但是要想在本专业有更高更远的发展 那么 对于我们的考验才刚刚开始 我们会不断扩展自己的知识面 努力 15 的进取 踏踏实实的走好今后的每一步 参考文献 参考文献 1 刘建清 51 单片机 C 语言非常入门与视频演练 北京 电子工业出版社 2010 5 2 李朝青 单片机原理及接口技术 北京 北京航空航天大学出版社 2010 5 3 张瑾 张伟 张立宝 Protel 99SE 入门与提高 北京 人民邮电出版社 2008 2 4 孙江宏 李良玉 Protel 99 电路设计与应用 北京 机械工业出版社 2001 2 附件 附件 附件附件 1 1 程序代码 程序代码 File name 基于单片机控制的时钟电路 main department 数码管显示模块 按键模块 定时器中断模块 Descriptions 定时器 T0 每 10ms 刷新一次 用于产生系统的时基信号 外部中断 0 外部中断 1 和定时器 1 用于控制按键 K1 K2 K3 K4 K1 键按下 时钟走停 当时钟走停时 按 K2 键一次分加 1 按 K3 键一次秒加 1 按 K4 键时 钟恢复走时 复位按键对时钟进行初始化 Created By Created date 2011 10 30 16 include reg52 h include intrins h define ucharunsigned char uchar 为无符号字符型数据 ucharhour 0 minute 0 second 0 时钟初始化 uchar second h 0 second l 0 秒的十位 个位 ucharminute h 0 minute l 0 分的十位 个位 ucharhour h 0 hour l 0 时的十位 个位 uchar codeled7 0 x00 0 x08 0 x01 0 x09 0 x02 0 x0a 0 x03 0 x0b 0 x04 0 x0c 1 9 的字形码 ucharth 0 对定时器 0 计数 uchar key 0 sbit K1 P3 2 定义 K1 按键 sbit K2 P3 3 定义 K2 按键 sbit K3 P3 4 定义 K3 按键 sbit K4 P3 5 定义 K4 按键 bit flag 0 当时间为 1 秒时 flag 置 1 bit K flag 1 按键标志位 voiddelay 声明延时函数 外部中断 0 如果 K1 键按下 时钟走停 void int w0 interrupt 0 EX0 0 if K flag 1 TR0 0 K flag 0 else TR0 1 K flag 1 EX0 1 外部中断 1 当时钟走停时 有 K2 键按下 分钟加 1 void int w1 interrupt 2 外部中断 1 EX1 0 if K flag 0 delay if K flag 0 minute if minute 60 17 minute 0 EX1 1 定时器 1 定时 2ms 当时钟走停时 有 K3 键按下 小时加 1 当时钟走停时 有 K4 键按下 时钟恢复走时 void int1 interrupt 3 TR1 0 关闭
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代表法知识竞赛题及答案
- 碳数据准确性与可靠性问题的解决方案
- 绿色建筑材料的节能效果与性能检测方法
- 绿色建筑施工技术与工艺的绿色实践
- 可持续发展理念在工程项目管理课程中的体现
- 小学英语主题拓展阅读与自主学习能力的关系研究
- 虹口区欧阳路街道社区工作者招聘考试真题2024
- 生物趣味知识题库及答案
- 高校产教融合下的学科专业发展与行业需求对接策略
- 木地板购货合同(标准版)
- 2025年茶粉行业研究报告及未来行业发展趋势预测
- 培训民警拍照宣传课件
- 2025一建《建设工程项目管理》冲刺361题
- 人教版二年级数学上册第二单元 1~6的表内乘法必刷卷 (含答案)
- 抖音账号实名认证承诺函模板
- 第一章 勾股定理 单元测试卷(含部分解析)-2025-2026学年北师大版八年级数学上册
- 2025年四川省高等职业教育单独考试招生语文试卷
- (2025年标准)以捐代购协议书
- 颈部引流管的护理
- 2025至2030中国门诊外科中心行业项目调研及市场前景预测评估报告
- 中医护理拔罐技术应用
评论
0/150
提交评论