单片机计算器及密码锁程序设计论文(编辑修改稿)内容摘要:

9 图 22 8255 引脚图 2. 8255 的功能 (1)数据端口 A, B, C 端口 A:一个 8 位数据输出锁存 /缓冲器,一个 8 位数据输入锁存器; 端口 B:一个 8 位数据输出锁存 /缓冲器,一个 8 位数据输入锁存器; 端口 C:一个 8 位数据输出锁存 /缓冲器,一个 8 位数据输入锁存器。 3 个端口都可以作为数据输入式输出端口,但是不同的端口有不同的工作方式。 除一般输入 /输出方式外,端口 A 还可以工作在双向方式、握手联络方式,端口 B 可以工作在握手联络方式;而端口 C 可以作为控制或状态信号的端口,为端口 A 和 B 提供握手联络信号,并且端口 C 还可工作在按位置位 /复位方式。 本设计中,只将其作为最基本的 I/O 口使用。 (2)读 /写和控制逻辑 读 /写和控制逻辑直接与单片机的控制总线及地址总线相连接, 8255 的A0, A1 及 CS与地址总线连接,而 RD和 WR与单片机 的 RD和 WR信号连接。 8255 有如下相关的控制信号。 CS :片选信号,低电平时, 8255 被选口; RD:读信号,低电平有效,该信号有效时可以读取 8255 的端口数据或状态信息; 燕山大学本科生毕业设计(论文) 10 WR :写信号,低电平有效,该信号有效时可以向 8255 写入控制字式向端口写数据; RESET:复位信号,高电平有效,只有复位后 8255 才能接收单片机对其进行的初始化。 (3)端口地址的确定 8255 的地址由其引脚 CS , A1, A0 决定,端口选择如表所示。 表 21 8255 端口选择 A1 A0 RD WR CS 操作 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 A 口数据总线 B 口数据总线 C 口数据总线 输入 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 数据总线 A 口 数据总线 B 口 数据总线 C 口 数据总线 控制寄存器 输出  1   1   0 1  1 1 1 0 0 端口输出为 “高阻 ” 非法 端口输出为 “高阻 ” 禁止 3. 8255 的控制字、状态字和工作方式 (1)8255 的控制字 8255 有两种控制字,它们决定了 8255 的工作方式。 方式控制字 方式控制字由 8 位组成,其格式如下。 1 D6 D5 D4 D3 D2 D1 D0 D7: D7=1,是方式控制字标志。 D6 和 D5:确定 A 口工作方式, D6D5=00, A 口工作在方式 0; D6D5=01,A 口工作在方式 1; D6D5=10, A 口工作在方式 2。 D4:确定 A 口的数据传输方向, D4=1, A 口输入; D4=0, A 口输出。 D3:确定 C 口的 PC7~PC4 的数据传输方向, D3=1, PC7~PC4 输入;D3=0, PC7~PC4 输出。 D2:确定 B 口的数据传输方向, D2=1, B 口输入; D2=0, B 口输出。 D0:确定 C 口的 PC3~PC0 的数据传输方向, D0=1, PC3~PC0 输入;第 2 章 硬件系统的介绍 11 D0=0, PC3~PC0 输出。 (2)按位复位 /置位控制字 按位复位 /置位控制字由 位组成,其格式如下。 0 D6 D5 D4 D3 D2 D1 D0 D7: D7=0,是按位复位 /置位,控制字标志。 D6, D5, D4:没有定义。 D3, D2, D1:选择 C 口中的某一位, 3 位组成 8 个状态, 000~111 分别代表选择PC0~PC7。 D0:置 清零标志, D0=1,将 D3D2D1 选择位置 1; D0=0,将 D3D2D1 选择位清零。 (3)8255 的状态字 8255 没有专门的状态字,当端口 A、端口 B 工作于方式 1 或方式时,端口 C 为它们提供握手联络信号,读端口 C,可以得到有关端口的工作状态信息。 端口工作 于方式 0 时,没有相应的状态信息。 状态字与工作方式密切相关。 (4)8255 工作方式 由 8255 的方式控制字可知, 8255 有 3 种工作方式,并且不同的端口有不同的工作方式。 端口 A 可以工作在方式 0、方式 1 和方式 2,端口 B 可以工作在方式 0 和方式 1,端口 C 只能工作在方式 0。 本设计中只选用 8255 的方式 0,即基本的输入 /输出方式, 3 个端口互不影响,可以分别设置为输入或输出。 4. MCS51 单片机与 8255 的接口电路 8255 与 MCS51 单片机的接口电路如图 23 所示。 燕山大学本科生毕业设计(论文) 12 D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD5WR36A09A18RESET35CS6U9 8255AP00P01P02P03P04P05P07P06P24P25P26P37P36Reset 如图 23 8255 与单片机的连接电路 8255与八位 LED数码管的链接电路 单片机应用系统中只有一位数字显示是不常见的,同时要驱动多个数码管显示,就必须同时让多个数码管加上各自不同的段选码,这属于静态显示。 在单片机应用系统中,显示器显示常用静态显示和动态扫描显示两种方法。 所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O 接口用于笔划段字形代码。 单片机只要把要显示的字形代码发送到接口电路,直到要显示新的数据时,再以送新的字形码,因此,使用这种方法单片机中 CPU 的开销小。 所谓动态显示,与静态显示不同,动态显示技术 让不同的数码管分时亮。 即,某一个数码管的字段码从单片机的一个 I/O 接口输出,通过单片机选通该数码管,让这个数码管显示自己的字符几个毫秒,然后将下一个数码管的字段码从单片机的同一个 I/O 接口输出,通过单片机选通下一个数码管,让下一个数码管显示自己的字符几个毫秒,依次循环。 由于人眼响应较慢,最后的效果是每一个数码管都在显示各自的字符。 本设计采用八位数码管的动态显示,通过 8255 口和 B 口来连接数码管。 A 口为段选信号, B 口为位选信号。 电路如图 24 所示 .。 共阴极四位一体数码管的引脚图如右图所示, 显示数字所对 应的控制字如下表: a bcdefghA B CD第 2 章 硬件系统的介绍 13 0 1 2 3 4 5 6 7 8 9 3fH 06H 5bH 4fH 66H 6dH 7bH 07H 7fH 6fH 图 24 数码管与 8255 连接电路 LED与单片机的链接 将发光二极管与单片机的 I/O 口相联,控制各各灯的亮样,以达到使其呈现不同样式。 这是最基础的单片机学习过程。 电路好图 25 所示。 本设计用到 12 个发光二极管,其中 4 个直接与单片机 P1 口相连,其余8 个与 8255C 口相连。 L0+5V200MCU 图 25 流水灯电路简图 燕山大学本科生毕业设计(论文) 14 键盘电路 在微机应用系统中,为了输 入数据、查询和控制系统的工作状态,一般都设置有键盘,本系统中 采 用 44 的键盘,键盘的 8 位接口与 PC 口相连。 由于 LED7 到 LED14 也是通过 8255 的 PC 口控制的,本设计采用跳线实现了 PC 口复用的功能。 键盘原理图如图 26。 键盘的工作原理:键盘采用逐列扫描的工作原理。 PC4 到 PC7 为输出口, PC1 到 PC4 为输入口。 接收键盘数据时首先给 PC4 送出一个低电平( PC5到 PC7 保持高电平),然后检查 PC0 到 PC3 有没有低电平,如果有一位低电平就说明第一列有键按下,低电平的位所对应的行就是按下的键所对应的行。 如果第一 列都是高电平就说明这一列没有键被按下。 用同样的方法扫描后面三列。 最后将建位值保存起来就完成了接收键盘数据。 图 2—6 键盘电路 蜂鸣器电路 蜂鸣器是一种一体化结构的电子讯响器,通过本设计学习如何用单片机第 2 章 硬件系统的介绍 15 驱动蜂鸣器。 它广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振 动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。 多谐振荡器由晶体管或集成电路构成,当接通电源后(~15V 直流工作电压 ),多谐振荡器起振 ,输出 ~ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。 这里采用的是电磁式蜂鸣器,通过 单片机 I/O 口周期性的取反,使三极管周期性的导通从而使蜂鸣器振动发声。 声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的 “高 ”电平或低电平,则在该口线上就能产生一 定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制 “高 ”“低 ”电平的持续时间,就能改变输出频率,从而改变音调。 常见音调及其频率对应如表 22 所示。 表 22 音调及其频率 音符 1 2 3 4 5 6 7 频率 /Hz 523 587 859 698 784 880 987 蜂鸣器连接电路如图 27 所示。 SPEAKER+5V蜂鸣器R14 9013DB9P13 图 27 蜂鸣器连接电路 燕山大学本科生毕业设计(论文) 16 本章小结 本章主要介绍了单片机仿真器系统中的硬件电路原理图,以方便对整个电路的了解,使使用者熟悉电路原理, 这是阅读程序的必要前提。 硬件电路 中包括单片机、 8255 并行口 、 键盘电路 、 动态数码显示 、流水灯等各部分的原理图 和功能 ,为 后续章节 软件系统打下基础。 第 3 章 计算器程序 17 第 3章 计算器程序 程序功能及存储 方 式 介绍 本程序实现浮点数(包括正负)的加、减、乘、除及开根号的功能。 为了解决键盘按键不够用的问题,本设计加入了第二功能键,数字键没有第二功能,键 A、 B、 C、 D、 E 对应的第一功能依次为加、减、乘、除、清零,对应的第二功能依次为等于、退格、负号、小数点、开根号。 F 键为Snd 键。 第二功能键按一次 LED6 变亮表示 键 A、 B、 C、 D、 E 处于 第二功能状态,再按一下 LED6 灭表示键 A、 B、 C、 D、 E 处于第一功能状态。 加减乘除也有对应的状态显示 LED。 当输入一个操作和操作符后,操作符对应的状态显示 LED 变亮,直到输入第二个操作数和等号后操作符状态显示LED 才灭。 LED3 对应的 操作符是加, LED4 对应的操作符是 减, LED5 对应的操作符是 乘, LED3 和 LED4 同时亮 对应的操作符是除。 加入状态显示使用者就可以通过操作符状态显示 LED 很容易的的判断出当前输入的是第一个还是第二个操作数,并且在输入输入第二个操作数时能够根据操作符状态显示 LED 判断出操作符。 开 根号只有一个操作数没有必。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。