可编程脉冲信号发生器的设计_毕业设计(编辑修改稿)内容摘要:

内部的上拉电阻把端口拉 升到高电位,这时可以当作输入端口用。 当作为输入端口使用时,因为存在内部上拉电阻,某个引脚被外部信号拉低时该引脚会输出一个电流 (IIL)。 表 11 P3口的第二功能 端口 第二功能 名称 RXD 串行数据接收端 TXD 串行数据发送端 INT0 外部中断 0申请输入端 INT1 外部中断 1申请输入端 T0 定时器 0计数输入端 T1 定时器 1计数输入端 WR 外部 RAM写选通 RD 外部 RAM写选通 洛阳理工学院毕业设计(论文) 9 在对 Flash ROM编程或者程序校验期间, P3口还可以接收一些控制信号。 在 AT89C51中, P3端口的还用于一些第二功能 [7]。 P3口第二功能如上页表11所示。 AT89C51 单片机的中断系统 单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢。 通过中断系统可以实现多个任务的资源共享。 所谓的中断就是,当 CPU 正在处理某项 事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在执行的工作转去处理这个紧急事件,待处理完后,再回到原来停止工作的地方,继续执行原来被中止的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回三个要素。 中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后进行中断返回,返回被中断的地方继续执行原来被中断的程序。 当 CPU 查询到中断请求时,由硬件自动产生一条 LCALL 指令。 执行LCALL 指令时,首先将 PC 内容压入堆栈进行断点保护,再把中断入口地址装入 PC, 使程序跳转到相应的中断区入口地址。 MCS51 单片机的中断系统有 5 个中断请求源,具有 2 个中断优先级,可实现 2 级中断服务程序的嵌套。 MCS51中断系统 5 个中断请求源分别如下: ( 1) INT0:外部中断请求 0,由 INT0 引脚输入,中断请求标志为 IE0; ( 2) INT1:外部中断请求 1,由 INT1 引脚输入,中断请求标志为 IE1; ( 3) T0:定时器 /计数器 0 的溢出中断请求,中断请求标志为 TF0; ( 4) T1:定时器 /计数器 1 的溢出中断请求,中断请求标志为 TF1; ( 5) TXD/RXD:串行口的中断请求,中断请 求标志为 TI或 RI。 各中断源服务程序入口地址是固定的,如下: 中断源 入口地址 外部中断 00003H 定时器 /计数器 T0000BH 洛阳理工学院毕业设计(论文) 10 外部中断 10013H 定时器 /计数器 T1001BH 串行口中断 0023H 可以用关中断指令“ CLR EA”来屏蔽所有的中断请求,也可以用开中断指令“ SET EA”来允许 CPU 接收中断请求,每一个中断另有所指可以用编程独立地控制为允许中断或关中断状态,每一个中断源的中断级别均可用编程进行设置。 中断系统结构如图 13 所示: 图 13 AT89C51 中断系统结构示意图 AT89C51 提供了 5 个中断源,两个中断优先级控制,可实现两个中断服务嵌套。 当 CPU 支持中断屏蔽 指令 后,可将一部分或所有的中断关断,只有打开相应的中断控制位后,方可接收相应的中断请求。 程序设置中断的允许或屏蔽,也可设置中断的优先 等 级。 AT89C51 CPU 在每一个机器周期 按 顺序 去 检查每一个中断源,在机器周期的 S6按 优 先级处理所有被激活的中断请求,此时,如果 CPU 没有正在处理更高 级别 或 者 相同优先级的中断,或者现在的机器周期不是所执行指令的最后一个机器周期, 或者 CPU 不是正在执行 RETI 指令或访问 IE 和 IPIE0 IE1 + EX0 ET0 EX1 ET1 ES PX0 PT0 PX1 PT1 PS PS 洛阳理工学院毕业设计(论文) 11 的指令 , CPU 则去执行中断以外的操作。 AT89C51 单片机的 定时 /计数器 在控制系统中,经常需要用实时时钟实现定时或延时控制,例如定时中断、定时检测、定时操作等。 有的地方也要用到计数器对外部事件进行计数,例如自动化包装线中对产品进行计数。 在计算机控制中,实现定时功能一般可采用软件定时、非编程的硬件定时和可编程硬件定时三种方法。 可编程定时器可以通过软件来对定时时间进行修改,但定时是通过硬件来完成,以中断的方式通知 CPU。 因此功能强,使用方便灵活。 AT89C51单片机有两个 16位定时器 /计数器,分别为定时器 0( T0)和定时器 1( T1)。 它们都其有定时器和计数功能,可用作定时控制、精确延时,以及对外部事件的计数和控制,其中 T1还可以作为串行口的波特率发生器。 图 14 MCS51定时器 /计数器结构框图 AT89C51单片机内部的定时 /计数器的结构如图 14所示,定时器 T0特性功能寄存器 TL0(低 8位)和 TH0(高 8位)构成,定时器 T1由特性功能寄存器 TL1(低 8位)和 TH1(高 8位)构成。 定时寄 存器的工作方式 由 特殊功能寄存器 TMOD控制,定时器 T0和 T1的启动和停止计数 由 特殊功能寄存器TCON控制。 同时管理定时器 T0和 T1的溢出标志等 由 特殊功能寄存器 TCON控制。 程序开始 运行 时 , 需 要 对 TL0、 TH0、 TL1和 TH1进行初始化编程, 来 定义它们的工作方式和 设置定时器 T0和 T1的计数 初值。 微处理器 ( CPU) TH1 TL1 TH0 TL0 TCON TMOD 洛阳理工学院毕业设计(论文) 12 ( 1)计数器工作模式 计数功能是对外来脉冲进行计数。 AT89C51芯片 T0( )和 T1( )两个输入引脚,分别是这两个计数器的计数输入端。 每当计数器的计数输入引脚的脉冲发生负跳变时,计数器当前值加 1。 ( 2)定时器工作模式 定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生 1 个计数脉冲,也就是每经过 1 个机器周期的时间,计数器当前值加 1。 AT89C51 单片机的定时器 /计数器具有 4 种工作方式 (方式 0、方式 方式 2 和方式 3),其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编程,可方便地选择定时器 2 种工作模式和计数器 4 种工作方式。 SMC 1602A LCD 液晶显示屏 单片机应用系统常需 要 连接键盘、显示器、打印机、 A/D 和 D/A 转换器等外设。 其中,键盘和显示器是使用最频繁的外 部 设 备 ,它们是构成人机对话的一种基本方式。 用 LCD 显示一个字符时比较复杂,因为一个字符由 6 8 或 8 8 点阵组成,既要找到和显示屏幕上某几个位置相对应的显示 RAM 区的 8 字节,又要使每字节的不同位为“ 1”,其它的为“ 0”,为“ 1”的点亮,为“ 0”的不亮,来组成这个特定的字符。 图 15 SMC 1602 管脚图 但对于内带字符发生器的控制器而说,显示字符就简单多了,可以使控制器工作在文本方式,根据在 LCD 上开始显示的行列号以及每行的列数洛阳理工学院毕业设计(论文) 13 找到显示 RAM 相对应的地址,设立光标 ,在此位置送上该字符对应的代码即可。 SMC 1602A LCD 为 16*2 的液晶显示屏,支持字母和数字的 ASCII 码显示,即给 LCD 送相应数字和字母的 ASCII 码,保证正确时序,即可显示相应的字符。 SMC 1602 的管脚图如图 15 所示。 SMC 1602 采用标准的 16脚接口。 各引脚具体说明如下: 第 1 脚: VSS 为电源地。 第 2 脚: VDD 接 5V 电源正极。 第 3 脚: V0 为液晶显示器对比度调整端。 接地电源时 , 对比度 是 最高 的; 接正电源时 , 对比度 是 最 低的 (对比度 太高 时 , 会产生 “ 鬼影 ”现象 , 这 时对比度可以 用 一个 10K 的电位器 进行 调整)。 第 4 脚: RS 为寄存器选择 端。 高电平 “ 1” 时 ,选择数据寄存器 ; 低电平 “ 0” 时 ,选择指令寄存器。 第 5 脚: R/W 为读写信号线。 高电平 “ 1” 时 , 进行读操作 ; 低电平 “ 0”时 , 进行写操作。 第 6脚: EN 端为使能端。 第 7~ 14 脚: D0~ D7 引脚, 为 8 位双向数据端 口。 第 15~ 16 脚:空脚或背灯电源。 15 脚 为 背光正极, 16 脚 为 背光负极。 SMC 1602 与单片机的连接图如图 16 所示。 图 16 SMC 1602 与单片机连接图 洛阳理工学院毕业设计(论文) 14 第 2 章 可编 程脉冲信号发生器的硬件设计 硬件系统的总体设计 系统的总体框图 基于 AT89C51 单片机的可编程脉冲信号发生器的系统框图如图 21 所示: 图 21 系统框图 原理阐述 可编程脉冲信号发生器以 AT89C51 单片机为核心,以矩阵键盘作为输入设备,以液晶显示屏 SMC1602 为显示设备,通过矩阵键盘将脉冲信号参数频率、个数、占空比送入 AT89C51 单片机 ,接着单片机进行数据处理,驱动液晶屏在指定的位置显示相关的参数;根据不同的脉冲信号参数指标采取不同的控 制策略,生成满足指标要求的脉冲信号。 为提高系统的抗干扰性,将脉冲信号通过端口 经过 555 定时器构成的史密斯触发器输出。 硬件系统各部分构成 电源电路 如 下页 图 22 电源电路图 所示 , 电源 供电 部分采用变压器降压、 桥式整流电路整流 、电容器滤波、三端稳压器 7805 稳压后供电。 电源用 220V 市电经 降压 变压器 TR1 降压成 8V 交流电,然后经四个整流二极管 ( D1— D4) 组键盘输入 驱动显示 液晶屏显示参数 SMC1602 脉冲信号输出 电源电路 7805 MCS— 51 控制脉冲输出 及控制显示 AT89C51 ] 洛阳理工学院毕业设计(论文) 15 成的 桥 式整流 电路 变成直流电压,经 C1 滤波后送入 7805 芯片稳压成 5V 直流电源 向液晶显示屏 SMC160 555 定时器、单片机 AT89C51 等元器件供电。 图 22 电源电路图 稳压器 7805 引脚图如图 23 所示: 图 23 稳压器 7805 引脚图 引脚功能为: 1脚:输入。 2脚:接。 3 脚:输出。 由于内部电流的限制,以及过热保护和安全工作区的保护,使它基本上不会损坏。 如果能够提供足够的散热片,它们就能够提供大于 输出电流。 虽然是 按 照固定电压值来设计的,但是当接入适当的外部 器件后,就能获得各种不同的电压和电流。 矩阵键盘 键盘是一种输入装置,通过键盘上任一按键可以向单片机输入信息。 按键开关是键盘的基本组成元件。 键盘结构的关键是如何把键盘上的每次按键动作转换成相应的 ASCII码送到单片机。 按编码方式的不同,可以将键盘分为全编码键盘和非全编码键盘。 所谓全编码键盘,是每一个按键,通过全编码电路产生唯一对应的编码信息。 这种全编码键盘响应速度快,但是以复杂的硬件电路为代价的,而且其复杂性随着按键数的增加而大大增加,价格贵。 所谓非编码键洛阳理工学院毕业设计(论文) 16 盘,是利用简单的电路和软件配合来 识别按键的位置(位置码),然后由单片机通过软件查表将位置码转换成需要的编码信息。 虽然这种键盘响应速度不如全键盘快,但可以由 CPU 的处理速度来弥补 [ 9]。 这种键盘的优点是通过软件编码为键盘某些见的重新定义提供了极大的方便。 考虑到本次设计的经济性与便携性,故采用非编码键盘作为可编程脉冲信号发生器的输入设备。 非编码键盘结构图如图 24 所示。 图 24 非编码键盘结构图 键盘上的按键一般排成行、列矩阵格式,每个交叉点上可接一个按键。 在非编码键盘中,采用行扫描法来扫描识别按下的键。 行扫描法的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。