单片机毕业设计论文++基于单片机的LCD液晶显示器控制系统.doc_第1页
单片机毕业设计论文++基于单片机的LCD液晶显示器控制系统.doc_第2页
单片机毕业设计论文++基于单片机的LCD液晶显示器控制系统.doc_第3页
单片机毕业设计论文++基于单片机的LCD液晶显示器控制系统.doc_第4页
单片机毕业设计论文++基于单片机的LCD液晶显示器控制系统.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

河南理工大学毕业设计 论文 说明书 I 摘摘 要要 LCD 液晶显示已经是人机界面的关键技术 本文对基于单片机的 LCD 液晶 显示器控制系统进行了研究 首先在绪论中介绍了本课题的课题背景 研究意义及完成的功能 本系统 是以单片机的基本语言 C 语言来进行软件设计 51 的编程语言常用的有二种 一种是汇编语言 一种是 C 语言 汇编语言的机器代码生成效率很高但可读 性却并不强 复杂一点的程序就更是难读懂 而 C 语言在大多数情况下其机 器代码生成效率和汇编语言相当 但可读性和可移植性却远远超过汇编语言 而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题 对于开发周期 来说 中大型的软件编写用 C 语言的开发周期通常要小于汇编语言很多 综 合以上 C 语言的优点 我在学习时选择了 C 语言指令的执行速度快 节省存 储空间 为了便于扩展和更改 软件的设计采用模块化结构 使程序设计的逻 辑关系更加简洁明了 使硬件在软件的控制下协调运作 正文中首先简单描述 系统硬件工作原理 且附以系统硬件设计框图 并介绍了单片机微处理器的发 展史 论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及 工作过程 并具体描述了 AT89C51 AMPIRE128 64 接电路接口的软 硬件调试 其次阐述了程序的流程和实现过程 本文撰写的主导思想是软 硬件相结合 以硬件为基础 来进行各功能模块的编写 最后对我所开发的用单片机实现 LCD 液晶显示器控制原理的设计思想和软 硬件调试作了详细的论述 关键词关键词 单片机 微处理器 LCD 89C51 AMPIRE128 64 河南理工大学毕业设计 论文 说明书 II Abstract The LCD manifestation has been the key technique of the an machine interface This text to basic proceeded the research in Micro Controller Unit liquid crystal display control system Introduced the lesson a background of this lesson and study meaning and finished functions in introduction first This system edits collected materials the language to proceed with single the basic language of a machine the software designs the instruction carries out the speed quick save memory For the sake of easy to expand with the design adoption mold a logic for turning construction making procedure designing relation that change software more shorter and more easier to understand Make hardware control in software descended to moderate the operation The text inside describes the system hardware work principle in brief first and attach with the system hardware design frame diagram combine development history that introduced the single a machine microprocessor discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes combine to describe in a specific way 89C51 and the AMPIRE128 64 circumscribes the electric circuit connects oscular and soft the hardware adjusts to try Expatiated the process of the procedure the next in order with realizes process Develop to me finally of use the single a machine realizes the design thought that the liquid crystal display of LCD control principle with soft the hardware adjusted to try to make the detailed treatise Keywords single chip microcomputer microprocessor LCD 89C51 AMPIRE128 64 河南理工大学毕业设计 论文 说明书 III 目目 录录 1 1 前前 言言 1 2 2 系统总体设计系统总体设计 2 2 1电路硬件原理图 3 2 2 软件设计方案 3 2 3 仿真结果 4 3 3 ATMEL89C51ATMEL89C51 系列单片机系列单片机 7 3 1 AT89C51 单片机内部的组成结构图 7 3 2 单片机 CPU 结构 7 3 3 AT89C51 用户系统 8 3 4 引脚介绍 9 3 5 89C51 内部特殊寄存器介绍 14 3 5 1 IE 中断允许寄存器 14 3 5 2 定时器 计数器控制寄存器 TCON 15 3 5 3 中断优先寄存器 IP 16 3 4 4 中断的响应过程 17 3 5 5 电源控制寄存器 PCON 18 3 5 6 定时器 计数器工作方式 19 4 4 LCDLCD 芯片芯片 22 4 1 LCD 接口 22 4 2 指令描述 23 4 3 接口时序说明 26 5 5 系统软件设计系统软件设计 28 5 1 系统流程图 28 河南理工大学毕业设计 论文 说明书 IV 5 2 汉字和图形字模提取 29 5 3 汉字图形显示函数 31 5 4 单片机播放音乐并同步显示歌词 33 6 6 系统仿真系统仿真 PROTEUSPROTEUS 和编译和编译 KEILCKEILC 软件软件 37 6 1 PROTEUS ISIS 仿真系统基本知识 37 6 1 1 系统概述 37 6 1 2 进入 Proteus ISIS 38 6 1 3 Proteus 工作界面及窗口说明 38 6 1 4 Proteus 绘图流程举例 41 6 2 KEIL CX51 软件的使用 42 6 2 1 创建项目 43 6 2 2 为项目新建文件 44 6 2 3 生成 HEX 文件 45 致致 谢谢 47 参考文献参考文献 48 附录附录 部分程序代码部分程序代码 49 河南理工大学毕业设计 论文 说明书 1 1 1 前前 言言 当今是一个信息化的时代 信息的重要性是不言而喻的 获取手段显得 尤其重要 人们所接受的信息有 70 来自于人的视觉 无论用何种方式获取的 信息最终需要有某种显示方式来表示 在各种显示技术中 以液晶显示器 LCD Liquid Crystal Display 为代表的平板显示器发展最快 应用最广 LCD 是典型的光电器件 它以材料科学为基础 综合利用了精密机械 光电及 计算机技术 并正在微机械 微光学 纤维光学等前沿领域研究基础上 向 高集成化 智能化方向发展 液晶显示模块 LCM 即 Liquid Crystal Display Module 是将液晶显示器 件 LCD 连接件 控制 驱动电路和 PCB 电路板 背光源 结构件装配在一 起的组件 由于点阵型液晶显示器的引线众多 用户使用极不方便 所以制 造商将点阵型液晶显示器件和驱动器做在一块板子上成套出售 这种产品称 为液晶显示模块或模组 液晶显示技术的普及应用和发展 给仪器 设备的小型化及智能化带来 了光辉的前景 特别是点阵图形式液晶显示模块 它具有体积小 重量轻 低电压 底功耗之优点 因而在显示内容和显示功能等方面表现出了独特的 性能 由于液晶显示器已成为日常工作和生活中各种显示仪器 仪表 和袖 珍电子产品的重要组成部分 因此对于点阵图形液晶显示器件 模块 的开 发 设计 应用和研究具有重要意义 该设计是基于 LCD 的广泛应用 用 AT89C51 为控制中心 以键盘为输入 设备 用 LCD 为显示器 实现了汉字和图片的显示以及播放音乐并同步显示 歌词等功能 河南理工大学毕业设计 论文 说明书 2 2 2 系统总体设计系统总体设计 因为点阵图形式液晶显示模块具有体积小 重量轻 低电压 底功耗之 优点 所以在显示内容和显示功能等方面表现出了独特的性能 本设计要求 实现显示文字 图片 动画 播放音乐等功能 本设计选择 AT89C51 为核心控制元件 以 AMPIRE128 64LCD 为显示元件 以喇叭为音频输出 用五个按键作为输入元器件 设计制作了一个日常生活 中用到的 LCD 显示系统 当启动单片机时 会出现一个菜单界面 选择菜单 后进入菜单选项 按照提示可以选择各个功能模块 各个功能运行完毕后会 自动转入主界面 等待用户进一步选择其它功能模块 由于这是对现实生活中应用的一种模拟 要达到实际的需要应用到生产 领域 还有很大的距离 所以在系统的设计过程中避免不了遗漏一些问题 这是在所难免的 但是该系统经过实践证明运行稳定 各个功能均得以实现 基本上达到了设计的要求 各个功能模块介绍 1 菜单界面 2 动感汉字显示 学校简介 3 Flash 动画显示 熊猫吃竹子 4 播放音乐并且能同步显示歌词 挥着翅膀的女孩 主要元器件 AT89C51 AMPIRE128 64LCD 喇叭 按键 开关 电容 电阻若干 用到的主要软件 仿真软件 Proteus 编译软件 Keil uVision2 字模提取软件 zimo221 exe图像处理软件 ACDSee 5 0 河南理工大学毕业设计 论文 说明书 3 2 12 1电路硬件原理图电路硬件原理图 如图 2 1 所示 图 2 1 电路硬件原理图 2 22 2 软件设计方案软件设计方案 用仿真软件Proteus按照实现的功能原理画出原理图如上图所示 P1 0 P1 7 分别接AMPIRE128 64的DB0 DB7数据端口P2 0接LCD的读写使能端E P2 1 接LCD的读写端口R W P2 2接数据命令选择口RS P2 3接片选信号CS2 P2 4 接片选信号CS1 P3 7接扬声器 按键BO B1 B2 B3 B4分别接P3 6 P3 4 P3 0 P3 1 P3 3 XTAL1 XTAL2接震荡电路 RST接复位电路 EA接高电平 LCD上的VO RST接电源 5V GND接地 用图像处理软件 河南理工大学毕业设计 论文 说明书 4 ACDSee 5 0把用到的图片转换成黑白并且扩展名为bmp格式 再用字模提取 软件zimo221 exe提取图片及汉字的十六进制点阵 用编译软件Keil uVision2 编辑C源程序 经过编译连接生成十六进制文件 把生成的十六进制文件加 载在仿真软件Proteus里面就可一进行仿真了 2 32 3 仿真结果仿真结果 1 主界面 如图 2 2 所示 图 2 2 主界面 2 菜单选择界面 如图 2 3 所示 图 2 3 菜单选择界面 3 动感汉字显示 学校简介 如图 2 4 所示 图 2 4 动感字显示 河南理工大学毕业设计 论文 说明书 5 4 Flash 动画显示 熊猫吃竹子部分帧 如图 2 5 如图 2 6 所示 图 2 5 Flash 动画一帧 图 2 6 Flash 动画一帧 5 图片显示 小女孩 其中一张 如图 2 7 所示 图 2 7 图片显示 河南理工大学毕业设计 论文 说明书 6 6 音乐播放并且能同步显示歌词 挥着翅膀的女孩 如图 2 8 所示 如图 2 9 所示 图 2 8 歌名显示 图 2 9 歌词显示 河南理工大学毕业设计 论文 说明书 7 3 3 ATMELATMEL 89C5189C51 系列单片机系列单片机 3 13 1 ATAT89C5189C51 单片机内部的组成结构图单片机内部的组成结构图 如图 3 1 所示 图 3 1 单片机内部的组成结构图 3 23 2 单片机单片机 CPUCPU 结构结构 如图 3 2 所示 图 3 2 单片机 CPU 结构 河南理工大学毕业设计 论文 说明书 8 3 33 3 ATAT89C5189C51 用户系统用户系统 CPU 为 Atmel 公司生产的 89C51 89C52 89C55 等 出厂所配晶振频率为 11 0592MH 每个机器周期为 1 085us 用户更换晶振以提高速度 存贮器为 64K 前 4K 8K20K 在 CPU 内部 其它程序在 EPR0M27512 中 数据存贮器为 32K 62256 地址为 8000 FFFFH O 扩展 8155 片内 RAM 地址 200O 20FFH 8155 命令口地址为 2100H A 口地址 21O1H B 口地址 2102H C 口地址 2103H T 低八位 2104H T 高八位 2105H 多路模拟开关的使用 IN0 P1 0F8H IN4 P1 0FCH IN1 P1 0F9H IN5 P1 OFDH IN2 P1 0FAH IN5 P1 0FEH IN3 P1 0FBH IN7 P1 0FFH 不掉电数据存贮器为 500EH 507FH 控制板 160 x1O9 mm 供电 5V300mA 12V100mA 12V100mA AT89C51 是一种低功耗 高性能的片内含有 4KB 快闪可编程 擦除只读存储 器 FPEROM Flash Programmable and Eraseable Read Only Memory 的 8 位 CMOS 微控制器 使用高密度 非易失存储技术制造 并且与 80C51 引 脚和指令系统完全兼容 主要性能 与 MCS 51 微控制器产品系列兼容 片内有 4KB 可在线重复编程的快闪擦写存储器 河南理工大学毕业设计 论文 说明书 9 3 4 引脚介绍 引脚介绍 如图3 3所示 图3 3 引脚图 1 电源引脚 Vcc 40 电源端 GND 20 接地端 工作电压为 5V 另有 AT89LV51 工作电压则是 2 7 6V 引脚功能一样 2 外接晶振引脚 如图 3 4 所示 河南理工大学毕业设计 论文 说明书 10 图3 4 外接晶振引脚 XTAL1 19 XTAL2 18 XTAL1 是片内振荡器的反相放大器输入端 XTAL2 则是输出端 使用外 部振荡器时 外部振荡信号应直接加到XTAL1 而XTAL2 悬空 内部方式时 时钟发生器对振荡脉冲二分频 如晶振为12MHz 时钟频率就为6MHz 晶振 的频率可以在1MHz 24MHz内选择 电容取30PF 左右 型号同样为 AT89C51 的芯片 在其后面还有频率编号 有12 16 20 24MHz 可选 大家在 购买和选用时要注意了 如AT89C51 24PC 就是最高振荡频率为24MHz 40P6 封装的普通商用芯片 3 复位 RST 9 在振荡器运行时 有两个机器周期 24 个振荡周期 以上的高电平出现在此 引腿时 将使单片机复位 只要这个脚保持高电平 51 芯片便循环复位 复 位后P0 P3 口均置1 引脚表现为高电平 程序计数器和特殊功能寄存器SFR 全部清零 当复位脚由高电平变为低电平时 芯片为ROM 的00H 处开始运 行程序 常用的复位电路如图所示 河南理工大学毕业设计 论文 说明书 11 复位操作不会对内部 RAM 有所影响 如图 3 5 所示 图 3 5 常用复位电路 4 输入输出引脚 1 P0 端口 P0 0 P0 7 P0 是一个8 位漏极开路型双向I O 端口 端口置 1 对端口写1 时作高阻抗输入端 作为输出口时能驱动8 个TTL 对内部 Flash 程序存储器编程时 接收指令字节 校验程序时输出指令字节 要求外 接上拉电阻 在访问外部程序和外部数据存储器时 P0 口是分时转换的地址 低8 位 数据总线 访问期间内部的上拉电阻起作用 如图3 6所示 图3 6 P0口一位结构图 河南理工大学毕业设计 论文 说明书 12 2 P1 端口 P1 0 P1 7 P1 是一个带有内部上拉电阻的8 位双向I 0 端口 输 出时可驱动4 个TTL 端口置1 时 内部上拉电阻将端口拉到高电平 作输入 用 对内部Flash 程序存储器编程时 接收低8 位地址信息 如图3 7所示 图3 7 P1口一位 3 P2 端口 P2 0 P2 7 P2 是一个带有内部上拉电阻的8 位双向I 0 端口 输出时可驱动4 个TTL 端口置1 时 内部上拉电阻将端口拉到高电平 作输 入用 对内部Flash 程序存储器编程时 接收高8 位地址和控制信息 在访问 外部程序和16 位外部数据存储器时 P2 口送出高8 位地址 而在访问8位地 址的外部数据存储器时其引脚上的内容在此期间不会改变 4 P3 端口 P3 0 P3 7 P2 是一个带有内部上拉电阻的8 位双向I 0 端口 输出时可驱动4 个TTL 端口置1 时 内部上拉电阻将端口拉到高电平 作输 入用 除此之外P3 端口还用于一些专门功能 如图3 8所示 图3 8 P3口一位结构图 河南理工大学毕业设计 论文 说明书 13 P1 3 端口在做输入使用时 因内部有上接电阻 被外部拉低的引脚会输出 一定的电流 P3 口也可作为 AT89C51 的一些特殊功能口 如下所示 P3 口管脚 备选功能 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 口同时为闪烁编程和编程校验接收一些控制信号 8051单片机的内部高128个字节为专用寄存器区 其中51子系列有21个 52子系列有26个 特殊功能寄存器 SFR 它们离散的分布在这个区中 分别用于CPU并行口 串行口 中断系统 定时 计数器等功能单元及控制和 状态寄存器 8051系列单片机将程序存储器 ROM 和数据存储器 RAM 分开 并 各有各自的寻址机构和寻址方式 这种就是所谓的哈佛结构单片机 8051系 列单片机在物理上有四个存储空间 片内程序存储器空间和片外程序存储器 空间 片内数据存储器空间和片外数据存储器空间 8051单片机内部有256字 节的数据存储空间RAM和4KB的程序程序存储器ROM 除此外还可以在片外扩展 RAM和ROM 并且各自有64KB的寻址空间 64KB的程序存储器ROM中 有4KB地 址区对于片内ROM和片外ROM是公用的 这4KB的地址为0000H FFFH而1000H FFFFH地址为外部ROM专用 CPU的控制器专门提供一个控制信号 用来区 EA 分内部ROM和外部ROM的公用地址区 当接高电平时 单片机从片内的4KB EA 存储区取出指令 当指令地址超过0FFFH后 就自动地转向片外ROM取指令 当接低电平时CPU只从片外ROM取指令 EA 程序存储器的某些单元是保留给系统使用的 0000H 0002H单元是所有 河南理工大学毕业设计 论文 说明书 14 执行程序的入口地址 复位后 CPU总是从0000H单元开始执行程序 0003H 002A单元均匀地分为五段 用来做五个中断服务程序的入口 数据存储器 RAM 也有 64KB 的寻址空间 在地址上与 ROM 重叠 8051 通过 不同的信号来选择 ROM 或 RAM 当从外部 ROM 取指令时用选通信号PSEN 当从外部 RAM 读写数据时采用读写信号线RD或WR来选通 因此不会因地 址重叠而出现混乱 对于片内 RAM 的低 128 字节 00H 7FH 还可以分为三个区 第一个区 从 00H 1FH 安排了四组工作寄存器 每组占 8 个 RAM 字节 记为 R0 R7 在某一时刻 CPU 只能用其中一组寄存器 工作寄存器的选择是有 PSW 中的 两位来决定 第二个区域是可位寻址的区 占用 20H 2FH 共 16 个字节 128 位 这 个区域除了作一般的 RAM 区还可以进行位操作 第三个区域就是一般的 RAM 区 地址为 30H 7FH 共 80 个字节 3 53 5 89C5189C51 内部特殊寄存器介绍内部特殊寄存器介绍 89C51 内部控制寄存器只有 6 个 想要充分发挥 8051 单片机的功能必须对 这些寄存器有所了解 1 IE IP 寄存器 用于中断控制 2 TMOD TCON 寄存器 计时付数器用 3 SCON 寄存器 串行传输控制 4 PCON 寄存器 省电模式操作 下边将分别介绍各个寄存器的功能 3 5 1 IE 中断允许寄存器 可位寻址 地址 A8H 如图 3 9 所示 图 3 9 中断允许寄存器 河南理工大学毕业设计 论文 说明书 15 EA EA 0 时 所有中断停用 禁止中断 EA 1 时 各中断的产生由个别的允许位决定 B6 保留 ET2 定时器 计数器 2 T C2 溢出中断允许位 ET2 1 T C2 开中断 ET2 0 T C2 关中断 ES 串行口中断允许位 ES 1 串行口开中断 ES 0 串行口关中断 ET1 定时器 计数器 1 T C2 溢出中断允许位 ET1 1 T C1 开中断 ET1 0 T C1 关中断 EX1 外部中断 1 的允许位 EX1 1 外部中断 1 开中断 EX1 0 外部中断 1 关中断 ET0 定时器 计数器 0 T C0 溢出中断允许位 ET0 1 T C0 开中断 ET0 0 T C0 关中断 EX0 外部中断 0 的允许位 EX0 1 外部中断 1 开中断 EX0 0 外部中断 1 关中断 3 5 2 定时器 计数器控制寄存器 TCON 可位寻址 地址 88H 如图 3 10 所示 图 3 10 定时器 计数器控制寄存器 河南理工大学毕业设计 论文 说明书 16 TF1 计时器 1 溢出标志 当计时溢出时 由硬件设定为 1 在执相对 应的中断服务程序后则自动清 0 TR1 计时器 1 启动控制位 可以由软件来设定或清除 TRl 1 时启动计时器工作 TRl 0 时关闭 TF0 计时器 0 溢出标志 当计时溢出时 由硬件设定为 1 在执行相 对的中断服务程序后则自动清 0 TR0 计时器 O 启动控制位 可以由软件来设定或清除 TR0 1 启动计 时器工作 TR0 o 时关闭 IE1 外部中断 1 工作标志 当外部中断被检查出来时设定此位 在 执行中断服务程序后 则清 0 ITl 外部中断 1 工作形式选择 ITl l 时 由下降沿产生外部中断 ITl 0 时 则为低电位产生中断 IE0 外部中断 0 工作标志 当外部出断被检查出来时 便件自动设 定此位 在执行今断服务程序后 则清 0 IT0 外部中断 0 工作形式选择 1To 1 时为下降沿产生外部中断 IT0 0 时则为低电位产生中断 3 5 3 中断优先寄存器 IP IP在特殊功能寄存器中 字节地址为B8H 位地址 由低位到高位 分别是 B8H一BFH IP用来设定各个中断源属于两级中断中的哪一级 IP的基本格 式如图3 11所示 图3 11 中断优先寄存器 河南理工大学毕业设计 论文 说明书 17 无效位 PS 串行 I O 中断优先级控制位 PS 1 高优先级 PS 0 低优先级 PTl 定时器 计数器 1 中断优先级控制位 PTl 1 高优先 级 PTl 0 低优先级 Pxl 外部中断 1 中断优先级控制位 Pxl 1 高优 先级 PXl O 低优先级 T0 定时器 计数器 o 中断优先级控制位 PT0 1 高优先级 PTO 0 低优先级 Px0 外部中断 0 中断优先级控制位 Px0 1 高优先级 Px0 0 伤优先级 在 MCS 51 单片机系列中 高级中断能 够打断低级中断以形成中断嵌套 同级中断之间 或低级对高级中断则不能 形成中断嵌套 若几个同级中断同时向 CPU 请求中断响应 则 CPU 按如下顺 序确定响应的先后顺序 INT0 一 T0 INT1 一 T1 一 RI T1 3 4 4 中断的响应过程 若某个中断源通过编程设置 处于被打开的状态 并满足中断响应的条 件 而且当前正在执行的那条指令已被执行完当前末响应同级或高级中断不 是在操作 IE IP 中断控制寄存器或执行 REH 指令则单片机响应此中断 在 正常的情况下 从中断请求信号有效开始 到中断得到响应 通常需要 3 个 机器周期到 8 个机器周期 中断得到响应后 自动清除中断请求标志 对串 行 I O 端口的中断标志 要用软件清除 将断点即程序计数器之值 PC 压 入堆栈 以备恢复用 然后把相应的中断入口地址装入 PC 使程序转入到 相应的中断服务程序中去执行 各个中断源在程序存储器中的中断入口地址 如下 中断源 入口地址 INT0 外部中断 0 0003H TF0 TO 中断 000BH INT1 外部中断 1 0013H 河南理工大学毕业设计 论文 说明书 18 TFl T1 中断 001BH RI TI 串行口中断 0023H 3 5 5 电源控制寄存器 PCON PCON的字节地址为87H 无位地址 PCON的格式如图六所示 需指出的是 对 80C31单片机而言 PCON还有几位有效控制位 如图3 12所示 图 3 12 电源控制寄存器 SMOD 波特率加倍位 在计算串行方式 1 2 3 的波特率时 0 不加 倍 1 加倍 串行中断的应用特点 8031 单片机的串行 I O 端口是一个中断源 有两个中断标志 RI 和 TI RI 用于接收 TI 用于发送 串行端口无论在何种工作方式下 发送 接收前都必须对TI RI清零 当一帧数据发送 接收完后 TI RI自动置1 如要再发送 接收 必须先 用软件将其清除 在串行中断被打开的条件下 对方式0和方式1来说 一帧数据发送 接收完后 除置位TI RI外 还会引起串行中断请求 并执行串行中侧目 务程序 但对方式2和方式3的接收机而言 还要视SM2和RB8的状态 才 可确定RI是否被置位以及串行中断的开放 SM2 RB8 接收机中断标志与中断状态 0 1 激活RI 引起中断 1 0 不激活RI 不引起中断 1 1 激活RI 引起中断 定时器 计数器简称定时器 8051系列单片机有2个16位的定时器 计数 河南理工大学毕业设计 论文 说明书 19 器 定时器0 T0 和定时器1 T1 8052系列单片机增加了一个定时器 T2 它们都有定时器或事件计数的功能 可用于定时控制 延时 对外部 事件计数和检测等场合 3 5 6 定时器 计数器工作方式 1 定时器 计数器工作方式 除可选择定时或计数工作方式外 每个定时器 计数器还有4种工作模 式 模式0 1和2 T0和T1的工作模式相同 在模式3 两个定时器的模式 不同T0由2个特殊功能寄存器TH0和TL0构成 T1则由TH1和TL1构成 作定时器时 定时器计数8031片内振荡器输出经12分频后的脉冲 即每个 机器周期使定时器 T0或T1 的寄存器自动加1直至计满溢出 所以定时 的分辨率是时钟振荡频率的1 12 作计数器时 通过引脚T0 P3 4 和T1 P3 5 对外部脉冲信号计数 当 输入脉冲信号从1到0的负跳变时 计数器就自动加1 计数的最高频率一 般为振荡频率的1 24 不论是定时或是计数工作方式 定时器T0或T1都不占用CPU时间 除非定 时器 计数器溢出 才可能中断CPU的当前操作 由此可见 定时器是单片 机中效率高而且工作灵活的部件 2 除可选择定时或计数工作方式外 每个定时器 计数器还有4种工作模 式 模式0 1和2 T0和T1的工作模式相同 模式3两个定时器的模式不同 由TL1的低5位和TH1的8位构成13位计数器 定时器启动后 定时或计数脉 冲加到TL1 从预先设置的初值 时间常数 开始不断增1 TL1计满后向 TH1进位 直至13位寄存器计满溢出 溢出时 13位寄存器清0 TF1置位 并申请中断 如需进一步定时 计数 需用指令重置时间常数 模式0的结 构如图3 13所示 河南理工大学毕业设计 论文 说明书 20 图3 13 模式0的结构图 模式1和模式0几乎完全相同 唯一的差别是 模式1中 定时器寄存器TH1 和TL1组成16位计数器参与操作 从而比模式0有更大的定时 计数范围 模式1的结构如图3 14所示 图3 14 模式1的结构图 由于定时器T1无操作模式3 若将T0设置为模式3 TL0和TH0被分成为两个 互相独立的8位计数器 如图3 15所示 图3 15 模式3的结构图 河南理工大学毕业设计 论文 说明书 21 定时器共有2个控制寄存器TMOD和TCON 由软件写入TMOD和TCON 两个8位寄 存器 设置各个定时器的操作模式和控制功能 定时器初始化步骤 在使用8051的定时器 计数器前 应对它进行初始化编程 主要是对 TCON和TMOD编程 计算和装载计数初值 也称做时间常数 一般完成以下 几个步骤 1 确定T C的工作方式 编程TMOD寄存器 2 计算T C中的计数初值 并装载到THx和TLx 3 T C在中断方式工作时 须开CPU中断和源中断 编程IE寄存器 4 启动定时器 计数器 编程TCON中TRl或TR0位 河南理工大学毕业设计 论文 说明书 22 4 4 LCDLCD芯片芯片 4 4 1 1 LCDLCD接口接口 液晶显示器件 LCD 独具的低压 微功耗特性使他在单片机系统中特得 到了广泛的应用 常用的液晶显示模块分为数显液晶模块 点阵字符液晶模 块和点阵图形液晶模块 其中图形液晶模块在我国应用较为广泛 因为汉字 不能象西文字符那样用字符模块即可显示 要想显示汉字必须用图形模块 LCD资料我选择的是AMPIRE128 64的汉字图形型液晶显示模块 可显示汉字及 图形 图形液晶显示显示器如图4 1所示 CS1 1 CS2 2 GND 3 VCC 4 V0 5 RS 6 R W 7 E 8 DB0 9 DB1 10 DB2 11 DB3 12 DB4 13 DB5 14 DB6 15 DB7 16 RST 17 Vout 18 LCD2 AMPIRE128X64 图4 1 LCD电路图 河南理工大学毕业设计 论文 说明书 23 AMPIRE128 64AMPIRE128 64 接口说明表接口说明表 表 4 1 接口说明表 管脚 号 管脚 电平 说明 1CS1H L 片选择信号 低电平时选择前 64 列 2CS2H L 片选择信号 低电平时选择后 64 列 3GND0V 逻辑电源地 4VCC 5 0V 逻辑电源正 5V0 LCD 驱动电压 应用时在 VEE 与 V0 之间加一 2K 可调 电阻 6RSH L 数据 指令选择 高电平 数据 D0 D7 将送入显示 RAM 低电平 数据 D0 D7 将送入指令寄存器执行 7R WH L 读 写选择 高电平 读数据 低电平 写数据 8E H L 读写使能 高电平有效 下降沿锁定数据 9DB0H L 数据输入输出引脚 10DB1H L 数据输入输出引脚 11DB2H L 数据输入输出引脚 12DB3H L 数据输入输出引脚 13DB4 H L 数据输入输出引脚 14DB5H L 数据输入输出引脚 15DB6H L 数据输入输出引脚 16DB7H L 数据输入输出引脚 17RSTL 复位信号 低电平有效 18VOUT 10V LCD 驱动电源 4 4 2 2 指令描述指令描述 1 显示开 关设置 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLHHHHHH L 功能 设置屏幕显示开 关 DB0 H 开显示 DB0 L 关显示 不影响显示 RAM DD RAM 中的内容 2 设置显示起始行 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 河南理工大学毕业设计 论文 说明书 24 LLHH 行地址 0 63 功能 执行该命令后 所设置的行将显示在屏幕的第一行 显示起始行 是由 Z 地址计数器控制的 该命令自动将 A0 A5 位地址送入 Z 地址计数器 起始地址可以是 0 63 范围内任意一行 Z 地址计数器具有循环计数功能 用于显示行扫描同步 当扫描完一行后自动加一 3 设置页地址 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLHLHHH 页地址 0 7 功能 执行本指令后 下面的读写操作将在指定页内 直到重新设置 页 地址就是 DD RAM 的行地址 页地址存储在 X 地址计数器中 A2 A0 可表示 8 页 读写数据对页地址没有影响 除本指令可改变页地址外 复位信号 RST 可把页地址计数器内容清零 DD RAM 地址映像表如表 4 2 所示 表 4 2 RAM 地址映像表 Y 地址 0 1 2 61 62 63 DB0 PAGE0 DB7 X 0 DB0 PAGE1 DB7 X 1 DB0 PAGE6 DB7 X 7 DB0 PAGE7 DB7 X 8 4 设置列地址 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLH 列地址 0 63 河南理工大学毕业设计 论文 说明书 25 功能 DD RAM 的列地址存储在 Y 地址计数器中 读写数据对列地址有影 响 在对 DD RAM 进行读写操作后 Y 地址自动加一 5 状态检测 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 HLBFLON OFF RST LLLL 功能 读忙信号标志位 BF 复位标志位 RST 以及显示状态位 ON OFF BF H 内部正在执行操作 BF L 空闲状态 RST H 正处于复位初始化状态 RST L 正常状态 ON OFF H 表示显示关闭 ON OFF L 表示显示开 6 写显示数据 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L HD7D6D5D4D3D2D1D0 功能 写数据到 DD RAM DD RAM 是存储图形显示数据的 写指令执行后 Y 地址计数器自动加 1 D7 D0 位数据为 1 表示显示 数据为 0 表示不显示 写数据到 DD RAM 前 要先执行 设置页地址 及 设置列地址 命令 7 读显示数据 CODE R W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 HHD7D6D5D4D3D2D1D0 基本操作时序 读状态 输入 RS L R W H CS1 或CS2 H E H 输出 D0 D7 状态字 写指令 输入 RS L R W L D0 D7 指令码 CS1或CS2 H E 高脉冲 输出 无 读数据 输入 RS H R W H CS1 或CS2 H E H 输出 D0 D7 数据 写数据 输入 RS H R W L D0 D7 数据 CS1 或CS2 H E 高脉冲 输出 无 RAM 地址映射图LCD 显示屏由两片控制器控制 分别用和控制 每个1CS2cs 河南理工大学毕业设计 论文 说明书 26 内部带有64X64 位 512字节 的RAM 缓冲区 对应关系如图4 2所示 图4 2 LCD地址映射图 4 4 3 接口时序说明 1 读操作时序 如图4 3所示 图4 3 读操作时序 2 写操作时序 如图4 4所示 河南理工大学毕业设计 论文 说明书 27 图4 4 写操作时序 3 时序参数 如表4 3所示 表4 3 时序表 向LCD写汉字 必须先初始化LCD 开显示 清屏 1 设定开始页地址和列地址 2 设定读写模式 进行读写操作 河南理工大学毕业设计 论文 说明书 28 5 5 系统软件设计系统软件设计 5 15 1 系统流程图 如图5 1所示 上电复位 延时 50 ms 初始化 LCD 清屏显示 播放音乐显示歌词 主界面 菜单选择界 面 B1 0 汉字显示 B4 0 B2 0 Flash 显示 B3 0 Y Y Y N N N Y 图5 1 主程序流程图 河南理工大学毕业设计 论文 说明书 29 5 5 2 2 汉字和图形字模提取汉字和图形字模提取 液晶显示器件 LCD 独具的低压 微功耗特性使他在单片机系统中特得 到了广泛的应用 常用的液晶显示模块分为数显液晶模块 点阵字符液晶模 块和点阵图形液晶模块 其中图形液晶模块在我国应用较为广泛 因为汉字 不能象西文字符那样用字符模块即可显示 要想显示汉字必须用图形模块 1 液晶模块显示汉字方法 使用图形液晶模块以点阵形式来显示汉字和图形 每8个点组成1个字节 每 个点用一个二进制位表示 存1的点显示时在屏上显示一个亮点 存0的点则 在屏上不显示 最常用的16 16的汉字点阵由32个字节组成 以在我国应用 较为普及的液晶显示驱动控制器12864为例 在液晶屏上横向8个点为1个字节 数据 则 国 字的16 16点阵字模如图1所示 通过字模提取软件按照先左 后右 先上后下的方式对 国 字进行字模提取 则可获得图1右边的字模对 应的32个字节值 将这些字节按一定顺序写入液晶控制器的显示缓冲区 就 可在液晶屏上显示16 16的 国 字如图5 2所示 图5 2 汉字点阵图 英文字母采用的是8 16点阵 如图5 3所示 河南理工大学毕业设计 论文 说明书 30 图5 3 字符点阵 提取字模有四种提取格式包括 横向取模字节正序 横向取模字节倒序 纵向取模字节正序 纵向取模字节倒序 字模应用于单色的点阵液晶 数据是纵向的 一个像素对应一个位 8个像 素对应一个字节 字节的位顺序是上低下高 比如从上到下8个点的状态是 为黑点 为白点 则转换的字模数据是0 x41 B0100 0001 在对汉字或图像做字模提取时 汉字一般都是16 16的点阵 图像可以是 128 64 64 64 32 64的点阵 为了使图像更加清晰我采用的是128 64 采集模 式即全屏显示一幅图片 通过单片机将已提取的汉字图形的字模输 入液晶控制 器 即可按设定的液晶模块显示屏上现实需要的汉字 将提取的汉字字模数据作为常量数组存放在程序存储区内 这种方法较 为常用 针对程序不大或单片机无外部扩展数据存储区功能的情况 如下面 程序所示 将提取的要显示汉字的字模数据定义成常量数组 如要显示 河 南 两字 unsigned char code hz37 字模格式 大小 单色点阵液晶字模 纵向取模 字节倒序 64字节 文字 河 宋体12 此字体下对应的点阵为 宽x高 16x16 0 x10 0 x60 0 x01 0 xC6 0 x30 0 x02 0 xE2 0 x22 0 x22 0 xE2 0 x02 0 x02 0 xFE 0 x02 0 x02 0 x00 0 x04 0 x04 0 xFF 0 x00 0 x00 0 x00 0 x07 0 x02 0 x02 0 河南理工大学毕业设计 论文 说明书 31 x07 0 x40 0 x80 0 x7F 0 x00 0 x00 0 x00 文字 南 宋体12 此字体下对应的点阵为 宽x高 16x16 0 x04 0 x04 0 xE4 0 x24 0 x24 0 x64 0 xB4 0 x2F 0 x24 0 xA4 0 x64 0 x24 0 x24 0 xE6 0 x04 0 x00 0 x00 0 x00 0 x7F 0 x04 0 x05 0 x05 0 x05 0 x7F 0 x05 0 x05 0 x 05 0 x25 0 x44 0 x3F 0 x00 0 x00 5 35 3 汉字图形显示函数汉字图形显示函数 用字模提取软件将要显示的汉字和图像转化成十六进制代码 分别用程 序调用在LCD上显示出来 程序部分主要包含几个函数 测试LCD忙闲状态函数void CheckState 向LCD写命令函数SendCommandToLCD unsigned char command 写显示数据 函数void WriteByte unsigned char dat 读数据函数unsigned char ReadByte 设定行和列函数 写8 8汉字函数写16 16汉字函数 music 16 unsigned char lin unsigned char column unsigned char p unsigned int m 写128 64图片函数write image unsigned char dat 播放音乐函数Play 和延迟函数delay unsigned int 向LCD读写16 16汉字时采用的是先左后右先上后下的规则 即先在读写 左上角8 8汉字点阵 纵着读写从左到右上面是低位下边是高位 一次类推 读写右上角8 8汉字点阵左下角 右下角 向LCD读写128 64图像时 先把 LCD的显示屏的纵列分成两部分 分别是低64位和高64位 用CS1和CS2作片选 控制 低点位有效 如下面的函数 汉字显示子函数hz 16 其中要调用另外两个子函数hz 88和WriteByte数 lin column为液晶显示器的页和列 参数w为指针类型 指向数组的首地址 8 8点阵汉字函数 河南理工大学毕业设计 论文 说明书 32 void hz 88 unsigned char lin unsigned char column unsigned char w unsigned int address 写入8 8点阵汉字函数 unsigned char i if column 16 return if column 8 SelectScreen 1 如果列数 8 0 1 2 3 4 5 6 7 则写在 第一屏上 else SelectScreen 2 否则 8 9 10 11 12 13 14 15 写在第二屏上 column column 防止越界 SetLine lin SetColumn column 3 colum 8 0 8 16 24 120 for i 0 i 8 i WriteByte w address i 16 16汉字控制函数 void hz 16 unsigned char lin

温馨提示

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

评论

0/150

提交评论