基于单片机的自动开关窗设计_毕业设计(编辑修改稿)内容摘要:

是内部 含有 上拉电阻的 8 位双向 通行的 I/O 口, P2 输出 的 缓冲级可 以 驱动( 即 吸收 或输出电流) 4 个 双极型逻辑集成电路。 对 其 写 “1” ,通过 自带 的上拉电阻 将 端口拉到高电平, 这 时可 将其 作输入口, 当 作 为 输入口 来 使用时,因为内部 有 上拉电阻, 当外部信号引脚被拉低 时会输出一个电流 (IIL)。 在访问外部 的 程序 memory 或 16 位地址的外部数据 memory 时, P2 口送出高 8 位 的 地址数据。 在访问 8 位地址的外部 的 数据 存储器 (如 实现 MOVX @RI 指令)时, P2 口输出 P2 锁存器 中 的内容。 在 Flash 编程 或校验时, P2则 接收高位地址和一些 控制信号。 P3 是 拥 有内部上拉电阻的 8 位双向 I/O 口。 P3 输出 的 缓冲级可 以 驱动 4 个双极型逻辑集成电路。 对 其 写入 “1” 时, 通过 内部上拉电阻拉 将电平变成 高 电平 并可作为输入端口。 这 时,被外部 器件 拉低 电平 的 P3 口将用 内部 上拉电阻 来输出电流( IIL)。 P3 口除了作为 普通 的 I/O 口线外,更重要的是它的第二 作用见表 , P3 口还 可以 接收一些用于 闪速存储器 编程 和程序 校正检验 的 控制信号。 端口引脚 第二功能 RXD(串行输入 ) TXD(串行输出 ) INT0(外 部 中断 0) INT1(外 部 中断 1) T0(定时 /计数器 0外部输入 ) T1(定时 /计数器 1外部输入 ) WR(外部 的 数据 memory 写选通 ) RD(外部 的 数据 memory 读选通 ) 表 P3口第二功能表 RST 复位输入 端口。 在 振荡器 进行 工作时, 只要 RST引脚 出现两个 及以上 机基于单片机的自动开关窗设计 7 器周期 的 高电平 就 将 单片机 复位。 ALE/PROG 当访问外部 的 程序 memory 或者 数据 memory时, ALE 输出 的 脉冲信号就 用于锁存地址的低 8 位字节。 通常 情况下, ALE 以 时钟 的 振荡频率的 1/6固定的 输出 脉冲信号,因此它可 用于 对外输出时钟 信号 或用于定时。 特别 注意的是:每当 在 访问 外部数据 memory时将 会 跳过一个 ALE 脉冲。 对 闪存 存储器 编程期间, 这个 引脚 还 被当做 输入编程 的 脉冲( PROG)。 如 果 有必要,可 以 通过对 SFR区中的 8EH 单元的 D0 位 进行 置位,可禁止 ALE 进行 操作。 这个 位置位 以 后,只有一条 MOVX 指令 和 MOVC 指令才能 够 将 ALE 启动。 另 外, 这个 引脚 会被 稍微 拉高, 在 单片机 执行外部 的 程序时,应 该将 ALE 禁止位 设置 为 无效。 PSEN 程序储存 使能 ( PSEN)输出是外部程序 存储器 的读选通 脉冲 信号,当AT89C52 由外部 程序 memory取指令(或数据)时, 在一个 机器周期 中 PSEN 有两次是 有效 的 ,即输出两个脉冲 信号。 与此同时 ,当访问 外部数据 memory, 就会 跳过两 次 PSEN 脉冲 信号。 EA/VPP 外部访问允许。 如果想要 使 CPU 只是 访问外部 的 程序存储器 (地址为 0000H— FFFFH), 那么 EA 端必须 为 低电平(接地)。 如 EA 端接 Vcc 端, CPU 就会 执行内部 程序 memory 中的指令。 闪存 存储器 编程 时,该 引脚 加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程 电压 Vpp。 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 振荡器反相放大器的输出端。 在 AT89C52 片 内 memory 中, 80HFFH 的 共 128 个单元 是 SFR 并 不是 所有的地址都被定义,从 80H— FFH 只有一 小 部分 是 被定义 的 ,还有 一部分 并 没有 被 定义。 对 于那些 没有 被 定义的单元 进行 读写 操作 是无效的, 不仅 读出的 数据是 不确定 的 , 而且 写入的数据也将 被 丢失。 这些 地址 单元在将来的 使用 中可能 会有 新的功能,在这种情况下,复位后这些 地址 单元 中数据 总是 为 “0”。 AT89C52 有 256 个 Bit的内部 RAM, 80HFFH 高 128 个 Bit 与 SFR地址是 相同 的,但物理上它们是 独立 的。 当一条指令访问 的地址为 7FH 以上的内部单元时,指令中 所 用 到 的 寻址方式 是 有区别 的,也即寻址方式决定是访问高 128 字节 RAM 还是访问 SFR。 定时器 0和定时器 1: AT89C52 的 定时器 0 和定时器 1 的工作方式与 AT89C51 相同。 嘉兴学院南湖学院毕业 设计 8 步进电机及其驱动 借助单片机 AT89C51实现 对四相步进 电机的 控制时,需要通过 单片机的 I/O端口输出具有一定时序的方波 信号 作为步进电机的控制信号, 但 如果只是 靠 这个TTL电平 还是不能 直接驱动电机。 如果 想用 74LS373对电机进行 驱动 , 那么 必须 要有 许多寄存器 的配合 才能 够 驱动 电机 , 因此考虑 使用 ULN2020芯片 来驱动步进电机。 ULN2020是一种高 电 压、大电流的达林顿陈 晶体管。 每一对达林顿都串联一个 ,在 5V工作电压下与 TTL和 CMOS电路直接相连,可以直接处理需要标准逻辑缓冲器来处理的数据。 ULN2020的灌电路可达 500mA,并且在关态是能够承受 50V的电压,可在高负载电流下并行输出运行。 电机驱动的关键要点就是 准确 控制电机旋转的角度。 在进行 程序设计时 需 要根据 系统中各 传感器 检测 的信息判断 电机 方向,以 更好的 起动相应的 所需要 转动方向子程序。 正 转和 反 转控制程序根据控制脉冲序列 的要求 ,使用相应的系统模型,并确定 是否大幅度转向, 使 用 改 变脉冲宽度 的方式来调节电机的转速。 在应用 程序 的设计中将电机的控制方法 形 成控制模 型,并 将该模型用 数据表形式 保存在 程序存储器中, 这样程序在使用过程就能 直接使用。 一般都是用逻辑电路来对 步进电机 进行 脉冲控制 ,单片机控制 电机时, 电机的运行方式、方向及转速 通常可以通过编写相应的程序 由 I /O口输出脉冲 信号 来决定。 为了能够提高电机转动 角度的准确性 , 采用 减速比为 1: 9 0的 减速齿轮构成的传动机 构 ,也就是当 角度改变 90176。 时,外 部 所 能看到 到的设备才转动 1176。 对四相步进电机驱动的程序设置按八拍工作方式进行设置,按照流程图分别设置各个子程序,然后根据不同情况分别调用。 图 电机驱动原理图 基于单片机的自动开关窗设计 9 DHT11 传感器 DHT11数字温湿度传感器是一款 复合传感器。 它 利用特殊 的数字模块采集技术和温湿度传感技术, 以保证其 具有 较 高的可靠性与 优异 的长 久 稳定性。 传感器包括一个电阻式感湿元件和一个 NTC测温元件。 因此该 传感器 具有 优良的 品质、响应 速度快 、 较强的 抗干扰能力、 成本低性能好 等优点。 采用 单 总 线 串行接口,使系统变得 简便而 快捷。 超小的体积、极低的功耗, 具有 20米以上的传输 能力 ,使其成为 普通的 应用 乃至 最为苛刻的应用 中 最佳 的选择。 产品 采用 4 针单排 的引脚封装 形式,在使用中 方便 连接 ,其 管脚如表。 管脚 名称 功能 1 VDD 供电 3- 2 DATA 串行数据,单总线 3 NC 空脚,请悬空 4 GND 接地,电源负极 表 DHT11管脚表 DHT11采用的电源 为 3-。 传感器 在得 电后,要等待 1s 以 达到 稳定 的 状态。 电源( VDD, GND)之间可 利用 一个 100nF 的电容,用以去耦滤波。 DATA 用于 中央处理器 与 DHT11之间的 信息传送 和 通讯 ,一次通讯 周期 4ms左右 ,数据 由 小数部分和整数部分 两部分组成 ,具体 传送 格式 如下 说明 .操作流程如下 : 一次完整的数据 总长度 为 40字节 ,高位 数据 先出。 数据格式 :8字节 湿度整数 部分数据 +8字节 湿度小数 部分 数据 +8字节 温度整数 部分 数据 +8字节 温度小数 部分 数据 +8字节的校正检验 和。 正确 的数据它的 校验和数据等于 “8 字节 湿度整数 部分数据 +8字节 湿度小数 部分 数据 +8字节 温度整数 部分 数据 +8字节 温度小数 部分 数据 ” 的 结果的 最后 8位。 用户 单片机 发 出 一次 启动 指令 后 ,DHT11将从 低 耗能状态变换成 高速 状态 ,当单片机的 启动 指令结束后 ,DHT11发送 出 响应信号 ,送出 40字节 的数据 ,并 进行一次信号的 采集 .此 状态 下 ,DHT11只有在 接收到 启动 信号 时才会进行 一次温湿度 的采集 工作 ,如果没有接收到信号 ,DHT11不会主动进行 数据的 采集 .采集数据后 自动 转换到低速 状态。 MQ2 烟雾传感器 MQ2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的 SnO2。 当嘉兴学院南湖学院毕业 设计 10 放置 传感器环境 的空气中含有 可燃气体时,传感器的 导电率将会跟 随空气中 所含有的 可燃气体浓度的 变化而变化。 这种 气体 传感器可 以 测 出 多种 危险 气体,是一中符合不同场所应用的 成本 低效果理想的 传感器,其基本测试电路如图 所示。 图 烟雾传感器测试电路图 该传感器 的电压有加热电压 ( VH) 和工作电压 ( VC) 两部分组成。 其中 VH 用于 对 传感器 进行加热使其能够正常的工 作。 而 VC 是作用于检测 与 其 串联的 外部 电阻( RL)上的电压( VRL)。 这种传感器具有 一定 的极性, VC 只能使用 直流电源 供电。 为 了使传感器能的各项性能更好 ,需要选择恰当的 RL 值。 ADC0832 ADC0832 是一种 8 位分辨率、双通道 A/D 转换芯片。 由于它 具有较小的 体积, 兼容性强, 成本低性能好 而 受到普遍的 欢迎。 学习并使用 ADC0832 可是使我们了解 A/D 转换器的原理,有助于我们单片机技术水平的提高。 0832 为 8 位分辨率 A/D 转换芯片,可以适应一般的模拟量转换要求。 芯片A/D的 转换时间仅为 32μS, 通过双输出数据检验 ,以减少 转换过程中 数据误差。 它的使能输入端是独立的 ,使多 个 器件 的连 接和 中央 处理器 的 控制 更加便捷。 通常 情况下 ADC0832 有 4根数据线与 单片机的接口 相连接。 当 ADC0832 处于空闲 时其 CS 输入端应 该是 高电平 状态 , 在这种情况下芯片被禁止使用 , 其它脚的电平可以任意。 在将要 进行 A/D 转换时,须先将 CS 使能端 的电平变为 低 而且要一直维持这种 低电平 状态等 到转换完全 才可改变。 这种状态下 芯片开始 了模数 转换工作, 与此 同时由 中央 处理器向 转换 芯片时钟输入端 CLK 输入时钟脉冲, DO/DI 端则使用 DI 端输入通道功 能选择的数据信号。 在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。 在第 3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能。 基于单片机的自动开关窗设计 11 LCD1602 液晶显示 1602 液晶 显示 ,它是一种专门用来显示 简单数据的 点阵 型液晶模块。 它由若干个 5X7 或者 5X11 等 点阵 字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形 (用自定义 CGRAM,显示效果也不好)。 1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶 , 管脚如图 所示。 图 1602管脚图 1602 的管脚功能如下 : 第 1 脚: VSS 为 接地端。 第 2 脚: VCC 为 +5V 电源 端。 第 3 脚: V0 用来调节对比度 , 为了更好的显示字符可以连接一个 10K 的滑动变阻器来进行对比度的调节。 第 4 脚: RS=1 是使用数据寄存器, RS=0 时就选择指令寄存器 第 5 脚: RW 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第 6 脚: E(或 EN)端为使能端 ,高电平( 1)时读取信息,负跳变时执行指令。 第 7~。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。