LCD12864液晶显示电子钟设计
《 单 片 机 原 理 及 应 用 》 课 程 设 计 说 明 书 题目 LCD12864 液晶显示电子钟设 计 系(部) 专 业 ( 班 级 ) 学 指 起 号 导 止 教 日 师 期 课程设计任务书 系(部):专业: 课题名称LCD12864 液晶显示电子钟设计 设计一种基于 AT89S52 单片机的液晶显示电子时钟,要求如下: (1) 、 能正确显示时间、 日期和星期显示格式为: 时间: XX 小时: XX 分: XX 秒;日期:XX 年:XX 月:XX 日;星期:X。 (2) 、时间能够由按键调整,误差小于 1S。 (3) 、 闹钟功能: 时间运行到与闹钟设定时间时, 闹钟响 (持续响 3 秒) 。 (4) 、 报时功能: 时间运行到正点时间时, 闹钟响, 几点钟就响几 声 (每 设计 要求 声持续响 2 秒,每两声之间时间间隔 1 秒) 。 液晶显示器第一行显示“数字电子钟” ;第二行显示“当前时间” ;第 三 行显示日期和星期;第四行显示最近一个闹钟的设定时间。 2、要求: 完成该系统的硬件和软件的设计, 在 Proteus 软件上仿真通过, 并提交 一篇课程设计说明书。 1、汇编或 C51 语言程序设计; 设计 工作 量 2、程序调试; 3、在 Proteus 上进行仿真成功,进行实验板下载调试; 4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序 分析、仿真分析、调试过程,参考文献、设计总结等。 起止日期 第一天 工作第二天 工作容 课题绍,答疑,收集材料,C51 介绍 设计方案论证,练习编写 C51 程序 程序设计 程序调试、仿真 系统测试并编写设计说明书 系(部) 计划第三天~第六天 第六天~第八天 第九天~第十天 教研室 年月日主管领导年月日 意见 意见 目录目录 一、12864 液晶的工作原理.5 二、方案设计 5 2.1实物硬件设计 5 2.2系统硬件设计 6 2.2.1主芯片模块.6 2.2.2晶振和复位模块.6 2.2.3按钮模块.7 2.3系统软件设计 7 2.3.1主程序设计.7 三、仿真和分析8 四、总结体会 9 参考文献 10 一、一、1286412864 液晶的工作原理液晶的工作原理 液晶显示屏中的业态光电显示材料, 利用液晶的电光效应把电信号转换成数字符、 图像等可见信号。 如图 1-1,液晶正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被 打乱,一部分液晶变的不透明,颜色加深因而能显示数字和图像。管脚一共1 个 CS1 左半屏片选端,CS2 右半屏片选端;V0 液晶显示驱动电压,通过一个电位器接到VCC;RS 数据指令选择信号,H 为数据,L 为指令,也叫 D/I;R/W 读写选择信号,H 为读,L 为写, 。E 为 LCD 使能端,R/W 为 L 时,E 信号下降 沿锁存 DB7-DB0;R/W 为 H 时,E 为 H,DDRAM 数据读到 DB7-DB0。DB0-DB7 数据传输端口。RST 复位信 号。-VOUT 和 V0 为液晶显示驱动电压。 12864 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及 128×64 全点阵液晶显示器组成。可完成图形显示,也可以显示8×4 个(16×16 点阵)汉字。 图 1-112864LCD液晶显示屏 二、方案设计二、方案设计 2.12.1实物硬件设计实物硬件设计 单片机控制液晶显示屏系统总共可分为六个环节,分别是单片机控制系统、12864 字符显示模块、 控制开关模块、晶振控制模块、复位电路模块和DS1302 时钟控制模块。通过这六个模块的协调工作就可 以完成相应的液晶屏控制和显示功能。这六个模块的相互连接如图2-1: 图 2-1硬件组成框图 2.22.2系统硬件设计系统硬件设计 本硬件电路主要由四大模块组成:主芯片模块;晶振和复位电路模块;控制接钮模块;显示电路 模块。 2.2.12.2.1主芯片模块主芯片模块 主芯片模块即单片机模块,XTAL1:接外部晶振和微调电容的一端。在片,它是振荡电路反相放 大器的输入端。XTAL2:接外部晶振和微调是容的一端。 RST:AT89C51的复位信号输入引脚,高电平有 效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。ALE:允许地址锁存信号端。EA: 该引脚为低电平时,则读取外部的程序代码来执行程序。P0、P1、P2、P3:8 位并行输入输出口。每个端 口都是 8 位准双向口,共占 32 只引脚。每一条都能独立地用作输入或输出。 每个端口都包括一个锁存器、 一个输出驱器和输入缓冲器。作输出时,数据可以锁存;作输入时,数据可以缓冲。图如图3—1。 图 3-1单片机引脚图 2.2.22.2.2晶振和复位模块晶振和复位模块 89C51 芯片部有一个高增益反相放大器,用于构成振荡器。如图3—2,反相放大器的输入端为 XTAL1,输出端 XTAL2,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。XTAL1 是片振荡 器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。一个晶体振荡器,接在单片机部的振荡电路上,两个电容是起振电容,频率越高,应该越小。 图 4-1晶振模块 在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引脚时,将使单片 机复位,只要这个脚保持高电平, 51 芯片便循环复位。复位后P0-P3 口均置 1 引脚表现为高电平,程 序计数器和特殊功能寄存器SFR 全部清零。 当复位脚由高电平变为低电平时, 芯片为 ROM 的 00H 处开 始运行程序。如上图 5-1 所示复位电路,由于复位时高电平有效,当刚接上电源的瞬间,电容C1 两端相 当于短路,即相当于给 RESET 引脚一个高电平,等充电结束时(这个时间很短暂) ,电容相当于断开,这 时已经完成了复位动作。 图 5-1复位模块 2.2.32.2.3按钮模块按钮模块 本模块采用四个按钮进行控制,通过串行口输入输出连接, 当 K1 按键波动一次后,方可进行年、 月、日、星期、时、分的改变,当循环满时,按下K0 可实现对闹钟的改变。按键 K2、K3 分别实现加一 减一的操作。 图 6-1按钮模块 2.32.3系统软件设计系统软件设计 2.3.12.3.1主程序设计主程序设计 图 7-1主程序流程图 图 8-1LCD 显示程序和初始化子程序流程图 三、仿真和分析三、仿真和分析 将程序下载到单片机开发板上,LCD12864 显示如下图,第一行为汉字“数字电子钟” ,第二行为时 分秒,第三行为年月日以及星期, 第四行为闹钟,通过按键可实现时间的调整, 也可实现整点报时和闹钟。 符合设计要求。 图9-1实物仿真图 程序: #include #include #include #define uchar unsigned char #define uint unsigned int sbit rs=P1^0;//12864引脚定义 sbit rw=P1^1; sbit en=P1^2; sbit PSB=P1^3; sbit beep=P3^4;//蜂鸣器引脚定