数字万用表的设计_单片机自动打铃系统论文(编辑修改稿)内容摘要:

号,低电平有效。 当 AT89S51 执行来自外部程序存储器的指令代码时, PSEN/每个机器周期两次有效。 在访 问外部数据存储器时, PSEN/无效。 VPPEA/ : EA 片外程序存储器访问允许信号,低电平有效。 当 EA 接地时, CPU只执行片外存储器中的程序;当 EA 接 Vcc 时, CPU首先执行片内程序存储器中的程序( 0000H~0FFFH),然后自动转向执行片外程序存储器中的程序( 1000H~FFFFH)。 如果程序锁定位 LB1 被编程( P),那么 EA 值将在复位时由片内锁存。 在与 Flash 并行编程 /校验期间,该引脚施加 12V的编程电压 VPP。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 钦州学院课程设计报告 书 9 AT89S51 引脚图如图 33 所示 单片机最小系统电路 单片机最小系统由晶振电路和复位电路组成。 电路如图 35 所示。 晶振电路用于产生单片机工作时所需要的时钟信号,单片机的指令必须在时钟信号下按照时序执行。 晶振电路通常用两种 设计方式:内部振荡方式和外部振荡方式。 内 部振荡方式是在单片机的 XTAL1 和 XTAL2 引脚外接一个晶体振荡器, 与单片机内部的振荡器组成时钟信号;外部振荡方式是在外部将已有的脉冲信号引入单片机内,一般用于使单片机的时钟与外部信号保持同步。 本设计选用内部振荡方式,在 XTAL1 和 XTAL2引脚之间连接一个 12MHz 的晶振,再分别外接 30p 的对地电容。 单片机在启动时需要复位,使系统各器件处于初始状态。 复位引脚为 RST,当 系统上电后晶振电路稳定后, RST 引脚有一个高电平且持续 2 个机器周期以上,单片机系统就可以实现复位功能。 复位一般有手动复位和上电复位功能。 手动复位是在 RST 引脚设置按键,当按键按下时, RST 引脚会有高电平,即可实现复位功能;上电复位是在RST 引脚连接一个电解电容接至电源,再接一个电阻接地,系统上电时,电容充电,只要电源的上升时间不超过 1ms,就可以实现复位功能。 本设计选用按键复位。 钦州学院课程设计报告 书 10 图 34 单片机最小系统电路 显示电路 LCD1602 为字符型液晶显示器,分为带背光和不带背光两种,主要技术参数: 显示容量, 16 2 个字符; 芯片工作电压, ; 工作电流, ; 模块最佳工作电压, 5V; 字符尺寸,。 LCD1602 共有 16 个引脚,引脚说明如下: 1 脚, VSS,电源地; 2 脚, VDD,电源正极,接 +5V; 3 脚, VL,液晶显示偏压,接正电源时对比度较弱,接地时对比度最高; 4 脚, RS,数据 /命令选择,高电平时选择数据寄存器,低电平时选择指令寄存器; 5 脚, R/W,读 /写选择,高电平时进行读操作,低电平时进行写操作,当 RS 和 R/W共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据; 钦州学院课程设计报告 书 11 6 脚, E,使能信号,当 E 端由高电平跳变为低电平时,液晶块执行命令; 714 脚, D0D7, 8 位双向数据线; 15 脚, BLA,背光源正极; 16 脚, BLK,背光源负极。 单片机的 P2 口作为 LCD1602 的数据线端口, P3 口控制 LCD1602 的使能端。 单片机读取数据后,通过控制 LCD1602 的读写端、复位端和使能端将其设置为写入数据状态,再将数据通过 P2 口送入 LCD1602 实现显示功能。 打铃电路 打铃电路一般用声音或音乐作为提醒,本设计选用蜂鸣器和 LED 灯实现声光双重打铃功能,电路如图 37 所示。 打铃时间到时,单片机 引脚置高,三极管 9013 导通,继而蜂鸣器和 LED 灯导通,实现蜂鸣和灯亮打铃功能。 图 35 打铃电路 钦州学院课程设计报告 书 12 4 系统软件设计 软件设计流程图 系统软件设计流程图如图 41所示。 图 41 软件设计流程图 程序设计过程:首先要定义单片机的引脚,然后初始化器件,再利用 ISD4004 的读写时序读取时间数据。 再利用按键进入时间设定状态,设定完时间后单片机通过比较时间是否到达设定的时 间来确定 是否到打铃时间,如果达到打铃时间,则控制蜂鸣器响LED 灯亮。 开 始初 始 化读 取 D S 1 3 0 7 的 时 间时 间 送 液 晶 显 示设 定 定 时 时 间判 断 是 否 到 达打 铃 时 间蜂 鸣 器 响L E D 灯 亮结 束NY钦州学院课程设计报告 书 13 读取 ISD4004 时间程序设计 ISD4004 中的时间寄存器地址编码为 00H07H,而具有掉电保护的 RAM 寄存器的地址编码为 08H3FH。 当地址指针指向 RAM 的最后一个地址 3FH 时,若进行多字节操作,则地址指针将会复位而指向 00H,这样原来存在 00H 的数据将会丢失。 DS1307 的各类时间数据均以 BCD 码的格式存储在相应的时间寄存器中,具体分配如表 41 所示 : 表 41 ISD4004 寄存器分配 单片机通过读取 ISD4004 相应的寄存器字节,可以获取时钟和日历信息。 时钟和日历信息以 BCD 码的形式存放在寄存器中,寄存器 0 的第 7 位为时钟停止位,振荡器停止工作。 由于在初次上电时,所有寄存器的状态是不确定的,所以在初始化时必须将寄存器0 中的第 7 位设为 0。 ISD4004 可运行在 12/24 小时模式下, 并由时间控制器中的相应位来进行控制。 根据小时寄存器的第 6 位是 0 还是 1,置为 1 时,是工作于 12 小时模式下,此时,小时寄存器的第 5 位为 AM/PM 标志。 在 24 小时模式中,小时寄存器的第 5 位和第 4 位共同组成小时的十位数。 时钟模块设计流程:单片机按如下顺序将数据写入到 ISD4004 寄存器或内部 RAM 中: START 信号 写 SLA+W(0xd0)字节, DS1307 应答( ACK); 写 1 字节内存地址(在以下第四步写入的第一字节将存入到 DS1307 内该地址处, DS1307 应答); 写数据(可写多个字节,每一字节写入后 DS1307 内部地址计数器加一, ISD4004应答); STOP 信号 单片机读取 ISD4004 子程序流程图如图 42 所示: 00H 01H 02H 03H 04H 05H 06H 07H 秒 分 小时 星期 日期 月 年 控制字 钦州学院课程设计报告 书 14 图 42 单片机读取 DS1307 子程序流程图 显示程序设计 LCD1602 的基本操作时序: 读状态:输入: RS=L, RW=H, E=H;输出: D0D7=状态字。 写指令:输入: RS=L, RW=L, D0D7=指令码, E=高脉冲;输出:无。 读数据:输入: RS=H, RW=H, E=H;输出: D0D7=数据。 写数据:输入: RS=H, RW=L, D0D7=数据, E=高脉冲;输出:无。 LCD1602 初始化过程:延时 15ms;写指令 38H(不 检测忙信号);延时 5ms;写指令 38H(不检测忙信号);延时 5ms;写指令 38H(不检测忙信号);以后每次写指令、读 /写数据操作均需要检测忙信号;写指令 38H,显示模式设置;写指令 08H,显示关闭;写指令 01H,显示清屏;写指令 06H,显示光标移动设置;写指令 0CH,显示开及光标设置。 LCD 有 11 条控制指令,如表 42 所示。 初 始 化 D S 1 3 0 7读 取 时 、 分 、 秒写 入 相 应 数 据D S 1 3 0 7 应 答。 结 束YN开 始钦州学院课程设计报告 书 15 表 42LCD1602 控制指令表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存储器地址 0 0 0 1 字符发生存储器地址 8 置数据存储器地址 0 0 1 显示数据存储器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 向 CGRAM 或DDRAM 写数 1 0 要写的数据 内容 11 从 CGRAM 或DDRAM 读数 1 1 读出的数据内容 LCD1602 内部自带有 80 8位的 RAM 缓冲区, RAM 地址映射如表 43 所示。 表 43 LCD1602 的 RAM地址映射表 LCD1602 写操作时序如图 43 所示。 00 01 02 03 04 05 06 07 08 09 40 41 42 43 44 45 46 47 48 49 0A 0B 0C 0D 0E 0F 10 „„ 27 4A 4B 4C 4D 4E 4F 50 „„ 67 钦州学院课程设计报告 书 16 图 43 LCD1602 写操作时序 向 LCD1602 写数据程序子程序流程图如图 44所示: 图 44 向 LCD1602 写数据程序子程序流程图 初 始 化 L C D读 取 要 显 示 的 数 据将 相 应 数 据 写 入 L C D是 否 写 入 完 成。 L C D 相 应 位 正 常 显 示返 回NY开 始钦州学院课程设计报告 书 17 按键设定程序设计 单片机读取按键的方式有 2种:查询方式和中断方式。 查询方式是利用单片机引脚不断查询是否有按键按下,如果有按键按下,利用延时程序去除抖动再次确认后,进入该按键对应的子程序执行命令。 中断方式是利用单片机的外部中断功能来检测是否有按键按下。 利用中断功能可以不用在主程序中不断的执行查询命令,有中断产生即有按键按下时,再进入中断子程序中进行处理。 本设计选用查询方式处理按键设定程序。 每个独立式按键直接接至单片机引脚,每个按键的键值与单片机端口的 8个引脚的 8位二进制码相对应。 本设计为 引脚控制 4 路按键。 单片机控制按键子程序流程图如图 45所示: 图 45 单片机控制按键子程序流程图 初 始 化 引 脚 和 中 断扫 描 P 1 . 0 P 1 . 3 口 是否 有 按 键 按 下执 行 相 应 按 键 指 令结 束NY开 始钦州学院课程设计报告 书 18 5 系统调试 元件清单 本设计中的硬件制作中所 用元器件如表 51 所示。 表 51 元件清单 元器件名称 个数 元器件名称 个数 AT89S51 单片机 1 DS1307 1 LCD1602 1 晶振 1 1N4148 二极管 1 电阻 2 9013 三极管 1 蜂鸣器 1 发光二极管 1 12MHz 晶振 1 22P 电容 2 10U电解电容 1 10K 电阻 2 10K 电位器 1 47Ω电阻 1 按键 4 5 针排阻 1 万用板 1 调试 过程 制作调试过程中所用仪器有: 数字万用表 、 电烙铁,焊锡丝、焊锡膏 、剥线钳 、 尖嘴钳、圆口钳、镊子,吸锡器等 ,另外准备尽量多的导线。 制作与 调试过程如下: 按照元器件清单准备好所需要用到的元器件。 按照电路原理图焊接硬件电路板,先焊接芯片的底座,再焊接其外围电路。 实物电路图如 图 51 所示 : 钦州学院课程设计报告 书。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。