基于单片机的水处理控制器设计毕业论文.doc

上传人:laozhun 文档编号:3940100 上传时间:2023-03-28 格式:DOC 页数:26 大小:588.50KB
返回 下载 相关 举报
基于单片机的水处理控制器设计毕业论文.doc_第1页
第1页 / 共26页
基于单片机的水处理控制器设计毕业论文.doc_第2页
第2页 / 共26页
基于单片机的水处理控制器设计毕业论文.doc_第3页
第3页 / 共26页
基于单片机的水处理控制器设计毕业论文.doc_第4页
第4页 / 共26页
基于单片机的水处理控制器设计毕业论文.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于单片机的水处理控制器设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的水处理控制器设计毕业论文.doc(26页珍藏版)》请在三一办公上搜索。

1、摘要 由于单片机在工控领域的优点,使以单片机为内核的控制器在生产生活中得到了广泛的应用。本文对基于单片机的水处理控制系统进行研究。 正文针对应用于系统的单片机器件的功能,原理和实现电路作了介绍。系统软件设计采用面向过程的结构化设计语言C语言实现硬件的工作。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。关键词:单片机,水处理控制器,7289.Astract Because of the advantage of microcontroller on controlling ,microcontroller is made large use in produce. T

2、his text to basic proceeded the research in Micro Controller Unit water handling control system. The text inside introduces functions ,principles and circuits of appliances of Micro Controller Unit. The predominance thought that this text compose is soft, the hardware combines together, regarding ha

3、rdware as the foundation, proceed the plait of each function mold piece write.Keywords: Micro Controller Unit water purified controller 7289目 录The Design Of A Water purified Controller1绪 论2第一部分 系统设计说明3一.水处理控制器介绍3二.系统的设计思路6第二部分 工程模块的建立7一.CPU的选择7二.键盘控制10三.复位18四.中断 18五,程序简析 21第三部分 毕业设计的收获26参考文献:26 绪 论

4、单片微型计算机(Single Chip Microcomputer)简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机在控制领域中,具有如下特点:l 单片机具有体积小、控制功能强、成本低等特点,因而可方便地组装各种智能式控制设备和仪器,做到机、电、仪一体化。l 易扩展,很容易构成各种规模的应用系统,为应用系统的设计和生产带来极大的方便。l 可靠性好,适用温度范围宽,在各种恶劣的环境下都能可靠工作,这是其他机种无

5、法比拟的。l 可以方便地实现多机和分布式控制,从而使整个控制系统的效率和可靠性大为提高随着社会对环保工作的要求不断提高,以及工业对节能高效低耗的不断追求,水处理的新工艺新设备不断涌现。随之,对控制系统的要求也不断提高,由以往的手动控制改为自动控制。单片机由于其自身的特点使其在水处理控制领域有了很大的发展。此次设计的控制系统主要用于锅炉用水的软化。众所周知,自然界中的水中含有大量的钙,镁离子,这些阳离子使得水硬度很高,很容易在加入的时候沉淀出来,形成结垢现象,结垢不仅会使锅炉的效率降低,同时当结垢达到一定厚度时还会造成安全隐患,发生爆炸。因此国家有规定锅炉的用水必须经过软化处理后方可使用。 所以

6、,本次毕业设计的对象为锅炉水处理控制系统的控制器。设计中选取的C8051F221器件是完全集成的混合系统级MCU芯片,使用Cygnal的专利CIP-51TM位控制器内核。CIP-51与8051完全兼容,结构上采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高,而且在微控制器的内部和外部有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。在设计中用可读性强的C语言在相应环境下进行程序设计,调试并进行仿真测试以实现所需功能。 第二章 系统设计说明一. 水处理控制器的介绍 1. 水处理的工艺流程此控制器的控制对象为四工位平面阀为:松床位,再生位,置换位和清洗位。工艺流程示意图如

7、下:再 生 位1#开3#开松 床 位1#开3#关 电机转动换位 电机转动换位 电机转动换位 置 换 位1#开3#关清 洗 位1#开3#关 电机转动换位 1#为进水阀,3#为再生阀。 图1-1. 水处理工艺流程具体工作过程是:程序启动,开始运行初始位默认为松床位,按工位顺序进行依次是再生 置换 清洗。进水阀开关由水位控制,低水位开,高水位关。换位时电机转动,进水阀关。再生阀是再生位开始打开,结束时关。2.工作原理 系统可以通过手动控制实现换位,在正常工作状态下是自动运行的,换位是由电机转动完成。原理图如下: 图1-2. 换位原理3.人机界面 为了便于生产过程中的操作设计出相应的人机界面,使各过程

8、可以在可视状态下进行。单片机的CPU及扩展应用的7289使界面的按键,数码管和指示灯控制相应的工作状态,显示相应工作过程。其示意图如下,其中复位键按下显示初始状态,选位键与键结合可选工位,确定键确定相应设定,键用来移位。 图1-3.人机界面4.系统实现功能 4.1 具有记忆、保护功能1) 停电時可自动记忆当前状态;来电時自动烣复停电前原状态继续运行;2)无电情况下,芯片内部数据可保存10年。4.2 具有水位自动检测、控制和自动报警、保护、提示功能1) 当水位超高時,6秒后水位高限红灯亮,自动停运,水位恢复正常后红灯灭、系统进入保护、工位循环停止,直至水位降到设定低位,恢复工位循环,水位降至低于

9、低位超过30秒,低限红灯亮,水箱缺水,但工位循环继续进行,提醒运行人员前去检查处理;2) 自动电机定位,若电机转动换位过程中,被卡大于90秒,无霍尔元件到位信号,则过载灯亮,蜂鸣器发出警报声,工位循环停,提醒运行人员前去检查处理;3) 选位功能,可随意的进行人为工位选择;复位功能,可立即清除当前数据,返回初始状态;4) 键盘防误功能;(一)开、关机及复位按电源开关键,控制器自动按前次停机时记忆工位及剩余时间开始工作。再按电源开关键,控制器记忆当前状态,并停止工作。运行时,按住复位2秒不放,数码管显示RST,控制器各工位时间全置为出厂时设定的原始数据,从松床开始工作。(二)数码管显示和流程时间修

10、改工位及流程代码表1-1工 位松床位再生位置换位清洗位工位代码1234按键及数码管显示功能表1-2运行状态数码管第一位(左起)第二位至第四位(左起)显示E-左交换柱R-右交换柱数码管显示流程的剩余时间流程时间修改键 名按确定2秒确定键的作用进入时间修改状态移位数值递增改变进入下一流程时间调整数码管第一位(左起)第二位(左起)第三位(左起)第四位(左起)显示流程代码流程时间的百位流程时间的十位流程时间的个位手动转动电机键 名按选位2秒确定键的作用进入调整状态电机转动遇霍尔信号自动停返回运行状态手动工位选择键 名按选位2秒确定键的作用进入调整状态工位号增1本次工位选择有效数码管第一位(左起)第三位

11、(左起)显示E-左交换柱R-右交换柱当前工位代码(三)工位时间修改流程时间修改时不用停止当前循环,可在任何运行状态或电机转动状态下进行,修改完成后按下确认键返回当前状态,在修改过程中,不会影响当前的运行状态。如果在修改状态下,15秒不触动任何键即返回当前状态。修改方法:1、定个位数字:按住 确认键2秒不放,左第1数码管显示流程代码,右边三位数码管显示该代码下的参数值,右边第1数码管“闪动”, 按“”键 ,每按一次,或按住不放,数字自0至9循环递增变化 ,松手即停,按到要设定的个位数字后松手; 2、定十位数字:按 “” 进位键,十位数字“闪动”,再按“”键,十位数字自0至9循环递增变化 ,按到要

12、设定的十位数字后松手;3、定百位数字:方法同上; 4、进入下一个流程:再按确定键,左第1数码管显示下一个流程代码,再重复上面方法修改时间,直至6个流程时间修改完;5、进入运行状态:最后一个参数设置后,按确定键确认,这時左第1数码管显示原柱号,数码管停止闪动,进入原流程时间设定状态继续运行;6、参数设置无效:设置流程时间参数未全部完成,如果15秒内没有按下确定键,则程序自动返回运行状态显示,且本次参数设置无效,按原参数运行; 7、修改完后的流程时间不会立即见效,下一流程才按设定参数执行, 如果要使设定状态立即进入运行,要按下面(三)选位方法,使它进入原柱号原工位,则控制器按新设置的参数运行。检查

13、各流程时间方法: 按确定键 左第1数码管显示流程代码, 右边三个数码管显示该代码下的参数值,按一次确定键,进入下一流程,直到最后一流程参数,再按确定键,进入运行显示,如果15秒内后没有按下确定键 ,则自动返回运行显示。(四)选位操作1 、选位键作用:用手动方法使控制器显示工位与多路阀工位一致,或使它进入需要的工位排除电机卡住故障或电机转动换工位用;2 、选位操作按住选位键2秒不放,右边三个数码管中中间一个显示当前工位代码,左第1数码管显示柱号,即进入选位状态。按“”键,代码变到下一个,按下确定键,退出选位状态,就进入选定工位;3 、电机转位操作按选位键2秒不放,右边三个数码管中中间一个显示当前

14、工位代码,按“”键,电机开始转动,直到霍尔发出到位信号,电机自动停止,按“”键代码变到下一个工位,按确定键,退出转位操作,返回运行状态;4、电机卡住故障处理电机卡住时,应先排除故障,再进行电机转位操作;5、同时进行选位和电机转位操作在选位状态时,可同时进行选位和电机转位操作。当前在第一工位,要转换到第三工位,同时电机也要转位到第三工位,可进行如下的操作:按“”键,代码变为2,再按“”键,代码变为3;按下“”键,电机开始转动,直到霍尔发出到位信号,电机自动停止,再按一下“”键,电机开始转动,直到霍尔发出到位信号,电机自动停止,再按下确定键,退出转位操作,返回运行状态,控制器即第三工位开始运行。二

15、.系统的设计思路1.设计方案 水处理控制器的功能框图如下所示 CPU 键盘显示水位 电机 图1-4.功能框图根据这个功能框图可以看出,单片机要完成的主要任务是通过I/O口实现键盘功能,通过I/O口和总线扩展实现显示功能,通过I/O口或A/D转换实现电机控制和水位检测功能。通过软件的中断设置和单片机外中断设置,来设置蜂鸣器和工作的优先级。2.设计步骤 (1).选择符合要求的器件 (2).充分了解个器件的功能和原理并掌握其实现电路(3).设计电路(4).程序设计 第二部分 工程模块的建立一.选择 CPU 根据设计要求选择C8051F2XX系列器件型号为F221的单片机用CIP-51TM 微控制器内

16、核。1.总体结构所选CPU与8051完全兼容,结构上与之相同,都具有以下结构:l 8位CPU,片内时钟振荡。l 4KB程序存储器,片内低128B数据存储器RAM。l 可寻址外部存储器和数据存储器空间各64KB。l 片内有21个特殊功能寄存器SFR。l 4个8 为并行I/O口,1个全双工串行口。l 2个16位定时器/ 计数器。l 5个中断元,2个中断优先级。为寻址功能,适用于布尔处理的位处理机。除此之外,它提高了指令执行的速度和整体性能,更适于在最终应用中使用。结构图如下: 图2-1.结构图 2.引脚定义及功能 C8051F221是32引脚的方形封装方式集成电路芯片,引脚排列如图: 图2-2.

17、引脚图从引脚功能来看,可将引脚分为3个部分。电源及时钟引脚VDD:数字电源GND:接地XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟是,此引脚段用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。控制引脚/RST:芯片复位。当RST输入端保持2 个极其周期以上高电平是,单片机完成复位。VREF:电压基准CP0+:比较器0的正相输入端 CP0-:比较器0的反相输入端CP0:比较器0的输出端 CP1+:比较器1的正相输入端CP1-:比较器1的反相输入端CP1:比较器1的输出端I/O口引脚P0.0P0.7:P0口8位双向I/O口P1.0P1.7:P1口8位准双

18、向I/O口P2.0P2.7:P2口8位准双向I/O口P3.0P3.7:P3口8位准双向I/O口。程序设计中的定义 在程序设计中要对应用的I/O口引脚进行定义,本设计应用到的输入输出端口有P0,P 1,P2,P3的部分口,原程序代码下:, /CPU与7289通讯用端口定义sbit key=P22; sbit cs=P23;sbit clk=P20;sbit dio=P21;/ 输出部分定义sbit Mt=P00;sbit bFM=P24;sbit ZSF=P17; /3#再生阀,底电平继电器吸合sbit JSF1=P16; /1#进水阀,底电平继电器吸合/显示灯的定义sbit CDXD=P25;

19、 /清洗灯/输入部分端口定义sbit MPosCur1=P02;sbit MPosCur=P02;sbit WaterLS=P03;sbit WaterHS=P04;sbit WaterHS1=P04;sbit WaterLS1=P03; 二. 键盘控制器(ZLG7289)1.ZLG7289的主要特性l 很宽的工作电压范围:+2.76Vl 直接驱动8位共阴式数码管或64只独立的LEDl 能够管理64只按键,自动消除抖动l 段电流可达15mA以上,自电流可达100mA l 利用功率电路可以方便的驱动1英寸以上的大型数码管l 具有左移,右移,闪烁,消隐,断点.亮等强大功能l 要显示的数据提供有两种

20、不同的译码方式l 不接数码管而仅使用键盘管理功能时,工作电流可降至3mAl 与微控制器之间采用SPI串行总线接口,操作方便,占用I/O资源少l 工作温度范围:-40+85 0 Cl 封装:SOP-28,DIP-28。2.引脚图及功能介绍 图2-3.ZLG7289引脚 表2-1.引脚功能引脚序号引脚名称引脚功能描述 1RTCC接电源 2VCC电源:+2.76V 3NC悬空 4GND接地 5NC悬空 6 CSSPI总线片选信号,低电平有效 7CLKSPI总线时钟输入信号,上升沿有效 8 DIOSPI总线时数据信号,双向 9INT键盘中断请求信号,低电平有效 10SG/KR0数码管g段/键盘行信号0

21、 11SF/KR1数码管f段/键盘行信号1 12SE/KR2数码管e段/键盘行信号2 13SD/KR3数码管d段/键盘行信号3 14SC/KR4数码管c段/键盘行信号4 15SB/KR5数码管b段/键盘行信号5 16SA/KR6数码管a段/键盘行信号6 17DP/KR7数码管dp段/键盘行信号7 18 KC0/DIG0数码管字选信号0/键盘列信号0 19KC1/DIG1数码管字选信号1/键盘列信号1 20KC2/DIG2数码管字选信号2/键盘列信号2 21KC3/DIG3数码管字选信号3/键盘列信号3 22KC4/DIG4数码管字选信号4/键盘列信号4 23KC5/DIG5数码管字选信号5/键

22、盘列信号5 24 KC6/DIG6数码管字选信号6/键盘列信号6 25 KC7/DIG7数码管字选信号7/键盘列信号7 26OSC1晶振输出信号 27OSC2晶振输入信号 28RST复位信号,低电平有效3.应用电路及简析硬件设计中的电路设计如下: 图2-4.应用电路为了使电源更加稳定,一般要在Vcc 到GND 之间接入47470uF的电解电容。J1 是ZLG7289B 与微控制器的接口。晶振Y1 取416MHz,调节电容C3 和C4 通常取值在10pF 左右。复位信号是低电平有效,一般只需外接简单的RC 复位电路,也可以通过直接拉低RST 引脚的方法进行复位。数码管必须是共阴式的,不能直接使用

23、共阳式的。DPY1 和DPY2 是4 位联体式数码管,共同组成完整的8 位。数码管在工作时要消耗较大的电流,R9R16 是限流电阻,典型值是270。64 只按键中,左下角是K0,右上角是K63。为了使键盘扫描得以正常进行,下拉电阻R1R8 和位选电阻R17R24 是必须的。它们之间还要遵从一定的比例关系,比值在5:1到50:1 之间,典型值是10:1。下拉电阻取值范围在10100K,位选电阻取值范围在110K。在多数应用当中可能用不到太多的按键,建议按列裁减键盘,则相应列的位选电阻可以省略。但是下拉电阻一个都不能省去,除非完全不使用键盘。4. SPI 串行接口信号ZLG7289B 与微控制器的

24、接口采用3 线制SPI 串行总线,由CS、CLK 和DIO 这3 根信号线组成。CS 和CLK 是输入信号,由微控制器提供。DIO 信号是双向的,必须接到微控制器上具有双向功能的I/O 上。SPI 信号线的具体意义请参见下表:信号名称 引脚序号 描述CS 6 SPI 总线片选输入信号, 低电平有效CLK 7 SPI 总线时钟输入信号, 上升沿有效DIO 8 SPI 总线数据信号, 双向(1) SPI 总线时序图操作SPI 总线的时序图请参见图1、图.2 和图3。其中图3 是读按键值的时序图,只有当INT 引脚出现下跳沿时才允许去读取按键值,否则将得不到有意义的数据。 图2-4.SPI时序图5

25、控制指令详解ZLG7289B 的控制指令分为单字节纯指令和双字节带数据指令两大类。1 单字节纯指令所有这些指令的长度都是1 个字节。执行这一类指令时,不需要附带任何其它数据。(1) 复位(清除)指令 D7D6D5D4D3D2D1D0 10100100这时一条软复位指令,执行后会将数码管所有的显示内容清除掉,原先设置的所有闪烁、消隐等属性也一并被清除,就像硬件复位一样。(2) 测试指令D7D6D5D4D3D2D1D010111111该指令使所有的数码管各段包括小数点在内全部点亮,并处于不断闪烁之中。这条指令可用于生产测试,以确定ZLG7289B 或数码管是否有问题。(3) 左移指令D7D6D5D

26、4D3D2D1D010100000该指令使数码管所有的显示自右向左移动一位(以第3 章中图3.1 的接法为准),处于闪烁和消隐状态的显示位也一起被移动。原来最左边的显示数据被移出后自动丢弃,最右边的一位用无任何显示的空白代替。每执行一次该指令,就左移一位。(4) 右移指令D7D6D5D4D3D2D1D010100001与左移指令类似,执行该指令后,数码管的数据显示向右移动一位,原来最右边的一位被丢弃,而最左边的一位用空白代替。(5) 循环左移指令D7D6D5D4D3D2D1D010100010与左移指令类似,但原来最左边被移出的显示数据不是被丢弃,而是补在最右边。执行一次循环左移指令后,显示就

27、变成了:(6) 循环右移指令D7D6D5D4D3D2待添加的隐藏文字内容1D1D010100011与右移指令类似,但原来最右边被移出的显示数据不是被丢弃,而是补在最左边。2 双字节带数据指令所有这些指令的长度都是2 个字节。第1 字节是命令字,第2 字节是输入或输出的数据。(1) 下载数据并且按方式0 进行译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010000a2a1a0dpxxxd3d2d1d0在指令格式中,高5 位的10000 是命令字段;a2a1a0 是数码管显示数据的位地址,位地址编号按从左到右的顺序依次为0、1、2、3、4、5、6、7;dp控制小数点是否显示,

28、dp0 时该位的小数点被点亮,dp1 时该位的小数点被熄灭;xxx是无关位;d3d2d1d0 是要显示的数据。显示数据按照下表中的规则进行译码:(2) 下载数据并且按方式1 进行译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D011001a2a1a0dpxxxd3d2d1d0在指令格式中,高5 位的11001 是命令字段;a2a1a0 是数码管显示数据的位地址,位地址编号按从左到右的顺序依次为0、1、2、3、4、5、6、7;dp控制小数点是否显示,dp0 时该位的小数点被点亮,dp1 时该位的小数点被熄灭;xxx是无关位;d3d2d1d0 是要显示的数据。(3) 下载数据但不

29、译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010010a2a1a0dpabcdefg在指令格式中,高5 位的10010 是命令字段;a2a1a0 是数码管显示数据的位地址,位地址编号按从左到右的顺序依次为0、1、2、3、4、5、6、7;dp控制小数点是否显示,dp0 时该位的小数点被点亮,dp1 时该位的小数点被熄灭;abcdefg对应数码管内部的7 个LED 字段。不译码的数据下载方式给用户提供了最大的灵活性,dp 连同abcdefg 一共有256 种不同的组合,想怎样显示就怎样显示。(4) 闪烁控制D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010

30、001000d7d6d5d4d3d2d1d0该指令控制数码管各位的闪烁属性。在指令格式中,第1 字节是命令字段;第2 字节的d7d6d5d4d3d2d1d0 分别对应数码管的第7 至第0 位,0闪烁,1不闪烁。复位后,所有位都不闪烁。(5) 消隐控制D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010011000d7d6d5d4d3d2d1D0该指令控制数码管各位的消隐属性。在指令格式中,第1 字节是命令字段;第2 字节的d7d6d5d4d3d2d1d0 分别对应数码管的第0 至第7 位,0消隐,1显示。复位后,所有位都不消隐。(6) 段点亮指令D7D6D5D4D3D2D1D0

31、D7D6D5D4D3D2D1D011100000xxd5d4d3d2d1d0该指令可以单独点亮数码管中的某一指定的段,或者LED 矩阵中某一指定的LED。在指令格式中,第1 字节是命令字段;xx 表示无关位;d5d4d3d2d1d0 是6 位段地址。在某位数码管里,各段的点亮顺序按照“g,f,e,d,c,b,a,dp”进行。(7) 段关闭指令D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D011000000xxd5d4d3d2d1d0该指令可以单独熄灭数码管中的某一指定的段,或者LED 矩阵中某一指定的LED。在指令格式中,第1 字节是命令字段;xx 表示无关位;d5d4d3d2

32、d1d0 是6 位段地址。在某位数码管里,各段的关闭顺序按照“g,f,e,d,c,b,a,dp”进行。(8) 读键盘数据指令D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D000010101d7d6d5d4d3d2d1d0当有键按下时,ZLG7289B 的INT 引脚会变成低电平。这时利用该指令可以读出当前的键值。与其它带数据指令不同的是,第2 字节是ZLG7289B 向微控制器返回的键值,而不是输入数据。正常情况下,键值的范围是063(00H3FH),无按键的状态用255(FFH)表示。6.原程序中的相应程序代码void send(char sebuf)char i;TR2=0

33、;TR0=0;com_data=sebuf;clk=0;cs=0;delay_50us();for(i=0;i8;i+)delay_8us();dio=mos_bit;clk=1;delay_8us();com_data=com_data1;clk=0;dio=0;TR2=1;TR0=1;void receive()char i;TR2=0;cs=0;dio=1;clk=0;send(0x15);delay_50us();for(i=0;i8;i+)clk=1;delay_8us();com_data=com_data1;low_bit=dio;clk=0;dio=1;delay_8us();

34、rebuf=com_data;dio=1;cs=1;delay_50ms();TR2=1;void reset()TR2=0;dio=1;delay_50ms();send(0xa4);delay_50ms();cs=1;key=1;TR2=1;三. 复位 1. 复位源 MCU的复位电路允许很容易地将控制器置于一个预定的缺省状态。在进入复位状态时,CIP-51程序停止执行,将外部端口引脚置于一个已知状态,将SFR初始化为缺省状态,禁止中断和定时器。有六个能使MCU进入复位状态的复位源:上电/掉电复位,外部/RST引脚,软件命令,比较器0,时钟丢失检测器及看门狗定时器。论文中就看门狗定时器为例作

35、介绍。 2.看门狗定时器复位 MCU内部有一个使用系统时钟可编程看门狗定时器(WDT)。当看门狗定时器溢出时,WDT将强制CPU进入复位状态。为了防止复位,必须在溢出发生前重新触发WDT。如果系统出现了硬件/软件发生错误,使应用软件不能重新触发WDT,则WDT将溢出并发生复位,这可以防止系统失控。 WDT是一个21位的使用系统时钟的定时器。该定时器检测对其控制器写操作的时间间隔,如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。可以根据需要用软件允许或禁止WDT,或根据要求将其设置为永久性允许状态。看门狗功能可以通过看门狗定时器控制寄存器(WDTCN)控制。l 允许/复位WDT向WDT

36、CN寄存器写入0xA5将允许并复位看门狗定时器。l 禁止 WDT 向WDTCN 寄存器写入0xDE后再写入0xAD将禁止WDT。 3.看门狗在程序中的应用 RSTSRC=RSTSRC&0x00000010b;/RSTSRC为复位源寄存器WDTCN = 0xde; WDTCN = 0xad; WDTCN = 0xA5;四 .中断 在CPU与外设交换信息时,若使用查寻方式,则CPU会浪费较多的时间去等待外设,这就是快速的CPU和慢速的外设之间的矛盾。为了解决这个问题,引入了中断。它有以下优点:同步工作实时处理故障处理1.中断源C8051F200提供了5个中断请求源,其中两个为外部中断请求和,2个为

37、片内定时器/计数器T0和T1的溢出中断请求TF0和TF1,一个为片内串行口发送或接收中断请求TI或RI.这些中断请求源分别由特殊功能寄存器TCON和SCON的相应位锁存。2.允许中断寄存器IE下图示出允许中断寄存器各位的定义,现说明如下:EA*ET2ESET1EX1ET0EX0(1) EA(IE.7)总允许位。EA=0,禁止一切中断。EA=1,则每个中断源是允许还是禁止,分别由各自的允许位决定。(2) (IE.6)保留位。(3) ET2(IE.5)定时器2中断允许位。ET2=0,禁止定时器2中断。(4) ES(IE.4)串行口中断允许位。ES=0,禁止串行口中断。(5) ET1(IE.3)定时

38、器1中断允许位。ET1=0,禁止定时器1中断。(6) EX1(IE.2)外部中断1允许位。EX1=0,禁止外部中断1。(7) ET0(IE.1)定时器0中断允许位。ET0=0,禁止定时器0中断。(8) EX0(IE.0)外部中断0允许位。EX0=0,禁止外部中断0。3.中断优先级寄存器IPC8051F200的中断分为两个优先级。每个中断源的优先级都可以通过中断优先级寄存器IP中的相应位来设定。下图示出IP各位的定义,现说明如下:*PT2PSPT1PX1PT0PX0(1) (IP.7)保留位。(2) (IP.6) 保留位。(3) PT2(IP.5)定时器2中断优先级设定位. PT2=1,设定为高

39、优先级。(4) PS(IP.4)串行口中断优先级设定位。PS=1,设定为高优先级。(5) PT1(IP.3)定时器1中断优先级设定位。PT1=1,设定为高优先级。(6) PX1(IP.2)外部中断1优先级设定位。PX1=1,设定为高优先级。(7) PT0(IP.1) 定时器0中断优先级设定位。PT0=1,设定为高优先级。(8) PX0(IP.01)外部中断0优先级设定位。PX0=1,设定为高优先级。4.中断响应协议当某中源提出中断请求后,作为应答,CPU首先使相应的“优先级激活”触发器置位,以阻断同级和低级的中断。然后,根据中断源的类别,在硬件控制下,程序转向相应的单元,执行中断服务子程序。硬件中断服务子程序调用时,把当时程序计数器PC的内容压入堆栈,同时还根据中断的来源,把相应的向量单元地址装入PC中。中断服务子程序的最后一条指令应是RETI(中断返回)。RETI指令将清除“优先级激活”触发器(该触发器在响应中断时被置位),然后由堆栈弹出两个字节(下一个指令地址)装入到PC中。5.中断请求的撤除CPU响应某中断请求后,在中断返回(RETI)前,该中断请求应该撤除,否则会引起另一次中断。对于定时器0或1溢出中断,CPU响应中断后,就用硬件清除了有关的中断请求标志TF0(TCON.5)或TF1(TCON.7),即中断请求是自动撤除的,无需采用其他措施。对于边沿激活的外部中断,C

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号