单片机设计问题解决
单片机控制产品设计中的几个特殊问题
中央处理器(CPU)、存贮器(RAM和ROM)和时钟电路等这些都是计算机的组成单元,其中还包括定时器计数器、输入/输出接口。它们一般都放在一个芯片内,而这些零件组合在一起就是单片微型计算机。有的单片机还有额外的附加一些零件,都是为了让单片机拥有更多的优点。我们可以增加转换器等,这样单片机的功能就会更强大。单片机本身拥有很多优点,比如功能全面,体积很小,运行速度快,并且十分廉价的优点,但是单片机在生产中仍存在一些无法解决的问题。
一、单片机产品的保密问题
初期单片机以小批量为主,还包括一些试用品。初期的单片机采用的芯片是8031和8098。这种机种还需要加上拓展芯片,不太方便。后来就发展成为把已经编制完成的程序固化在芯片里,变得更加的轻便。芯片的线路和程序上还包括有效的加密措施,可以有效的防止破译者或者黑客,但是保密是相对的,无法做到绝对,在防止仿造造假方面仍存在很大的问题。单片机在后期的发展优化中仍要重点解决这个安全问题,才能有效防止造假对自身的权益的损坏。可以采取以下措施。
在单片机的vpd端主要是利用备用电源供电,这就是MCS-96系列单片机内部的RAM区中的16字节的掉电保护区。即使在切断电源以后仍然处于正常状态。但随着备用电源的失效,内容依然会失去。为了能够运用这种特性,程序编译时将关键字先存入ram区域里,这个区域的数据起着十分重要的作用,芯片里的程序能否运行就是靠的这个数据。只有依靠这个区域的数据就是打开芯片里的程序。但是这个数据是用一段引导程序输送到ram中,而关键字则是在产品生产时插入引导程序,输入进ram中。再插入工作芯片。由于单片机的发展经历了很大的一个阶段,因此流通的单片机参差不齐,一般普通的单片机没有仿真的功能,这也让这种单片机无法读出ram内容。当芯片断电后里面的内容就会直接遗失,这使得单片机又具有特别的安全性,其他人根本无法获得密码。就算是完全复制,系统也不会工作,这样设计者的权益就会得到保护。
受单片机内部功能设计的限制影响,单片机的核心部分信息不会在芯片失去连接的情况下对外传输,保证了芯片的安全性,因此不能由设计师外部的人获得密码。面对外界因素的影响单片机本身可以保护系统设计信息不会被分析,从而在资料设计上保证了机密的不外泄性,避免对设计者造成损失。
由于单片机本身的信息存储和处理上具有功能限制,因此对于内部核心的运行信息不会被直接获取,即使单片机内部核心处于断开状态,控制信息中的密码也不会被分析出,从信息层次保护了单片机的有效性,在硬件被复制的前提下,可以保证设计作品的合法性不会被进一步损失。
MC S-51系列程序:
S TA RT:M OV A,70H
MOV 82H,A
ANL A,7lH
MOV A,7EH
MOV A,79H
XRL A,7AH
ADD A,7FH
MOV 83H,A
JM P@A+DPT R
其中:70H~7FH单元为掉电保护区,70H,71H,
79H,7AH。
IEH,7FH中的内容为关键字。
二、单片机的复位问题
采用单片机研发设计产品过程中,关键所在就是要能够实现编程的端口以及管脚之间的连接,他们之间主要通过一定的电流进行信号的传递,以此达到连接和控制的作用与目的。在真正进行设计和使用之前,要通过一定的仿真实验,将所有的因素和结果运用模拟的形式进行相关设计和调试,直到所有的运行结果都能完全吻合并且顺利开展,此时就可以将相关程序转移到芯片当中,从而运用于单片机的设计。将这样的程序运用到单片机中能够有效的保证运行效率和质量,因为在真正运行之前已经进行了相关的调试和改变,它完全适应于仿真环境,所以在单片机的应用上也能完全吻合。然而,也有例外的情况发生,许多仿真环境通过的程序运用到实际单片机控制程序中就不能很好的运作,这并不是相关程序出现了问题,而是单片机复位出现了偏差,需要我们仔细检查复位问题而不是否定设计的程序。通常情况下,我们需要拓展I/O接口,这样做的主要原因在于让显示器能够与键盘有效的结合起来,有时候也是为了能够有效及时的输出一定的信息。因此,为了保证显示器和键盘之间的工作能够无缝连接,即系统及时接受键盘输入的信息和数据,而显示屏及时的显示相关的输出信息,需要对I/O接口进行一定的初始化设置,对其进行相关命令的接收和处理,让接口能够真正有效的接收信息并且做出反应,从而有效的连接键盘和显示屏。然而,要做到这样还存在一定的问题,因为电路采用的是RC充放电式复位电路,单片机在接受工作指令的时候,接口难以同时接受命令结束复位工作而展开工作模式,所以两个在接受工作指令上存在一定的时差,不能够有效的配合,所以为了能够很好的解决这个问题,需要从以下两个方面着手:
(1)同步脉冲复位电路用于MCU和I/O的同步。(2)在编程中,为了使输入输出接口可以根据指令在适当的范围内进行调整满足指令要求,需要对内部进行设置。
三、使用定时器应注意的问题
采用含两个加法计时器/计数器型号的MCS-51单片机。用单片机内部计时器计时,一旦定时中断了就需要重新进行设定,这极大的增加了工作量,同时也增加了工作难度,影响了效率,而且一般而言,在中断服务程序中,会按照低位字节到高位字节的顺序进行传输,传输用到的指令如下:
MOV 8AH,TL
MOV 8CH,TH
在指令信息不符合预先设置的情况下,会影响具体的定时效果。并且第一次指令下达后会导致重复多次定时将低字节的判定结果改变,经过超出计划次数的改变后,会导致高字节的产生,从而使下一步指令的作用不被实现。
四、按键设计方案
在我们的日常生活中会用到很多仪表仪器和各式各样的家用电器,他们基本上都具有按键,人们主要通过按动这些按键来输入信息使它们执行相应的工作,所以,按键对于这些电器来说是十分重要的信息交流媒介,而按键总的来说又分为编码和非编码两大类,在单片机中运用的主要是非编码式的,他们主要依靠软件和程序来实现工作目的。在如今的教学中主要采用MCS-51来进行案例讲解,本文中,也将如此,对其进行相应的剖析:
4.1按键的工作原理
基本原理:利用金属物质作为媒介进行传感操纵,当感应芯片察觉到电流后会将信息传入到相应的接口内部。绝缘板附近存在接触活动会导致电容受外界压力影响进行改变,电平的高低会进一步促使传输接口传输数据,在这种情况下,电路改为输出模式,通过访问内部判断按键的变化从而获取信号分析,进行下一步功能的实施。
4.2按键识别
为了解决多个冗余响应存在的问题,可以通过按键和释放来按下和释放两个符号。在执行该程序的过程中,可以检测符号位的内容,并识别密钥的状态。根据这个思想,当初始化按钮被设置时,符号位被按下或不被按下,并且给出两个不同状态,这种状态主要分为是”1”和否”0”,通过对状态标志位key mark的判定选择信号信息。
(1)按键功能初始设置;
(2)if(按键状态改变)
{去抖时间设为10ms后};
key_mark=1;
if(按键状态改变)
{操作结束}
else if(按键状态未改变)
{key_mark=0,实现退出状态}
通过判定循环对key mark的具体状态进行识别,如果进行了按键操作,保证了经过固定时间的验证后传递按键信息。此时key mark=1进行标志查询时,得知key mark正在按下。这样,按压时可以准确地检测出按钮,当按钮按下不被解除时,它不会多次对同一个状态产生反应,此时key mark状态持续保持不变。if被取消,直到keymark被重置为“0”,并且每个按钮被实现,系统才会调用一个按键处理事件。
总结
通过对上面数据分析可以发现,单片机与按键模式的选择多种多样,人们在日常生活和工作中要结合不同的实际情况,选择最恰当的方案,使得操作简单的同时还能尽可能的节约时间和精力,不断提高工作效率与质量,让单片机更好的为人们的生活服务。