[电子电路]基于at89c52单片机的数字时钟系统设计内容摘要:
根 I/O 口线,键数目较多,可节省口线。 本设计采用的是独立式键盘。 键盘的工作方式可分为编程控制方式和中断控制方式。 CPU 在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。 这种 方式为编程扫描方式。 由于单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使 CPU 经常处于工作状态, 在进行本次设计中,只涉及到了设置、上调、下调、确定四个功能。 因此采用独立式键盘。 如图 所示 图 按键设计 显示模块的设计 本设计中由于要对时间、温度进行显示,所以选择液晶显示屏 1602 模块 作为输出。 1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的2 条线是背光电源线。 它可以显示两行,每行 16 个字符,采用单 +5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 “A”的代码是 01000001B( 41H),显示时模 块把地址 41H 中的点阵字符图形显示出来,我们就能看到字 母 “A”。 管脚功能如表 所示 : 淮阴工学院毕业设计说明书 ( 论文 ) 第 16 页共 50 页 表 LCD1602 引脚功能 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源( +5V) 3 V0 液晶显示器对比度调整端。 4 RS RS 为寄存器选择。 5 R/W R/W 为读写信号线。 6 E E(或 EN)端为使能 (enable)端,下降沿使能。 7 DB0 底 4 位三态、 双向数据总线 0 位(最低位) 8 DB1 底 4 位三态、 双向数据总线 1 位 9 DB2 底 4 位三态、 双向数据总线 2 位 10 DB3 底 4 位三态、 双向数据 总线 3 位 11 DB4 高 4 位三态、 双向数据总线 4 位 12 DB5 高 4 位三态、 双向数据总线 5 位 13 DB6 高 4 位三态、 双向数据总线 6 位 14 DB7 高 4 位三态、 双向数据总线 7 位(最高位) LCD1602主要管脚介绍: V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度。 RS为寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。 R/ W为读写信号线端,高电平时进行读操作,低电平时进 行写操作。 当 RS和 R/ W共同为低电平时可以写入指令或者显示地址;当 RS为高电平 R/ W 为低电平时可以写入数据。 E为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令 [10]。 淮阴工学院毕业设计说明书 ( 论文 ) 第 17 页共 50 页 图 LCD 液晶与单片机硬件连线图 将 L1602 的 RS 端和 , R/W 端和 , E 端和 相连,当 RS=0 时,对 LCD1602 写入指令;当 RS=1 时,对 LCD1602 写入数据。 当 R/W 端接高电平时芯片处于读数据状态,反之处于写数据状态, E 端为使能信号端。 当 R/W为高电平 ,E 端也为高电平, RS 为低电平时, 液晶显示屏显示需要显示的示数。 图 为 1602 液晶显示屏与单片机的硬件连接图。 4 软件设计 软件部分主要包括: a)主程序,主流程图 b)温度检测流程图和温度检测程序 c) DS1302 时钟流程图和时钟程序 d) LCD 显示程序和 LCD 显示流程图。 程序主要 应用 Keil进行软件仿真开发。 主要步骤为: 1)编写源程序并保存; 2)建立工程并添加源文件; 3)设置工程; 4)编译 /汇编、连接,产生目标文件; 5)程序调试。 淮阴工学院毕业设计说明书 ( 论文 ) 第 18 页共 50 页 主流程图 主流程图 如图 所示。 流程图分析:首先系统初始化,系统开始运行,当有设置键按下时进 入修改时间模式,无按键按下时读取时间、温度等数据送入液晶屏显示;在修改时间模式下设置时间完成后再送数据到液晶屏显示。 图 主流程图 温度程序流程图 温度读取流程图如图 所示。 流程图分析:开始进入初始化 DS18B20,就是通过主机拉低单线产生复位脉冲然后释放该线,如果有应答脉冲,即发起 ROM命令当成功的执行操作命令后,就使用 Convert T 命令即开始温度转换,当转换完后,又初始化 DS18B20 是否有应答脉冲,若有,就发起 Read Scratchpad(读取暂存器和 CRC 字节)命令,既同时读出第 1, 2 个字节,即为温度的数据。 系统初始化 显 示 读时间 设置时间 读温度 进入修改时间模式 开 始 设置键 有否按下 设置完成 N Y Y N 淮阴工学院毕业设计说明书 ( 论文 ) 第 19 页共 50 页 图 温度显示流程图 DS18B20 是一种单总线数字式温度传感器,它与单片机之间采用的是串行数据传送,所以在对 DS18B20 进行读写操作时必须按照它的时序进行。 一般访问 DS18B20 时按如下步骤进行:初始化; ROM 操作命令;存储器操作命令;执行 /数据。 DS1302时钟程序流程图 时钟流程图如图 所示。 流程图分析: DS1302 开始计时时, 首先进行初始化,当有中断信号时,读取时钟芯片的数据送入液晶屏显示。 这时若有设置键Y N 初始化 DS18B20 初始化 DS18B20 读取第 1,2 字节极为温度数据 发起 convert 命令 发起 Read Scrtchpad 命令 发起 skipRom 命令 开 始 应答脉冲 N Y 应答脉冲 延时 1s 等待温度转换完成 淮阴工学院毕业设计说明书 ( 论文 ) 第 20 页共 50 页 按下时,进行时间修改,完成后将数据送入时钟芯片;若没有按键按下,则直接存入 EPROM,送入液晶屏显示。 图 时钟流程图 DS1302 是 SPI 总线驱动方式。 它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与 DS1302 通信,首先要先了解 DS1302 的控制字。 DS1302 的控制字如图 所示。 7 6 5 4 3 2 1 0 1 RAM A4 A3 A2 A1 A0 RD GK WR 图 DS1302 的控制字 初始化 送 EPROM 读时钟芯片送显示 送时钟芯片 开中断 开 始 设置键 有否按下。 是否修改当前时间。 N Y Y N 淮阴工学院毕业设计说明书 ( 论文 ) 第 21 页共 50 页 控制字总是从最低位开始输出。 在控制字指令输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从最低位( 0 位)开始。 同样,在紧跟 8 位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302 的数据,读出的数据也是从最低位到最高位。 数据读写时序如 图 、 所示。 图 单字节读 图 单字节写 在进行任何数据传输时, RST 必须被置高电平,每个 SCLK 为上升沿时数据被输入,下降沿时数据被输 出。 先把 RST 置低,禁止数据传输, SCLK 置低,清零时钟总线, RST 再置高,允许数据传输。 传送完成后, RST 置低,禁止字节的传送。 LCD 显示程序流程图 显示程序流程图如图。 流程图分析:首先对 1602 显示屏进行初始化(初始化大约持续 10ms 左右),然后检查忙信号,若 BF=0,则获得显示 RAM 的地址,写入相应的数据显示;若 BF=1,则代表模块正在进行内部操作,不接受任何外部指令和数据,直到 BF=0 为止。 淮阴工学院毕业设计说明书 ( 论文 ) 第 22 页共 50 页 图 LCD 显示程序流程图 1602 通过 D0~D7 的 8 位数据端传输数据和指令,其模块内的控制器有11 条控制指令。 当液晶显示屏的接口电路与单片机系统 I/O 按照并行数据传输方式连接完成以后,即可以对 AT89C52 单片机进行编程。 在液晶屏完成显示之前首先要对液晶进行初始化。 对 1602 初始化 写入显示设置命令 延时 5ms 延时 5ms 获得显示 RAM 地址 写入相应的数据 检查忙信号 开 始 数据显示完毕。 BF=0。 N Y Y N 结 束 淮阴工学院毕业设计说明书 ( 论文 ) 第 23 页共 50 页 5 系统仿真与调试 调试包括: keil软件对程序进行编译与调试。 根据硬件原理图,画出 proteus仿真图,通过 proteus 对系统进行功能的仿真。 最后调试做出实物,调试,得到正确的实物图效果。 软件简介 Keil软件简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统。 这款软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。 另外重要的是, Keil C51 软件编译后生成的汇编代码,就能展现出生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 Keil 软件中 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境 (IDE),可以完成编辑、编译、连接 、调试、仿真等整个开发流程。 开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。 然后分别由 C51 及 A51 编译器编译生成目标文件 (.OBJ)。 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。 ABS 文件由 OH51 转换成标准的 Hex 文件,可载入 Proteus 仿真软件中的 MCU 中,进行功能仿真。 Proteus ISIS 简介 Proteus ISIS 是英国 Labcenter Electronics 公司开发的电路分析与实物仿真软件。 它由 ISIS 和 ARES 两个软件构成,其中 ISIS 是一款便捷的电子系统仿真平台软件,它运行于 Windows 操作系统上,用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。 该软件的特点是: a)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 b)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、 RS- 232 动态仿真、 I2 C 调试器、 SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 c)目前 支持的单片机类型有: ARM7 系列、 68000 系列、 8051 系列、 AVR 系列、 PIC12淮阴工学院毕业设计说明书 ( 论文 ) 第 24 页共 50 页 系列、 PIC16 系列、 PIC18 系列、 Z80 系列、 HC11 系列以及各种外围芯片。 d)支持大量的存储器和外围芯片。 总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大 ,可仿真 ARM、 5 AVR、 PIC。 Proteus 启动画面: 此外, ARES 软件是一款高级的布线编辑软件,它采用了 32 位数据库的高性能 PCB 设计系统,以及高性能的自动布局和自动布线方法。 集成了高级原理布线图、混合模式 SPICE 电路仿真、 PCB 设计以及自动布线来实现一个完整的电子设计 [11]。 Keil软件调试流程 首先选择菜单 FileNew… ,在源程序编辑器中输入汇编语言或 C 语言源程序(或选择 FileOpen… ,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名 .asm( .a51)或 .c。 然后选择菜单 P。[电子电路]基于at89c52单片机的数字时钟系统设计
相关推荐
1Vdd2Vo3A15K16LCD1LCD1602VCCVCC8R310KR1Q11122Speaker1KR6VCC+12BT1Battery1 2PowerHeader工作模式模式辅助1 2 36 5 4PowerSWVCC+5VCC10KR5VCCKEY1KEY2KEY1KEY2RSR/WENRSR/WENRestSWRestSWRestSW 图 461 13 系统 的软件设计 系统
取数据存储器( RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8位中央处理器和Flash 存储单元,内置功能强大的微型计算机的 AT89C51 提供了高性价比的解决方案。 基于单片机的转速检测系统设计 第 13 页 共 36 页 图 AT89C51 引脚图 主要特性: 与 MCS51 兼容 4K字节可编程闪烁存储器 寿命:
300 指数主要成分股有哪些。 以 2020 年 12 月 5 日为例,沪深 300指数权重从大到小排名前 30位的成份股见下表: 表: 2020 年 12 月 5 日权重前 30 位的成份股 序号 股票代码 股票简称 权重 (%) 序号 股票代码 股票简称 权重 (%) 1 600036 招商银行 16 600009 上海机场 2 600016 民生银行 17 601988 中国银行 3
口、引水发电厂房等。 碾压混 凝土重力坝中部设三孔表孔泄水孔,两侧为挡水坝段,在右岸挡水坝段中设一泄洪中孔。 枢纽建筑物布置见附图1。 枢纽建筑物布置 本枢纽正常蓄水位 m,坝顶高程 m,最大坝高 m,最大坝底宽 124m。 大坝由左岸挡水坝段、溢流坝段、右岸挡水坝段组成。 其中,左岸非溢流坝段长 m,溢流坝段长 30 m, 右岸坝段长 m, 坝顶总长度 m。 共分 9 个坝段
回 课程组答 变面 积较为合适,回 课程组答 变介电常数式,也不算错误。 问: 2)被测液体应该是导电液体还是绝缘体。 课程组答 : 如果是绝缘体,无法与不锈钢圆环之间构成电容,所以必须是导电液体 问: 3)分别写出该液位计的分辨率( %)及分辨力(几分之一米)的计算公式,并说明如何提高此类液位计的分辨率。 课程组答 : 该液位计的分辨率为 1/N100%, 分辨力为 8m/N。
相当于一个固定支承,只限制工件一个自由度。 B 辅助支承 辅助支承用来提高工件的刚度和稳定性,不起定位作用。 辅助支承的工作特点是:待工件定位夹紧后,再调整支承钉的高度,使其与工件的有关表面接触并锁紧。 每安装一个工件就调整一次辅助支承。 另外,辅助支承还可以起预定位的作用。 常见的辅助支承有:螺旋式辅助支承、自位式辅助支承和推引式辅助支承。 工件以圆孔定位:工件以圆孔表面作为定位基面时