单片机课程论文设计-电子钟课程设计1_第1页
单片机课程论文设计-电子钟课程设计1_第2页
单片机课程论文设计-电子钟课程设计1_第3页
单片机课程论文设计-电子钟课程设计1_第4页
单片机课程论文设计-电子钟课程设计1_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1 单片机课程论文设计单片机课程论文设计 电子钟电子钟 一 一 设计要求设计要求 1 准确计时 以数字形式显示时 分 秒的时间 2 小时以 24 小时计时形式 分秒计时为 60 进位 3 校正时间功能 即调整时间 4 闹钟功能 5 整点报时 6 总结检验电路设计结果 二 二 设计方案和论证设计方案和论证 本次设计时钟电路 使用了 ATC89C52 单片机芯片控制电路 单片机控制电路简单且省去了很多复杂的线 路 使得电路简明易懂 使用键盘键上的按键来调整时钟的时 分 秒 用一扬声器来进行定时提醒 同时使 用 C 语言程序来控制整个时钟显示 使得编程变得更容易 这样通过四个模块 键盘 芯片 扬声器 显示屏 即可满足设计要求 1 总设计原理框图如下图所示 总设计原理框图如下图所示 微型控制器微型控制器 时钟电路 声光报时 校时输入 数据显示 2 2 元器件清单 元器件清单 名称名称数量数量 STC89C52 单片机单片机1 12M 晶振晶振1 PNP9015 三极管三极管2 10k 排阻排阻1 10k 微调电阻微调电阻1 10k 电阻电阻2 4 7k 电阻电阻2 Led 发光二极管发光二极管1 四角按键四角按键4 蜂鸣器蜂鸣器1 10uF 电容电容1 30pF 电容电容2 1602 液晶显示器液晶显示器1 40 脚插座脚插座1 铜板铜板 15cm 15cm1 排针和排插排针和排插若干若干 3 3 各部分功能实现 各部分功能实现 1 单片机发送的信号通过程序控制最终在数码管上显示出来 2 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作 3 为使时钟走时与标准时间一致 校时电路是必不可少的 键盘用来校正液晶显示器上显示的时间 5 单片机通过控制闹铃电路来完成定时闹钟的功能 4 4 STC89C52STC89C52 单片机介绍单片机介绍 STC89C52 单片机是由深圳宏晶公司代理销售的一款 MCU 是由美国设计生产的一种低电压 高性能 CMOS 8 位单片机 片内含 8kbytes 的可反复写的 FlashROM 和 128bytes 的 RAM 2 个 16 位定时计数器 5 3 STC89C52 单片机内部主要包括累加器 ACC 有时也简称为 A 程序状态字 PSW 地址指示器 DPTR 只读存 储器 ROM 随机存取存储器 RAM 寄存器 并行 I O 接口 P0 P3 定时器 计数器 串行 I O 接口以及定时控制 逻辑电路等 这些部件通过内部总线联接起来 构成一个完整的微型计算机 其管脚图如图所示 STC89C52单片机管脚结构图 VCC 电源 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程 序数据存储器 它可以被定义为数据 地址的第八位 在 FIASH 编程 时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管 脚写入 1 后 被内部上拉为高 可用作 输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉 的缘故 在 FLASH 编程和校验时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻 拉高 且作为输入 并因此作为输入时 P2 口的管脚被外部拉低 4 将输出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存 储器进行存取 时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行 读写时 P2 口输出其特殊功能寄存器 的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这 是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下表所示 口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器 时 将跳过一 个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才 起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周期两次 PSEN 有效 但 在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程 期间 此引脚也用于施加 12V 编程电源 VPP 5 5 5 上电按钮复位电路 上电按钮复位电路 本设计采用上电按钮复位电路 首先经过上电复位 当按下按键时 RST 直接与 VCC 相连 为高电平 形成复位 同时电解电容被电路放电 按键松开时 VCC 对电容充电 充电电流在电阻上 RST 依然为高电 平 仍然是复位 充电完成后 电容相当于开路 RST 为低电平 单片机芯片正常工作 其中电阻 R2 决定了 电容充电的时间 R2 越大则充电时间长 复位信号从 VCC 回落到 0V 的时间也长 6 晶振电路 晶振电路 本设计晶振电路采用 12M 的晶振 晶振的作用是给单片机正常工作提供稳定的时钟信号 单片机的晶振 并不是只能用 12M 只要不超过 20M 就行 在准许的范围内 晶振越大 单片机运行越快 还有用 12M 的就 是好算时间 因为一个机器周期为 1 12 时钟周期 所以这样用 12M 的话 一个时钟周期为 12us 那么定时器 计一次数就是 1us 了 电容范围在 20 40pF 之间 这里连接的是 30pF 的电容 机器周期 10 晶振周期 12 系统时钟周期 6 7 下载端口下载端口 设计用到的 STC89C52 单片机芯片的 ISP 下载线是通过单片机的 TXD RXD 引脚把程序烧进去的 管脚 TXD 和 RXD 用于异步串行通信 其实 STC89C52 单片机的 ISP 下载线就是一个 max232 芯片连接 STC 和计算 机的串行通信口 计算机把程序从九针串口送到 max232 芯片 电平转换后送进单片机的串行口 也就是 TXD 和 RXD 然后单片机的串行模块把数据送到程序区 8 1602A 液晶显示器液晶显示器 7 8 1 引脚功能说明引脚功能说明 1602LCD 采用标准的 14 脚 无背光 或 16 脚 带背光 接口 各引脚接口说明如表 8 1 所示 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据 命令选择 12D5 数据 5R W 读 写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 表 8 1 引脚接口说明表 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VL 为液晶显示器对比度调整端 接正电源时对比度最弱 接地时对比度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 R W 共同为低电平时可以 写入指令或者显示地址 当 RS 为低电平 R W 为高电平时可以读忙信号 当 RS 为高电平 R W 为低电平时可以写 入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚 背光源正极 第 16 脚 背光源负极 10 8 2 3 1602LCD 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令 如表 10 14 所示 序号指令 RSR WD7D6D5D4D3D2D1D0 1 清显示 0000000001 2 光标返回 000000001 3 置输入模式 00000001 I D S 4 显示开 关控制 0000001DCB 5 光标或字符移位 000001 S C R L 6 置功能 00001DLNF 7 置字符发生存贮器地址 0001 字符发生存贮器地址 8 置数据存贮器地址 001 显示数据存贮器地址 9 读忙标志或地址 01BF 计数器地址 10 写数到 CGRAM 或 DDRAM 10 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 11 读出的数据内容 8 表 10 14 控制命令表 1602 液晶模块的读写操作 屏幕和光标的操作都是通过指令编程来实现的 说明 1 为高电平 0 为低电平 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平左移 S 屏幕上所有文字是否左移或 者右移 高电平表示有效 低电平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示 低电平表示关显示 C 控制光标的 开与关 高电平表示有光标 低电平表示无光标 B 控制光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移动光标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总线 N 低电平时为单行显示 高电平时 双行显示 F 低电平时显示 5x7 的点阵字符 高电平时显示 5x10 的点阵字符 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读忙信号和光标地址 BF 为忙标志位 高电平表示忙 此时模块不能接收命令或者数据 如果为低 电平表示不忙 指令 10 写数据 指令 11 读数据 与 HD44780 相兼容的芯片时序表如下 读状态输入RS L R W H E H输出D0 D7 状态字 写指令输入RS L R W L D0 D7 指令码 E 高脉 冲 输出无 读数据输入RS H R W H E H输出D0 D7 数据 写数据输入RS H R W L D0 D7 数据 E 高脉冲输出无 9 时钟显示校正电路 时钟显示校正电路 本设计利用按键开关来校正时钟显示的数字 当按钮按下时 将在相应的端口输入一个低电平 通过相应 的程序来改变时钟显示 其中 S1 按键开关用来选择要修改的数字 S2 按键用来增加所选数字的数值 S3 按键用来减少所选数字的数值 9 10 蜂鸣器电路 蜂鸣器电路 电路接法 三极管选定 PNP 型 基极 B 连接 5V 电压 发射极 E 连接一个 1K 左右的电阻后接 I O 口 集 电极 C 连接蜂鸣器后接地 单片机在复位后的个 I O 口是高电平 此时三极管是截止的 编写程序使选定 的 I O 为低电平 此时三极管导通 导通后蜂鸣器与电源正极连通 构成一个工作回路 从而发出滴滴的 响声 其中电阻 R1 在电路里起分压限流的作用 PNP 三极管起到模拟开关的作用 11 外接电源电路 外接电源电路 10 外接电源电路用于连接外部 5V 电源与电子时钟电路 通过自锁开关控制电路的导通与断开 当开关闭合 时 电路导通 外部电源给电路正常供电 电子时钟正常工作 当开关断开时 电路停止工作 11 12 总电路原理图 总电路原理图 Y1 12M C1 30P C2 30P C3 10u R2 10K RES VCC VCC 1 2 J1 1 2 3 4 5 6 7 8 9 R9 10K VCC A 1 B 2 TAP 3 R5 10K VCC P1 0 P1 1 P1 2 R4 4 7K VCC P2 5 SIP2 SPEAKER B 1 E 2 C 3Q2 9015 B 1 E 2 C 3Q19015 VCC R1 4 7K P2 0 X1 X2 X1 X2 P1 0 P1 1 P1 2 P2 0 P2 5 P10 T 1 P11 T 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RESET 9 RXD 10 TXD 11 INT0 12 INT1 13 T0 14 T1 15 WR 16 RD 17 X1 18 X2 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 EA 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 MC52 MC 52 1 1 2 2 3 3 4 4 5 5 6 6 DS8 COMPONENT 1 1 1 2 2 S1 S2 S3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 J3 CON16 D1 LED R10 10k 1 2 J2 CON2 VCC 12 13 程序流程图 程序流程图 软件程序从开始执行 先通过初始化各个寄存器 经过扫描按键来决定是否设定参数来执行相应功能 的程序 进而在数码管上显示 开始 定时器及中断定时器初始 化 执行时钟秒表 闹铃设定程序 是否设 定参数 执行显示程 序 N Y 13 三 设计总结三 设计总结 辛辛苦苦努力了一个月 终于有了成果 把理论变成了现实 出了欣喜外 还充满了成就感 1 1 实验中遇到的问题及解决方法实验中遇到的问题及解决方法 实验中遇到了很多意想不到的问题 从一开始的设计原理图 程序的编写到最后的电路板制作 一直 都是在发现问题和解决问题中度过 还好自己一路坚持了下来 把问题一一解决 设计的时候 程序的编写是比较难的 还要都熬过来了 制作电路板的时候 打孔时要很小心 刚开始打

温馨提示

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

评论

0/150

提交评论