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

上传人:仙人指路1688 文档编号:2981291 上传时间:2023-03-07 格式:DOC 页数:37 大小:457KB
返回 下载 相关 举报
维修电工智能排故系统装置毕业设计论文.doc_第1页
第1页 / 共37页
维修电工智能排故系统装置毕业设计论文.doc_第2页
第2页 / 共37页
维修电工智能排故系统装置毕业设计论文.doc_第3页
第3页 / 共37页
维修电工智能排故系统装置毕业设计论文.doc_第4页
第4页 / 共37页
维修电工智能排故系统装置毕业设计论文.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

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

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

2、核情况。关键词:智能排故;单片机;控制;STC89C51;STC89C52;程序目 录 摘 要2第一章 绪 论51.1硬件方案讨论51.2 硬件方案的确定61.3软件方案设计71.4 STC89C51单片机的性能及应用81.5 成果预测9第二章 硬件设计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主电路板原理图绘制182.2.2 辅助电路板设计20第三章 软件设计233.1 主片CPU程序设计233.1.1 中断和计

3、数程序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 用“+”和“”键选择344.3.1.3 取消已设置的故障344.3.2 定时设置344.3.3 密码设置354.3.3.1 系统密码354.3.3.2 临时密码354.3.3.3 临时密码

4、设置354.4考核指南354.5查询指南364.5.1 教师模式下查询364.5.2 考核后查询364.5.3 推出查询模式36第五章 结 论37第六章 参考文献38第七章 致 谢39第八章 附 录40附录一 主片CPU程序40附录二 从片(U2和U3)程序55绪论1.硬件方案讨论维修电工智能排故系统装置(以下简称装置),主要用来对学员进行培训专用。该装置具有的四个功能:功能一,智能化;功能二,能很方便的进行人机对话,即键盘显示操作系统的应用;功能三,能显示排故定时,故障点的编号,以及设置的故障数等,即至少要有三组(两个数码管一组)数码管显示;功能四,能对电路中的48个点进行选择性控制,来模拟

5、电路中的故障。功能一的设计讨论。智能化,采用单片机来实现。使用单片机的选择有,AT89C51、AT89C52、STC89C51、STC89C52.宏晶STC系列单片机的功能,性能要比AT系列的好。功能二的设计讨论。需要的按键,有09十个数字按键,因为装置需要输入和设置密码;有功能键,例如“模式”键、“确认”键、“清零”键、“考核”键等;即按键数至少要有十四个按键。功能三的设计讨论。显示采用三个两位的数码管动态显示。显示数据的数值和组别的区别,用数码管的闪烁实现。显示有软件译码和硬件译码。软件译码比硬件译码占用的I/O口数多。硬件译码包括位选译码和数据显示译码。功能四的设计讨论。功能二和功能三占

6、用了两个I/O口,只剩下两个I/O口可用,要实现功能四,I/O口就必须得扩展。现有三种扩展I/O口的方法:方法一,用8255芯片扩展I/O口,使其扩展到48个I/O 口,但程序复杂;方法二,用4线16线译码器与D型触发器控制电路结合使用,但这种方法的成本价高,需要用到24片D型触发器芯片;方法三,用两片单片机扩展I/O口,采用并行连接法,程序简单,成本价低。2 硬件方案的确定 综合上述的讨论与分析,确定的硬件设计方案为:采用STC89C52作为该装置的主控CPU芯片,按键采用44矩阵键盘,显示采用硬件译码,输出采用两片单片机STC89C51作为从片CPU芯片与主片CPU芯片STC89C52并行

7、连接,输出控制点的通断用继电器来控制。其系统结构方框图如图1-1。 按键电路晶振电路复位电路STC89C52LED驱动输出驱动继电器LED图1-1 系统结构图3软件方案设计 按维修电工智能排故系统装置的硬件设计,来设计CPU的操作应用系统,即软件的设计。两从片CPU(STC89C51)的功能是,将主控CPU发过来的信号中转控制继电器的工作状态,并保持当前状态,直到下一个相同的信号到来。由于它是与主控CPU并行连接,所以,只要读取与主控CPU相连的I/O口的数据,并保持相应的状态就行。主控CPU(STC89C52)的功能,能对按键的输入进行相应的处理,并能在数码管上显示;操作按键可实现的功能有,

8、可以输入并设置一个六位数的密码;设置故障点;查询故障点;设置定时时间;清零功能等等。由于主控CPU的功能强大,系统程序长,所以主程序的运行采用中断程序法,其它都设计成子程序。主要子程序有:动态显示程序;44矩阵键盘扫描程序;密码程序;监控程序;延时程序;输出程序;报警程序;中段计数程序等 4 STC89C51单片机的性能及应用 STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。其主要特点如下:1)增强型6时钟/机器周期,12时钟/机器周期;2)工作电压:5.5V-3.4V(5V单

9、片机);3)工作频率范围:0-40MHZ,相当于普通8051的0-80MHZ。实际工作频率可达48MHZ;4)用户应用程序空间有4K字节;5)片上集成512字节RAM;6)通用I/O口(32个),复位后为:P0、P1、P2、P3是准双向口、弱上拉(普通8051传统I/O口)。P0口是开漏输出。作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需要加上拉电阻;7)ISP(在系统可编程)、IAP(在应用可编程),无需专用编程器、仿真器可通过串口(P3.0/P3.1)直接下载用户程序,下载速度快;8)EEPROM功能;9)看门狗;10)共3个16位定时器、计数器,其中定时器0还可以当成2个8位定时

10、器使用;11)外部中断4路,下降沿中断或低电平触发中断,POWER DOWN模式可由外部中断低电平触发中断方式唤醒;12)通用异步串行口(UART),还可用定时软件实现多个UART; 13)工作温度范围: -40+85摄氏度; STC89C52用户存储器空间为8K,其功能与STC89C51相同,这里就不再介绍了。5 成果预测维修电工智能排故系统装置是根据高级电工培训考核的实际情况而设计的集培训学习、理论验证、实际操作能力、考核鉴定于一体的多功能考核设备。整个系统装置能完成高级电工考核鉴定中的电力拖动控制与照明电路的实操项目,适应各大、中专、技校、职校初、高级电工、电拖专业教学与实训考核。一 元

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

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

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

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

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

16、出缓冲器能驱动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(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接

17、收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能

18、将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V

19、的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。2. 3-8译码器74LS138引脚图74LS138 为3 线8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下:当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。3.数码管 数码管按段数分为七段数码管和八段数码管,八段

20、数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,

21、相应字段就不亮。 (1)驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接

22、口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉

23、效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 (2)主要参数8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;高数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。数码管应用数码管是一类显示屏 通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字能够显示 时间 日期 温度 等所有可用

24、数字表示的参数由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛 空调 热水器 冰箱 等等绝大多数 热水器用的都是数码管 其他家电 也用液晶屏与 荧光屏数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。 (3)常见问题恒流驱动与非恒流驱动对数码管的影响1、显示效果:由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码

25、管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。2、安全性:即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏。另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。为什么数码管亮度不均匀?关于亮度一致性的问题是一个行业内的常见问题。有二个大的因素影响到亮度一致性。一

26、是使用原材料芯片的选取,一是使用数码管时采取的控制方式。1、原材料-芯片的VF和亮度和波长是一个正态分布,即使筛选过芯片,VF和亮度和波长已在一个很小的范围了,生产出来的产品还是在一个范围内,结果就是亮度不一致。2、要保证数码管亮度一样,在控制方式选取上也有差别最好的办法是恒流控制,流过每一个发光二极管的电流都是相同的,这样发光二极管看起来亮度就是一样的了。如恒压控制,则导致VF不相同的发光二极管分到的电流不相同,所以亮度也不同。当然以上二个条件是相辅相成的。怎样测量数码管引脚,分共阴和共阳?找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻

27、后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。二 硬件设计1硬件电路设计(1)显示电路图2-1 74LS48引脚排列图 1) 74LS48是一款常用的共阳极数码管专用译码芯片。它实现的功能是从BCD码到七段数码管的译码和驱动。引脚图如图2-1所示。 它的ag脚接七段数码管的七段数字段,而A、B、C、D引脚接单片机

28、的数据线,3个控制引脚接高电平。这样当A、B、C、D 4个引脚输入015的数据时,跟它相连接的数码管就显示相应的字符。2)74LS138芯片是位选译码器,它的A、B、C引脚接单片机的数据线,这样当A、B、C 3个引脚输入05的数据时,跟它相连接的相应数码管工作。图2-2显示电路3)系统显示电路采用了3个2位共阴数码管,如图2-1所示。3个数码管使用一块74LS138译码器作为位选输出,与主片CPU的P1口低三位相连;同时采用一块74LS48作为段选译码,与主片CPU的P1口高四位相连。用74LS48作为段选译码器,则需要在它与数码管之间串联电阻(设计中用了8个300的电阻),其作用是限流,保护

29、数码管灯不被大电流烧坏。(2)键盘电路对于图3-3的按键连接,一般情况下在按键被按下和被释放的瞬间,单片机读到的数据并不是理想中的从高电平到低电平和从低电平到高电平的跳变,而是如图3-4所示的有抖动的电压波形。图3-3 独立式按键与单片机的连接方式稳定阶段键按下过程抖动抖动图3-4 按键被按下到被释放过程的电压波形图2-4中的抖动是由按键的机械特性所决定的,抖动时间一般为10ms左右。如果不对按键抖动做任何处理而直接读取,对相对操作者来说速度非常快的单片机,在按键被按下和被释放的过程中相当于有多次按下和释放的操作。为了保证单片机对按键输入的正确判断,必须对按键抖动做出处理,这个过程叫做按键的去

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

31、工作。当程序运行出错或操作错误使系统处于死机状态时,则需要有复位键来恢复CPU的正常工作。通常单片机复位操作有上电复位、信号复位、运行监视复位,运行监视有程序运行监视和电源监视。系统复位电路如图2-6所示:上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间CPU的RESET引脚获得高电平,随着电容的充电,RESET引脚的高电平将逐渐下降。RESET引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。图2-6 复位电路(4)电源设计电源的稳压电路根据调整元件类型可以分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等;根据调整元件与负载连接方法,可以分

32、为串联型和并联型;根据调整元件工作状态不同,可以分线性和开关稳压电路。直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成。由于本系统对电源要求相对较高,所以配备了一个独立的开关电源,其输出电压为+5V,输出电流为1000mA。(5)时钟电路设计时钟电路用于产生单片机工作所需的时钟信号,而时序所研究的是指令执行中各信号之间的相互联系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的工作。系统时钟振荡电路如图3-7所示。图3-7 时钟振荡电路单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片

33、外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。只要在单片机的XTAL1和XTAL2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟信号。电容C1和C2的作用是稳定频率和快速起振,电容值在5-30pF之间。外部时钟方式是把外部已有的时钟信号引入到单片机内。一般要求外部信号高电平的持续时间大于20ns,且为频率不大于12MHz的方波。(4)输出电路1)电路要对48个继电器进行单独控制,则所需主片CPU 的I/O口就要有48个,而主片CPU的I/O口显然是不能满足的。所以必须扩展I/O口。电路采用两片单片机与主片CPU并行连接来扩展I/O口,电路原

34、理图如图2-8所示。用从片U2和U3的P0口分别与主片CPU P1口的低五位和P3口的高五位连接,则两从片CPU剩余的I/O口数刚好为48个。为了保证数据同步,3块CPU的晶振频率全部为12MHz。 图2-8 I/O口扩展电路 2)用两从片剩余的48个I/O口与48个继电器输出控制电路一一对应的连接。继电器输出控制电路由继电器和ULN2003芯片连接组成。一片ULN2003芯片有8路输入和8路输出,输入口接单片机,输出口接继电器。ULN2003具有很强的驱动能力,它可以直接驱动继电器。其原理图如图2-9所示。ULN2003继电器从片CPU的I/O图2-9 输出原理图输入输出(5)系统原理图系统

35、总原理图如图3-10所示,图3-10 修电工智能排故系统装置总原理图2.PCB板设计PCB板的制作在protel99SE中进行,protel99SE采用数据库的管理方式。protel99SE软件沿袭了protel99以前版本方便易学的特点,内部界面与protel99大体相同,新增加了一些功能模块,功能更加强大。新增加的层堆栈管理功能,可以设计32个信号层,16个地电层,16个机械层。新增的3D功能让您在加工印制板之前看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。protel99SE容易使用的特性还体现在“这是什么”帮助,按下右上角的小问号,然后输入你所要的信息,可以很

36、快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用自然语言帮助顾问。在硬件设计中,考虑到市场上有一种可放置电路板的专用盒子(160mm120mm),为了能使用它,在制作PCB板时,把硬件电路分别制成了两快PCB板(一块PCB放不下整个电路的元器件)。一块主电路板,即CPU控制电路板;另一块辅助电路板,电路有显示电路、键盘电路和继电器电路。继电器是要控制强电,可能会影响系统的稳定性,所以在设计时,就把继电器电路单独放在电路板的一边,做隔绝处理。在PCB板设计之前,先进行原理图的绘制。(1)主电路板原理图绘制双击protel99SE图标打开软件后,新建一个.DDB的库文件。在新建好的库

37、文件中建立一个.sch的原理图文件。打开新建的原理图文件,设置图纸大小,宽1600,高1200。将所需元器件放置好,然后连线。在实际设计过程中可以利用protel99SE强大的网络连线功能,不需要将每条电气线路都画出来,只需将所要连接的元件引脚设置为相同的网络标号。原理图画好后进行元器件封装。最后进行ERC规则检查。主电路板原理图如图2-11所示,图2-11 主电路板原理图当设计好原理图,在进行了ERC电气规则检查正确无误后,就要生成网络表,为PCB布线做好准备。在“Design”下选取“Create Netlist”对话框,设置为相应格式的网络表。网络表生成后,就可以进行PCB设计了。新建议

38、个.pcb的文件,设置合适的边框大小,本设计PCB尺寸为143mm106mm。导入网络表,在“Design”下选择“load nets”,选取将要导入的网络表文件,点击“Execute”即可。接下来就可以进行布线。布线的关键是布局,多数设计者采用手动布局的形式。“Room”定义规则,可以将指定元件放到指定区域。protel99SE在布局方面新增加了一些技巧。新的交互式布局选项包括自动选择和自动对齐。使用自动选择方式可以很快地收集相似封装元件,然后旋转、展开和整理成组,就可以移动到板上所需的位置上了。当简易的布局完成后,使用自动对齐方式整齐的展开或缩紧一组封装相似的元件。在布线之前先要设置布线规

39、则。在“Design”下选择“Rules”对话框,选择不同网络布线的线宽、布线方式、布线的层数、安全间距、过孔大小等。有了布线规则,就可以进行自动或手动布线了。选择“Auto Route”菜单,采用自动布线。(2)辅助电路板设计LED由强电部分与弱电部分组成。强电部分包括16个+5V的继电器以及32个接线端子。本设计可单独控制48个继电器通断,考虑到实际应用中可能不需要48个继电器,所以LED板只设计16个继电器输出,如果需要更多输出,则可以通过CPU板上的接口进行扩展。弱电部分包括显示电路以及键盘电路。LED板原理图如图2-2-4所示:图2-2-4 LED板原理图强电部分通电电流较大,所以线

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

41、动态显示程序设计;44矩阵键盘扫描程序设计;密码程序设计;监控程序设计;延时程序设计;并行连接输出程序设计;设置程序设计;考核程序设计等等。(1) 中断和计数程序 在C51语言中,中断服务程序是以中断服务函数的形式存在的,该函数需要使用关键字interrupt进行定义,interrupt后面的参数04表明了中断源。在设计中断服务函数时常使用using关键字,using定义了在中断服务函数中使用的寄存器组,参数03,分别对应03通用工作寄存器,这样的好处是可以减少压入堆栈的变量内容,从而简化中断服务程序的内容,以加快程序执行的速度。装置的系统的运行采用中断扫描法,中断为每隔10ms中断一次,而监

42、视中断次数,可以计算出时间,于是,可实现定时功能。其子程序设计为:“void Timer0Int() interrupt 1 using 3”,详细程序请参考附录。(2)动态显示程序1)显示方法介绍 数码管有两种显示方法:静态显示法和动态显示法。所谓静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式占用CPU时间少,编程简单,但其占用的I/O口线多,硬件电路复杂,成本高,且只适合于显示字符位数较少的场合。动态显示是指逐次点亮每个数码管。方法是每个数码管的公共端都由一个IO口线来控制,以动态方式显示时,先选中第1个数码管,把数据送给它显示,一定时间后再选中第2个数

43、码管,把数据送给它显示即在某一时刻只有一个数码管在显示字符。这样只要扫描的速度足够高(要超过人眼的视觉暂留时间20ms),动态显示的效果在人看来就是几个数码管同时显示。采用动态显示方式比较节省IO口,硬件电路也比静态显示方式简单,用一个位选译码芯片74LS138就能实现,但其亮度不如静态显示方式时的亮度,而且在显示的数码管较多时,CPU要依次扫描,会占用较多的时间。2)选择输送显示P1口的低三位为输出位选信号,来控制六位数码管的工作;P1口的高四位为输送显示数据,用“=50) flag2=!flag2;s_Bian=0; ”。其具体实现的方法是:void Display0(void) if(f

44、lag2=1) -;Dis4=(char)s_Midxh4;Dis5=(char)s_Midxh5;else Dis4=(char)-1;Dis5=(char)-1;5)“Flag” 指令说明“Flag”指令的功能是:在考核模式下,用来 查看另一组(黑色)显示的,即显示的替换。(注:“Dis=(char)-1”是在数码管不能显示。执行此指令时,数码管灯不亮。)(3) 44矩阵键盘扫描程序矩阵式键盘的按键判别有两种方法:行列扫描法和键盘中断法。行列扫描法:从第1行(或列)开始使每一行(或列)分别置低电平,然后读入所有列。(或行)的状态,如果没有键被按下,则读到的列(或行)全为高电平;而当有键被按

45、下后,读入的列(或行)中必有一条为低电平,此时此列(或行)与该行(或列)的交点处的按键就是被按下的键。键盘中断法的一般电路如图3-5所示。P14Pl7置高电平,依次置P10P13为低电平,当有键被按下时,INT0引脚为低电平,于是单片机产生外部中断,在中断服务程序中通过读取P14P17的电平就可以判断是哪个键被按下。本课题用的是4行4列的矩阵式键盘,程序使用的是行列扫描法,其键盘程序流程图如图3-6。主程序初始化读取键值,预处理判断是否有键按下扫描键盘无有延时10ms,判断键是否松开是否返回有图3-6 键盘程序流程图执行相应的功能(4)密码程序 在此次密码程序的设计中,考虑到用户有可能会忘记密码,所以,在程序中设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号