维修电工智能排故系统装置毕业设计论文

上传人:1888****888 文档编号:37447110 上传时间:2021-11-03 格式:DOC 页数:38 大小:513.50KB
收藏 版权申诉 举报 下载
维修电工智能排故系统装置毕业设计论文_第1页
第1页 / 共38页
维修电工智能排故系统装置毕业设计论文_第2页
第2页 / 共38页
维修电工智能排故系统装置毕业设计论文_第3页
第3页 / 共38页
资源描述:

《维修电工智能排故系统装置毕业设计论文》由会员分享,可在线阅读,更多相关《维修电工智能排故系统装置毕业设计论文(38页珍藏版)》请在装配图网上搜索。

1、维修电工智能排故系统装置 院(系)、部: 电子电气工程系 学生姓名: 指导教师: 职称 专 业: 班 级: 完成时间: 摘摘 要要在当今时代,大部分的仪器仪表都实现了智能化,功能多样化,操作方便化,直观化。本次的设计课题是为修电工智能排故系统装置。此装置具有功能多、直观、操作方便的优势。维修电工智能排故系统装置主要用来对学员进行培训专用。它分为教师模式和学员培训考核模式。在教师模式下,我们可以进行故障的设定,排故所需要2的时间设定,也可以查看所设置好的故障序号。为用户解决维修电工智能排故系统装置长时间没有使用而忘记密码,则采用一个开机密码和启动系统后再设密码方案。学员培训考核模式,是用来检验学

2、员的考核情况。关键词:智能排故;单片机;控制;STC89C51;STC89C52;程序目目 录录 摘摘 要要 .2第一章第一章 绪绪 论论 .51.1 硬件方案讨论.51.2 硬件方案的确定.61.3 软件方案设计.71.4 STC89C51 单片机的性能及应用.81.5 成果预测.93第二章第二章 硬件设计硬件设计 .92.1 硬件电路设计.92.1.1 显示电路.92.1.2 键盘电路.112.1.3 复位电路.132.1.4 电源设计.132.1.5 时钟电路设计.142.1.6 输出电路.152.1.7 系统原理图.172.2 PCB 板设计 .172.2.1 主电路板原理图绘制.18

3、2.2.2 辅助电路板设计.20第三章第三章 软件设计软件设计 .233.1 主片 CPU 程序设计.233.1.1 中断和计数程序.243.1.2 动态显示程序.243.1.3 44 矩阵键盘扫描程序.263.1.4 密码程序.273.1.5 监控程序.283.1.6 延时程序.283.1.7 并行连接输出程序.293.1.8 设置程序设计.303.1.8 考核程序设计.303.2 从片 CPU 程序设计.31第四章 使用指南.334.1 电源指南.334.2 密码指南.334.3 设置指南.334.3.1 故障个数设置.334.3.1.1 数字选择故障号.334.3.1.2 用“+”和“”

4、键选择.344.3.1.3 取消已设置的故障.344.3.2 定时设置.344.3.3 密码设置.354.3.3.1 系统密码.354.3.3.2 临时密码.354.3.3.3 临时密码设置.354.4 考核指南.354.5 查询指南.364.5.1 教师模式下查询.364.5.2 考核后查询.364.5.3 推出查询模式.36第五章第五章 结结 论论 .374第六章第六章 参考文献参考文献 .38第七章第七章 致致 谢谢 .39第八章第八章 附附 录录 .40附录一 主片 CPU 程序.40附录二 从片(U2 和 U3)程序.55绪论绪论1.硬件方案讨论维修电工智能排故系统装置(以下简称装置

5、) ,主要用来对学员进行培训专用。该装置具有的四个功能:功能一,智能化;功能二,能很方便的进行人机对话,即键盘显示操作系统的应用;功能三,能显示排故定时,故障点的编号,以及设置的故障数等,即至少要有三组(两个数码管一组)数码管显示;功能四,能对电路中的 48 个点进行选择性控制,来模拟电路中的故障。功能一的设计讨论。智能化,采用单片机来实现。使用单片机的选择有,5AT89C51、AT89C52、STC89C51、STC89C52.宏晶 STC 系列单片机的功能,性能要比 AT系列的好。功能二的设计讨论。需要的按键,有 09 十个数字按键,因为装置需要输入和设置密码;有功能键,例如“模式”键、

6、“确认”键、 “清零”键、 “考核”键等;即按键数至少要有十四个按键。功能三的设计讨论。显示采用三个两位的数码管动态显示。显示数据的数值和组别的区别,用数码管的闪烁实现。显示有软件译码和硬件译码。软件译码比硬件译码占用的 I/O 口数多。硬件译码包括位选译码和数据显示译码。功能四的设计讨论。功能二和功能三占用了两个 I/O 口,只剩下两个 I/O 口可用,要实现功能四,I/O 口就必须得扩展。现有三种扩展 I/O 口的方法:方法一,用 8255 芯片扩展 I/O 口,使其扩展到 48 个 I/O 口,但程序复杂;方法二,用 4 线 16 线译码器与 D 型触发器控制电路结合使用,但这种方法的成

7、本价高,需要用到 24 片 D 型触发器芯片;方法三,用两片单片机扩展 I/O 口,采用并行连接法,程序简单,成本价低。2 硬件方案的确定 综合上述的讨论与分析,确定的硬件设计方案为:采用 STC89C52 作为该装置的主控 CPU 芯片,按键采用 44 矩阵键盘,显示采用硬件译码,输出采用两片单片机STC89C51 作为从片 CPU 芯片与主片 CPU 芯片 STC89C52 并行连接,输出控制点的通断用继电器来控制。其系统结构方框图如图 1-1。 按键电路晶振电路复位电路STC89C52LED 驱动输出驱动继电器LED图 1-1 系统结构图63 软件方案设计 按维修电工智能排故系统装置的硬

8、件设计,来设计 CPU 的操作应用系统,即软件的设计。两从片 CPU(STC89C51)的功能是,将主控 CPU 发过来的信号中转控制继电器的工作状态,并保持当前状态,直到下一个相同的信号到来。由于它是与主控 CPU 并行连接,所以,只要读取与主控 CPU 相连的 I/O 口的数据,并保持相应的状态就行。主控 CPU(STC89C52)的功能,能对按键的输入进行相应的处理,并能在数码管上显示;操作按键可实现的功能有,可以输入并设置一个六位数的密码;设置故障点;查询故障点;设置定时时间;清零功能等等。由于主控 CPU 的功能强大,系统程序长,所以主程序的运行采用中断程序法,其它都设计成子程序。主

9、要子程序有:动态显示程序;44 矩阵键盘扫描程序;密码程序;监控程序;延时程序;输出程序;报警程序;中段计数程序等 4 STC89C51 单片机的性能及应用 STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。其主要特点如下:1)增强型6时钟/机器周期,12时钟/机器周期;2)工作电压:5.5V-3.4V(5V单片机);3)工作频率范围:0-40MHZ,相当于普通8051的0-80MHZ。实际工作频率可达48MHZ;4)用户应用程序空间有4K字节;5)片上集成512字节RAM;6)

10、通用I/O口(32个),复位后为:P0、P1、P2、P3是准双向口、弱上拉(普通8051传统I/O口)。P0口是开漏输出。作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需要加上拉电阻;7)ISP(在系统可编程) 、IAP(在应用可编程) ,无需专用编程器、仿真器可通过串口(P3.0/P3.1)直接下载用户程序,下载速度快;8)EEPROM 功能;79)看门狗;10)共 3 个 16 位定时器、计数器,其中定时器 0 还可以当成 2 个 8 位定时器使用;11)外部中断 4 路,下降沿中断或低电平触发中断,POWER DOWN 模式可由外部中断低电平触发中断方式唤醒;12)通用异步串行口(

11、UART) ,还可用定时软件实现多个 UART; 13)工作温度范围: -40+85 摄氏度; STC89C52 用户存储器空间为 8K,其功能与 STC89C51 相同,这里就不再介绍了。5 成果预测维修电工智能排故系统装置是根据高级电工培训考核的实际情况而设计的集培训学习、理论验证、实际操作能力、考核鉴定于一体的多功能考核设备。整个系统装置能完成高级电工考核鉴定中的电力拖动控制与照明电路的实操项目,适应各大、中专、技校、职校初、高级电工、电拖专业教学与实训考核。8一一 元器件简介元器件简介1.主控芯片 STC89C52(1)STC89C52 处理芯片处理芯片(2)主要性能)主要性能与 MC

12、S-51 单片机产品兼容 、8K 字节在系统可编程 Flash 存储器、 1000 次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、 32 个可编程 I/O 口线、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。功能特性描述STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在

13、单芯片9上,拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52 具有以下标准功能: 8k 字节Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结

14、,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 FlashP0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下, P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对

15、P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2 的触发输入(P1.1/T2EX),具体如下表所示。 在 flash 编程和校验时,P1 口接收低 8 位地址字节。引脚号第二功能P1.0 T2(定时器/计数器 T2 的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制)10P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.

16、7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收

17、高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3 口亦作为 STC89C52 特殊功能(第二功能)使用,如下表所示。在flash 编程和校验时,P3 口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器

18、 0)11P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于

19、输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA/VPP外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH

20、),EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。122. 3-8 译码器译码器 74LS138引脚图74LS138 为 3 线8 线译码器,共有 54/74S138 和 54/74LS138 两种线路结构型式,其工作原理如下:当一个选通端( E3)为高电平,另两个选通端( E1)和/(E2))为低电平时,可将地址端( A、B、C)的二进制编

21、码在一个对应的输出端以低电平译出。 利用 E1、E2 和 E3 可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138 还可作数据分配器。133.数码管 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个 “8”可分为 1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的

22、阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 (1)驱动方式)驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 B

23、CD 码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动 5 个数码管静态显示则需要 5840 根 I/O 端口来驱动,要知道一个 89S51 单片机可用的 I/O 端口才 32 个呢:) ,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态14驱动是将所有数码管的 8 个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都

24、接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。 (2)主要参数)主要参数8 字高度:8 字上

25、沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为 0.25-20 英寸。长*宽*高:长数码管正放时,水平方向的长度;宽 数码管正放时,垂直方向上的长度;高 数码管的厚度。时钟点:四位数码管中,第二位 8 与第三位 8 字中间的二个点。一般用于显示时钟中的秒。数码管应用数码管是一类显示屏 通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字能够显示 时间 日期 温度 等所有可用数字表示的参数由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛 空调 热水器 冰箱 等等绝大多数 热水器用的都是数码管 其他家电 也用液晶屏与 荧光屏数码管使用的电流与电压电流:静态时,推

26、荐使用 10-15mA;动态时, 16/1 动态扫描时,平均电流为4-5mA,峰值电流 50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V 乘以每段的芯片串联的个数;当绿色时,使用2.1V 乘以每段的芯片串联的15个数。 (3)常见问题)常见问题恒流驱动与非恒流驱动对数码管的影响1、显示效果:由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。2、安全性

27、:即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏。另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。为什么数码管亮度不均匀?关于亮度一致性的问题是一个行业内的常见问题。有二个大的因素影响到亮度一致性。一是使用原材料芯片的选取,一是使用数码管时采取的控制方式。1、原材料-芯片的 VF 和亮度和波长是一个正态分布,即使筛选过芯片, VF 和亮度和波长已在一个很小的范围了,生产出来

28、的产品还是在一个范围内 ,结果就是亮度不一致。2、要保证数码管亮度一样,在控制方式选取上也有差别最好的办法是恒流控制,流过每一个发光二极管的电流都是相同的,这样发光二极管看起来亮度就是一样的了。如恒压控制,则导致VF 不相同的发光二极管分到的电流不相同,所以亮度也不同。当然以上二个条件是相辅相成的。怎样测量数码管引脚,分共阴和共阳 ?16找公共共阴和公共共阳:首先,我们找个电源( 3 到 5 伏)和 1 个 1K(几百欧的也行)的电阻, VCC 串接个电阻后和 GND 接在任意 2 个脚上,组合有很多,但总有一个 LED 会发光的,找到一个就够了,然后GND 不动,VCC(串电阻)逐个碰剩下的

29、脚,如果有多个 LED(一般是 8 个) ,那它就是共阴的了。相反用 VCC不动,GND 逐个碰剩下的脚,如果有多个 LED(一般是 8 个) ,那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。17二二 硬件设计硬件设计1 硬件电路设计(1)显示电路)显示电路 1) 74LS48 是一款常用的共阳极数码管专用译码芯片。它实现的功能是从 BCD 码到七段数码管的译码和驱动。引脚图如图 2-1 所示。 它的 ag 脚接七段数码管的七段数字段,而A、B、C、D 引脚接单片机的数据线,3 个控制引脚接高电平。这样当 A、B、C、D 4 个引脚输入 015 的数据时,跟它

30、相连接的数码管就显示相应的字符。2)74LS138 芯片是位选译码器,它的 A、B、C 引脚接单片机的数据线,这样当 A、B、C 3 个引脚输入 05 的数据时,跟它相连接的相应数码管工作。A7B1C2D6LT3BI/RBO4RBI5a13b12c11d10e9f15g14U1174LS48A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U1274LS138R9 R8 R7 R6 R5 R4 R3 VCC110g9f8a7b6d1dp2e3c4251110g9f8a7b6d1dp2e3c4252110g9f8a7b6d1dp2e3c4253P0.0三P

31、0.7P0三三图 2-2 显示电路3)系统显示电路采用了3 个 2 位共阴数码管,如图2-1 所示。 3 个数码管使用一块74LS138 译码器作为位选输出,与主片 CPU 的 P1 口低三位相连;同时采用一块74LS48 作为段选译码, 与主片 CPU 的 P1 口高四位相连。用 74LS48 作为段选译码器, 则需要在它与数码管之间串联电阻(设计中用了 8 个 300 的电阻),其作用是限流,保护数码管灯不被大电流 烧坏。图 2-1 74LS48 引脚排列图18图 3-3 独立式按键与单片机的连接方式稳定阶段键按下过程抖动抖动图 3-4 按键被按下到被释放过程的电压波形(2)键盘电路)键盘

32、电路对于图 3-3 的按键连接,一般情况下在按键被按下和被释放的瞬间,单片机读到的数据并不是理想中的从高电平到低电平和从低电平到高电平的跳变,而是如图 3-4 所示的有抖动的电压波形。 VCCPX.YPM.NMCS-51图 2-4 中的抖动是由按键的机械特性所决定的,抖动时间一般为 10ms 左右。如果不对按键抖动做任何处理而直接读取,对相对操作者来说速度非常快的单片机,在按键被按下和被释放的过程中相当于有多次按下和释放的操作。为了保证单片机对按键输入的正确判断,必须对按键抖动做出处理,这个过程叫做按键的去抖。去抖可以采用硬件和软件两种方法。硬件方法就是在按键的输入通道里加入一定的去抖电路,如

33、加入一个电容或低通滤波器,靠其积分作用来消除抖动;软件方法是指采用延时的方法把抖动的时间抛掉,等电压稳定之后再读取按键的状态。由于抖动时间与整个按键操作时间相比很小,所以延时不会对按键状态的判断产生什么影响。而且软件去抖省去了硬件电路,变得更加经济实用。装置的键盘电路采用44 矩阵键盘电路 与主片 CPU 的 P2 口连接 ,电路图如图 2-5 所示。键盘电路中没有接上拉电阻,是因为单片机的P2 口内有上拉电阻。19S4S0S8ScS1S5S9SdS2S6SaSeSfSbS7S3P2.0-P2.7P2三三图 2-5 键盘电路(3)复位电路)复位电路复位电路是使单片机的CPU 或系统中的其它部件

34、处于某一确定的初始状态,并从这个状态开始工作。当程序运行出错或操作错误使系统处于死机状态时, 则需要 有复位键 来恢复 CPU 的正常工作 。通常单片机复位操作有上电复位、信号复位、运行监视复位,运行监视有程序运行监视和电源监视。系统复位电路如图2-6 所示:上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间CPU的 RESET 引脚获得高电平,随着电容的充电,RESET 引脚的高电平将逐渐下降。 RESET 引脚的高电平只要能保持足够的时间(2 个机器周期),单片机就可以进行复位操作。R2C110uFVCCS1R1三三CPU三RESET三图 2-6 复位电路(4)电源设计)电源设计电源

35、的稳压电路根据调整元件类型可以分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等;根据调整元件与负载连接方法,可以分为串联型和并联型;根据调整元件工作状态不同,可以分线性和开关稳压电路。直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成。20由于本系统对电源要求相对较高,所以配备了一个独立的开关电源,其输出电压为 +5V,输出电流为1000mA。(5)时钟电路设计)时钟电路设计时钟电路用于产生单片机工作所需的时钟信号,而时序所研究的是指令执行中各信号之间的相互联系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的工作。

36、系统时钟振荡电路如图3-7 所示 。C1C2Y1三三三三X1三三三三三X2三图 3-7 时钟振荡电路单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片外部, XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。只要在单片机的XTAL1 和 XTAL2 引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟信号。电容C1 和 C2 的作用是稳定频率和快速起振,电容值在5-30pF 之间。外部时钟方式是把外部已有的时钟信号引入到单片机内。一般要求外部信号高电平的持续时间大于20ns,且为频率不大于12MHz 的

37、方波。(4)输出电路)输出电路1)电路要对 48 个继电器进行单独控制,则所需主片 CPU 的 I/O 口21就要有 48 个,而主片 CPU 的 I/O 口显然是不能满足的。所以必须扩展I/O 口。 电路采用两片单片机与主片 CPU 并行连接来扩展 I/O 口,电路 原理图 如图2-8 所示。 用从片 U2 和 U3 的 P0 口分别与主片CPU P1 口的低五位和P3口的高五位连接 ,则两从片 CPU 剩余的 I/O 口数刚好为 48 个。 为了保证数据同步, 3 块 CPU 的晶振频率全部为12MHz。EA/VP31X119X218RESET9RD17WR16INT012INT113T0

38、14T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10U1STC89C52C2C3Y1EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P

39、2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10U2STC89C51EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10U3STC89C51C4C6C5C7Y2Y3 图 2-8 I/O 口扩展 电路 2)用两从片剩余的48 个 I/O 口与 4

40、8 个继电器输出控制电路一一对应的连接。 继电器输出控制电路由继电器和ULN2003 芯片连接组成。一片ULN2003 芯片有 8 路输入和 8 路输出,输入口接单片机,输出口接继电器。ULN2003 具有很强的驱动能力,它可以直接驱动继电器。其原理图如图2-9 所示。ULN2003继电器从片 CPU的 I/O图 2-9 输出原理图输入输出22(5)系统原理图)系统原理图系统 总原理图如图 3-10 所示 ,EA/VP31X119X218RESET9RD17WR16INT 012INT 113T014T115P101P112P123P134P145P156P167P178P0039P0138P

41、0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1stc89c52C3CAPC4CAPY2CRYSTALP20P21P22P23P24P25P26P27P30P31162738495J?DB912345678910111213141516U232C 0.1uFC0.1uFC0.1uFC0.1uFC22uFP30P31VccEA/VP31X119X218RESET9RD17WR16INT 012INT 113T014T115P101P112P123P134P1

42、45P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U2stc8051EA/VP31X119X218RESET9RD17WR16INT 012INT 113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P

43、30TXD11RXD10U38051C6CAPC2CAPC5CAPC1CAPY3CRYSTALY1CRYSTAL12345678J4CON812345678J5CON812345678J1CON812345678J3CON812345678J2CON812345678J6CON8LS1SPEAKERA7B1C2D6LT3BI/RBO4RBI5a13b12c11d10e9f15g14U1174LS48A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U1274LS138R9 R8 R7 R6 R5 R4 R3 VCCLED1LED2LED3LED5LED6

44、LED7LED8110g9f8a7b6d1dp2e3c425DS302WEILE D110g9f8a7b6d1dp2e3c425DS312WEILE D110g9f8a7b6d1dp2e3c425DS322WEILE D图 3-10 修电工智能排故系统装置总原理图2.PCB 板设计PCB 板的制作在 protel99SE 中进行, protel99SE 采用数据库的管理方式。 protel99SE 软件沿袭了 protel99 以前版本方便易学的特点,内部界面与 protel99 大体相同,新增加了一些功能模块,功能更加强大。新增加的层堆栈管理功能,可以设计32 个信号层, 16 个地电层,

45、16 个机械层。新增的 3D 功能让您在加工印制板之前看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。protel99SE 容易使用的特性还体现在“这是什么 ”帮助,按下右上角的小问号,然后输入你所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用自然语言帮助顾问。在硬件 设计中 ,考虑到市场上有一种可放置电路板的专用盒子(160mm120mm) ,为了能使用它,在制作PCB 板时,把硬件电路分别制成了两快 PCB 板(一块 PCB 放不下整个电路的元器件) 。一块主电路板, 即23CPU 控制电路板; 另一块辅助电路板,电路有显示电路、键盘

46、电路和继电器电路。继电器是要控制强电,可能会影响系统的稳定性,所以在设计时,就把继电器电路单独放在电路板的一边,做隔绝处理。在 PCB 板设计之前,先进行原理图的绘制。(1)主电路板原理图绘制)主电路板原理图绘制双击 protel99SE 图标打开软件后,新建一个.DDB 的库文件。在新建好的库文件中建立一个.sch 的原理图文件。打开新建的原理图文件,设置图纸大小,宽 1600,高 1200。将所需元器件放置好,然后连线。在实际设计过程中可以利用protel99SE 强大的网络连线功能,不需要将每条电气线路都画出来,只需将所要连接的元件引脚设置为相同的网络标号。原理图画好后进行元器件封装。最

47、后进行ERC 规则检查。 主电路 板原理图 如图 2-11 所示 ,EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10U1 C2C3Y1EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P15

48、6P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10U2 EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD1

49、0U3 C4C6C5C7Y2Y312345678J212345678910J1VCCIN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413OUT 512OUT 611OUT 710OUT215COM DIO DE9GND8U6 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413OUT 512OUT 611OUT 710OUT215COM DIODE9GND8U7 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413O

50、UT 512OUT 611OUT 710OUT215COM DIODE9GND8U9 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413OUT 512OUT 611OUT 710OUT215COM DIODE9GND8U8 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413OUT 512OUT 611OUT 710OUT215COM DIODE9GND8U10 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413

51、OUT 512OUT 611OUT 710OUT215COM DIO DE9GND8U5 IN 11IN 22IN 33IN 44IN 55IN 66IN 77OUT 116OUT 314OUT 413OUT 512OUT 611OUT 710OUT215COM DIO DE9GND8U4 R2VCCLS1S1R112J3VCCVCC12345678910J4 12345678J5 P1P2P3P4P5P6P7P8P9P10P11P12P13P14P15P16P17P18P19P20P21P22P23P24P25P26P27P28P29P30P31P32P33P34P35P36P37P38P3

52、9P40P41P42P43P44P45P46P47P48P1P2P3P4P5P6P7P8P9P10P11P12P13P14P15P16P17P18P19P20P21P22P23P24P25P26P27P28P29P30P31P32P33P34P35P36P37P38P39P40P41P42P43P44P45P46P47P48123456789101112J6 12345678910J7 VCCO1O2O3O4O5O6O7O8O9O10O11O12O13O14O15O16O17O18O19O20O21O22O23O24O25O26O27O28O29O30O31O32O33O34O35O36O37

53、O38O39O40O41O42O43O44O45O46O47O48O1O2O3O4O5O6O7O8O9O10O11O12O13O14O15O16VCCO17O18O19O20O21O22O23O24O25O26O27O28O29O30O31O32O33O34O35O36O37O38O39O40O41O42O43O44O45O461234567J8 1234567J9 O47O48VCCVCCVCCVCCVCCVCCVCCVCCvccvccvccC1 LS1-1LS1-2LS1-1LS1-2图 2-11 主电路 板原理 图当设计好原理图,在进行了ERC 电气规则检查正确无误后,就要生成网络表,为

54、 PCB 布线做好准备。在 “Design”下选取 “Create Netlist”对话框,设置为相应格式的网络表。网络表生成后,就可以进行PCB 设计了。新建议个 .pcb 的文件,设置合适的边框大小,本设计PCB 尺寸为143mm106mm。导入网络表,在 “Design”下选择 “load nets”,选取将24要导入的网络表文件,点击“Execute”即可。接下来就可以进行布线。布线的关键是布局,多数设计者采用手动布局的形式。“Room”定义规则,可以将指定元件放到指定区域。protel99SE 在布局方面新增加了一些技巧。新的交互式布局选项包括自动选择和自动对齐。使用自动选择方式可以

55、很快地收集相似封装元件,然后旋转、展开和整理成组,就可以移动到板上所需的位置上了。当简易的布局完成后,使用自动对齐方式整齐的展开或缩紧一组封装相似的元件。在布线之前先要设置布线规则。在“Design”下选择 “Rules”对话框,选择不同网络布线的线宽、布线方式、布线的层数、安全间距、过孔大小等。有了布线规则,就可以进行自动或手动布线了。选择“Auto Route”菜单,采用自动布线。(2)辅助电路板设计)辅助电路板设计LED 由强电部分与弱电部分组成。强电部分包括16 个+5V 的继电器以及 32 个接线端子。本设计可单独控制48 个继电器通断,考虑到实际应用中可能不需要 48 个继电器,所

56、以LED 板只设计 16 个继电器输出,如果需要更多输出,则可以通过CPU 板上的接口进行扩展。弱电部分包括显示电路以及键盘电路。 LED 板原理图如图2-2-4 所示:S4S0S8ScS1S5S9SdS2S6SaSeSfSbS7S3A7B1C2D6LT3BI/RBO4RBI5a13b12c11d10e9f15g14U1174LS48A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U1274LS138R9 R8 R7 R6 R5 R4 R3 VCC12345678910J4 12345678J5 VCCO1O2O3O4O5O6O7O8O9O10O11O

57、12O13O14O15O1612345678J212345678910J1VCCJP1JP2JP3JP4JP5JP6JP7JP8JP1JP2JP3JP4JP5JP6JP7JP8LED1LED2LED3LED5LED6LED7LED8LED1LED2LED3LED5LED6LED7LED8K7982K6982K5982K4982K3982VCCK2982VCCK1982VCCO1O2O3O4O5O6O7VCCVCCVCCVCCK8982O8VCCK10982O10VCCK11982O11VCCK12982O12VCCK13982O13VCCK14982O14VCCK15982O15VCCK169

58、82O16VCCK9982O9VCC0011DS1DSP20011DS2DSP20011DS3DSP20011DS4DSP20011DS5DSP20011DS6DSP20011DS7DSP20011DS80011DS9DSP20011DS10DSP20011DS11DSP20011DS12DSP20011DS13DSP20011DS14DSP20011DS15DSP20011DS16DSP2110g9f8a7b6d1dp2e3c425DS302WEILED110g9f8a7b6d1dp2e3c425DS312WEILED110g9f8a7b6d1dp2e3c425DS322WEILED25图

59、2-2-4 LED 板原理图强电部分通电电流较大,所以线宽设置为2mm。为了使强电部分不影响弱电部分稳定性,强电部分与弱电部分之间用地线来做一个屏蔽环。LED板尺寸与 CPU 板相同。当一块线路板已经设计好,要检查布线是否有错误,Protel99 SE 提供了很好的检查工具“DRC”自动规则检查。只要运行“Tools”下的“Design Rlue Check”,计算机会自动将检查结果列出来。23三三 软件设计软件设计1.主片 CPU 程序设计主片 CPU 程序的主程序采用中断运行,其流程图如图 4-1 所示。主程序初始化设置为 TO 工作模式返回图 4-1 主程序流程图给 TO 赋初值CPU

60、开中断TO 开中断P1, P3 置 0启动 TO 工作调键盘程序主片 CPU 的子程序设计有:中断和计数程序设计;动态显示程序设计;44 矩阵键盘扫描程序设计;密码程序设计;监控程序设计;延时程序设计;并行连接输出程序设计;设置程序设计;考核程序设计等等。24(1) 中断和计数程序中断和计数程序 在 C51 语言中,中断服务程序是以中断服务函数的形式存在的,该函数需要使用关键字 interrupt 进行定义,interrupt 后面的参数 04 表明了中断源。在设计中断服务函数时常使用 using 关键字,using 定义了在中断服务函数中使用的寄存器组,参数 03,分别对应 03 通用工作寄

61、存器,这样的好处是可以减少压入堆栈的变量内容,从而简化中断服务程序的内容,以加快程序执行的速度。装置的系统的运行采用中断扫描法,中断为每隔 10ms 中断一次,而监视中断次数,可以计算出时间,于是,可实现定时功能。其子程序设计为:“void Timer0Int() interrupt 1 using 3” ,详细程序请参考附录。(2)动态显示程序)动态显示程序1)显示方法介绍 数码管有两种显示方法:静态显示法和动态显示法。所谓静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式占用 CPU 时间少,编程简单,但其占用的 I/O 口线多,硬件电路复杂,成本高,且只适

62、合于显示字符位数较少的场合。动态显示是指逐次点亮每个数码管。方法是每个数码管的公共端都由一个IO 口线来控制,以动态方式显示时,先选中第 1 个数码管,把数据送给它显示,一定时间后再选中第 2 个数码管,把数据送给它显示即在某一时刻只有一个数码管在显示字符。这样只要扫描的速度足够高(要超过人眼的视觉暂留时间 20ms),动态显示的效果在人看来就是几个数码管同时显示。采用动态显示方式比较节省IO 口,硬件电路也比静态显示方式简单,用一个位选译码芯片 74LS138 就能实现,但其亮度不如静态显示方式时的亮度,而且在显示的数码管较多时,CPU 要依次扫描,会占用较多的时间。2)选择输送显示P1 口

63、的低三位为输出位选信号,来控制六位数码管的工作;P1 口的高四位为输送显示数据,用“=50) flag2=!flag2;s_Bian=0; ” 。其具体实现的方法是:void Display0(void) if(flag2=1) -;Dis4=(char)s_Midxh4;Dis5=(char)s_Midxh5;else Dis4=(char)-1;Dis5=(char)-1;5) “Flag” 指令说明“Flag”指令的功能是:在考核模式下,用来 查看另一组(黑色)显示的,即显示的替换。(注:“Dis=(char)-1”是在数码管不能显示。执行此指令时,数码管灯不亮。 )(3) 44 矩阵键

64、盘扫描程序矩阵键盘扫描程序矩阵式键盘的按键判别有两种方法:行列扫描法和键盘中断法。行列扫描法:从第 1 行(或列)开始使每一行(或列)分别置低电平,然后读入所有列。(或行)的状态,如果没有键被按下,则读到的列(或行)全为高电平;而当有键被按下后,读入的列(或行)中必有一条为低电平,此时此列(或行)与该行(或26列)的交点处的按键就是被按下的键。键盘中断法的一般电路如图 3-5 所示。P14Pl7 置高电平,依次置P10P13 为低电平,当有键被按下时,INT0 引脚为低电平,于是单片机产生外部中断,在中断服务程序中通过读取 P14P17 的电平就可以判断是哪个键被按下。本课题用的是 4 行 4

65、 列的矩阵式键盘,程序使用的是行列扫描法,其键盘程序流程图如图 3-6。主程序初始化读取键值,预处理判断是否有键按下扫描键盘无有延时 10ms,判断键是否松开是否返回有图 3-6 键盘程序流程图执行相应的功能27(4)密码程序)密码程序 在此次密码程序的设计中,考虑到用户有可能会忘记密码,所以,在程序中设计了两个密码程序,系统密码程序和临时密码程序。统密码程序在每次上电或按盒内的复位按钮 10ms 后,系统自动设置的密码程序,系统密码为 123456。其具体实现的方法,是在十秒后,在“void Timer0Int() interrupt 1 using 3”子程序中调用“void Mima11

66、(void)”子程序实现,具体语句:“if(flag1=1)&(xh2=0) if(s_Counter+24否?否返回是图 3-7 输出程序流程图直接把数据送给P1 口输出 判断 xxh48否?是否29(8)设置程序设计)设置程序设计设置程序为对故障、定时和密码进行设置的程序。其程序设计流程图如图 4-8。主程序初始化故障设置判断密码是否正确密码输入否是图 4-8 模式程序流程图定时设置密码设置进入考核模式30(9)考核程序设计)考核程序设计 考核程序是对学员进行考核记录设计的。其程序流程图如图 3-9。主程序初始化是否要进入考核否返回是图 3-9 考核程序流程图应用考核模式结束考核,启动报警定时到否排故完否超出吴排次数否是是是否否否312.从片 CPU 程序设计从片 CPU 的主要功能是控制继电器的“通 ”和 “断 ”状态。当接受到主片CPU 发来的每次信号时,相应的 响应一次动作,也可以说状态翻转一次。由此,程序只要用一个取反指令( =!) 就能实现此功能。例: P1 口 定义为位变量,每执行一次“P1=! P1”语句, P1的状态 则 改变一次。由“0”状态变 “1”状态 或 由

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!