基于at89s52的简易计算器设计论文内容摘要:

(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) 在 flash编程和校验时, P3口也接收一些控制信号。 此外, P3口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 ⑵ 其他引脚说明: ▪RST:复位输入。 晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 ▪ALE/PROG—— 当访问外部程序存储器或数据存储器时, ALE(地 址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率河南理工大学毕业设计(论文)说明书 14 的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 ▪PSEN—— 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 ▪EA/VPP—— 外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为0000HFFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器的指令。 FLASH 存储器编程时,该引 脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 ▪XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ▪XTAL2:来自反向振荡器的输出。 XTAL1, XTAL2 接石英晶体振荡器。 如图 33所示晶体 电路 图。 晶振电路如图 33 所示: 图 33 晶振电路 河南理工大学毕业设计(论文)说明书 15 XTAL1 是片内振荡器的反相放大器输入端, XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。 内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz, 时钟频率就为 6MHz。 晶振的频率可以在 1MHz24MHz 内选择,在本设计电路中选用了 12MHz。 电容取 20PF 左右。 机器周期= 12时间周期,如 12MHz 的机器周期为 1微秒。 ⑷ 控制或复位引脚 RESET 此脚为高电平时(约 2 个机器周期)可将单片机复位。 RST/VPD—— 当出现两个机器周期高电平时,单片机复位。 复位后, P0~ P3输出高电平; SP寄存器为 07H;其它寄存器全部清 0;不影响 RAM状态。 如图 34所示。 图 34 按键电平复位 AT89SXX 系列单片机实现了 ISP 下载功能,故 而取代了 89CXX 系列的下载方式,也是因为这样, ATMEL 公司已经停止生产 89CXX 系列的单片机,现在市面上的 AT89CXX 多是停产前的库存产品。 AT89S52的编程方法 编程前,须按编程模式表设置好地址、数据及控制信号;顺序如下: ⑴ 在地址线上加上要编程单元的地址信号。 ⑵ 在数据线上加上要写入的数据字节。 ⑶ 激活相应的控制信号。 ⑷ 将 EA/Vpp端加上 +12V编程电压。 河南理工大学毕业设计(论文)说明书 16 ⑸ 每对 Flash存储阵列写入一个字节或每写入一个程序机密位 ,加上一个ALE/PROG编程脉冲。 每个字节写入周期是自身定时的,大多数约为 50us。 改变编程单元的地址和写入的数据,重复① — ⑤步骤,直到全部文件编程结束。 单片机的现状及发展方向: 单片机是为了工业控制需要满足而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。 它具有体积小,功能多、价格低、使用方便、系统设计灵活等优点,应用领域不断扩大,除了工业控制,智能化仪表,通讯,家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。 由于单片机主要面向工业控 制,工作环境比较恶劣,入高温,强电磁干扰,甚至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机 CPU 于通用微机 CPU 具有不同的技术特征和发展方向: (1) 可靠性高; (2) 控制功能往往很强,数值计算交叉; (3) 指令系统比通用微处理器慢的多; (4) X 系列芯片取代; (5) 抗干扰性强,工作温度范围宽。 其它器件简介 键盘可分为两类:编码键盘和非编码键盘。 编码键盘是较多按键( 20 个以上)和专用驱动芯片的组合,当按下某个按 键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。 通用计算机使用的标准键盘就是编码键盘。 当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。 但大多数智能仪器和电子产品的按键数目都不太多( 20 个以内),为了降低成本和简化电路通常采用非编码键盘。 非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。 本设计用的是 16 个按键,河南理工大学毕业设计(论文)说明书 17 故选择用非编码键盘。 键盘是单片机系统中最常用的人机对话输入设备,用户通过键盘向单片机输入数据或指令。 键盘控制程序需完成的任务有:监测 是否有键按下,有键按下时,在无硬件去抖的动电路时,应用软件延时方法消除按键抖动影响;当有多个键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。 矩阵按键扫描程序是一种节省 IO口的方法 ,按键数目越多节省 IO口就越可观,思路:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。 但是,在程序的写法上,采用了最简单的方法,使得程序效率最高。 本程序中,如果检测到某键按下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的 CPU 时间。 本键盘扫描程序的优 点在于:不用专门的按键延时程序,提高了 CPU 效率,也不用中断来扫描键盘,节省了硬件资源。 另外,本键盘扫描程序,每次扫描占用 CPU 时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。 本键盘扫描子程序名叫 key,每次要扫描时用 lcall key 调用即可。 阵键盘的工作原理: 由于计算器中所需要使用的按键数量较多,如果全部采用独立按键的话,势必会占用很多 IO 口,造成了不必要的资源浪费,而如果使用矩阵键盘就能很好的解决上述问题,本设计中用 8个 IO 口组成了一个 4*4 的矩阵键盘。 如图 35所示: 河南理工大学毕业设计(论文)说明书 18 图 35 矩阵键盘布局图 矩阵键盘内部电路图如图 36所示: 图 36矩阵键盘内部电路图 LCD 显示模块 ⑴ 引脚功能说明 本设计系统是采用液晶屏 1602作为显示模块, 1602LCD采用标准的 14脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 32 所示。 河南理工大学毕业设计(论文)说明书 19 表 32 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 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 背光源负极 各个管脚接口说明如下 第一脚: VSS 为电源地 第二脚: VDD 接 5V 正电源 正极 第三脚: VEE 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度 )。 第四脚: RS 为寄存器选择,高电平 1 时选择数据寄存器,低电平 0 时选择指令寄存器。 第五脚: RW 为读写信号线,高电平 1 时进行读操作,低电平 0时进行写操作。 第六脚: E端为使能 (enable)端,高电平( 1)时读取信息,负跳变时执行指令。 河南理工大学毕业设计(论文)说明书 20 第七到第十四脚: D0D7为 8 位双向数据线 其接口原理图如下图 37 所示: 图 37 液晶显示接口电路 ( 2) 1602LCD 的指令说明 及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表 33 所示: 河南理工大学毕业设计(论文)说明书 21 表 33 控制命令表 序号 指令 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:高电平时移动显示的文字,低电平时移动光标。 河南理工大学毕业设计(论文)说明书 22 指令 6:功能设置命令 DL:高电平时为 4位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。 指令 7:字符发生器 RAM地址设置。 指令 8: DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。