




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络 如有侵权 请联系网站删除 精品文档 微机综合实践课程设计说明书 题题 目 目 0 0 0 0 6 6 0 0 秒秒 表表 设设计计 院院 系 系 建建筑筑与与交交通通工工程程学学 院院 姓姓 名 名 一一头头大大象象 学学 号 号 0 0 8 8 0 0 0 0 1 1 4 4 0 0 2 2 0 0 8 8 专专 业 业 建建筑筑环环境境与与设设备备工工 程程 指导老师 指导老师 X XX XX X 20112011 年年 1212 月月 1616 日日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 目录目录 一 设计任务 1 二 总体方案设计 1 2 1 硬件方案 1 2 2 软件方案 1 三 系统硬件设计 1 3 1 硬件总体设计方案 1 3 2 并行 I O 口 P0 P3 结构与设计 1 3 3 复位电路设计 3 3 4 电源开关设计 3 3 5 晶振输入电路设计 4 四 相关硬件说明 4 4 1 LED8 段数码显示管结构与原理 4 4 2 AT89S52 部分系统功能与引脚说明 5 五 系统软件设计 10 5 1 软件总体设计方案 10 5 2 程序流程图 11 5 3 程序清单 13 5 4 程序运行分析 14 六 元件清单 14 七 硬件制作步骤 15 八 总结 15 参考文献 17 此文档收集于网络 如有侵权 请联系网站删除 精品文档 一 设计任务一 设计任务 00 60 秒表设计 用 AT89S52 单片机的定时 计数器 T0 产生一秒的定时时间 作为秒计数时间 当一秒产生时 秒计数加 1 秒计数到 60 时 自动从 0 开始 二 总体方案设计二 总体方案设计 2 1 硬件方案 2 1 1 制作一个 AT89S52 最小系统 2 1 2 采用两个 LED 七段数码显示管分别显示秒表的个位和十位 2 1 3 P1 口输出十位段码 P2 口输出个位段码 2 2 软件方案 2 2 1 因为当晶振频率为 12MHz 时 定时 计数器最大计时时间为 65536ms 所以应根据计 时 2 2 2 时间设定定时 计数器定时时间 累计合适中断次数后执行刷新显示子程序 2 2 3 每隔 1s 秒计数加 1 秒计数到 60 自动从 0 开始 循环不止 三 系统硬件设计三 系统硬件设计 3 1 硬件总体设计方案 最小系统应符合以下要求 引出 4 个 I O 端口 便于硬件拓展 同时接入排阻以满足更多的使用要求 在上电自动复位的基础上添加按键复位功能 以提高系统的可控性 采用按钮开关 继电器与稳压二极管构成电源电路 以提高系统的稳定性 具有专门的编程端口 采用内部时钟电路 3 2 并行 I O 口 P0 P3 结构与设计 3 2 1 P0 口 P0 0 P0 7 P0 口是一个 8 位漏极开路型双向 I O 端口 P0 口可做通用 I O 口使用 但在端 口进行输入操作前 应先向端口的输出锁 存器写 1 在 CPU 访问片外存储器时 P0 口自动作为地址 数据复用总线 在编程时 由 P0 口输入指令字节 而在验证程序时 P0 口输出指令字节 验证时应外接上拉电阻 P0 口能以吸收电流的方式驱 动 8 个 LS 型 TTL 负载 图 1 P0 口结构图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 3 2 2 P1 口 P1 0 P1 7 P1 口是一个内部带上拉电阻的 8 为 准双向 I O 端口 当 P1 输出高电平是 能向外部提供 拉电流负载 因此 不需再外接上拉电阻 当端口用作输入时 也应先向端口的输出 锁存器写入 1 在编程和验证程序时 P1 口用来输入低 8 位地址 P1 口能驱动 4 个 LS 型 TTL 负载 图 2 P1 口结构图 3 2 3 P2 口 P2 0 P2 7 P2 口也是一个内部带上拉电阻的 8 位 准双向 I O 端口 当 CPU 访问外部存储器时 P2 口自 动用作输出高 8 位地址 与 P0 低 8 位地址 一起形成外部存储器的 16 位地址总线 此 时 P2 口不再作为通用 I O 口使用 P2 口可驱动 4 个 LS 型 TTL 负载 在编程和验证程序时 P2 口用作接收高 8 为地址 图 3 P2 口结构图 3 2 4 P3 口 P3 0 P3 7 P3 口是一个内部带上拉电阻的 8 位多 功能双向 I O 端口 P3 口除了作通用 I O 端口外 其主要 功能是它的各位还具有第二功能 无论 P3 口作通用输入框还是作第二输入功能口使 用 相应位的输出锁存器和第二输出功能 段都应置 1 P3 口能驱动 4 个 LS 型 TTL 负载 P3 口作为第二功能使用时各引脚定义 如下 P3 0 RXD 串行口输入端 P3 1 TXD 串行口输出端 图 4 P3 口结构图 P3 2 INT0 外部中断 0 请求输入端 P3 3 INT1 外部中断 1 请求输入端 P3 4 T0 定时 计数器 0 外部信号输入端 此文档收集于网络 如有侵权 请联系网站删除 精品文档 P3 5 T1 定时 计数器 1 外部信号输入端 P3 6 WR 外 RAM 写选通信号输出端 P3 7 RD 外 RAM 读选通信号输出端 为便于硬件拓展以及满足更多的使用有求 在 P0 P2 口处分别接 1K 和 2 2K 的上拉 电阻 并在每个端口出添加 VCC 和 GND 引脚 各端口原理图如下 图 5 P0 口外围电路原理图 图 6 P1 口外围电路原理图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 7 P2 口外围电路原理图 图 8 P2 口上拉电阻原理图 图 9 P3 口外围电路原理 图 3 3 复位电路设计 本设计中 AT89S52 是采 用上电自动复位和按键复位两 种方式 复位电路如图所示 上电瞬间 电路充电 RST 引线端出现正脉冲 只要 RST 端保持 10ms 以上的高电 平 就能使单片机有效地复位 其中 R4 和 R5 分别选择 100 和 4 7K 的电阻 电 容器一般选择 10 F 3 4 电源开关设计 本设计采用按钮开关 继电器以及稳压二极管构成的电路 以提高系统稳定性 各元件规格如 图 图 10 复位电路原理图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 11电源开关电路原理图 3 5 晶振输入电路设计 AT89S52 单片机内部的振荡电路是一个高增益反向 放大器 引线 XTAL1 和 XTAL2 分别是放大器的输入 端和输出端 单片机内部虽然有振荡电路 但要形成时 钟 外部还需附加电路 AT89S52 的时钟产生方式有两 种 内部时钟电方式和外部时钟方式 由于外部时钟方 式用于多片单片机组成的系统中 所以此处选用内部时 钟方式 即利用其内部的振荡电路在 XTAL1 和 XTAL2 引线上外接定时元件 内部振荡电路产生自激振荡 最 常用的是在 XTAL1 和 XTAL2 之间接晶体振荡器与电 路构成稳定的自激振荡器 如图电路所示为单片机最常 用的时钟振荡电路的接法 其中晶振可选用振荡频率为 12MHz 的石英晶体 电容器一般选择 20PF 左右 图 12 晶振输入电 路原理图 四 相关硬件说明四 相关硬件说明 4 1 LED8 段数码显示管结构与原理 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管 共阳数码管是指将所有发光二 极管 的阳极接到一起形成公共阳极 COM 的数码管 共阳数码管在应用时应将公共极 COM 接到 5V 当某一字段发光二极管的阴极为低电平时 相应字段就点亮 当某一字段的阴极为高电平时 相应字段就不亮 共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极 COM 的数码管 共阴数码管在应用时应将公共极 COM 接到地线 GND 上 当某一字段发光二极管的阳极为高电平 时 相应字段就点亮 当某一字段的阳极为低电平时 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 13 LED8 段数码显示管原理图 引脚图 相应字段就不亮 LED 数码管段码如下表 表 1八段 LED 数码管段码表 显示数码共阴型段码共阳型段码显示数码共阴型段码共阳型段码 03FHC0HA77H88H 106HF9Hb7CH83H 25BHA4HC39HC6H 34FHB0HD5EHA1H 466H99HE79H86H 560H92HF71H8EH 670H82H 707HF8H 87FH80H 96FH90H 本设计采用共阳静态显示 其中 P2 口输出个位段码 P1 口输出十位段码 仿真图如图 12 所 示 4 2 AT89S52 部分系统功能 与引脚说明 AT89S52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编 程 Flash 存储器 使用 Atmel 公司高密度非 易失性存储器技术制造 与工业 80C51 产 品指令和引脚完全兼容 片上 Flash 允许程 序存储器在系统可编程 亦适于常规编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在系 统可编程 Flash 使得 AT89S52 为众多嵌入 此文档收集于网络 如有侵权 请联系网站删除 精品文档 式控制应用系统提供高灵活 超有效的解决方案 AT89S52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 23 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选 择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为止 RST 复位输入 当振荡器工作时 RST 引脚出现两 个机器周期以上高电平将是单片机复位 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存允许 输出脉冲用于锁存地址的低 8 位字 节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定 的脉冲信号 因此它可对外输出时钟或用于定时目的 要 注意的是 每当访问外部数据存储器时将跳过一个 ALE 脉冲 对 FLASH 存储器编程期间 该引脚还用于输入编 程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可 禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会 被微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89S52 由外部程 序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访 问外部数据存储器 将跳过两次 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端 必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器的指令 FLASH 存储器编程时 该引 脚加上 12V 的编程允许电源 Vpp 当然这必须是该器件是使用 12V 编程电压 Vpp XTAL1 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2 振荡器反相放大器的输出端 4 2 1 AT89S52 定时 计数器详细介绍 此文档收集于网络 如有侵权 请联系网站删除 精品文档 定时 计数器基本结构 定时器 计数器的控制字 定时器 计数器有 4 种工作模式 由 TMOD 设置并由 TCON 控制 工作方式寄存器 TMOD 的地址为 89H 它不能位寻址 在设置时一次写入 其功能为确定定时器的工作 方式及功能选择 格式如下 图 17TMOD 的各位定义 1 GATE 门控位 0 定时器 计数器仅受 TR 的控制 1 只有 INT 为高电平 且 TR 1 时 定时器 计数器才工作 2 C T 功能选择位 0 定时功能 1 计数功能 3 M1M0 工作方式选择位 00 方式 0 13 位定时计数器 TH 高 8 位和 TL 低 5 位 01 方式 1 16 位定时 计数器 10 方式 2 自动重装入初值的 8 位定时 计数器 11 方式 3 T0 分成两个独立的 8 位计数器 T1 无方式 3 定时器控制寄存器 TCON 除可字节寻址外 各位还可以位寻址 格式为 图 18TCON 的各位定义 功能为 TR1 TR2 控制定时 计数器的启动与停止 IT1 IT2 控制溢出中断的允许与屏 蔽 当标志位 TF0 TF1 采用软件查询时应禁止中断 且需要以软件的方式将标志位清 此文档收集于网络 如有侵权 请联系网站删除 精品文档 0 若采用中断方式查询标志位 返主后由硬件自动清 0 定时 计数器工作原理 1 模式 0 定时 计数器 TH0 或 TH1 的高 8 位和 TL0 或 TL1 的低 5 位组成的一个 13 位定时器 计数器 此种方式与 MCS 48 系列兼容 如果不是为了兼容的目的 一般不用方式 0 方式 0 的全部功能 方式 1 都可以代替 图 19T0 工作模式 0 逻辑结构框图 2 模式 1 该模式对应的是一个 16 位的定时器 计数器 THx8 位和 TLx8 位组成 16 位加 1 计数 器 最大计数脉冲个数 1 65536 216 最长定时时间 晶振 12MHz T 1 s 为 65536 s 图 20T0 工作模式 1 逻辑结构框图 3 模式 2 模式 2 把 TL0 或 TL1 设置成一个可以自动重装载的 8 位定时器 计数器 用于需 要重复定时和计数的场合 最大计数值 256 28 最大定时时间 晶振 12MHz 时 T 1 s 256 s 自动恢复初值 8 位定时 计数器 TLx 为 8 位加 1 计数器 THx 为 8 位初值暂存 器 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 21T0 工作模式 2 逻辑结构框图 4 模式 3 TL0 和 TH0 被分成为两个相互独立的 8 位计数器 TL0 占用 T0 控制位 C T TR0 TF0 GATE TH0 占用 T1 控制位 TR1 和中断标志位 TF1 T1 不能使用方式 3 工作 图 22T0 工作模式 3 逻辑结构框图 T0 工作于模式 3 时 T1 仍可设置为模式 0 2 此时 仅使用 T1 控制位 C T 切换其定 时或计数器工作方式 寄存器 8 位 13 位 16 位 溢出时 只能将输出送入串行口或用 于不需要中断的场合 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 23T0 模式 3 下的 T1 逻辑结构框图 定时器 计数器初始化步骤 1 确定工作模式 是计数还是定时 工作方式和启动控制方式 并将其写入 TMOD 寄存器 2 设置定时或计数器的初值 可直接将初值写入 TH0 TL0 或 TH1 TL1 中 16 位 计数初值必须分两次写入对应的计数器 3 根据要求决定是否采用中断方式 直接对 IE 位赋值 开放中断时 对应位置 1 采用程序查询方式时 IE 位应清 0 以进行中断屏蔽 4 启动定时器工作 可使用 SETB TRi 启动 五 系统软件设计五 系统软件设计 5 1 软件总体设计方案 5 1 采用查表方式输出段码 使程序更为简练 节约存储空间 5 2 AT89S52 单片机的定时 计数器在四种工作模式中 其最大定时时间 TF 溢出周期 为 表 2AT89S52 定时 计数器最大定时时间表 工作模式0123 最大定时时间 8192 s65536 s256 s256 s 因定时时间为 1s 可选用模式 1 每隔 50ms 中断一次 中断 20 次为 1s 5 3 每隔 20 个中断执行一次刷新显示子程序 5 4 六十进制 个位刷新显示子程序每执行十次 执行一次十位刷新显示子程序 同时个位 显示 0 达到个位逢十进一的目的 此文档收集于网络 如有侵权 请联系网站删除 精品文档 5 5 十位刷新显示子程序执行六次后 重新初始化 数码管显示 00 5 2 程序流程图 5 2 1 主程序流程图 N Y 开始 各工作寄存器 指针赋初值 设定计数器 0 为工作 模式 1 计数器赋初值 7 段数码管显示 00 开中断 启动计数器 等待中断 R5 1 0 等待时 间足够 1S 输出计时时间 图 24 5 2 2 中断服务子程序流程图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 N Y N Y N Y 保护断点 计数器重新赋值 R5 1 0 循环计时 50ms是否够 20 次 循环计时计数器 R5 重新赋值 查表去段码 输出个位数 个位指针指向下一段码 R6 1 0 个位满 10 查表取段码 输出十位数 个位输出 0 十位 输出计数器 R3 1 R4 1 0 计时满 60 各计数器 指针 工作寄存器 端口初始化 返回主程序 图 25 此文档收集于网络 如有侵权 请联系网站删除 精品文档 5 3 程序清单 ORG 0000H LJMP MAIN ORG 000BH LJMP INT T0 ORG 0100H MAIN MOVTMOD 01H SETBET0 SETBEA SETBTR0 MOV R5 14H 循环计时计数器 循环 20 次 MOV R6 0AH 个位显示计数器 逢 10 进 1 MOV R3 00H 十位数段码指针 MOVR4 06H 十位显示计数器 满 6 清零 MOVDPTR BIAO MOVA 0C0H 将 0 段码输出显示 MOVP2 A MOVP1 A MOVTH0 3CH MOVTL0 0B0H 定时 50MS SJMP 等待中断 INT T0 MOVTH0 3CH MOVTL0 0B0H 重新赋值 DJNZ R5 GO 循环不足 20 次 不够 1S 返回等待 MOV R5 14H 循环计时计数器重新赋值 CLR A MOVC A A DPTR MOV P2 A 显示个位 INC DPTR 指向下一段码 DJNZ R6 GO 个位不满 10 跳过十位显示 MOV R6 0AH 个位显示计数器重新赋值 MOV A R3 MOV DPTR BIAO 此文档收集于网络 如有侵权 请联系网站删除 精品文档 MOVC A A DPTR MOVP1 A 显示十位 MOV A 0C0H MOV P2 A INC R3 DJNZ R4 GO 十位不满 6 跳过初始化 MOV A 0C0H 初始化 MOVP1 A MOVP2 A MOV R5 14H MOVR6 0AH MOVR3 00H MOV R4 06H MOVTH0 3CH MOVTL0 0B0H MOVDPTR BIAO GO RETI BIAO DB 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 0 9 段码 共阳 END 5 4 程序运行分析 因定时 计数器的定时时间为 50ms 中断 20 即 1s 后执行一次刷新显示子程序 程序只考虑 硬件延时 并没有将中断服务子程序的运行时间计算在内 所以在秒表运行时 会出现计时显示时 间滞后于标准时间的现象 据中断服务子程序以及指令周期表可知 刷新显示子程序运行时间最小的情况为 不带进位的 秒计数加 1 运行时间最大的情况为 满 60 自动从 0 开始 据此可推算其最大最小运行时间分别 为 196 s 和 169 s 经 proteus 仿真测试 运行一小时将会出现大约 1s 的误差 且随着时间推移 误差将会累积增大 在实际的计时中 也会因环境以及设备的不完善 影响计时的精确性 在对秒计时影响不大的情况下 适当增大定时 计数器初值 以及提高制板工艺的方法尽可能 的减小误差 六 元件清单六 元件清单 表 3元件清单表 序号元件名称规格备注 1 电阻 1K 1 个 2 电阻 10 1 个 3 电阻 100 1 个 4 电阻 4 7K 1 个 此文档收集于网络 如有侵权 请联系网站删除 精品文档 5 CPU 插座 CON40 1 个 6 单片机 AT89S52 1 个 7 继电器 HK4100F DC5V SHG 1 个 8 牛角座 CON10 1 个 9 按钮 4 脚2 个 10 发光二级管 1 个 11 电容 10uF 1 个 12 电容 470uF 1 个 13 电容 20pF 2 个 14 排阻 1K 1 排 15 排阻 2 2K 1 排 16 晶振 12MHz 1 个 17 稳压管 5819 1 个 18 LED 七段数码显示管红色 共阳2 个 19 排针 若干 20 导线 若干 21 最小系统电路板 1 块 七 硬件制作步骤七 硬件制作步骤 1 在 protel 99 SE 中编辑原理图 生成 PCB 文件 打印 2 将用于腐蚀的电路板抛光 以便保证印刷电路板的熨烫效果 3 将印刷电路熨烫在电路板上 待油墨充分粘附于板上后 撕下喷墨菲林片 4 腐蚀掉电路板多余的铜 进行第二次抛光 将多余的油墨清洗掉 按照电路图在 电路板上钻孔 5 将元器件焊接在板上并检测各焊点是否接触可靠 6 烧录程序 调试 直至成功运行 八 总结八 总结 出于对单片机和电路板制作的浓厚兴趣以及自身知识的匮乏 我在做这课设的时候感 觉既困扰又欣慰 通过这次课程设计 我拓宽了知识面 锻炼了动手能力 特别是 proteus 软件的使用 通过整个电路设计与制作的过程 我掌握了实物硬件的连接和组装 与调试的方法 熟悉了小规模集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数字合成师考试:影视后期剪辑与包装试卷
- 南明区一模数学试卷
- 微课课件模板
- 历年高考湖北卷数学试卷
- 南宁二中中考数学试卷
- 2025省博物馆考试题及答案
- 2025山西省考试题及答案
- 矿山安全生产及设备相关知识考试试卷
- 江西省理科数学试卷
- 2025三国演义高考试题及答案
- 兰花花叙事曲二胡曲谱
- 调解协议书电子版5篇(可下载)
- 材料性能学(第2版)付华课件1-弹性变形
- GB/T 4909.4-2009裸电线试验方法第4部分:扭转试验
- PDCA质量持续改进案例一:降低ICU非计划拔管发生率
- 2023年烟台蓝天投资开发集团有限公司招聘笔试题库及答案解析
- 企业标准编写模板
- 初中道德与法治 九年级(维护祖国统一)初中道德与法治九年级作业设计样例
- 幼儿园绘本故事:《骄傲的大公鸡》 课件
- 江西省赣州市于都县2022-2023学年九年级化学第一学期期中监测试题含解析
- 新冠核酸检测实验室PCR管八联管滤芯吸头等耗材质检和储存程序
评论
0/150
提交评论