1602lcd显示的秒表(1)_第1页
1602lcd显示的秒表(1)_第2页
1602lcd显示的秒表(1)_第3页
1602lcd显示的秒表(1)_第4页
1602lcd显示的秒表(1)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

目 录 1 概述 1 1 1 课题的研究意义和目的 1 2 方案论证 1 2 1 STC89C52 主要功能特性 1 2 2 系统分析 3 3 硬件系统的设计 3 3 1 硬件介绍 3 3 2 部分硬件原理图 4 3 3 最小单片机系统 5 4 系统的软件设计 5 5 软硬件联调 7 5 1 正面图 7 5 2 反面接线 8 5 3 测试结果 8 结束语 9 参考文献 9 附录 10 附录 1 protel 原理图 10 附录 2 PCB 图 11 附录 3 protues 仿真图 12 附录 4 程序清单 12 附录 5 元器件清单 17 盐城工学院课程设计说明书 2011 1 1 概述 1 1 课题的研究意义和目的 1 通过本实验的设计初步了解单片机工作原理和各功能端口的相关设置 2 掌握 PROTEUS 软件的安装和配置过程 3 学会绘制电路原理图 4 了解装载程序和调试 5 PROTEUS VSM 与 uVision3 的联调 6 用单片机仿真软件 并进行调试 7 掌握单片机相应的编程步骤 了解秒表相关的工作流程 8 熟悉 KEIL PROTEUS 等相关软件的使用 2 方案论证 2 1 STC89C52 主要功能特性 1 兼容 MCS51 指令系统 2 8k 可反复擦写 大于 1000 次 Flash ROM 3 32 个双向 I O 口 4 256x8bit 内部 RAM 5 3 个 16 位可编程定时 计数器中断 6 时钟频率 0 24MHz 7 2 个串行中断 可编程 UART 串行通道 8 2 个外部中断源 共 8 个中断源 盐城工学院课程设计说明书 2011 2 9 2 个读写中断口线 3 级加密位 10 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 11 有 PDIP PQFP TQFP 及 PLCC 等几种封装形式 以适应不同产品的需求 STC89C52 为 8 位通用微处理器 采用工业标 准的 C51 内核 在内部 功能及管脚排布上与通用的 8xc52 相同 其主要用于会聚调整时的功能控 制 功能包括对会聚主 IC 内部寄存器 数据 RAM 及外部接口等功能部件 的初始化 会聚调整控制 会聚测试图控制 红外遥控信号IR 的接收解码 及与主板 CPU 通信等 主要管脚有 XTAL1 19 脚 和 XTAL2 18 脚 为振荡器输入输出端口 外接 12MHz 晶振 RST Vpd 9 脚 为复位输入 端口 外接电阻电容组成的复位电路 VCC 40 脚 和 VSS 20 脚 为 供电端口 分别接 5V 电源的正负端 P0 P3 为可编程通用 I O 脚 其功 能用途由软件定义 在本设计中 P0 端口 32 39 脚 被定义为 N1 功 能控制端口 分别与 N1 的相应功能管脚相连接 13 脚定义为 IR 输入端 10 脚和 11 脚定义为 I2C 总线控制端口 分别连接 N1 的 SDAS 18 脚 和 SCLS 19 脚 端口 12 脚 27 脚及 28 脚定义为握手信号功能端口 连接主板 CPU 的相应功能端 用于当前制式的检测及会聚调整状态进入的 控制功能 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总 线复用口 作为输出口用时 每位能吸收电流的方式驱动8 个 TTL 逻辑 门电路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存 储器或程序存储器时 这组口线分时转换地址 低8 位 和数据总线复用 在访问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而 在程序校验时 输出指令字节 校验时 要求外接上拉电阻 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓 冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通 过内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 IIL 与 AT89C51 不同之处是 P1 0 和 P1 1 还可分别作为定时 计数器 2 的外 部计数输入 P1 0 T2 和输入 P1 1 T2EX Flash 编程和程序校验期间 P1 接收低 8 位地址 表 P1 0 和 P1 1 的第二功能 引脚号功能特性 盐城工学院课程设计说明书 2011 3 P1 0 T2 时 钟输出 P1 1 T2EX 定时 计 数器 2 P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出 缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口 P2 写 1 通过内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使 用时 因为内部存在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 IIL 在访问外部程序存储器或 16 位地址的外部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址 的外部数据存储器 如执行 MOVX RI 指令 时 P2 口输出 P2 锁存器 的内容 Flash 编程或校验时 P2 亦接收高位地址和一些控制信号 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输 出缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上拉电阻拉高并可作为输入端口 此时 被外部拉低的 P3 口将用上拉电阻输出电流 IIL P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 P3 口还接收一些用于 Flash 闪速存储器 编程和程序校验的控制信号 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高 电平将使单片机复位 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存 允许 输出脉冲用于锁存地址的低 8 位字节 一般情况下 ALE 仍以时 钟振荡频率的 1 6 输出固定的脉冲信号 因此它可对外输出时钟或用于定时 目的 要注意的是 每当访问外部数据存储器时将跳过一个ALE 脉冲 对 Flash 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必 要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可 禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会被微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 盐城工学院课程设计说明书 2011 4 当 AT89C52 由外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过 两次 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密 位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器中的指令 Flash 存储器编程时 该 引脚加上 12V 的编程允许电源 Vpp 当然这必须是该器件是使用 12V 编 程电压 Vpp XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 XTAL2 振荡器反相放大器的输出端 2 2 系统分析 设计的电路主要是能多次记时和查询时间 记时的多少通过显示电路显示 出来 每一次计时可以通过控制电路查询出来 设计框图如图 2 1 所示 控制部分 计数与存 储部分 显示部 分 图 2 1 3 硬件系统的设计 3 1 硬件介绍 根据设计要求和设计思路 硬件电路有两部分组成 即单片机按键电路 LCD 显示器电路 图 2 2 为硬件电路设计框图 盐城工学院课程设计说明书 2011 5 按键电路 STC89C 52 LCD显示电路 图 2 2 系统硬件电路根据课题设计要求 它由以下几个部件组成 单片机 89C52RC 电源 时分秒显示模块 时分秒显示采用动态扫描 以降低对单片机端口数的要求 同时也降低系 统的功耗 显示模块中时分秒显示驱动 校时模块都通过 89C52RC 的 I O 口控 制 显示模块中的复位电路由 89C52RC 的 RESET 端控制 电源部分 电源部分有二部分组成 一部分是由 220V 的市电通过变压 整流稳压来得到 5V 电压 维持系统的正常工作 另一部分是由 5V 的电池供 电 以保证停电时正常走时 正常情况下电池是不提供电能的 以保证电池的 寿命 3 2 部分硬件原理图 3 2 1STC89C52 管脚图管脚图 如图 3 1 所示 盐城工学院课程设计说明书 2011 6 图 3 1 3 2 2 1602LCD 液晶硬件图液晶硬件图 如图 3 2 所示 图 3 2 3 3 最小单片机系统 如图 3 3 所示 盐城工学院课程设计说明书 2011 7 C1 30pF C2 30pF C3 10uF X1 11 0592M R1 10k 图 3 3 4 系统的软件设计 此部分主要介绍显示模块 显示模块是实现数字钟的重要部分 在显示时 首先将时间十进制数据转化为显示段码 然后送往液晶显示 显示段码采用动 态扫描的方式 在要求改变显示数据的类别时 只须改变 R1 指向数据缓冲 区的指针 指向的十进制数据缓冲区即可 如图 4 1 所示 盐城工学院课程设计说明书 2011 8 图 4 1 结束语 通过这次实验 我学会了熟练运用 protues keil protel 等软件 在做本次 课程设计的过程中 我感触最深的当属查阅大量的设计资料了 为了让自己的 设计更加完善 查阅这方面的设计资料是十分必要的 同时也是必不可少的 其次 在这次课程设计中 我们运用到了以前所学的专业课知识 虽然过 去从未独立应用过它们 但在学习的过程中带着问题去学我发现效率很高 这 盐城工学院课程设计说明书 2011 9 是我做这次课程设计的又一收获后 要做好一个课程设计 就必须做到 在设 计程序之前 对所用单片机的内部结构有一个系统的了解 知道该单片机内有 哪些资源 要有一个清晰的思路和一个完整的的软件流程图 在设计程序时 不能妄想一次就将整个程序设计好 反复修改 不断改进是程序设计的必经之 路 在设计课程过程中遇到问题是很正常德 但我们应该将每次遇到的问题记 录下来 并分析清楚 以免下次再碰到同样的问题的课程设计结束了 但是从 中学到的知识会让我受益终身 附录 1 protel 原理图 EA VP 31 X1 19 X2 18 RESET 9 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 P30 21 P31 22 P32 23 P33 24 P34 25 P35 26 P36 27 P37 28 U1 8051 x1 CRYSTAL C1 20pF C2 20pF R1 10kC3 10uF K1 SW PB K2 SW PB VCC LS1 SPEAKER 1 2 3 4 5 6 7 8 161514131211109 RP1 RESPACK4 VCC d0 d1 d2 d3 d4 d5 d6 d7 RS RW E d0d1d2d3d4d5d6d7 RSRW E d0d1d2d3d4d5d6d7 1 2 3 4 5 6 7 8 9 10 1112 1314 1516 JP1 HEADER 16 VCC R2 10K Q1 PNP VCC 盐城工学院课程设计说明书 2011 10 附录 2 PCB 图 盐城工学院课程设计说明书 2011 11 附录 3 protues 仿真图 d0 d1 d2 d3 d4 d5 d6 d7 d0d0 d1d1 d2d2 d3d3 d4d4 d5d5 d6d6 d7d7 RS RW E RS RW E 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 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 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 U1 AT89C51 CLOCK 12M C1 20pF C2 20pF C3 10uF X1 CRYSTAL R1 10k D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 2 3 4 5 6 7 8 9 1 RP1 RESPACK 8 K2 清零 K1 启停控制 LS1 SOUNDER 附录 4 程序清单 include include define uchar unsigned char define unit unsigned int define delayNOP nop nop nop nop LCD 控制 void LCD Initialize void LCD Set POS uchar void LCD Write Data uchar 盐城工学院课程设计说明书 2011 12 void Display String uchar uchar sbit K1 P1 0 sbit K2 P1 1 sbit BEEP P3 0 sbit LCD RS P2 0 sbit LCD RW P2 1 sbit LCD EN P2 2 uchar KeyCount 0 uchar code msg1 Second Watch 0 uchar code msg2 uchar code Prompts 16 1 1 2 1 2 3 1 2 3 4 计时缓冲与显示缓冲 uchar Time Buffer 0 0 0 0 uchar LCD Display Buffer 00 00 00 00 蜂鸣器 void Beep 盐城工学院课程设计说明书 2011 13 uchar i j 70 for i 0 i 180 i while j BEEP BEEP BEEP 0 延时 void DelayX unit ms uchar i while ms for i 0 i 120 i 显示计时 void Show Second uchar i LCD Set POS 0 x45 设置 LCD 显示起点 for i 3 i 0 xff i 将两位整数的 1 100s 秒 分 时转换为 8 位数字字符 LCD Display Buffer 2 i 1 Time Buffer i 10 0 盐城工学院课程设计说明书 2011 14 LCD Display Buffer 2 i Time Buffer i 10 0 在 i 3 2 1 0 时分别显示时 分 秒 1 100s LCD Write Data LCD Display Buffer 2 i 1 LCD Write Data LCD Display Buffer 2 i LCD Write Data Time0 中断 void Time0 interrupt 1 using 0 TH0 10000 256 TL0 10000 256 Time Buffer 0 if Time Buffer 0 100 Time Buffer 0 0 Time Buffer 1 if Time Buffer 1 60 秒 Time Buffer 1 0 Time Buffer 2 if Time Buffer 2 60 分 盐城工学院课程设计说明书 2011 15 Time Buffer 2 0 Time Buffer 3 if Time Buffer 3 24 时 Time Buffer 3 0 主函数 void main uchar i IE 0 x82 TMOD 0 x01 TH0 10000 256 TL0 10000 256 LCD Initialize Display String msg1 0 x00 Display String msg2 0 x40 while 1 if K1 0 DelayX 100 i KeyCount switch i 盐城工学院课程设计说明书 2011 16 case 1 case 3 TR0 1 Display String Prompts i 1 0 break case 2 case 4 TR0 0 Display String Prompts i 1 0 break default TR0 0 break while K1 0 等待释放 K1 键 Beep else if K2 0 TR0 0 KeyCount 0 for i 0 i 4 i Time Buffer i 0 清零计时缓冲 Display String msg1 0 盐城工学院课程设计说明书 2011 17 Beep DelayX 100 while K2 0 等待释放 K2 键 Show Second 1602LCD 显示驱动函数 e include include define uchar unsigned char define uint unsigned int define DelayNOP nop nop nop nop bit LCD Busy Check void LCD Initialize void LCD Set POS uchar void LCD Write Command uchar void LCD Write Data uchar 延时 void DelayMS uint ms uchar t 盐城工学院课程设计说明书 2011 18 while ms for t 0 t 120 t LCD 忙检查 bit LCD Busy Check bit Result LCD RS 0 LCD RW 1 LCD EN 1 DelayNOP Result bit P0 LCD EN 0 return Result 向 LCD

温馨提示

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

评论

0/150

提交评论