基于at89c51单片机的多功能报警器设计内容摘要:

管的阳极通过电阻 与输入端相连,当阳极端输入高电平时,发光二极管就导通点亮。 为了显示字符,要为 LED 数码显示器提供显示段码 (或称字形代码 ) 组成一个 “8”字形字符的 7 段,再加上 1 个小数点位,共计 8 段,因此提供给 LED 数码显示器的显示段码为 1个字节各段码位的对应关系如下: 段码位 D7 D6 D5 D4 D3 D2 D1 D0 显示段 dp g f e d c b a 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 12 用 LED 数码显示器显示十六位进制和空白字符与 p 的显示段码如下表: 字型 共阳极段码 共阴极段码 字型 共阳极段码 共阴极段码 0 C0H 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5BH B 83H 7CH 3 B0H 4FH C C6H 39H 4 99H 66H D A1H 5EH 5 92H 6DH E 86H 79H 6 82H 7DH F 8EH 71H 7 F8H 07H 空白 FFH 00H 8 80H 7FH P 8CH 73H (1) 如果要在同一时刻显示不同的字符,从电路上看,这是办不到的。 因此只能利用人眼对视觉的残留效应,采用动态扫描显示的方法,逐个循环点亮各位 数码管,每位显示 5ms左右,是人看起来就好像在同时显示不同的字符一样。 在进行动态扫描显示时,往往是先并不知道应显示什么内容,这样也就无从选择显示字符的显示段码。 为此,一般采用查表的方法,由待现实的字符通过查表得到其对应得显示段码。 参数说明: 流入发光二极管 IL范围: 10m—20Ma; U1范围 : —2V R=()/h R 范围: 135Ω—320Ω PNP 管前的限流电阻 Ru: Ru=()/Ib Ib=Ic/β(Ic=IL) 求出 Ib 即可算出 Ru 主要电路的设计 整流电路 整流电路 (rectifying circuit)把交流电能转换为直流电能的电路。 大多数整流电路由变无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 13 压器、整流 主电路 和滤波器等组成。 它在直流电动机的调速、发电机的励磁调节、电解、电镀等领域得到广泛应用。 整流电路通常由主电路、滤波器和变压器组成。 桥式整流电路是使用最多的一种整流电路。 桥式整流电路比半波整流 电路的效率高,电容滤波比电感滤波的成本低,稳压电路比非稳压电路输出的电压稳定。 这种 电路 ,只要增加两只 二极管 口连接成 “桥 ”式结构,便具有全波整流电路的优点,而同时在一定程度上克服了它的缺点。 下图是一个带有桥式整流电路的电容滤波的 7085 稳压的稳压电路通过变压器将 220伏的交流电经过这些环节得到 5 伏左右的直流电压,以便提高单片机的工作电压。 图 36 整流电路图 报警电路 当 为低电平即给直流蜂鸣器加一个 5V 电压,直流蜂鸣器就会发出声音报警。 图 37 报警电路图 参数说明: R=(Ic=()/R Ib=Ic/β 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 14 第四章 系统的软件设计 软件程序设计要求 熟悉芯片的编程操作。 编程前需详细阅读这两块芯片的内容,包括芯片的管脚、用途、指令码、读写数据的时序图、基本的编程操作等。 软件设计分析 软件是系统的指挥中心,由它来配合控制完成各种预定功能。 为了充分发挥 AT89C51优越的性能价格比,在设计上尽量做到硬件 “软化 ”, 进一步体现 软件编程的灵活性, 使系统硬件设计得到简化。 系统软件采用 MCS51 单片机 汇编语言编写,采用了模块化结构设计。 为增强系统的实时性,对那些偶 然 事件采用中断方式处理 , 主程序主要用于系统的控制和管理。 软件设计时,首先是做好准备工作,即读出每个按键的键值,并检查数码管是否可以正确显示所有数字。 电路设计时是按模块设计的,软件设计也一样,采用中断子程序方式,首先编写大概的主程序,然后理出所需设计的子程序并逐个分析和设计子程序,编写出子程序后应给予编译检查错误,若有错误再更正直到通过编译即没有语法错误,等每个子程序编写完 以后,再修改主程序完成整体的程序编写,最后在将程序进行调试。 I2C 串行接口总线技术 I2C(InterIntegratedCircuit)是 Philips 公司推出的串行总线技术,它是在器件之间实现同步串行数据传输的技术,是一种采用两线制 (数据线和时钟线 )通信的标准总线。 I2C 总线主要有以下几个特征: (1)数据传输只需两根通信线,即数据线 SDA 和时钟线 SCL。 (2)总线模式包括主发送模式、主接收模式、从发送模式、从接收模式。 (3)每一个连接到 I2C 总线的器件都必须有唯一的器件地址,通过 这个地址,主器件可以对从器件寻址。 (4)具有冲突检测和仲裁机制,以保证数据传输的可靠性和完整性。 (5)传输速度高,标准模式下数据传输率可达 100kb/s,快速模式下可达 400kb/s,高速模式无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 15 下可达。 (6)由于总线接口引脚内部采用漏极开路工艺,所以总线上要接上拉电阻。 连接到总线上器件数量受到总线最大电容负载 400pF 的限制 I2C 总线的时序 一次完整的 I2C 总线时序过程由起始信号,地址信号,应答信号,字节数据信号和停止信号等几部分组成。 (1)起始和停止信号。 在一次通信的过程中,应该有一 个起始信号和停止信号。 在 I2C 总线协议中,起始信号 (START)和停止信号 (STOP)都是又主器件产生的。 起始信号表明一次 I2C总线传输的开始,停止信号表明 I2C 通信的结束。 当 SCL 线为高电平时, SDA 线由高电平的到低电平的负跳变定义为起始信号,而 SDA 由低电平到高电平的正跳变被定义为停止信号。 (2)器件地址。 I2C 总线上每一个器件都有唯一的地址,每次发送器发送起始信号后,必须接着发出 1 个字节的地址信息,以选取连接在总线上的某个器件。 从器件地址占用 1 个字节,其地址占用用 D7~D1 共 7 位, D0 位是数据传送方 向 (又称读 /写选择位 )。 当 D0=1 时,表示主器件向从器件读数据, D0=0 表示主器件向从器件写数据。 HD7279 串行接口 HD7279 采用串行方式与微处理器通信,串行数据从 DATA 引脚送入芯片,并由 CLK端同步。 当片选信号变为低电平后, DATA 引脚上的数据在 CLK 的上升沿被写入 HD7279的缓冲寄存器中。 HD7279 的指令结构有三种类型: 1:不带数据的纯指令,指令的宽度为 8 个 bit,即微处理器需发送 8 个 CLK 脉冲。 2:带有数据的指令,指令宽度为 16bit,即微处理器需发送16 个 CLK 指令。 3:读取键盘指令,宽度为 16bit,前 8 个位微处理器发送到 HD7279 的指令,后 8 个 bit 为 HD7279 返回的键盘代码。 执行此指令时, HD7279 的 DATA 端在第九个 CLK 脉冲的上升沿变为输出状态,并与第十六个脉冲的下降沿恢复为输入状态,等待接受下一个指令。 串行接口的时序如下图: 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 16 (1)纯指令 (2)带数据指令 (3)读键盘指令 主程序模块 主程序主要完成初始化、显示处理、送 7279 显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,定时器赋 初值,密码初始化及各寄存器的初始化,流程图如图 43 所示 : 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 17 中断服务程序设计 在单片机测控系统中,外部设备何时向单片机发出请求, CPU 预先是不知道的,若果采用查询方式必将大大降低 CPU 的工作效率。 为了解决快速的 CPU 和慢速的外设间的矛盾,发展了中断的概念。 良好的中断系统能提高计算机实时处理的能力,实现 CPU 与外设分时操作和自动处理故障。 本次设计中门磁何时检测到信号及无线遥控何时发出信号,都是 CPU 预先不知道的,因此宜都采用外部中断。 当两个以上中断开启时,就涉及到中断优先级的问题。 51 芯片中中断的优 先级从先到后排列依次为外部中断 0、定时器 T0 中断、外部中断 定时器 T1 中断、串行口中断。 此次设计的系统中门磁检测的优先级最高,采用外部中断 0 处理;无线发射采用外部中断 1;另外为了能实时显示时钟,采用单片机内部的定时器中断,该定时器中断可以记录报警的时间,本次采用定时器 T0 中断。 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 18 实时时钟定时器中断服务程序设计 该部分用来实时时钟显示,当有发生报警时,时钟停止,用来观测报警的时间。 子程序是指能完成某一确定的 任务并能被其他程序反复调用的程序段。 有时把调用子程序的程序称为主调程序,被调用的子程序称为被调程序。 采用子程序结构可使程序简化,便于调试,并可实现程序模块化。 但子程序在结构上应具有通用性和独立性。 键盘扫描子程序设计 键盘处理主要是不断的扫描键盘,若有键按下时,则根据得到的键值查表求出其键号,将键号存放于寄存器供主程序处理。 流程图如图 45 所示: 入口: 000BH 保护现场( A、 B、 DPH、 DPL、 PSW 等) 选另一工作寄存区 重新设置定时器初值 中断次数计数,(建立时间标志)(控制显示更新等) 时钟计时 恢复现场 中断返回 图 44 实时时钟中断 流程图 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 19 显示处理子程序设计 显示处理子程序主要完成 :查表得到所要显示的字符的字形码,然后将 字形码送到显示模块显示出来。 采用串行接口,每发送一位都要延时,且要对其初始化后才可能正确地显示。 流程图如图 46 所示 : 键盘处理入口 置 7279 的 CS 有效,并延时 50us 发送读键指令码 15H 到 7279,并延时 12us 接收键值存于 A 中, CS 信号置 1 置键标志 00H 由键值表查键号 清键标志 00H 返回 A 为 FFH 否。 Y N 图 45 按键扫描处理子程序流程图 无锡科技职业学院毕业设计(论文) 无线传能充电器的设计 20 通用的 I2C 通讯子程序 存储模块主要完成对数据的存入与读出的功能,并要有断电保护作用,首先是将数据(本 次设计是将初始密码 )写入 AT24C02。 需注意的利用 I2C 总线进行数据传送时,传送的字节数是没限制的,但是每个字节必须保证是 8 位的长度,并且首先发送数据的高位,每传送一个字节数据后都必须跟一位应答脉冲,即接收器发回的应答信 号。 然后,由发送器继续发送数据字节或发送停止信号后结束数据的传送。 如果接收器不能接受下一个字节,可以把 SCL 拉成低电平,迫使发送器处于等待状态。 当从机准备好接收下一个字节时再释放 SCL 线,使数据传输继续进行。 24WC02 EEPROM 每次连续写入数据不能超过 8 个字节,当超过 8 个字节时应当分为及次完成。 读写 N 字节的流程图如图 47 所示: 显示程序入 口 显缓指针 R0、显示码 R循环次数 R6 初始化 置 CS 为低电平,并延时 50us 发显示码到 7279,并延时 25us @R0 单元内容查表,将得到的字形码发送至 7279 延时 8us,去除片选 信号,修改 R0 和 R1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。