现在位置 >首页 > 所有 单片机知识 分类文章

单片机加密方法之抛砖引玉

2012年06月29日 110 次阅读

①单片机加密方法
  科研成果保护是每一个科研人员最关心的事情,目的不使自己的辛苦劳动付注东流加密方法有软件加密,硬件加密,软硬件综合加密, 时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路现先讲一个软件加密:利用MCS-51中A5指令加密,(本人85年发现的,名软件陷阱),其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序,你应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护我曾抓到过一位获省优产品仿制者,我说你们为什么把我的名字也写到你的产品中?
  硬件加密:8031/8052单片机就是8031/8052掩模产品中的不合格产品,内部有ROM(本人85年发现的),可以把8031/8052当8751/8752来用,再扩展外部程序器,然后调用8031内部子程序当然你所选的同批8031芯片的首地址及所需用的中断入口均应转到外部程序区
②单片机加密方法
  各位,我在这里公开场合讲加密,有的只能讲思路,有的要去实验,要联想,要综合应用各种方法,甚至有的不能言传,只能意会因为这里有的造矛者也在看我们如何造盾,当然,我们也要去看人家怎样造矛,目前国内外最高造矛的水平怎样知已知彼,才能百战百胜
  硬件加密: 使他人不能读你的程序用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏重要RAM数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行用真真假假方法加密: 擦除芯片标识 把8X52单片机,标成8X51单片机,并用到后128B的RAM等方法,把AT90S8252当AT89C52,初始化后程序段中并用到EEPROM内容,你再去联想吧! 用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点用最新出厂编号的单片机,如2000年后的AT89C就难解密,或新的单片机解密品种,如AVR单片机DIP封装改成PLCC,TQFP,SOIC,BGA等封装, 如果量大可以做定制ASIC,或软封装 用不需外晶振的单片机工作(如AVR单片机中的AT90S1200) 使用更复杂的单片机FPGA+AVR+SRAM=AT40K系列
③单片机加密方法
  硬件加密与软件加密只是为叙说方便而分开来讲, 其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如8031/8051有一个用户标志位,PSW.1位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码在无程序的空单元也加上程序机器码,最好要加巧妙一点用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB或大于64KB的器件,如:AVR单片机中ATmega103的Flash程序存储器为128KBAT89S8252/AT89S53中有EEPROM,关键数据存放在EEPROM中,或程序初始化时把密码写到EEPROM中,程序执行时再查密码正确与否,然后…….当然不能告说人家这是什么器件,
  尽量不让人家读懂程序,在这里说谎,骗人是正当防卫用真真假假, 假假真真,把几种不同品种的单片机放在同一设备中,如主芯片用AVR(说是MCS51),键盘显示用AT89C2051(说是GAL),I/O口扩展驱动用PIC(说是AT90S1200)等,当然要求你知识面广一点如果你用高级语言C编写程序就简单了,因为C语言程序移植方便有些国家的产品能做到三年保修,三年保不坏,三年后保坏,或三年后保有故障,可能用什么技术?你去想吧例:每次开机或关机,EEPROM某单元加1,也可二个三个单元连接起来计数,达到某值停止工作硬件用软件代替,软件用硬件代替用大规模CPLD可编程器件关于单片机加密。

基于单片机控制的数字频率计设计

2012年06月15日 131 次阅读

  在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的测量精度。因此,频率的测量就显示得尤为重要,测频方法的研究越来越受到重视。频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期,频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其他领域。随着微电子技术和计算机的迅速发展,特别是单片机解密的出现和发展,使传统的电子测量仪器在原理、功能、耗电、可靠性等方面都发生了重大的变化。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。为适应实际工作的需要,本文考虑以单片机(AT89 S52)为控制平台和一个1602ALED显示器作为显示部件设计的一种频率计,整个设计采用定时、计数的方法测量频率,不但切实可行,而且体积小、成本低、低功耗、精度高、可自动量程转换、保密性强、设计简单,大大降低了设计成本和实现复杂度。频率计的硬件电路是用PRIT EL绘图软件绘制而成,软件部分的单片机控制程序,是以KELL-51作为开发工具用汇编语言编写而成,而频率计的实现则是选用Proteus仿真软件来模拟和测试,最后通过综合调试,能实现所有要求的功能,完全满足本次设计的要求。
1 设计思路
  传统的测频仪器体积很大,耗能量大,主要靠手工操作,而最大的缺点是不以可编程,其量程转换、数据测量、采样控制和处理等均不能通过程序指令来进行控制,无法作为一个微型智能子系统与某一大型自动控制或测试系统进行接口。针对这些缺点,本频率计在设计上做了改进,首先以信号放大整形后的方波脉冲作为控制闸门信号,然后采用计数器和锁存器对不同频率范围的信号直接进行计数来完成分频功能,分频后的信号由接口电路送给单片机,由单片机的计数对其进行计数,最后将计数结果通过运算转变为原号的频率数值,最后通过动态显示电路显示数值。其优点是:本频率计完全实现了单片频率计、频率采样、与单片微机三者之间与软件接口,使得测频量程的选择、频率数据的测量、采样以及编码的边境转换和数据的转换存储均可通过单片微机的软件编程自动进行,从而实现了测频与采样工作的完全智能化,使得本系统即可独立构成一个微型智能测频仪器的核心电路,也可作为大型自动控制或测试系统中的一个智能子系统。
  本系统采用AT89S52单片机作为控制核心,把经处理的被测信号(单片机30脚输出经CD4013分频的自测信号)给单片机(P3.4端),再由单片机处理,通过LCD显示模块显示测得的频率值,所有的系统均由AC220V-DC5V底纹波电源模块供电。
2 硬件部分设计
  2.1 系统控制模块
    系统控制采用的是一种高性能低功耗的工艺制造的8位CMOS微控制器AT89S52单片机,它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上振荡器和时钟电路。
  2.2 低纹波电源模块
    本系统电源完全采用220 V交流电,经过二极管桥式整流和电容滤波,再由9014和TOP46协同确保较大且稳定的电流。由R2、D2、Q4等确保5 V电压,并且系统内部有过流保护,保证输出电流不会超过最大允许值。输出电流达到允许的最大值,它就会自动减小输出电流。它内部有工作区限制,使稳压器的工作不进入非安全区(输出管的管压降和输出电流小于规定值)。最终输出波纹小于4 MV的5 V电压,确保了在测试频率时不受电源的影响。
  2.3 分频自测模块
    本系统为了方便检测,利用了89S52的ALE(30脚)完成了自检功能,完成此项功能还需要CD4060的辅助(完成14分频)。CD4060表示14位二进制串行计数器,引脚及功能略;CD4060由一振荡器和14级二进制计数器位组成,振荡器的结构可以是RC或晶振电路。CR为高电平时,计数器清零且振荡器使用无效,所有的计数器位均为主从触发器CP1非(和CP0)的下降沿计数器以二进制进行计数,在时钟脉冲线上使用施密特触发器对时钟上升和下降时间无限制。其在系统中的电路构成在后面的整体仿真图有阐述。根据系统框图的介绍,一般采用从外界接收正弦波、方波、三角波并进行测量周期的方法,如要进行对外界接收正弦波、方波、三角波、进行测量,必须经过放大(衰减器、放大器)、整形(施密特触发器、跟随器)两个过程才能转换成标准测量方波,送到闸门以便计数。而需完成放大整形过程是由于输入的信号幅度是不确定的,可能很大也可能很小,这样对于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,所以在设计中应考虑对输入波形进行放大限幅、整形和阻抗变换(运算放大器构成的射极跟随器其阻抗变换作用,使输入阻抗提高)。
  2.4 LCD显示模块
    1602ALCD具有耗电省、寿命长、显示信息量大等特点,因而得到广泛地应用。为实现设计要求的显示信息,本文采用1602LCD液晶模块实现显示信息的简略系显示。如比分信息以代号得方式显示。当然用128*64LCD显示效果更好,但出于实用性和价格的考虑,文中选用1602A-LCD完成设计要求。
3 软件设计流程
  根据设计原理其工作过程就是直接用十进制数字显示被测信号频率的一种测量方法。为了做到测试和读数方便,本设计让其做到自动换挡,即在每个档位(Hz、kHz)端设计了一个标准频率(如100Hz)。在对信号测量时,直接由单片机采样并与标准频率相比较,划分档位区间,在输出显示。
4 Kell仿真结果
  本次设计使用Proteus软件搭建仿真电路,用Kell软件进行了软硬联调。经过Kell软件调试,在没有差错的情况下,生成HEX文件,此时源程序和HEX文件应保存在同一目录下,否则仿真会出错。然后把原理图的Sourse目录加上源程序,双击AT89C52芯片,并在目录上加上HEX文件,这时已经把生成好的文件烧在了芯片中。如果程序无错,而且硬件电路也连接正确,将脉冲频率设置好输入到仿真软件内,单击原理图设计界面左下方的仿真运行按钮,得到最后的仿真结果。
5 结论
  数字频率计是一种基本的测量仪器,是用数字显示被测信号频率的仪器,由于其测量速度、精确度高,显示直观,如果配以适当的传感器,可以对多种物理量进行测试,因此,它被广泛应用于航天、电子、测控等领域。随着电子技术的快速发展,它将被更广泛的应用到各个领域中去。
  本文通过运用单片机AT89S52,Proteus仿真软件以及Kell仿真软件的相关知识,成功地实现了数字频率计的设计。综合调试结果表明,本文提出的设计与传统测频系统相比,具有体积小、成本低、低功耗、精度高等优点,适用于各种测量电路。

基于单片机的小功率逆变器的设计与实现

2012年06月08日 67 次阅读

0 引言
  逆变器是将汽流电能变换成交流电能的电气装置,通常用大功率高反压电力电子器件来实现。太阳能发电中,光电池阵列所发出的电为直流电。但是,大多数用电设备的供电为交流电,所以电力系统中常需要将直流电变换成交流电的逆变器。此外,逆变器在工业控制,通信、交通等领域的应用也非常广泛。正弦脉宽调制(Sinusoidal Pulse Width Modulation,SPWM),是指以正弦波做调制波(Modulating Wa ve),以F倍于正弦调制波频率的三角波做载波(Carrier Wave),进行波形比较后产生一组幅值相等、宽度正比于正弦调制波的矩形脉冲序列,来等效正弦调制波。本文以STC12C5A60S单片机解密为核心,利用其内部两路可编程计数阵列(PCA)模块来模拟脉宽调制法,设计并实现了一个输出电压幅值可调的小型逆变器。
1 系统硬件设计
  该设计实现的功能是将6 V的直流电通过三级功率变换(DC-HFAC-DC-LFAC)得到频率为50 Hz,幅度为110 V的工频交流电以供交流负载使用。现将硬件电路各部分的具体设计和功能作如下描述。
  1.1 电源模块
    使用直流到直流变换芯片MC34063与LM7805和LM7812组合得到12 V和5 V的直流电,为硬件电路的各模块提供所需电源。
  1.2 前级升压模块
    通过SG3525芯片与其外围电路产生两路互补的高频PWM(Pulse Width Modulation)脉冲波,用这两路高频脉冲波分别控制由两个MOS(IRF 3205)管组成的单边桥高频逆变器,并与高频变压一起实现前级升压。通过前级升压,把6 V的直流电升到300 V左右的高频交流电,为后面的工频逆变做准备。
  1.3 整流器与滤波模块
    4个二极管组成整流桥电路对前级升压模块输出的高频交流电进整流,并且经过LC滤波器进行滤波作为工频逆变桥电路的输入。
  1.4 工频逆变器MOS桥电路驱动模块
    该设计中驱动工频逆变器桥的4个MOS管使用IR2110芯片来完成。单片机产生的两路SPWM控制信号经过死区时间后作为2片IR2110的逻辑输入。用2片IR2110芯片组成的驱动电路输出4路两两互补的信号,从而控制全桥逆变电路的上、下桥臂的通断,实现逆变功能
  1.5 SPWM产生模块
    以STC12C5A60S单片机为核心构建的最小系统,作为模块的控制部分。同时增加一个模/数转换电路,通过读取电位器上的电压值,实现逆变器输出幅值可调。两路SPWM信号由STC12C5A60S单片机PCA模块输出端P1.3口和P1.4口。其原理是用正弦表数据去设置STC12C5A60S单片机PCA模块的比较寄存器的值确来模拟脉宽调制法,最终获得宽度正比于正弦调制波的矩形脉冲序列来等效正弦调制波。
2 系统软件设计
  该设计的控制芯片是宏晶公司的STC12C5A60S单片机,它的内部有两路PCA模块。预先通过Matlab计算出标准的工频交流电的正弦表,以数组的形式存放在单片机内部扩展数据存储器中。然后利用这个数据表去动态地设置PCA模块比较寄存器的值,实现计数周期动态改变,输出的高电平脉冲宽度随正弦规则变化。
3 系统测试
  3.1 SPWM波形产生模块测试
    以单片机为核心构成的SPWM波形产生模块通过程序控制运行后,可以得到两路互补的SPWM波形。用示波器截取了模块的单路SPWM几个细节片段图,脉宽是不断变化的。
  3.2 整体的系统测试
    在输入端输入5 V的直流电,经过系统逆变以后,可以在系统的输出端得到有效值为110 V,频率为50 Hz的交流电。输出电压经示波器探头衰减10倍以后接入示波器。示波器的另一路输入是检测全桥电路的左上桥臂的SPWM波形,而另一路刚好对应右上桥臂。
4 结语
  该设计基于单片机控制的数/模混合电路的实现,使得整个硬件电路的体积大大减小。由于数字单片机的引入,可控性大大增强。

51单片机设计的超声波测距器

2012年06月07日 85 次阅读

一、设计要求
  设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.10-3.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
二、设计思路
  超声波传感器及其测距原理 
  超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。 
  超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。
  测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
  由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。
  超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。
三、系统组成
  硬件部分
    主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
  软件部分
    主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分。
四、系统硬件电路设计
  1.单片机系统及显示电路
    单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。
  2.超声波发射电路原理
    压电超声波转换器的功能:利用压电晶体谐振工作。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。
  3.超声波检测接受电路
    参考红外转化接收期刊的电路采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。
五、系统程序设计
  超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。下面对超声波测距器的算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。
  1.超声波测距器的算法设计
    超声波测距的原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
  2.主程序
    主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有:
    d=(C*T0)/2 =172T0/10000cm(其中T0为计数器T0的计数值)
    测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。
  3. 超声波发生子程序和超声波接收中断程序
    超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。
六、软硬件调试及性能
  超声波测距仪的制作和调试,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。 
  硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。

基于LED智能路灯控制系统设计方案

2012年06月04日 193 次阅读

  随着数字技术和网络技术的发展,路灯数字化和网络化已经成为一种必然趋势。节约能源、保证灯具寿命、提高照明管理水平、美化城市夜晚和保证城市夜间出行安全等,已经成为对照明系统的一项基本要求。社会文明的不断发展、城市规模的急剧膨胀,城市照明已不仅局限于道路的照明,社会对亮灯率、开关灯的准确率、故障检测的实时性和维修的及时性、路灯的节能要求也不断增高。城市的扩大,路灯数量的迅速增长,人工控制方式在故障实时监控处理、按需控制、节能等方面已越来越不能适合城市的发展。因此对于路灯所采取的智能控制和节能措施已经非常有意义。
  本文设计的LED智能路灯控制系统以STC89C58RD单片机解密作为主导控制芯片解密,可实现时钟定时开关灯,根据环境明暗变化实现开关灯,根据交通情况自动调节亮灯状况,路灯出现故障实施声光报警等一系列智能化行为。
  1 系统总体设计方案
    系统采用光敏二极管检测环境明暗变化,用红外接发器作为根据交通情况自动调节亮灯的器件,将红外发射器安装在路灯杆上,红外接收器安装在路灯支架上面,当光敏二极管检测不到光源,且红外接收器检测到红外信号时,路灯会点亮,相反则不亮。采用编程来实现定时,设计路灯开灯关灯时间,选用LCD12864作显示器件,并作相应显示。
  2 单元模块设计
    2.1 时钟定时部分
      我们选择的STC89C58RD芯片,本身有可编程的定时/计数器,可以通过软件编程实现定时/计数。当到达设定的时间,就执行相应的定时设定任务。
    2.2 光敏二极管部分
      该电路采用光敏二极管作为主控元件,当没有光照时,反向电阻很大,反向电流很小;当有光照时,光子打在PN结附近,于是在PN结附近产生电子一空穴对,它们在PN结内部电场作用下作定向运动,形成光电流。光照越强,光电流越大。所以根据环境的明暗输出不同的电压信号。
    2.3 红外接收发射部分(检测交通情况路灯亮灭)
      按要求分别在道路两旁路灯杆上安装红外接收器,信号的接收端连到单片机,当车辆或者行人经过时,接收器检测到红外,信号端检测到高电平输入,从而控制路灯的亮灭。
    2.4 声光报警部分
      路灯故障时,LED0点亮,蜂鸣器响起,达到声光报警功能。单片机P0.7-个脚给高电频时,LED0点亮,并且三极管导通,蜂鸣器也发出声响。
    2.5 显示部分
      该部分用LCD128*64作为显示,采用该显示器的主要原因是,可以显示图片和字符,功能十分强大,通过显示提示控制整个电路的控制。
    2.6恒流源部分
      该电路提供一个恒定不变的电流,Q3端接负载,使负载稳定工作。负载加大也不会影响电流的变化。
      这样所接的路灯能稳定工作。通过调节输入端电压可以相应改变电流的输出。而TIP122达林顿管的集电极C的基准电压可以是l2-20 v.
    2.7路灯好坏检测部分
      该电路运用了一个LM358搭建的两个电压比较器,分别可以检测P1、P2端的两个路灯的好坏。当路灯导通工作时,比较器的2脚、6脚会有电压,而比较器的3脚、5脚通过滑动电阻调节电压,并且3脚、5脚的调节电压要分别比2脚和6脚的工作电压小,但不能调至0 V.所以路灯正常工作时,单片机P0.5脚和P0.6脚输出低电平,路灯有故障时,P0.5脚和P0.6脚就会输出高电平。
  3 结论
    本文提出了一种基于单片机的路灯智能控制系统的设计方案,并完成了硬件和软件的设计。智能控制装置能根据交通情况自动调节亮灯状态:当车辆或行人靠近路灯时,路灯逐渐变亮;当车辆或行人远离时,路灯自动变暗并且最后熄灭。控制器还能分别独立控制每只路灯的开灯和关灯时间。该系统总体性价比高,维护成本低,功耗低,工艺环保,符合绿色经济和节约型社会的要求。

基于单片机的LED汉字条屏显示技术

2012年05月25日 150 次阅读

  LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,有可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点。在短短的几十年中,技术、产业都取得了长足的进步,已经发展成为重要的现代信息发布媒体手段,在证券交易、金融、交通、体育、广告等领域得到广泛应用,随着社会信息化的进程,LED显示屏在信息显示领域的应用愈加宽广。
  目前LED显示屏的种类越来越多,从使用场合及亮度考虑可分为室内和室外屏,从扫描方式可分为动态扫描显示屏和静态扫描显示屏。室外使用的交通诱导屏,通常采用计算机同步控制的静态扫描显示,每个像素由几个高亮的LED发光管组成,可做成多色或全色。其优点在于播放的内容信息量大,实时性强,且由于采用静态显示,亮度高;其缺点是硬件电路复杂,成本高。室内使用的由8×8LED点阵拼成的显示屏也有同步和异步之分,同步控制显示屏由计算机作为主控器,异步控制显示屏的主控器可采用单片机解密。单片机控制的单色显示屏由于结构简单,成本低廉,深受人们的喜爱。设计一个室内用16×16点阵LED图纹显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
1 汉字显示的基本原理
  16×16的点阵共有256个发光二极管,用各个位的亮暗来表示一个字,凡是笔画经过的地方都为1(亮),没有笔画的地方都为0(暗),这样就可以表示不同的汉字。从理论上说,不论显示图像还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动方式。在计算机中,所有的数据都是以0和1保存的,按不同的数据操作,可以得到不同的结果。而对于中文显示操作,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。这样就可以用一组数字来表示汉字的内码,数字的各位信息来记载汉字的形状,即:字模。只要将汉字的相应字模信息文件存入ROM,形成汉字编码;在使用时,先根据汉字编码组成语句,添加到程序的相应位置,即可显示相应的汉字。
2 硬件电路组成及工作原理
  该LED汉字条屏采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16LED点阵5部分组成。其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。
  2.1 列驱动电路设计
    列驱动电路由集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且一位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。
    一个模块有4片74HC595,8块LED点阵,每一片74HC595限流电阻后接2块LED点阵。DATA IN和DATA OUT分别为模块的数据输入和数据输出,RCLR为74HC595移位寄存器信号索入输出所存器的时钟信号,CLK为同步时钟。将模块中前一片8位移位寄存器74HC595的数据输出(07)与下一片的输入(SER)相连接组成32位的串行数据链,每一位控制一列发光管,若显示方式为1/16占空比的动态扫描方式,则每一列控制16个方光管。当74HC595的某一输出引脚为低电平时,该列上对应行扫描选中行的像素点亮。由于吸收电流的能力相对较强,且为动态扫描,因此在74HC595的输出脚上只需串接一个47 Ω的限流电阻而不需要再用列驱动也能得到满意的亮度效果。
  2.2 行驱动电路设计
    采用逐行扫描的方式,当全部列信号准备就绪后,控制信号锁存器输出,相应的行信号应同时跟上。由于采用点阵的行为共阳极,行选的作用就是为待点亮行提供电源。该电路中LS为串行行选信号,MR为74HC164的清零信号,LCLK为行选同步时钟。74HC164的输出经反相后控制三机管的导通与截止,从而分别控制第1行LINE1至第16行LINE16与电源接通。从极端情况来看,驱动功率应满足1行全部32个LED点亮的要求,尽管LED点阵要求单点驱动电流在10~20 mA,但由于采用1/16占空比的动态扫描显示方式,单个LED的瞬时电流即使未100mA,实际平均电流不到7 mA,因此驱动电流大于3 A即可。供方部分应采用达林顿管或开关管。
  2.3 AT89C51单片机的外围电路
    单片机采用89C51或其兼容系列的芯片,采用24 MHz或更高频率的晶振,以获得较高的刷新频率,为了使显示更稳定。单片机的串口与列驱动器相连,用来送显示数据。P1口低四位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。P0和P2口空着,在有必要时可以扩展系统的ROM和RAM。
3 系统程序的设计
  根据软件分层次的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。
4 结论
  LED显示屏硬件电路只要器件质量可靠,引脚焊接正确,一般无需调试即可正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。这个方案设计的16×16点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。

基于单片机的宿舍智能防火报警系统设计

2012年05月16日 114 次阅读

引言
  近年来,随着各高校规模的扩大,在校生的人数不断增长,学生宿舍的不安定因素也越来越多,如何有效地对宿舍进行监控已经成为一个亟待解决的问题。本系统正是在此基础上设计的一种智能防火报警装置。该系统是一种远程智能短信报警系统,可对学生宿舍内的火灾等不安全因素进行监控,如有警情可及时短信报警。系统自动化程度高、适用性强、电路设计可靠,有利于高校的平安校园建设。
系统的总体设计
  宿舍智能防火系统以STC89C52单片机和GSM短信模块为核心,系统总体构成包括主控STC89C52单片机、GSM移动通信模块、实时时钟电路、防火信息采集与处理模块、温度湿度检测模块和键盘显示模块等。该系统的设计是将单片机解密、电子探测和通信技术相结合,从而形成一个可靠的智能防火报警系统。
  GSM短信息模块主要提供无线短信和数据传输功能。STC89C52单片机依照GSM短信通信模块的通信协议与之进行通信,进行短信息的收发。STC89C52单片机电路接收并解释短信息指令,控制连接在系统上的各功能子模块。通过STC89C52单片机,可监测室内温度、湿度以及室内有毒气体和烟雾,在异常时按照预设的号码进行短消息报警。
  在学生宿舍需要防范的部位安装前端警情采集和控制模块。此防火报警系统在通常情况下处于撤防状态,而当学生离开宿舍时,把系统置于布防工作模式,安装在不同位置的温湿度传感器、无线气体传感器等不断地进行采集,并对从各个探测器采集来的数据进行处理。一旦宿舍发生火灾等紧急情况时,与之相对应的防火报警探测器无线发射电路启动发射,无线接收模块在接收到无线信号后向主控单片机发中断请求。主控单片机响应中断后,读出发来报警信号的传感器编码并确定是哪个传感器发现了异常,并由GSM短信模块向预先设置好的报警号码进行短信报警,报警号码可以是宿舍管理员,也可以是公安或武警消防部门,短信内容可以显示出报警的内容、具体地址及联系人等信息。
系统硬件设计
  GSM短信模块的简介与选择
    GSM(GlobalSystemforMobileCommunication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统,GSM的短信息系统具有快捷方便、廉价的特点,为远程监控提供了一种新的技术手段。利用GSM短消息功能可以做成传输各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、个人通信终端等。手机GSM网络现在已经非常成熟,利用手机短信来实现报警、传输数据是一个非常不错的选择。
    经过综合比较,系统采用内嵌TCP/IP协议栈的GPRS模块SIM300,该模块可以实现数据传输的透明性,在应用时用户只需要通过AT指令来完成相应参数的设置,从而实现网络的互联互通。SIM300是SIMCOM公司生产的GSM/GPRS模块。该模块体积相对比较小巧,可广泛应用于远程抄表、遥控遥测、安全监控等以及其他移动数据通信系统。移动通信模块实际上是将手机的基频、中频、射频整合到一块,然后用铝合金封装,模块里面包含物理层软件和2、3层的通讯协议软件。模块必须配合相应的外围电路才可工作,如SIM卡连接电路、供电电路、RS232串口连接电路等。在SIM300的接口电路设计中选用浙江晶控电子有限公司开发的JB35G开发板,它可为SIM300移动通信模块提供一套比较完整的电路。
  STC89C52单片机
    本系统选用台湾宏晶公司生产的STC89C52单片机。STC89C52单片机是与INTELMCS-51系列单片机完全兼容的一种高性能低功耗的8位微控制器,它采用CMOS工艺制造,具有40个引脚,片内带8KB的可编程的闪存作程序存储器;片内带256字节RAM;提供32条I/O引脚,大部分引脚都可作数字和脉冲输入或输出;3个16位定时计数器,6个中断源,其中直接提供外部中断处理可使用P3.2(INT0)或P3.3(INT1);1个全双工可编程标准串行口,其引脚为P3.0(RXD)和P3.1(TXD);时钟频率可达0~24MHz;具有睡眠状态,指令系统与8031指令系统完全兼容。用STC提供的STC-ISP.exe工具可以将程序代码下载入单片机,程序烧写非常方便,故本系统采用STC89C52单片机作为主控核心。
无线传输模块设计
  传统的安全防范工程是采用有线的方式连接报警探头和防火报警主机,这种方式可靠性高,但受传输距离、布线、可变性等多种因素的制约,局限性很强,工程安装困难,因此,本设计选用一种工作频率为315MHz的无线传输模块,它采用声表谐振器稳频,频率稳定度极高。它与台湾普城公司生产的通用编解码芯片PT2262/PT2272配套使用,很方便实现无线收发的功能。该无线模块具有较宽的工作电压范围3V~12V,当发射电压为3V时,空旷地传输距离约20米~50米,发射功率较小;当电压5V时约100米~200米;当电压9V时约300米~500米;当发射电压为12V时,为最佳工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离700米~800米,发射功率约500毫瓦。
  PT2226/PT2272是一种CMOS工艺制造的低功耗低价位通用编解码芯片。PT2262用于无线发射电路。PT2262输出的编码信号通过发射模块发射出去,并由主机这边的接收模块接收后传送给PT2272。当两者地址匹配后,PT2272执行解码,置Vt脚为高电平,数据位输出相应的数据。把传感器的输出连接到编码启动端上,当传感器检测到异常时,输出低电平,编码启动端有效,编码集成PT2262开始工作,它根据数据输入端D0~D3的电平进行编码,编码信号由:地址码、数据码、同步码组成一个完整的码字。该编码信号经无线数据发射模块进行调制后经天线发射到周围的空间。
温湿度测量电路设计
  在本设计中,温湿度的检测选用瑞士SENSIRION公司生产的SHT10。SHT1x系列产品是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式存储在内存中,在校正的过程中使用。两线制的串行接口,使外围系统集成变得快速而简单,微小的体积、极低的功耗、较强的抗干扰能力、免外围电路及全互换等特点,不仅节省了单片机的I/O口资源,简化了单片机的程序设计,还提高了测量精度,减少了系统设计成本。SHT10湿度测量范围为0~100%RH,湿度测量精度为±4.5%RH,温度测量范围为-40~123.8℃,温度测量精度为±0.4℃。
可燃气体探测器的设计
  本系统采用具有高灵敏度、高稳定性的QM-N10半导体气敏传感器探测可燃气体,它是一种采用陶瓷半导体工艺的烧结型器件。半导体气敏传感器是利用气体在半导体表面的氧化—还原反应导致敏感元件阻值发生变化而制成的,气敏电阻器的阻值随着吸附气体的数量和种类而改变,也就是说非电量气体的氧化—还原反应过程导致电阻值发生变化。据此特性,人们可以从阻值的变化情况得知吸附气体的情况。
单片机与短信模块串口通信设计
  本设计的重点部分是单片机与JB35G短信模块的通信,它承担着向外报警通信功能。通常有串行通信和并行通信两种方法。串行通信是指数据字节是一位一位串行的传送,通过串行接口实现。根据信息的传送方向,串行通信可以分为单工、半双工和全双工三种。串行通信按通讯方式可分为同步通讯和异步通讯。JB35G移动通信模块的通信方式为异步通讯,所以本设计也要采用异步通讯方式,异步串行通讯规定了字符数据的传递格式,即每个数据以相同的帧格式传递,每一帧信息由起始位,数据位,奇偶校验位和停止位组成。
  STC89C52单片机有一个工作在异步通讯方式下的全双工串行口。全双工的串行通讯只需要一根输出线和一根输入线。STC89C52单片机的串口仅占用了单片机的P3.0(10脚)和P3.1(11脚),分别为接收端RXD和发送端TXD。当非串口方式工作时,这两根口线还可以作为一般的I/O口线使用。
结束语
  宿舍智能防火报警系统为宿舍安防提供了一条可行途径。鉴于宿舍防火的基本需求,本设计基于STC89C52单片机,采用成熟可靠的GSM移动网络,同时利用多传感器检测,设计了智能报警系统。本文介绍了系统的总体构成,关键模块的连接方式以及软件实现的流程图。该系统具有智能化、自动化特点,对于大学生宿舍的安全建设具有重要意义。

基于MR16单片机的UPS设计

2012年05月14日 108 次阅读

  本文介绍了一种基于Motorala单片机MR16的全数字化的UPS设计方法,根据设计思想制作了一台样机,得到了较好的实验结果。
1 主电路的设计
  系统主电路主要包括蓄电池、逆变电路和切换电路3部分,逆变部分采用电压型全桥逆变结构。蓄电池电压经全桥逆变电路逆变,再经工频变压器升压和滤波后输出。逆变电压或电网电压Un通过切换开关向负载供电。系统设计要求为直流侧输入电压220V,额定交流输出电压为220V/50Hz,额定容量5kVA。
  在蓄电池和滤波电容之间设计了由R和继电器KM1组成的合闸软启动电路,是为了防止在开机瞬间蓄电池对电解电容C1充电所产生的冲击电流而设的。KM1由单片机控制,通常单片机解密在复位后延时一段时间,检测直流母线电压达到一定值后,再使KM1吸合,短接限流电阻R,完成合闸软启动,延时时间一般取3~5倍的电容C1的充电时间常数。C1为直流侧的大滤波电容,能有效减少工作时直流母线电压中的脉动交流幅值,并能短时贮存操作切换开关时反馈的电感贮能,抑制由此引起的过压。C2为高频无极性滤波电容,因为,在高频逆变电路中电解电容的等效串联阻抗会影响开关电流的能量吸收,所以,有必要在C1两端再并联此电容。
2 系统控制的实现
  系统的中央控制器由Motorola公司的MR16单片机完成。逆变器的输出电压经交流电压传感器反馈给单片机AD接口,经单片机采样及闭环控制运算,获得相应的SPWM控制信号输出。该单片机同时完成对电网电压的采样以判断电网故障与否,根据判断再控制切换电路完成电网电压与逆变器电压的相互切换。
  2.1 直流侧电压的采样
    为了保护蓄电池,防止过度放电,需要对直流侧电压进行实时检测。直流侧电压的采样电路有多种形式,为了提高系统的可靠性,最好对主电路和控制电路进行电隔离。为了使主电路和控制电路隔离,并且不增加控制电路的难度和复杂度,本文采用了双光耦隔离的采样电路。直流电压经过光耦隔离降压后输入到单片机的AD采样口,这样就能够实现高精度的直流电压隔离采样。
  2.2 交流输出电压的采样
    交流输出电压的采样也可以采用光耦采样的方法,只须再增加一路完全一样的电路作为负电压采样即可,但这样增加了电路的复杂程度。由于交流电压是作为反馈电压输入,其采样精度势必影响输出电压的控制精度,所以,系统采用TVA1412电压传感器,既起到了电隔离作用又保证了较高的采样精度。交流电压经过TVA1412的传输比为R10/R11。由于变压器对交流电压采样必然有正负之分,而单片机的输入只能为正,故使用-2.5V基准电压将输入信号采样值抬高2.5V,以保证输入单片机采样口的电压为正。
  2.3 锁相同步的实现
    在UPS的设计中,锁相同步技术是衡量UPS系统性能好坏的一个重要指标。UPS能够实现市电旁路供电与逆变器供电之间的可靠转换的前提是,市电的交流电压与逆变器的交流输出电压必须同频率、同相位和同幅值。如果UPS在执行转换的瞬间,由于两路交流电源的电压值不同,因而会出现瞬态电压差ΔU,如果用户在具有过大的ΔU情况下执行切换操作,有可能会对负载产生电流冲击。
    逆变器正弦波的输出,是通过建立一个正弦表,在中断程序中由正弦指针读取正弦表值,并进行相应脉宽计算产生SPWM波形输出。正弦指针为零时对应的输出正弦波相位也为零,所以,当检测到电网零相位点时,可以通过比较正弦指针的值来判断是否锁相,指针为零则表明逆变器正弦波输出与电网电压波形锁相同步,否则,就要通过移相跟踪电网电压相位。但是,如果一检测到零相位就将正弦指针清零,势必会引起较大的冲击电流,并且这样抗干扰能力弱,所以,系统采用逐次逼近锁相方式。具体方法是:每检测到一次零相位点,就判断当前正弦指针是否为零,为零表明已经锁相,不为零,则判断正弦指针处于正弦表的正半周还是负半周,位于正半周时就将正弦指针减1,位于负半周就将正弦指针加1,如此反复循环直到锁相为止。显然,锁相同步要在PWM中断程序中实现。
  2.4 切换电路的设计
    现在常用的方法是用晶闸管作切换开关,普通晶闸管的开通时间为几μs,关断时间约为几百μs,开、关时间之和不超过1ms。由于母线上流过的是正弦全波,以V1、V2为例,就必然形成在正弦波的正半周V2导通、V1关断,在负半周则V1导通、V2关断,这样就保证了流过负载的电流是完整的正弦波。普通晶闸管是半控器件,其关断依赖于给阳极施加反向电压。当电网故障时,首先,去掉V1和V2上的门极触发信号,假设这时正处于正弦波的正半周,V1显然关断,但还没有使V2关断,这时再给V3和V4的门极施加触发信号,V4导通,由于电网故障(停电或电压偏低),这时就会在V2的阳阴极之间产生电压差,其方向是阴极高于阳极,使V2关断,从而切断电网,由此可见两者之间没有环流。当市电电网恢复时,也是同理的。实验证明采用上述方法是可行的。
3 结语
  采用上述思想设计了一台样机,通过实验证明了该样机能稳定工作,切换时间短,各项性能指标均已达到UPS设计要求。

基于MC9S12XS128的汽车BCM的设计

2012年05月10日 91 次阅读

  Freescale的S12系列16位MCU在车身控制系统中应用广泛,用于车身控制器BCM、门锁模块、RKE接收器、智能执行器、灯光模块等车身ECU中。在某整车厂开发的BCM中,采用MC9S12XS128做为中央处理器,实现了车身控制的大部分功能,包括门锁控制、灯光控制、雨刷控制、车窗控制和防盗报警,还实现了CAN/LIN网关功能,通过CAN总线接收车速和碰撞信号,从而实现安全驾驶和紧急操作,通过LIN总线接收来自雨量传感器的信号,控制雨刷的快速、慢速或间歇操作。
1 硬件设计
  1.1 MC9S12XS128简介
    MC9S12XS128是一款针对汽车电子市场的高性能16位单片机解密,具有速度快、功能强、成本低、功耗低等特点。其芯片资源及特性如下:
  1) 总线速度高达40 MHz;
  2) 128 KB程序Flash和8 KB DataFlash,用于实现程序和数据存储,均带有错误校正码(ECC);
  3) 可配置8位、10位或12位ADC,3μs的转换时间;
  4) 内嵌MSCAN模块用于CAN节点应用,内嵌支持LIN协议的增强型SCI模块及SPI模块;
  5) 4通道16位计数器;
  6) 出色的低功耗特性,带有中断唤醒功能的10,实现唤醒休眠系统的功能;
  7) 8通道PWM,易于实现电机控制。
  1.2 系统结构
    BCM硬件电路包括开关信号检测、CAN/LIN通讯、负载控制及监控几部分。其中开关信号检测通过多路开关检测芯片MC33993实现,LIN通讯通过UART模块和LIN总线物理层收发器TJA1021共同实现,CAN通讯通过CAN模块和CAN总线物理层收发器TJA1055共同实现,负载控制通过智能功率器件实现,智能功率器件除了实现对负载的功率驱动,还可以提供镜像工作电流,这样通过对其镜像工作电流取样ADC转换便可以监测负载的工作状况。
  1.3 开关信号检测
    在BCM的设计实现中,由开关状态及其状态变化触发对控制负载的控制是最常见也是最重要的一种控制方式,由于开关信号繁多,而且BCM的控制负载多采用10的方式进行控制,这样在XS128的IO引脚有限的情况下,怎样完成对多个开关状态的监测成为设计中的一大挑战。同时对于电池供电的汽车电子应用而言,BCM本身有低功耗的需求,当满足低功耗条件时,进入低功耗模式,系统关断不必要的模块,降低功耗;当若干特定开关的状态发生变化时,系统需要启动相关模块,进入正常工作模式,这样不仅要实现正常工作模式下的开关状态采集及其状态变化的捕捉,还需要实现低功耗模式下的唤醒功能。
    对部分开关信号采用分立的方式进行采集,其余则采用Freescale可编程多路开关检测接口芯片MC33993实现。
    MC33993通过SPI和处理器通信,可检测22路开关量输入信号,并可以设置哪些开关通道可以触发中断。首先XS128通过SPI向MC33993发送控制命令字,进行初始化设置,设定MC33993的工作方式,并使能那些中断唤醒的开关通道的可触发中断功能。在正常工作模式下XS128通过SPI接口周期读取MC33993的开关状态,在低功耗模式下可触发中断的开关通道状态发生变化时,便可以唤醒XS128,进入正常工作模式。
2 软件设计
  2.1 软件流程设计
    BCM的软件设计采用初始化+循环体的软件结构。首先进行全局变量和所用外设(包括IO、ADC、SPI、PWM、TIME-R、SCI)的初始化,然后在循环体内依次进行开关信号检测、LIN通信、RKE通信以及负载控制。对负载控制逻辑而言,开关信号、LIN信号和RKE信号都是触发其控制操作的输入信号,而且由于需要把若干开关信号填充到LIN帧中,所以把负载控制放在循环体的最后。
  2.2 开关信号检测软件设计
    在BCM的开关控制逻辑中,开关信号的状态及其变化经常作为某个控制逻辑的背景条件和激励信号,所以在程序设计时,对单个物理开关信号需要确定其当前状态及状态跳变(包括开关闭合到断开和开关断开到闭合的变化)。由于BCM需要采集的开关信号比较多,为了程序的简洁和逻辑的清晰,定义一个结构体将各路开关信号统一起来,利用结构体的位变量特性节约变量空间,利用结构的统一性节约开关信号检测函数的代码空间。
3 结束语
  采用MC9S12XS128设计实现了一款车身中央控制器BCM,从处理器特性、硬件结构、多路开关扩展及开关信号检测等方面描述了BCM的硬件设计,从软件流程设计,开关信号状态监测及变化捕捉的软件实现上描述了BCM的软件设计。该BCM经装车试验,运行稳定,功能可靠,已经进入小批量预生产阶段,具有很高的实用价值。

基于单片机为核心的遥控报警系统设计

2012年05月08日 130 次阅读

1 引言
  由于经济的快速发展,人们生活水平得到较大的提高,生活节奏也越来越快,为此家电遥控和家庭安全也为人们所需要和重视。以AT89C51单片机为核心通过电话进行电器遥控和报警装置主要解决这些问题。他的主要功能有:通过电话可以遥控16路电器通断,遥控路数可以根据需要进行扩展;可以实现电器调压调速控制,有密码设定,保密安全性好;有语言提示,避免盲目操作;可以取消已输入的操作命令;当单片机解密接收到家中天然气泄露、温度超限和失窃信号后会自动拨打预留电话并报告家中发生的情况。
2 硬件电路设计
  总体电路设计思路是:电话遥控报警器与家用电话采用并联方式,当有振铃信号时单片机开始记数,前10次铃声内若有人接电话,则遥控报警器被屏蔽,不影响正常接听电话,若10次铃声后无人接听,约定遥控报警器自动模拟挂机,并发出提示音要求用户输入密码,允许3次输入错误,并有2次提示输入错误重新输入,若第3次输入错误则自动挂机。密码输入确认无误后,发出提示音,提示用户输入要求执行任务的电器代码,代码为3位数字加“#”字确认,前2位数字为电器代号,范围为1~16(假定控制电器为16个),第3位数为调压调速的级数,范围为1~4(档数根据需要确定),若电器无调压调速,则第3位数无效。若同一任务所输入的次数为偶数,表示取消任务。若2次按键的时间间隔小于100ms,则第2次按键输入无效,以防止抖动。若前次按键后10s无按键输入,默认为无任务输入,自动挂机。挂机后单片机把输入任务送对应输出口执行任务,并保持状态直到有新任务输入。
  硬件电路主要包括震铃检测电路、模拟摘机和DTMF解调电路、调速电路、任务执行电路、3路传感器报警信号电路,以及语音电路部分。
  2.1振铃检测电路
    电话线振铃信号为25Hz,75~100V。因此不能直接与IC电路连接,同时为了防雷击,输入端用1μF/160V电容进行隔离。铃流声经全桥整流后再由光电耦合器4N25耦合并经40106整形后送89C51T0计数器进行振铃次数记数,当T0记数为10次时,按约定为有任务输入,89C51输出模拟摘机信号使线路接通,同时单片机控制语音提示电路送入双音频DTMF解码电路。
  2.2双音频解码DTMF电路
    DTMF电路采用典型的MF8870芯片作双音频解码电路。当单片机发出模拟摘机信号后使线路接通,在提示音后输入密码,如MF8870,确认有信号输入后,CIO端(15脚)为“1”,更新输出锁存器,并将输入双音频信号解码为4位二进制数送输出锁存器D1~D4端,CIO端电平送EN端(10脚)允许输出。单片机首先进行密码核对,然后将MF8870送入的任务信号送RAM中存储,直到输入任务结束。
  2.3语音提示及拨号电路
    语音提示电路采用美国ISD公司语音芯片ISD25120,该芯片可录放120s,由于采用“直接模拟量存储”(DAST)专利技术,信号无需经D/A,A/D转换等处理过程,失真小,音质好。
    用该芯片只播放预录好的语句,所以电路只用了放音功能,录/放模式P/R接高电平,节电方式为工作接地。时钟采用外时钟,ISD25120外时钟频率f=512kHz。ISD25120共有10条地址线,要这样可以实现200ms的信息分辨率,但由于我们只需要寻找每段录音起始地址,所以可以降低分辨率使用,这里把A3~A0接地。A9和A8决定A7~A0的意义,当A9和A8有一个为“0”时,A7~A0表示为当前录放操作的起始地址,当A9和A8有一不为“0”时,A7~A0表示为不同的操作模式,在此A9和A8接地,表示A7~A0为地址数。当需要放音时,89C51使ISD25120片选端CE=“0”,同时给出A7~A0地址数,在CE的下降沿锁存,A9~A0具体设置如下:
     这样由A7~A4四条地址线可以最大寻址数为16个,每段时间长短可以由设计者根据需要决定。录音段起始时间和此段起始地址数关系如下:
       时间=某段起始地址数(十进制)×分辨率
     不同芯片分辨率不同,具体可查阅有关手册。ISD25120分辨率为200ms,本装置1~7段为6s,输入有关的提示语。第8段为预留电话号码,9~11段为15s,用于拨号报警,12~16段共27s备用。
  2.4电器控制电路
    任务输入后首先存放在存储器中,当任务输入结束后,软件首先删除输入偶次数的任务项,然后将任务送相应口线。若单片机口线够用,则可以直接由口线送外电路执行,软件只需进行任务口线状态取反即可。若单片口线不够用,则可以外加CD4514芯片进行4~16线解码的扩展,但每路需加双稳态电路保持,并进行电流放大,执行的器件一般采用继电器,继电器触头容量应根据用电器的功率大小决定,并留一定的余量。
  2.5调速调压电路
    调速调压电路执行器件选用双向可控硅,单片机根据任务送不同脉冲个数,则BT33驰张振荡器冲放电时间不同,使双向可控硅导通角大小不同而输出电压不同。
3软件设计
  根据以上分析,除主程序外,子程序包括6位密码核对子程序、(3位数+#)任务输入核对子程序、提示音子程序、报警子程序、任务排除偶次输入子程序、对方回铃声和忙音区分子程序以及10ms,10s,60s延时子程序,编写程序时注意二次按键时间小于10ms时第2次按键无效,以防止抖动。当上次按键后连续10s无按键输入信号,则默认可以自动挂机。
  报警拨号后对方回铃音和忙音的区别:按规定回铃音为1s高电平4s低电平方波信号,忙音为高电平和低电平均为0.35s方波信号,回铃音和忙音呼叫时间60s,60s后自动挂机。当有报警信号送单片机时,通过软件模拟摘机,预留电话拨号输出后,在接到第一声回铃音或忙音时,定时器开始定时,计数器开始计输入的回铃音或忙音的个数。然后判别在60s内,若计数值>15个脉冲(这时无论60s定时到否)则表示对方为忙音,应挂机,延时60s后重拨号呼叫。若在60s内计数<14个脉冲,则表示为回铃音。若在少于12个脉冲中间回铃音中断表示对方有人接听,可以播放报警信号对应的报警语音。若60s内一直有回铃音,且定时到,表示对方无人接听,则挂机延时后重拨,直到电话报警完成。
4结语
  该装置是现代家庭中一项十分有用的技术,对装有无线控制装置的家庭,只需将执行任务部分改为无线遥控发射即可。随着可视电话的发展,安装一个微型摄像头,出差在外也可以对家中的情况一目了然。

在线咨询