基于AT89C52单片机设计3

上传人:y****3 文档编号:12839357 上传时间:2020-05-31 格式:DOC 页数:51 大小:3.62MB
返回 下载 相关 举报
基于AT89C52单片机设计3_第1页
第1页 / 共51页
基于AT89C52单片机设计3_第2页
第2页 / 共51页
基于AT89C52单片机设计3_第3页
第3页 / 共51页
点击查看更多>>
资源描述
Comment U1: ?! 下面的行距都跟原来的封面不一 样了,连论文题目也没有。 。 。你 能不能用“论文”封面? BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 毕业设计(论文)任务书 (2016 届) 所属系(部): 机电工程学院 所学专业: 通信技术 班 级: 13通信技术班 姓 名: xxx 学 号: xxx 指导教师: xxx 2015 年 7 月 7 日 Comment U2: 设计单片机? BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 AT89C52单片机设计 通信技术 Xxx Xxx 摘 要 计算器是微型电子计算机的一种特殊类型。它与一般通用计算机的主要区别在于程序输入 方式的不同。计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很 容易就能掌握。而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。简易计算 器主要用于加减乘除;科学计算器,又增添了初等函数运算。随着微电子技术的不断发展,微 处理芯片的集成程度越来越高,单片机已可以在一片芯片上同时集成cpu,存储器,定时器, 计数器,并行和串行接口,看门狗,前置放大器,A|D 转换器,D|A 转换器等多种电路。完成 一定区间和条件的简单四则运算过程。 关键词:计算器,AT89C52,矩阵按键,LCD1602 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 目录 第一章 绪论 .1 1.1 课题的提出及意义 .1 1.2 设计的任务及要求 .1 第二章 总体方案设计 .3 2. 1 芯片比较 .3 2.1.1 单片机选择 .3 2.1.2 显示器的选择 .3 2.1.3 按键部分的选择 .4 2.2 总体设计及系统原理 .4 第三章 单片机硬件设计 .6 3.1 单片机部分 .6 3.1.1 单片机发展历史 .6 3.1.2 单片机发展趋势 .6 3.1.3 计算器系统现状 .7 3.1.4 AT89C52 系列单片机简介 .8 3. 2 矩阵按键部分 .16 3. 3 液晶显示器部分 .18 第四章 单片机软件设计 .25 4.1 主程序设计 .25 4.2 键扫程序设计 .25 4.3 算术运算程序设计 .26 4.4 显示程序设计 .27 第五章 单片机安装、调试 .29 5.1 软件仿真 .29 5.2 安装步骤 .30 5.2.1 检查元件的好坏 .30 5.2.2 放置、焊接各元件 .30 5.3 调试 .34 5.3.1 硬件调试 .34 5.3.2 软件调试 .34 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 结束语 .35 致谢 .36 参考文献 .37 Comment U3: 你的本设计不就是 “毕业设计”吗?怎么本设计去 提高解决毕业设计的能力? Comment U4: Comment U5: 这些要不放在论文 最后总结那里。 这一节讲的是“计算器”本身的 意义,不是做这个对你的意义。 Comment U6: 逻辑不对吗?不是 先理论设计好了,再实践的吗? 上面那段都实践完了,这里才理 论设计? BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 第一章 绪论 1.1 课题的提出及意义 随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术 的发展犹如雨后春笋般的变化。计算器在人们的日常中是比较常见的电子产品之一,如 何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器, 使其更好地为各个行业服务,成了如今电子领域重要的研究课题。现在人们的日常生活 中已经离不开计算器了,社会的各个角落都有它。因此设计一款简单实用的计算器会有 很大的实际意义。 本设计在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强 对实际应用系统设计的能力。通过本设计的学习,使我掌握单片机程序设计和微机接口 应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕 业设计实际问题的能力,为单片机应用和开发打下良好的基础。 对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚 的认识,并会使用 LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱 动和编程,设计 LCD和单片机的接口电路,以及利用单片机对液晶显示模块的驱动和操 作; 在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计 出具有四则运算能力简易计算器的硬件电路和软件程序。 1.2 设计的任务及要求 目的:通过本次工程实践,运用智能化测量控制仪表原理与设计 、 MCS-51 1 系列单片微型计算机及其应用所学知识及查阅相关资料,完成简易计算器的设计,达 到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。 通过本次设计训练,可以使我们在基本思路和基本方法上对基于 MCS-51单片机的嵌 入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 要求: 2 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 使用硬件:MCS-51 单片机,中央处理器,数据存储器(RAM),程序存储器(ROM)等。 使用软件:电子绘图软件 Protel。 (1)通过网络及各种相关书籍查找相关信息,确定使用的元器件。 (2)以 MCS-51 单片机为核心,开发一个完整的系统,包括硬件设计和软件的编程。 (3)使用 Protel 软件,绘制原理图、PCB ,并进行元器件安装、焊接及调试检测达 到预期的目的。矩阵按键输入、LCD1602 液晶显示,构成一套可以运算两个数之间的加 减乘除的设计。最大运算是:9999*9999,可以运算负数。 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 第二章 总体方案设计 2. 1 芯片比较 2.1.1 单片机选择 AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 8Kbytes 的可反复擦写的只读程序存储器(PEROM)和 256bytes 的随机存取数据存储器 (RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指 令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 FLASH 存储单元, 功能强大 AT89C52 单片机适用于许多较为复杂控制应用场合。AT89C52 有 40 个引脚, 32 个外部双向输入/输出(I/O) 端口,同时内含 2 个外中断口, 3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,AT89C52 可以按照常规方法进行编程,也可以在 线编程。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存 储器可有效地降低开发成本。 AT89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的需求。 2.1.2 显示器的选择 在单片机应用系统中,使用的显示器主要有 LED(发光二极管显示器) 、LCD 液晶显 示。 方案一:使用 8 位 LED 数码管来显示, LED 显示器是由发光二极管显示字段组成的 显示器件,在单片机应用系统中通常使用的是七段 LED,这种显示器有共阴极和共阳极 两种,它具有成本低廉、配置灵活和单片机接口方便等特点。 方案二:使用液晶显示器来显示。液晶是介于固态和液态间的有机化合物,将其加 热会变成透明液态,冷却后变成结晶的浑浊固态。在电机的作用下,产生冷热变化,从 而影响它的透光性,来达到显示的目的。LCD 还具有以下优点:(1)低压、微功耗; (2)显示信息量大;(3)长寿命;(4)无辐射、无污染。选择液晶显示屏。 为了适应本课题的需要,本设计采用液晶显示屏 LCD1602 进行显示。 Comment U7: 这里是总体设计方 案,应该放的是系统的原理框图, 不是整体电路图。 总的电路图都全搞好了,后面的 章节你打算讲什么? 另外,这个图也太太模糊了吧? 根本看不清楚,打印出来就更不 知道是什么 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 2.1.3 按键部分的选择 根据操作需要和毕业设计需要,按键部分采用 4*4 行列式键盘,分别设定数字键和 功能键。 2.2总体设计及系统原理 大致原理图如图 2.2.1所示: 图 2.2.1 原理图 总的电路设计方案以单片机 AT89S52 来作为核心元器件,外围采用 4*4 行列式键 盘作为输入,采用 lcd1602 液晶显示来做输出。这里重点介绍液晶输出,它是一个双行显 Comment U8: Vss Comment U9: Vdd 后面的自己改。 Comment U10: Comment U11: Comment U12: Comment U13: BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 示的液晶显示器,其采用标准的 16 脚接口。 1. vss 为地电源; 2. vdd 接 5v 正电源; 3. vo 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高, 对比度过高会产生影子,使用时可以通过一个 10k 的电位器调整对比度; 4. rs 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器; 5. rw 为读写信号线,高电平时选择读操作,低电平时选择写操作。当 rs和 rw 共同 为低电平时可以写入指令或者显示地址,当 rs 为低电平 rw 为高电平时可以读忙信号, 当 rs 为高点平 rw 为低电平时可以写入数据。 6. e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模块执行命令; 7. 714 d0d7 为 8 位双向数据线; 8. 1516 分别为背光灯正负极,A 接正极,K 接负极。 Comment U14: 说真的 你要设 计一块新型“单片机”吗? 如果你说的是设计 8952,小心别 人告你侵权呢 Comment U15: 后面两节都删了, 这部分也没什么用了。都不要了。 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 第三章 单片机硬件设计 3.1 单片机部分 目前,52 系列单片机在我国的各行各业得到了广泛应用,各大专业院校、职业培训 学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科, 必须通过一系列的软硬件实验、理论联系实际,才能学好、学懂,取得较好的学习效果。 3.1.1 单片机发展历史 单片机(Microcontrollers)诞生于 1971年,经历了 SCM、MCU、SoC 三大阶段,早 期的 SCM单片机都是 8位或 4位的。其中最成功的是 INTEL的 8051,此后在 8051上发 展出了 MCS51系列 MCU系统。基于这一系统的 单片机系统直到现在还在广泛使用。随 着工业控制领域要求的提高,开始出现了 16位单片机,但因为性价比不理想并未得到很 广泛的应用。90 年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着 INTEL i960系列特别是后来的 ARM系列的广泛应用,32 位单片机迅速取代 16位单片机 的高端地位,并且进入主流市场。 而传统的 8位单片机的性能也得到了飞速提高,处理能力比起 80年代提高了数百倍。 高端的 32位 Soc单片机主频已经超过 300MHz,性能直追 90年代中期的专用处理器,而 普通的型号出厂价格跌落至 1美元,最高端的型号也只有 10美元。 当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统 被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至 可以直接使用专用的 Windows和 Linux操作系统。 3.1.2 单片机发展趋势 单片机的发展趋势:低功耗 CMOS化;微型单片化;主流与多品种共存;单片机从 8位、16 位到 32位,数不胜数,应有尽有,有与主流 C51系列兼容的,也有不兼容的, 但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 Comment U16: 这两节都不要。 单片机怎么发展跟你这个系统基 本没什么关系。你都选好了用哪 种单片机了,没什么好说的。 Comment U17: 此标题去掉,下 面两段的内容作为第三章的开头。 加上“3.1 单片机最小系统”一 节 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 纵观单片机的发展历程,可以发现单片机的发展趋势大致有: 1、低功耗 CMOS化 MCS-51系列的 8051推出时的功耗达 630mW,而现在的单片机普遍都在 100mW左 右,随着对单片机功耗的要求越来越低,现在的各个单片机制造商基本都采用了 CMOS(互补金属氧化物半导体工艺)。像 80C51就采用了 HMOS(即高密度金属氧化物半 导体工艺) 和 CHMOS(互补高密度金属氧化物半导体工艺)。CMOS 虽然功耗较低,但由于 其物理特征决定了其工作速度不够高,而 CHMOS则具备了高速和低功耗的特点,这些 特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期 内单片机发展的主要途径。 2、微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程 序存储器(ROM)、并行和串行通信接口、中断系统、定时电路、时钟电路集成在一块单一 的芯片上,增强型的单片机集成了如 A/D转换器、 PMW(脉宽调制电路)、WDT(看门狗), 有些单片机将 LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就 更多,功能就更强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自 己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低 外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中 SMD(表面封装) 越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 3、主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍是以 80C51为核心的单片机占主流, 兼容其结构和指令系统的有 PHILIPS公司的产品, ATMEL公司的产品和中国台湾的 Winbond系列单片机。因此以 80C51为核心的单片机占据了半壁江山。而 Microchip公司 的 PIC精简指令集 (RISC)也有着强劲的发展势头,中国台湾的 HOLTEK公司近年的单片 机产量与日俱增,以其价低质优的优势,占据一定的市场份额。此外还有 MOTOROLA 公司的产品,日本几大公司的专用单片机。在一定的时期内,这种形势将得以延续,将 不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。 3.1.3 计算器系统现状 Comment U18: 你这是单片机教 材吗?你都用了 8页纸来说单片 机了,加上前面那页 9页! 这根本就是把单片机那本书的第 一章粘贴上去吧?! 全部删掉,51 单片机是谁都知道 是啥的东西,根本不需要你来给 大家介绍。你如要介绍单片机, 就简单点说说单片机的结构,重 点放在单片机的最小系统,幅面 一页纸以内,加上图,最多不能 超过 1页半纸。把单片机的内容 全放在 “3.1 单片机最小系统”一节中。 Comment U19: 小四号 不过反正可能要删了,后面的单 片机部分有问题我就不标注了 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备 及电子配件通过人工或机器设备组成。低档计算器的运算器、控制器由数字逻辑电路实 现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。高档计算器由微 处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序 和数据。键盘是计算器的输入部件,一般采用接触式或传感式。为减小计算器的尺寸, 一键常常有多种功能。显示器是计算器的输出部件,有发光二极管显示器和液晶显示器 等。除显示计算结果外,还常有溢出指示、错误指示等。计算器电源采用交流转换器或 电池,电池可用交流转换器或太阳能转换器再充电。为节省电能,计算器都采用 CMOS 工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路) ,并在内部装有定时 不操作自动断电电路。计算器可选用的外围设备有微型打印机、盒式磁带机和磁卡机等。 本计算器是以 MCS-51系列单片机 AT89C52为核心构成的简易计算器系统。该系统 通过单片机控制,实现对 4*4键盘扫描进行实时的按键检测,并把检测数据存储下来。 整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按 键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送入 LED显 示器动态显示。整个系统可分为两个主要功能模块:功能模块一,实时键盘扫描;功能 模块二,数据 1602显示。 3.1.4 AT89C52系列单片机简介 AT89C52单片机的硬件结构 1 如图 3-1所示,为 AT89C52的硬件结构图。AT89C52 单片机的内部结构与 MCS-51 系列单片机的构成基本相同。CPU 是由运算器和控制器所构成的。运算器主要用来对操 作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部件,主要任务的识 别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协 调地工作。它的程序存储器为 8K字节可重擦写 Flash闪速存储器,闪烁存储器允许在线 +5V电擦除、电写入或使用编程器对其重复编程。 数据存储器比 51系列的单片机相比大 了许多为 256字节 RAM。AT89C52单片机的指令系统和引脚功能与 MCS-51的完全兼容。 单片机 AT89C52结构框图如图 3.1.1所示。 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 图 3.1.1 单片机 AT89C52 结构框图 主要性能参数 2 8K 字节可重擦写 Flash 闪速存储器 1000 次可擦写周期 全静态操作: 0Hz-24MHz 三级加密程序存储器 2568 字节内部 RAM 32 个可编程 I/O 口线 3 个 16 位定时/ 计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 AT89C52 外部引脚图如图图 3.1.2 所示: CPU 串行 通讯口 RAM 输入 输出接口 计数 器 定时 器时钟 FLAS H BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 图 3.1.2 AT89C52 外部引脚图 AT89C52 管脚说明 3 VCC:电源 GND:接地 P0 口:P0 口是一个 8 位漏级开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 口端口写 ”1”时,引脚作高阻抗输入。当访问外部程序和数据存储器时, P0 口也被作为低 8 位地址 /数据复用。在这种模式下,P0 具有内部上拉电阻。 在 flash 编程时, P0 口也用来接受指令字节:在程序效验时,输出指令字节。程序效 验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位是双向 I/O 口,P1 的输出缓冲级可驱动 (吸收或输出电流)4 个 TTL 逻辑电平。对 P1 口写”1”时,内部上拉电阻的原因,将输 出电流 ILL。 此外,与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时 /计数器 2 的外部计 数输入(P1.0/T2 )和输出(P1.1/T2EX) ,具体如表 3.1.1 所示。 表 3.1.1 P1.0 和 P1.1 的第二功能 引脚号 功能特性 P1.0 T2(定时/计数器 2 外部计数脉冲输入) ,时钟输出 P1.1 T2EX 定时/计数 2 捕获/重装载触发和方向控制 在 Flash 编程和校验时,P1 口接收低 8 位地址字节。 P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲级可驱动吸收 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 或输出电流 4 个 TTL 逻辑电平。对 P2 口写”1” 时,通过内部上拉电阻把端口拉高,此时 可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输 出电流 ILL。 在访问外部好曾许存储器或用 16 位地址读取外部数据存储器时,P2 口送出高 8 位地 址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址访问外部数据存 储器时,P2 口输出 P2 锁存器的内容。在 Flash 编程和校验时,P2 口接收低 8 位地址字节 和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P3 输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑电平。对 P3 口写”1”时,内部上拉电阻把端口拉高,此时 可以作为输入端口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将 输出电流 ILL。P3 口除了作为一般、的 I/O 口线外,更重要的是它的第二功能,如表 3.1.2 所示: 表 3.1.2 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(外部数据存储器读选通) 在 Flash 编程和校验时,P3 口也接收一些控制信号。 RST:复位输入。晶振工作时,RST 脚持续 2 个机器周期以高电平将使用单片机复位。 ALE/PROG:地址锁存器控制信号(ALE )是访问外部程序存储器时,锁存低 8 位 地址的输出脉冲。在 Flash 编程时,此引脚( PROG)也使用作编程输入脉冲。 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器 或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 如果需要,通过将地址为 8EH 的 SFR 的第 0 位置 ”1”,ALE 操作无效。这一位置”1”, ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能 标志位的设置对微控制器处于外部执行模式下无效。 PSEN :外部程序储存器选通信号( PSEN)是外部程序存储器选通信号。当 AT89C52 从外部程序存储器执行外部代码时, 在每个机器周期被激活两次,而在 访问外部数据储存器时, PSE将不被激活。/AV :访问外部程序存储器控制信号。为使能从 0000HFFFFH 的外部程序存 储器读取指令, 端必须保持低电平(接地) 。为了执行内部程序指令, EA应该接 VCC。 在 flash 编程期间, EA也接受 12 伏 VPP 电压。 XTA L1:振荡器反相放大器及内部时钟发生器的输入端。 XTA L2:振荡器反相放大器的输出端。 存储器结构 4 MCS-51 器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可 以 64K 寻址。 1. 程序存储器 如果 EA 引脚接地,程序读取只从外部存储器开始。 对于 89C52,如果 EA 接 VCC,程序先从内部存储器(地址为 0000H1FFFFH)开 始,接着从外部寻址,寻址范围为:2000HFFFFH。 2. 数据存储器 AT89C52 有 256 字节 RAM。高 128 字节与特殊功能寄存器重叠。也就是说高 128 字 节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于 7FH 的地 址时,寻址方式决定 CPU 访问高字节 RAM 还是特殊功能寄存器空间。直接寻址方式访 问特殊功能寄存器(SFR ) 。 定时器 5 1. 定时器 0 和定时器 1 在 AT89C52 中,定时器 0 和定时器 1 都是 16 位加法计数结构,分别由 TH0(地址 8CH)和 TL0(地址 8AH)及 TH1(地址 8DH)和 TL1(地址 8BH)两个 8 位计数器组 成。这 4 个计数器均属于专用寄存器之列。每个定时器/计数器都有定时和计数两种功能。 2. 计数功能 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 所谓的计数功能是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此 计数功能的实质就是对外脉冲进行计数。MCS-51 系列的芯片有 T0(P3.4 )和 T1(P3.5 )两个信号引脚,分别就是这两个计数器的计数输入端。外部输入的脉冲在负跳 变时有效,进行计数器加 1。 计数方式下,单片机在每个机器周期的 S5P2 拍节对外部计数脉冲进行采样。如果前 一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效计数脉冲。 在下一个机器周期的 S3P1 进行计数。可见采样计数脉冲是在 2 个机器周期进行的。鉴于 此,计数脉冲的频率不能高于振荡脉冲的频率不能高于振荡脉冲频率的 1/24。 3. 定时功能 定时器也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部, 即每个机器周期产生一个计数脉冲。也就是每个机器周期计数加 1。由于一个机器周期等 于 12 个振荡脉冲周期,因此计数频率为振荡频率的 1/12。如果单片机采用 12MHz 晶体, 则计数频率为 1MHz。即每微秒计数器加 1。这样不但可以根据计数值计算出定时时间, 也可以反过来按定时时间的要求计算出计数器的预置值。 4. 定时器 2 定时器 2 是一个 16 位定时器/计数器,它既可以作定时器,又可以做事件计数器。其 工作方式由特殊寄存器 T2CON 中的 C/T2 位选择(如表 2 所示) 。定时器 2 有三种工作模 式:捕捉方式、自动重载(向上或向下计数)和波特率发生器。如表 3.3 所示,工作模式 由 T2CON 中的相关为选择。定时器 2 有 2 个 8 位寄存器: TH2 和 TL2。在定时工作方式 中,每个机器周期,TL2 寄存器都会加 1。由于一个机器周期由 12 个晶振周期构成,因 此,计数频率就是晶振频率的 1/12。定时器 2 工作模式如表 3.1.3 所示: 表 3.1.3 定时器 2 工作模式 RCLK+TCLK CP/RL2 TR2 MODE 0 0 1 16 位自动重载 0 1 1 16 位捕捉 1 1 波特率发生器 0 不用 在计数工作方式下,寄存器在相关外部输入角 T2 发生 1 至 0 的下降沿时增加 1。在 这种方式下,每个机器周期的 S5P2 期间采样外部输入。一个周期采样到高电平,而下一 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 个周期采样到低电平,计数器加 1。在检测到跳变的这个周期的 S3P1 期间,新的计数值 出现在寄存器中。因为识别 10 的跳变需要 2 个机器周期(24 个晶振周期) ,所以,最 大的计数频率不高于晶振频率的 1/24。为了确保给定的电平在采样前采样到一次,电平 应该至少在一个完整的机器周期内保持不变。T2MOD-定时器 2 控制寄存器如表 3.1.4 所示: 表 3.4 T2MOD-定时器 2 控制寄存器 T2MOD 地址:0C9H 复位值:00B - - - - - - T2OE DCEN 7 6 5 4 3 2 1 0 符号 功能 无定义,预留扩展 T2OE 定时器 2 输出允许位 DCEN 置 1 后,定时器 2 可配置向上或向下计数 中断 6 AT89C52 有 6 个中断源:两个外部中断(INT0 和 INT1) ,三个定时中断定时器 0、1、2 和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器 IE 中的相关中 断允许控制位分别使得中断源有效或无效。IE 还包括一个中断总控制位 EA,它能禁止所 有中断。 如表 3.5 所示,IE.6 位是不可用的。对于 AT89S52,IE.5 位也是不能用的。用户软件 不应给这些位写 1。它们为 AT89 系列新产品预留。 定时器 2 可以被寄存器 T2CON 中的 TF2 和 EXF2 的或逻辑触发。程序进入中断服务 后,这些标志位都可以由硬件清 0。实际上,中断服务程序必须判定是否是 TF2 或 EXF2 激活中断。标志位也必须由软件清 0。 定时器 0 和定时器 1 标志位 TF0 和 TF1 在计数溢出的那个周期的 S5P2 被置位。它们 的值一直到下一个周期被电路捕捉下来。然而,定时器 2 的标志位 TF2 在计数溢出的那 个周期被置位,在同一个周期被电路捕捉下来。中断允许控制位如表 3.1.5 所示: BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 表 3.1.5 中断允许控制位 符号 位地址 功能 EA IE.7 中断允许控制位,EA=0,中断总禁止;EA=1,各中 断由各自的控制位设定 - IE.6 预留 ET2 IE.5 定时器 2 中断允许控制位 ES IE.4 串行口中断允许控制位 ET1 IE.3 定时器 1 中断允许控制位 EX1 IE.2 外部中断 1 允许控制位 ET0 IE.1 定时器 0 中断允许控制位 EX0 IE.0 外部中断 0 允许控制位 晶振特性 7 AT89C52 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和 XTAL2 分别 是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从 外部时钟远驱动器件的话,XTAL2 可以不接,而从 XTAL1 接入。由于外部时钟信号经 过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求, 最长低电平持续时间和最少高电平持续时间等还是要符合要求的。 石英晶振 C1,C2=30PF+-10PF 陶瓷谐振器 C1,C2=40PF+-10PF 空闲模式 8 在空闲工作模式下,CPU 处于睡眠状态,而所有片上外部设备保持激活状态。这种 状态可以通过软件产生。在这种状态下,片上 RAM 和特殊功能寄存器的内容保持不变。 空闲模式可以被任一个中断或硬件复位中止。由硬件复位终止空闲模式只需两个机 器周期有效复位信号,在这种情况下,片上硬件禁止访问内部 RAM,而可以访问端口引 脚。空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条 指令的下一条指令不应该是写端口或外部存储器。 掉电模式 9 在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。片上 RAM 和特殊功能寄存器保持原值,直到掉电模式终止。掉电模式可以通过硬件复位和外 部中断退出。复位重新定义例如 SFR 的值。在 VCC 未恢复到正常工作电压时,硬件复位 Comment U20: 以上 8页均为单 片机内容,全部删了。 Comment U21: 句号。下同 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 不能无效。并且应保持足够长的时间以使晶振重新工作和初始化。空闲模式和掉电模式 下的外部引脚状态如表 3.1.6所示: 表 3.1.6 空闲模式和掉电模式下的外部引脚状态 模式 程序存储器 ALE PESN PORT0 PORT1 PORT2 PORT3 空闲 内部 1 1 数据 数据 数据 数据 空闲 外部 1 1 浮空 数据 地址 数据 掉电 内部 0 0 数据 数据 数据 数据 掉电 外部 0 0 浮空 数据 数据 数据 3. 2 矩阵按键部分 键盘是单片机系统中最常用的人机对话输入设备,用户通过键盘向单片机输入数据 或指令。键盘控制程序需完成的任务有:监测是否有键按下,有键按下时,若无硬件去 抖动电路时,应用软件延时方法消除按键抖动影响;当有多个键同时按下时,只处理一 个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。 矩阵按键扫描程序是一种节省 I/O口的方法,按键数目越多节省 I/O口就越可观,思路: 先判断某一列(行)是否有按键按下,再判断该行(列)是哪一只键按下。但是,在程 序的写法上,采用了最简单的方法,使得程序效率最高。本程序中,如果检测到某键按 下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的 CPU时间。 采用 4x4键盘与单片机的 P1口相连,连接电路如图 4所示。*设为复位键,按下时, 清零,液晶显示为 0。 按键说明图如图 3.2.1所示: 按键电路流程图如图 3.1.2所示: Comment U22: 模糊。 图和图名要放在同一页。位置不 够另起页。 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 图 3.2.1 按键说明图 图 3.1.2 按键电路流程图 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 3. 3 液晶显示器部分 1602 字符型 LCD 简介 1 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常 用 16*1,16*2,20*2 和 40*2 行等的模块。下面以长沙太阳人电子有限公司的 1602 字符 型液晶显示器为例,介绍其用法。一般 1602 字符型液晶显示器实物如图 3.3.1 所示: 图 3.3.1 1602 字符型液晶显示器实物图 1602LCD 的基本参数及引脚功能 2 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不 带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图 3.3.2 所示: 图 3.3.2 1602LCD 尺寸图 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 1602 LCD 主要技术参数: 3 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明 4 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如 表 3.3.1 所示: 表 3.3.1 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最 高,对比度过高时会产生”鬼影” ,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可 以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 Comment U23: ? BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 第 15脚:背光源正极。 第 16脚:背光源负极。 1602LCD的指令说明及时序5 1602液晶模块内部的控制器共有 11条控制指令,如表 3.3.2所示: 表 3.3.2 控制命令表 序号 指令 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 读出的数据内容 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明: 1为高电平、0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏 幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表 示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标 是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平 时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收 命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 与 HD44780 相兼容的芯片时序表如表 3.3.3 所示: 表 3.3.3 基本操作时序表 读状态 输入 RS=L,R/W=H,E=H 输出 D0D7=状态字 写指令 输入 RS=L,R/W=L,D0D7= 指令码,E= 高 脉冲 输出 无 读数据 输入 RS=H,R/W=H,E=H 输出 D0D7=数据 写数据 输入 RS=H,R/W=L,D0D7=数据,E= 高 脉冲 输出 无 读写操作时序如图 3.3.3 和 3.3.4 所示: 图 3.3.3 读操作时序 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 图 3.3.4 写操作时序图 1602LCD 的 RAM 地址映射及标准字库表 6 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标 志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就 是告诉模块在哪里显示字符,1602 的内部显示地址图如图 3.3.5 所示: 图 3.3.5 1602LCD 内部显示地址 例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在 第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电 平 1 所以实际写入的数据应该是 01000000B(40H )+10000000B(80H)=11000000B(C0H) 。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动 右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 图形,如图 10-58 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和 日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母”A”的代码是 01000001B(41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到 字母”A”,字符代码与图形对应图如图图 3.3.6 所示: 图 3.3.6 字符代码与图形对应图 1602LCD 的一般初始化(复位)过程 7 延时 15mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 以后每次写指令、读/写数据操作均需要检测忙信号 写指令 38H:显示模式设置 写指令 08H:显示关闭 写指令 01H:显示清屏 写指令 06H:显示光标移动设置 写指令 0CH:显示开及光标设置 硬件使用原理图 8 BatchDoc Word 文档批量处理工具 BatchDoc Word 文档批量处理工具 1602 液晶显示模块可以和单片机 AT89C51 直接接口,电路如图 3.3.7 所示: 图 3.3.7 硬件使用原理图 Comment U24: ! 系统软件设计 BatchDoc Word文档批量处理工具 BatchDoc Word文档批量处理工具 第四章 单片机软件设计 本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接 收命令子程序等。主程序用于系统初始化,子程序调度等。键盘扫描子程序用于扫描键 盘状态,将被按键的位置号存入缓冲器中。发送键码子程序用于将缓冲区键的接通码或 断开码发送给单片机接口。发送数据子程序用于将数据发给单片机接口。接收命令子程 序用于接收单片机接口发来的键盘命
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!