单片机计算器及密码锁程序设计论文(编辑修改稿)内容摘要:
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 判断出操作符。 开 根号只有一个操作数没有必。单片机计算器及密码锁程序设计论文(编辑修改稿)
相关推荐
电机驱动 1117 稳压 车灯 语音 LM2596 稳压 舵机 1 2 如图 2:发送模块框图 通过对以上两种方案的可行性的比较,方案一 1 对程序的要求难度比较大,而且成本很高,遗憾的是我们对单片机知识还未 有深刻掌握;方案二对程序的要求比较低,而且各个模块的成本也比较低,体积小,为了加深对单片机知识的理解和掌握,和控制小车的性价比,此次设计我选择方案二。 三 、各单元电路设计 1. 基于
源程序 : HAOMIAO EQU 34H MIAO EQU 35H SHIMIAO EQU 36H ORG 0000H AJMP START ORG 0030H START: CLR C SETB SETB SETB MOV HAOMIAO,0 MOV MIAO,0 MOV SHIMIAO,0 MOV DPTR,TABLE MOV A,00H MOVC A,@A+DPTR CLR MOV P2
时,被定义为高阻输入。 P0 能够用于外部程 序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高, 可用作 输入
le and simulation module with four integrated digital pipe display of Yang, dropping speed and hospital. When the module and simulation module press call selfclosing, host module can detect the first
04DS18B20 DS18B20 DS18B201234567 8974LS04A0A1A2A3A4B7+5 高度检测单元 压力 传感器 原理 : 压力传感器是工业实践中最为常用的一种传感器,其广泛应用于各种工业自控环境;本设计使用 CS5532A/D 转换芯片 , 将压力传感器采集的压力信号转换为数字信号 , 通过液晶 实时 显示水位高度。 WTP803 悬臂梁式 称重 (测力 )传感器
e x cha lle nge s t hese da ys . W her e once t he y q uie t ly rep laced r e la ys a nd ga ve a n occas io na l r eport to a corpora te ma infra me, t he y are no w gro uped into ce lls, give n new