毕业设计(论文)消防门控系统.doc

上传人:文库蛋蛋多 文档编号:3974682 上传时间:2023-03-30 格式:DOC 页数:25 大小:86.50KB
返回 下载 相关 举报
毕业设计(论文)消防门控系统.doc_第1页
第1页 / 共25页
毕业设计(论文)消防门控系统.doc_第2页
第2页 / 共25页
毕业设计(论文)消防门控系统.doc_第3页
第3页 / 共25页
毕业设计(论文)消防门控系统.doc_第4页
第4页 / 共25页
毕业设计(论文)消防门控系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《毕业设计(论文)消防门控系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)消防门控系统.doc(25页珍藏版)》请在三一办公上搜索。

1、山东经贸职业学院 毕 业 设 计(论 文) 课题: 消防门控系统 专业年级 : 2005级应用电子技术班 学生学号 : 200523418133 学生姓名 : 指导教师 : 评 阅 人 : 二八年四月中国潍坊卷帘门控系统学生姓名 班级 2005级应用电子技术班指导老师 摘要:本课题包括硬件设计和系统调试两大模块。其基本的内容是采用PIC16F84单片机组成单片机控制系统,利用PIC16F84的在线调试和在线编程能力,通过微机的PIC单片机开发软件,在线调试和在线编程,建立PIC单片机的调式编程环境,开发消防门控系统。消防门控系统,要求由单片机PIC16F84通过控制电路完成对消防卷帘门控制电机

2、(三相电机)的运行控制,包括手动控制运行,自动运行,位置检测,烟雾检测告警控制,温度检测告警控制,故障检测告警功能。功能包括: 1、主电学习:a.把卷帘提升上限位。 b、将附图中设置开关1拨到ON位置,此时“运行灯”亮。c.按手动盒“停止键”,卷帘下降到中限位(距地面1.8米)时再按“停止键”卷帘停止,延时时间到后再按“停止键”卷帘停止后自动上升到上限位时停止。d.将附图中设置开关1拨到OFF位置,此时“运行灯”灭,主电学习完成。2、备电学习a.把卷帘提升到上限位后,关掉主电。b.按“消音键”消除故障音。c.将附图中设置开关1拨到ON位置,此时“运行灯”亮。d.按手动盒“停止键”,卷帘自重下降

3、到中限位(距地面1.8米)时再按“停止键”卷帘停止后,后在自重下降到限位停止。e.将附图中设置开关1拨到OFF位置,此时“运行灯”灭,备电学习完成。f.合上主电,把卷帘提升到上限位。关键词:在线调试 在线编程 PIC16F84 PIC单片机开发系统 指导老师签名:1 绪 论11.1前言11.2设计任务与要求32 器件介绍42.1 PIC16F84单片机简介42.2 开发工具简介63系统设计83.1 系统总体设计83.2 系统硬件设计 84 整机及主要部件性能165 系统调试18参 考 文 献221 绪 论1.1前言近年来,随着计算机技术的发展,利用单片机技术开发的产品,越来越受到人们的青睐。本

4、课题是以PIC16F84单片机和电子技术应用为主设计的单片机控制系统。本课题主要是训练对电子技术、单片机技术的应用能力。根据专业特点、课程设置和教学要求,本专业的学生应具有电子技术方面的设计能力,在毕业设计中应重点体现和检验这种综合能力,提高毕业生的技术水平,从而培养新一代既具有理论、又具有动手能力的实用性人才,以适合国家建设和发展的需求。通过本次设计应熟悉PIC单片机的工作原理和开发的整个流程,熟练应用Protel99进行原理图的设计和PCB的设计。据统计,我国的单片机年容量已达13亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,

5、有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。 当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,即所谓冯.诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,且由于一般指令线宽于数据线,使其指令较同类CISC单片机指令包含更多的处理信息,执行效率更高,速度亦更快。同时,这种单片机指

6、令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化。属于CISC结构的单片机有Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列等;属于RISC结构的有Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。一般来说,控制关系较简单的小家电,可以采用RISC型单片机;控制关系较复杂的场合,如通讯产品、工业控制系统应采用CISC单片机。不过,RISC单片机的迅速完善,使其佼佼

7、者在控制关系复杂的场合也毫不逊色。根据程序存储方式的不同,单片机可分为EPROM、OTP(一次可编程)、QTP(掩膜)三种。我国一开始都采用ROMless型单片机(片内无ROM,需片外配EPROM),对单片机的普及起了很大作用,但这种强调接口的单片机无法广泛应用,甚至走入了误区。如单片机的应用一味强调接口,外接I/O及存储器,便失去了单片机的特色。目前单片机大都将程序存储体置于其内,给应用带来了极大的方便。值得一提的是,以往OTP型单片机的价格是QTP的3倍,而现在已降至1.51.2倍,选用OTP型以免订货周期、批量的麻烦是可取的。 随着科技的迅猛发展,微处理器和集成电路的功能大大加强,单片机

8、(single-chip Microcomputer)以体积小、功能强和价格低廉等优点广泛用于家电、工业过程控制、仪器仪表、智能武器、航空和空间飞行器等领域。所谓的单片机就是把计算机最基本的功能电路,如CPU、程序存储器、数据存储器、I/O接口、定时/记数器、中断系统等集成到一块芯片上,形成单片形态的计算机。但单片机本身没有自开发功能,必须借助工具来排除目标系统样机中的硬件故障修改并生成目标系统,并排除程序错误,当目标系统调试成功后还需要开发工具把目标程序固化到单片机的内部或外部EPROM中.编译软件、仿真器和编程器是单片机开发的基本工具。1) PIC最大的特点是不搞单纯的功能堆积,而是从实际

9、出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机,如图1所示:该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在36元人人民币。这样一款单片机在象摩托车点火器这样的应用无疑是非常适合。PIC的高档型号,如P

10、IC16C74(尚不是最高档型号)有40个引脚,其内部资源为ROM共4K、192字节RAM、8路A/D、3个8位定时器、2个CCP模块、三个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其它品牌的高档型号媲美。2) 精简指令使其执行效率大为提高。PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。3) 产品上市零等待(Zero time to market)。采用PIC的

11、低价OTP型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。4) PIC有优越开发环境。OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。6) 彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读

12、出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。7) 自带看门狗定时器,可以用来提高程序运行的可靠性。8) 睡眠和低功耗模式。虽然PIC在这方面已不能与新型的TIMSP430相比,但在大多数应用场合还是能满足需要的。1.2设计任务与要求本课题包括硬件设计和系统调试两大模块。其基本的内容是采用PIC16F84单片机组成单片机基本系统,利用PIC16F84的在线调试和在线编程能力,通过微机的PIC单片机开发软件,在线调试和在线编程样本例子程序,建立PIC单片机的调式编程环境,提供一个PIC单片机的操作开发学习平台。其具体控制要求为:本设计选用PIC16F84单片机,实现应通过

13、手动控制装置控制纺火卷帘执行上升、停止、下降动作,能接受防火卷帘限为器的反馈信号,控制防火卷帘执行相应的动作,并发出卷帘动作声、光指示信号要求:1、 设计方案论证,选择最优方案2、 画出原理图3、 设计印制板电路图4、 元器件配套5、 焊接、组装、调试6、 系统调试7、 文档整理2 器件介绍2.1 PIC16F84单片机简介Microchip公司生产的PIC 8位单片机16F8X系列产品是PIC单片机中级型产品之一。该系列产品的主要型号是16F83和16F84。该系列产品的最大特点是有8k14的Flash(闪速E2PROM)程序存储器和带8位的Flash(闪速E2PROM)数据存储器,其擦写次

14、数上万次,数据保存时间大于40年。所以该系列产品极适合那些可能会经常改动程序编程的应用,例如用户可以随时改动出厂产品中的单片机程序以增加或调整产品的功能。此外,对那些学习、开发PIC单片机的个人或单位,都是一种很好的可重复多次的实验芯片。还有它内部的Flash数据存储器不仅具有掉电保护数据的功能,加之它是由单片机内部进行控制操作的,自然外部电路无法对其进行读写,所以它有极高的数据保密性,使得PIC16F8X在智能IC卡、密码锁、电子防盗系统等方面得到广泛的应用。1.主要功能高性能RISC结构CPU;精简指令集35条单字节指令;执行速度DC400ns;Flash程序和数据存储器;多种硬件中断和直

15、接/间接/相对三种寻址方式。其余性能参见附表。2.微控制特性上电复位;自振式看门狗;程序保密位;微功耗睡眠功能和四种可选的振荡方式。3.电源和温度特性宽工作电压:2V6V(PIC 16LF84工作电压为2V)宽工作温度范围:商用级070;工作级4085;汽车级40125。这里的宽工作温度范围,特别是汽车级产品已大量用于汽车电子,甚至已用于航空仪表上。 PIC16F84单片机的引脚排列可参阅本期本版的16F8X系列简介一文。本文的附图是该器件的主要组成部分。PIC16F84虽然体积不大,但仍然是一个完整的计算机,它有一个中央处理器(CPU)、程序存储器(ROM)、数据寄存器(RAM)和两个输入/

16、输出口(I/O口)。 和其它品种的单片机一样,CPU是此单片机的“首脑”,它从程序存储器中读取和执行指令。在取指和执行时,还可同时对数据寄存器进行取数(前已介绍PIC16F84采用哈佛结构)。由附图可明显看出,程序存储器和数据存储器各有一条总线与CPU相连。有些CPU将CPU内部的寄存器与其外部的RAM是分开管理的,但PIC单片机不是这样,它的通用数据RAM也归为寄存器,称为File寄存器。在PC16F84中,有68个字节的通用RAM,其地址为0CH4FH。 除了通用数据寄存器外,还有一些专用寄存器,其中最常用的工作寄存器为“W寄存器”。CPU将工作数据存放在W寄存器中。寄存器W的作用与其它单

17、片机中的“累加器A”相似。此外,还有几个专用寄存器,它们分别以某种方式控制PIC的运作。 PIC16F84的程序存储器是由Flash(闪速)EPROM构成,它可用电来记录和擦除,而在断电时,仍可保留其内容。PIC单片机有些型号的程序存储器用的是EPROM,需要用紫外线来擦除;还有一些型号是一次性可编程(OTP)的产品(一经编程便不能再擦除)。 PIC16F84有两个输入/输出口,即A口和B口。每个口的每个引脚可单独设定为输入或输出。各个口的位是从0开始编号的。当A口为输出方式时,其第4位(即RA4)为开路集电极(或开路漏极)输出,而B口及A口其它各位为常规的全CMOS驱动电路。这些功能必须注意

18、,否则会在编程时出错。CPU对每个端口都按一个字节8位来处理,但A口只有5位引脚。 PIC输入与COMS兼容,所以PIC输出可驱动TTL或CMOS逻辑芯片。每个输出引脚可以流出或吸入20mA电流,即使一次只用了一个引脚亦是如此。 PIC16F84还有一些其它功能,如用来长期存放数据的EEPROM、定时器/计数器模块等,这里也暂不讨论。2.2 开发工具简介一、利用原理图设计工具绘制原理图,并且生成对应的网络表。二、画出自己定义的非标准器件的封装库,建议将自己所画的器件都放入一个自己建立的PCB 库专用设计文件。 三、设置PCB设计环境和绘制印刷电路的版框含中间的镂空等 四、打开所有要用到的PCB

19、 库文件后,调入网络表文件和修改零件封装五、布置零件封装的位置,也称零件布局 六、根据情况再作适当调整然后将全部器件锁定 七、布线规则设置八、自动布线和手工调整 八、自动布线和手工调整 九、切换到单层显示模式下(点击菜单命令Tools/Preferences,选中对话框 Display栏的Single Layer Mode十、如果器件需要重新标注可点击菜单命令Tools/Re-Annotate 并选择好方向后 按OK十一、对所有过孔和焊盘补泪滴 十二、放置覆铜区 十三、最后再做一次DRC 指示灯:1、红色表示火灾报警及预警信号,黄色或淡黄色表示故障信号,绿色表示主,备电源工作正常。2、清楚地注

20、出指示灯功能。3、在一般环境光线条件下,指示灯应在距其3M远处能清晰可见。音响器件:1、在额定工作电压下,距离音响器件中心1M处,其声压级应在85DB以上,115DB以下。2、在85%额定工作电压条件下应能发出音响。接线端子:1、每一接线端子上都就清晰、牢固地标注上其编号或符号,其用途应在有关文件中说明。2、接有工作电压超过50V导线的端子应有绝缘盖。开关按键:应牢固、耐用,并在其上(或靠近的位置上)清楚地标出其功能。控制器:1、与其相关的火灾探测器组的感烟火灾探测器动作后,能输出控制防火卷帘下降至中限位(1.8m)的控制信号。2、与其相关的火灾探测器组的感温火灾探测器动作后,能输出控制防火卷

21、帘下降至下限位的控制信号。手动控制装置:1、有表示操作方向的标志。2、有防止非专门人员操作的措施。如果采用锁,钥匙应通用。通电实验:通电运行45D,试件应牌正常工作状态;电源实验:应有主、备电源转换功能;主、备电源的工作状态应有指示,主电源应有过流保护措施。主、备电源转换不应使控制器发生误动作。主电源容量应能保证控制器在输出控制防火卷帘动作信号条件下工作2H。外观:表面应无腐蚀、涂覆层剥落、起泡现象,应无明显划伤、裂痕、毛刺等机械损伤;坚固部位应无松动,控制机构应灵活二、1、电压波动:当交流电网电压在(187242)V范围内波动,频率偏差不超过标准频率(50HZ)的正负1%,控制器应能正常工作

22、。2、耐压:试验期间,试件不应发生表面飞弧、扫掠放电、电晕和击穿现象;试验结束后,试件性能应满足要求。;文字符号和标志液压清晰。 3系统设计3.1 系统总体设计该总体包括:该系统由PIC16F84单片机控制,利用其它软件的集成人机界面系统和监控管理系统进行集中管理,利用PIC16F84单片机的方便灵活执行可靠有效的分散控制,几者强强联合,达到系统功能的最优化。该设计主要应用了PIC单片机和电子技术,并且应用Protel99进行原理图设计和PCB的设计。3.2 系统硬件设计1 介绍PIC16F84 ,其基本组成可分为四个主要部分,即运算器ALU 和工作寄存器W;程序存储器;数据存储器和输入/输出

23、(I/O)口;堆栈存储器和定时器等。现分别介绍如下。运算器ALU 及工作寄存器W运算器ALU 是一个通用算术、逻辑运算单元,用它可以对工作寄存器W 和任何通用寄存器中的两个数进行算术(如加、减、乘、除等)和逻辑运算(如与、或、异或等)。16F84 是八位单片机,ALU的字长是八位。在有两个操作数的指令中,典型的情况是一个操作数在工作寄存器W 中,而另一个操作数是在通用寄存器中,或者是一个立即数。在只有一个操作数的情况下,该数要么是在工作寄存器W 中,要么是在通用寄存器中。W 寄存器是一个专用于ALU 操作的寄存器,它是不可寻址的。根据所执行的指令,ALU 还可能会影响框图中状态寄存器STATU

24、S 的进位标志C、全零标志Z 等。2 程序存储器3 单片机内存放程序指令的存储器称为程序存储器。PIC16F84 的所有指令字长为14 位。所以程序存储器的各存储单元是14 位宽。一个存储单元存放一条指令。16F84 的程序存贮器有1024(28)个存储单元(存储容量为1k)。这些程序存储器都是由FPEROM 构成的。程序存储器是由程序计数器PC 寻址的。16F84 的程序计数器为13 位宽,可寻址8K(81024)的程序存储器空间,但16F84 实际上只使用了1k 的空间(单元地址为03FFH)。当访问超过这些地址空间的存储单元时,将导致循环回到有效的存储空间。对于用过其它单片机的用户,可能

25、会感到16F84 的片内存储器容量太少了。实际上并非如此,因为16F84 的指令系统都是由单字指令构成的,相应于其它由二字节、三字节甚至四字节指令的单片机而言,PIC 单片机的程序存储器有效容量要比标称值扩大25 倍到3 倍。4 数据存储器在单片机PIC16F84中,除了有存放程序的程序存储器外,还有数据存储器。单片机在执行程序过程中,往往需要随时向单片机输入一些数据,而且有些数据还可能随时改变。在这种情况下就需用数据存储器。由于数据存储器不但要能随时读取存放在其各个单元内的数据,而且还需随时写进新的数据,或改写原来的数据。因此,数据存储器需由随机存储器RAM构成。RAM存储器在断电时,所存数

26、据随即丢失,这在实际应用中有时会带来不便。但是,在16F84单片机中有648位E2PROM数据存储器。存放在E2PROM中的数据在断电时不会丢失。16F84单片机中的RAM数据存储器如表1所示,该RAM分为两个存储体:即存储体0(Bank0)和存储体1(Bank1)。每个存储体均可以直接用内部总线传送信息,所以它们都是以寄存器方式工作和寻址。这些八位寄存器,又可分为通用寄存器和专用寄存器两个部分。通用寄存器存放数据,专用寄存器存放控制单片机运作的信息。每个存储体最大可扩展到7FH(128个字节)。在每个存储体中,专用寄存器被安排在低位地址空间,通用寄存器被安排在高位地址空间。通用寄存器用法单一

27、,但专用寄存器却各有各的用处,现将较基本的专用寄存器作一简单介绍。(1)程序计数器(PCL、PCLATH)。程序计数器PC是对程序进行管理的计数器。PIC16F84的程序计数器为13位宽,最大可寻址的存储空间为8k14位。实际上16F84只使用前1k14位(000003FFH)存储空间。因程序计数器有13位宽,而专用寄存器只有8位。因此PC由两个专用寄存器构成。其低八位PCL是一个可读/写寄存器(地址为02H或82H),而高字节PCH(有效位5位)不能直接进行读/写操作,它是通过一个8位的保持寄存器PCLATH(地址为0A或8AH)把高5位地址传送给程序计数器的高字节。当执行CALL、GOTO

28、指写PCL时,PC值的高字节就从PCLATH寄存器中装入。(3)间接寻址INDF和FSR寄存器INDF寄存器不是一个物理寄存器,而是一个逻辑功能的寄存器(地址为00H或80H),当对INDF寄存器进行寻址时,实际上是访问FSR寄存器内容所指的单元,即把FSR寄存器作为间接寄存器使用。FSR称为“寄存器选择”寄存器,地址为(04H或84H)。对INDF寄存器本身进行间接寻址访问,将读出FSR寄存器的内容,例如当FSR=00H时,间接寻址读出INDF的数据将为00H。用间接寻址方式写入INDF寄存器时,虽然写入操作可能会影响STATUS中的状态字,但写入的数据是无效的。 4 I/O口 单片机作为一

29、个控制器件必定有数据输入和输出。输入量可能是温度、压力、转速等,而输出量可能是开关量和数据,以保证受控过程在规定的范围内运行。数据的输入和输出都需通过单片机内部有关电路,再与引脚构成输入/输出(I/O)端口。PIC16F84单片机芯片有两个I/O端口(PROTA和PORTB)。端口A为5位口,端口B为8位口,共占用13位引脚。每个端口由一个锁存器(即数据存储器中的特殊功能寄存器05H、06H单元)、一个输出驱动器和输入缓冲器等组成。当把I/O口作输出时,数据可以锁存;作输入口时,数据可以缓冲。 16F84 PORTA口中的RA4是斯密特触发输入、漏极开路输出。而其它的RA口引脚都是TTL电平输

30、入和全CMOS驱动输出。端口PORTB是一个八位双向可编程I/O口。各端口虽然也由锁存器、驱动器、缓冲器等构成,但因功能略有不同而导致电路亦存在差别。现以PORTA口的RA0 RA3的电路(见左图)为例,说明其基本工作原理。 图中RA口的I/O引脚是由数据方向位(寄存器TRISA)来定义数据流向。当TRISA寄存器的位置为“1”时,其输出驱动器(由P沟道和N沟道MOS管串接而成)呈高阻态,即两个MOS管均截止,I/O口被定义为输入。此时,数据由I/O端输入,经TTL输入缓冲器到D触发器。当执行读指令时,此D触发器使能,数据经三态门进入数据总线。 当TRISA的位置为“0”时,I/O口被定义为输

31、出,此时输出锁存器的输出电平就是I/O口的输出电平。 读PORTA寄存器的结果就是读取I/O引脚上的电平,而写PORTA寄存器的结果是写入I/O锁存器。所有的写I/O口的操作都是一个“读入/修改/写入”的过程,即先读I/O引脚电平,然后由程序修改(按要求给定一个值),再置入I/O锁存器。 PIC16F84单片机的输出可提供20mA的电流,所以它可直接驱动LED。PORTA和PORTB各个位均可分别定义为输入和输出。下面以PORTA口初始化程序的实例,说明选择I/O口的方法。 CLRF PORTA;端口A被清零 BSF STATUS;状态寄存器STATUS的RPO位置为1,选BANK1。 MOV

32、LW 0xCF ;将定向值 ;11001111置入W工作寄存器 MOVWF TRISA;置RA(30)位为输入 ;RA 54位为输出 ;TRISA 76位未用 在使用I/O口时应注意: (1)当需要一个I/O口一会做输入、一会又做输出时,输出值会不确定。 (2)I/O引脚输出驱动电路为CMOS互补推挽输出。当其为输出状态时,不能与其它输出脚接成“线或”或“线与”,否则,会因电流过载烧坏单片机。 (3)当对I/O口进行写操作后不宜直接进行读操作,一般要求在两条连续的写、读指令间至少加入一条NOP指令。 例:MOVWF 6 ;写I/O NOP ;稳定I/O电平 MOVF 6,W;读I/O 5堆栈

33、单片机执行程序时,常常要执行调用子程序。这样就产生了一个问题:如何记忆是从何处调用的子程序,以便执行子程序之后正确返回。此外,在程序执行过程中,还可能会发生中断,转而执行中断子程序,这时,又如何记忆从何处中断,以便返回呢? 满足上述功能的方法就是“堆栈”技术。 “堆栈”是一个用来保存临时数据的栈区。当主程序调用子程序时,单片机执行到CALL指令或发生中断时,就自动将下一条指令的地址“压栈”保存到栈区。当子程序结束,单片机执行返回指令时,就自动地把栈区的内容“弹出”,作为下步指令执行的新地址。 PIC16F84单片机芯片内有一个8级13位宽(与PC同宽)的硬件堆栈,此堆栈既不占用程序存储空间,也

34、不占用数据存储空间。当执行一条CALL指令或一个中断被响应后,程序计数器PC中的断点地址就自动被压栈(PUSH)保护,而当执行RETURN、RETLW或者RETFIE指令时,堆栈中的断点地址会弹回(POP)程序计数器PC中。无论是PUSH还是POP操作,都不影响PCLATH寄存器的内容。3.3 系统软件设计1、程序的基本格式 二条伪指令: EQU 标号赋值伪指令 ORG 地址定义伪指令 一种清晰明了的格 TITLE This is ;程序标题 ;- ;名称定义和变量定义 ;- F0 EQU 0 RTCC EQU 1 PC EQU 2 STATUS EQU 3 FSR EQU 4 RA EQU

35、5 RB EQU 6 RC EQU 7 PIC18F452 EQU 1FFH ;芯片复位地址 ;- ORG PIC18F452 GOTO MAIN ;在复位地址处转入主程序 ORG 0 ;在0000H开始存放程序 ;- ;子程序区 ;- DELAY MOVLW 255 RETLW 0 ;- ;主程序区 ;- MAIN MOVLW B00000000 TRIS RB ;RB已由伪指令定义为6,即B口 LOOP BSF RB,7 CALL DELAY BCF RB,7 CALL DELAY GOTO LOOP ;- END ;程序结束 注:MAIN标号一定要处在0页面内。 2、程序设计 1) 设置

36、 I/O 口的输入/输出方向 PIC18F452的I/O 口皆为双向可编程,即每一根I/O 端线都可分别单独地由程序设置为输入或输出。这个过程由写I/O 控制,写入值为“1”,则为输入;写入值为“0”,则为输出。 MOVLW 0FH ;0000 1111(0FH) 输入 输出 TRIS 6 ;将W中的0FH写入B口控制器, ;B口高4位为输出,低4位为输入。 MOVLW 0C0H ; 11 000000(0C0H) RB4,RB5输出0 RB6,RB7输出1 2) 检查寄存器是否为零 如果要判断一个寄存器内容是否为零,很简单,现以寄存器F10为例: MOVF 10,1 ;F10F10,结果影响

37、零标记状态位Z BTFSS STATUS,Z ;F10为零则跳 GOTO NZ ;Z=0即F10不为零转入标号NZ处程序 ;Z=1即F10=0处理程序 3) 比较二个寄存器的大小 要比较二个寄存器的大小,可以将它们做减法运算,然后根据状态位C来判断。注意,相减的结果放入W,则不会影响 例如F8和F9二个寄存器要比较大小: MOVF 8,0 ;F8W SUBWF 9,0 ;F9W(F8)W BTFSC STATUS,Z ;判断F8=F9否 GOTO F8=F9 BTFSC STATUS,C ;C=0则跳 GOTO F9F8 ;C=1相减结果为正,F9F8 GOTO F9 F9 ;C=0相减结果为

38、负,F9F8 4) 循环n次的程序 如果要使某段程序循环执行n次,可以用一个寄存器作计数器。下例以F10做计数器,使程序循环8次。 COUNT EQU 10 ;定义F10名称为COUNT(计数器) MOVLW 8 MOVWF COUNT LOOP ;循环体 LOOP DECFSZ COUNT,1 ;COUNT减1,结果为零则跳 GOTO LOOP ;结果不为零,继续循环 ;结果为零,跳出循环 5)“IFTHEN”格式的程序 下面以“IF X=Y THEN GOTO NEXT”格式为例。 MOVF X,0 ;XW SUBWF Y,0 ;YW(X)W BTFSC STATUS,Z ;X=Y 否 G

39、OTO NEXT ;X=Y,跳到NEXT去执行。 ;XY 6)“FORNEXT”格式的程序 “FORNEXT”程序使循环在某个范围内进行。下例是“FOR X=0 TO 5”格式的程序。F10放X的初值,F11放X的终值。 START EQU 10 DAEND EQU 11 MOVLW 0 MOVWF START ; 0START(F10) MOVLW 5 MOVWF DAEND ;5DAEND(F11) LOOP INCF START,1 ;START值加1 MOVF START,0 SUBWF DAEND,0 ;START=DAEND ?(X=5否) BTFSS STATUS,Z GOTO

40、LOOP ;X5,继续循环 ;X5,结束循环 7)“DO WHILEEND”格式的程序 “DO WHILEEND”程序是在符合条件下执行循环。下例是“DO WHILE X=1”格式的程序。F10放X的值。 X EQU 10 MOVLW 1 MOVWF X ;1X(F10),作为初值 LOOP MOVLW 1 SUBWF X,0 BTFSS STATUS,Z ;X1否? GOTO LOOP ;X1继续循环 ;X1跳出循环 4 整机及主要部件性能 1)连接由一只电型感烟火灾测试和一只点型感温火灾探测器组成的控制器,能接收火灾报警信号,控制防火卷帘完成相应的动作,并发出卷帘动作声、光指示信号。与其相

41、关的火灾探测器组的感烟火灾探测器动作后,能输出控制防火卷帘下降至中限位(距地或地面1.8m加减0.1m)的控制信号,能输出控制防火卷帘下降至下限位的控制信号 2)应能接受来自与其相连的消防联动控制设备的半降、全降控制信号,在3s内发出控制防火卷帘完成相应的信号。在防火卷帘自动下降的过程中,通过手动控制装置应优先插入急停操作,防火卷练急停延时(30-300)s(内部可调)后,输出控制信号控制防火卷帘自动下降至下限位置。1、绝缘性能:试件有绝缘要求的外部带电端子与机壳之间、电源插头(或电源接线端子)与机壳之间的绝缘电阻应分别大于20m欧母和50m欧母。2、气候环境适应性能:控制器应能耐受住所规定的高温、低温、恒定湿热和低温耐久试验,试验期间及试验后的性能应满足有关试验要求。3、机械环境适应性能:控制器应能耐受住规定的振动试验和碰撞试验4、电磁干扰环适应性能 5 系统调试 一、安装、接线调试当硬件调试或软件分模块调试完成之后,就可以进行系统综合调试(即系统调试)。在系统综合调试时,应将全部硬件电路都接上,应用程序也都组合好,进行全系统软硬件的统调。综合调试的任务达到要求的技术性能指标。调试中应注意以下几点:1.控制器底面有两个安装孔,可用镙栓将其固定在墙壁上。两个按钮盒分别置于墙壁两端合适的位置上。2.与控制器的连接应大于或等于1平方米,导线应应用

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号