一、单片机的选择
方案:MCS-51单片机
ATC51是MSC-51单片机中应用最广泛的型号,现在以其为代表介绍其参数。ATC51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。其内部结构主要有以下几部分:
微处理器该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样
包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
数据存储器片内为128个字节,片外最多可外扩至k字节,用来存储程序在运
行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
程序存储器由于受集成度,片内只读存储器一般容量较小,如果片内的只读
存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至k字节。中断系统具有5个中断源,2级中断优先权。
定时器/计数器片内有2个16位的定时器/计数器,具有四种工作方式。
串行口1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并
行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
4个并行8位I/O口分别为P1口、P2口、P3口、P4口
特殊功能寄存器共有21个,用于对片内的个功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
1.器件简介及最小系统原理图
(1).单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF的电解电容,51单片机最小系统容值越大需要的复位时间越短。
(2).单片机最小系统晶也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶,51单片机最小系统晶的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
(3).单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶越近越好,晶离单片机越近越好
(4).口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。
(5).ATS52芯片一片以及外加5V电源。
(5)发光二极管
发光二极管的发光原理同样可以用PN结的能带结构来解释。制作半导体发光二极管的材料是重掺杂的,热平衡状态下的N区有很多迁移率很高的电子,P区有较多的迁移率较低的空穴。由于PN结阻挡层的,在常态下,二者不能发生自然复合。,而当给PN结加以正向电压时,沟区导带中的电子则可逃过PN结的势垒进入到P区一侧。于是在PN结附近稍偏于P区一边的地方,处于高能态的电子与空穴相遇时,便产生发光复合。这种发光复合所发出的光属于自发辐射,辐射光的波长决定于材料的禁带宽度Eg。发光二极管具有可靠性较高,室温下连续工作时间长、光功率-电流线性度好等显著优点,而且由于此项技术已经发展得比较成熟,所以其价格非常便宜。因此在一些简易的光纤传感器的设计中,如果LED能够胜任,选用它作为光源即可大大降低整个传感器的成本。然而LED的发光机理决定了它存在着很多的不足,如输出功率小、发射角大、谱线宽、响应速度低等。因此,在一些需要
功率高、调制速率快、单色性好的光源的传感器设计中,就不得不以提高成本为代价,选用其它更高性能的光源。
二、两种电路简介及实验原理图
1)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式的原理电路如图2-8所示。在单片机_TAL1和_TAL2引脚上跨接上一个晶和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶的取值范围一般为0~24MHz,常用的晶频率有6MHz、12MHz、11.0592MHz、24MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。外部时钟方式则是在单片机_TAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。ATC51单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。ATC51单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。
2)复位电路无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高。单片机的复位形式:上电复位、按键复位。上电复位和按键复位电路如下。单片机复位电路上电复位电路中,利用电容充电来实现复位。在电源接通瞬间,RST引脚上的电位是高(Vcc),电源接通后对电容进行快速充电,随着充电的进行,RST引脚上的电位也会逐渐下降为低电平。只要保证RST引脚上高出现的时间大于两个机器周期,便可以实现正常复位。按键复位电路中,当按键没有按下时,电路同上电复位电路。如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过200Ω电阻的回路放电,从而使得RST引脚上的电位快速变为高,此高会维持到按键释放,从而满足单片机复位的条件实现按键复位。
四、干扰产生的后果
(1)数据采集误差的加大。当干扰侵入单片机系统的前向通道叠加在信号上,会使数据采集误差增大,特别是前向通道的传感器接口是小电压输入时,此现象会更加严重。
(2)程序运行失常:①控制状态失灵。在单片机系统中,由于干扰的加人使输出误差加大,造成逻辑状态改变,最终导致控制失常。②死机。在单片机系统受强干扰后,造成程序计数器(PC)值的改变,破坏程序正常运行。
(3)系统被控对象误操作。①单片机内部程序指针错乱,指向了其它地方,运行了错误的程序;②DRAM中的某些数据被冲乱或者特殊寄存器的值被改变,使程序计算出错误的结果。③中断误触发,使系统进行错误的中断处理。
(4)被控对象状态不稳定。锁存电路与被控对象间的线路(包括驱动电路)受干扰,从而造成被控对象状态不稳定。
(5)定时不准。①单片机内部程序指针错乱,使中断程序运行超出定时时间;②RAM中计时数据被冲乱,使程序计算出错误的结果。
(6)数据发生变化。在单片机应用系统中,由于外部RAM是可读写的,在干扰的侵入下,RAM中数据有可能发生改变,虽然ROM能避免干扰破坏,但单片机片内RAM以及片内各种特殊功能寄存器等状态都有可能受干扰而变化,甚至EPROM中的数据也可能误读写,使程序计算出错误的结果。
针对以上出现的问题,本系统分别从硬件和软件两个方面来探讨一些提高单片机应用系统抗干扰能力的方法。合理地使用软件和硬件抗干扰技术,可使系统最大限度地避免干扰的产生和受干扰后能使系统恢复正常运行,保证系统长期稳定可靠地工作。
五、单片机应用系统的硬件抗干扰设计
(1)供电系统。①防止从电源系统引入干扰,可采取交流稳压器保证供电的稳定性,防止电源的过压和欠压。使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。②采用开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时I/O供电分别采用DC-DC模块隔离,以避免各个部分相互干扰。
(2)注意印制电路板的布线与工艺。①尽量采用多层印制电路板,多层板可提供良好的接地网,可防止产生地电位差和元件之间的耦合。②印制电路板要合理分区。模拟电路区、数字电路区、功率驱动区要尽量分开,地线不能相混,分别和电源端的地线相连。③元件面和焊接面应采用相互垂直、斜交、或者弯曲走线,避免相互平行以减小寄生耦合:避免相邻导线平行段过长;加大信号线间距。高频电路互联导线尽量短,使用45或者圆弧折线布线,不要使用90折线,以减小高频信号的发射。④印制电路板要按单点接电、单点心接地的原则送电。三个区域的电源线、地线分三路引出。地线、电源线要尽量粗,噪声元件与非噪声元件要尽量离远一些。时钟振荡电路、特殊高速逻辑电路部分用地线圈起来,让周围电场趋近于零。⑤使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该个TTL或20多个CMOS。如果输出负载过重,会降低输出电平,使电平处于或低于被驱动器件的输入门槛电平,从而造成系统不稳定。
(3)提高元器件的可靠性。①选用质量好的电子元件,并进行严格的测试、筛选和老化。②设计时元件技术参数要有一定的余量。③提高印制板和组装的质量。
(4)使用双机冗余设计。在对控制系统的可靠性有严格要求的场合,使用双机冗余可进一步提高系统抗干扰能力。双机冗余,就是执行同一个控制任务,可安排两个单片机来完成,即主机与从机。正常情况下,主机掌握着三总线的控制权,对整个系统进行控制,此时,
从机处于待机状态,等待仲裁器的触发。当主机由于某种原因发生误动作时,仲裁器根据判别条件,若认为主机程序已混乱,则切断主机的总线控制权,将从机唤醒,从机将代替主机进行处理与控制。
(5)用好去耦电容。好的高频去耦电容可以去除高到1AHZ的高频成份。陶瓷片电容或多层陶瓷电容的高频特性较好。设计印刷线路板时,每个集成电路的电源,地之间都要加一个去耦电容。去耦电容有两个作用:一方面是本集成电路的蓄能电容,提供和吸收该集成电路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。数字电路中典型的去耦电容为0.1uf的去耦电容有5nH分布电感,它的并行共振频率大约在7MHz左右,也就是说对于10MHz以下的噪声有较好的去耦作用,对40MHz以上的噪声几乎不起作用。1uf,10uf电容,并行共振频率在20MHz以上,去除高频率噪声的效果要好一些。在电源进入印刷板的地方和一个1uf或10uf的去高频电容往往是有利的,即使是用电池供电的系统也需要这种电容。每10片左右的集成电路要加一片充放电电容,或称为蓄放电容,电容大小可选10uf。
六、软件抗干扰技术
1.数据采集误差的软件对策
(1)用软件滤波算法,可滤掉大部分由输入信号干扰而引起的输出控制错误。最常用的方法有算术平均值法、比较舍取法、中值法、一阶递推数字滤波法。具体选取何种方法,必须根据信号的变化规律选择。对开关量采用多次采集的办法来消除开关的抖动。
(2)关键数据可使用软件冗余技术,即给数据增加一定的冗余位,以实现数据的检错和纠错功能。常用的方法有:奇偶校验,海明码和循环码校验。
2.程序运行失控的软件对策
对于程序运行失常的软件对策,主要是发现失常状态并及时将系统引导到初始状态。
(1)指令冗余。对MCS-51系列单片机,大部分指令为单字节,当出错的程序落到其上时,出错的程序可自动纳入正轨;当落到多字节指令的操作数时,程序将继续出错,所以在关键的对程序的流向起决定性的指令之前插入两条NOP指令,以使被弹飞的指令恢复正轨。
(2)设置程序指针陷阱。软件陷阱将出错的程序捕获并强行引入出错处理的程序,软件陷阱可安排在四个地方:①未使用的中断向量区,干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断。②未使用的ROM空间,在其中每隔一段设置一个陷阱,可将弹飞至该区域的出错程序捕获。③表格,储存在EPROM中的表格后安排软件陷阱,可在一定程度上防止软件弹飞。④程序区,一般程序中不能任意安排软件陷阱,但是在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令
的操作数上的出错程序。
(3)使用程序监视跟踪定时器。程序监视跟踪定时器即Watchdog,在单片机抗干扰设计中使用非常广泛,各大器件生产商提供了不同功能的芯片,如Ma_im的M_760、M_813,IMP的IMP690A1692AL是用于微处理器系统的电源监视和控制电路,可为CPU提供复位信号、看门狗监视、备用电池自动切换及电源失效监视。除上/掉电条件下为微处理器提供复位外,这些器件还具有备用电池切换功能。利用watchdog和软件的配合使用可大大提高系统的抗干扰能力。
(4)使用实时嵌入式操作系统(RTOS)。操作系统首先建立多个实时任务并初始化,各个任务在操作系统的调度下运行,若某一任务由于干扰而运行失常,操作系统可将该任务强制退出并让出CPU控制权,根据故障情况进行处理。使用RTOS可减小系统的复位次数,提高抗干扰能力。
七、实验总结
本文研究了基于ATC51与ATC2051单片机的智能照明控制系统的设计原理与实现方法,包括硬件设计与软件设计。首先根据设计要求用ProtelD_P软件绘制出原理图,然后依据原理图选择元器件,在实验板上布置元器件并连接线路,对硬件电路进行测试,检查串行口是否选错,测量电源是否正常,复位电平是否正确,单片机是否起振等等。接着就要按照功能要求编制程序,这里采用KeilC编程工具,需先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;再根据各模块性质和功能将各模块细化,设计出程序流程图;最后才根据各模块流程图编制具体程序。调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。
由于此设计是在相对理想的情况下设计,在实际应用时,由于现在很多高校都有教学放映设备,故需把灯光控制系统和放映设备电源分开。当应用于其他工作场所时,可根据实际需要添加或者减少部分模块,如在道路使用时,则不需要时间控制电路;在室内使用时,还可以添加无线模块,方便控制。
本设计原理清晰,设计性能指标的灵敏度基本达到设计的要求,这次课程设计对我们所学电力电子知识起到了加深和巩固的作用,也使我获得了搭建和调试实验电路的能力,锻炼了我主动学习的能力、与他人合作的能力。还可以从各种渠道获得一定的资料共同加以研究学习,提高了我们的综合动手能力。
八、参考文献
[1]张著.单片微型计算机原理、应用与实验.复旦大学出版社
[2]徐、韩雁著.单片机原理及接口技术.电子工业出版社
[3]何著.单片微型计算机原理及应用.航空航天大学出版社
[4]王升.智能照明控制与节能[J].智能建筑与城市信息.2005
[5]陈,毛.智能照明控制系统的工程应用[J].智能电气,2004
[6]何著.单片机高级教程.大学出版社
程序附录
include
defineuintunsignedintdefineucharunsignedcharucharaa;
voiddelayms(uint_ms){
uinti,j;
for(i=_ms;i>0;i--)
for(j=110;j>0;j--);}
voidmain()
while(1)
P1=0_00;
delayms(5000);P1=0_ff;
delayms(5000);}