基于汇编语言的LED显示屏加密设计

时间:2022-08-31 11:13:12

基于汇编语言的LED显示屏加密设计

【摘 要】 本研究根据现在市场出现的一些LED电子显示屏尾款拖欠情况的出现而展开,此项研究的意义在于:LED电子显示屏智能控制可有效保障和维护渠道工程商与终端客户之间的合作利益。工程款都是按批次交付款项,工程全部竣工,最后一笔款项方能给予工程商。所以很多工程商担心工程给做好了却收不到尾款,而LED电子显示屏智能控制可在工程全部竣工后而客户没有交付尾款时限制LED电子显示屏亮或灭,即使更换其他控制系统也无法解密。从而保障了工程商在LED电子显示屏工程上的利益,进而达到维护LED灯屏市场健康发展的目的。

【关键词】 LED显示屏 加密 汇编语言

LED显示屏主要是以工程项目的形式完成的,目前国内许多终端客户的信誉较差,工程项目验收之后拖款情况严重,连锁反应之后给整个LED显示屏行业造成较大的压力,严重阻碍了LED显示屏的推广应用。

本研究针对现在还没有完整的解决方案这种现状,提出了一套完整的解决方案并应用于实际,程序上应用汇编语言,硬件上应用单片机控制LED显示芯片引脚OE端的方法,软硬件结合控制LED的定时亮灭,或者计次亮灭,从而达到控制尾款拖欠的目的,控制方法灵活,在实际应用上效果很好。

1 汇编语言的优势

本项目语言完全采用汇编完成,前期策划时曾采用C语言进行设计,但是出现过各种问题致使程序最后无法正常运行完成预订功能或不能很好的完成预订功能,后经过研发人员的商讨决定采用汇编语言进行设计。

汇编语言的优势在于:

(1)能够直接访问与硬件相关的存储器或I/O端口;

(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;

(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;

(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;

(5)能够最大限度地发挥硬件的功能。由于汇编语言的这些特点所以使用汇编语言进行本项目的设计具有效率高,精度高,冗余小等特点。但是另一方面汇编是一种接近机器语言的较低级语言,在进行某些复杂算法时不够灵活,但是经过研究人员的反复尝试,这些算法被一一攻克。

2 硬件设计的具体思想及研究方法

2.1 现有技术和本项目所采用方案对比

本项目提出的技术在原有的技术上进行改造加入了MCU部分,通过MCU可以采集信号,接收主控计算机发出信号,以及内部的算法计算来控制整个LED显示屏幕的运行,如果更换主控计算机控制系统或者控制卡等设施是无法破解预先设置在MCU中的加密算法以及使屏幕正常开关。如果试图进行破坏MCU部分,一则费时费力,工作量巨大;二则破坏后可能导致屏幕全部破坏,无法正常显示,得不偿失,对于用户而言不会选择这种方式。

2.2 MCU的选择与设计

MCU的选择比较灵活,可以选择国外厂商例如NXP的单片机,ATMEL的单片机等,也可以采用国内厂商的单片机,要求单片机必须带有EEPROM,因为要用到EEPROM掉电不丢失的特性存储密码,时间等重要数据。本项目采用国内厂商宏晶科技的单片机,型号为STC11FO4E。本芯片的优点是价格实惠,可靠性高,适合国内LED行业现在的状况:国内LED行业现在已经进入了薄利多销时代,本身厂商的利润空间已经被压缩的很小,如果采用国外厂商的昂贵的MCU,不符合现在的行情,无法达到推广应用的目的。

2.3 工作流程

计算机通过“接口输入”将开\关机时间写入主控MCU,MCU在密码验证后接收主控计算机设定的工作时间,进行内部定时和时间EEPROM存储,通过“输出控制信号”控制显示部分电路的开和关。

发送数据有两种命令格式,1、修改密码,2、修改时间。这两种数据格式都必须包含旧密码,当单片机收到数据后首先进行密码校验,如果密码错误,拒绝执行之后的命令。因此,无论是修改时间还是修改密码都必须知道旧密码,否则无法操作。

另有一种替代方案,如果对于不经常使用LED显示屏的用户,可以不进行时间设定而进行次数设定,即在使用过一定次数后屏幕关闭,这样也可以达到预定的效果,防止达不到定时关屏的目的。这两种方案可以通过程序根据需要灵活切换。

3 程序设计分析

程序大体分为两个分支,开屏与关屏。当计时至0时关闭屏幕并等待接收指令等待重新打开屏幕;当计时尚未至0时打开屏幕,进行计时操作,直至计时至0,在计时中间可以通过串口中断接收重置计时命令及更改旧密码命令。程序设计时考虑到EEPROM可以稳定写入十万次,如果次数超过这个数目可能会导致EEPROM损坏,所以EEPROM两个扇区进行交替存放,计时满32分钟写入EEPROM一次,经过这样的设计,计时可以稳定运行十年,这已经超过屏幕本身的使用寿命。

4 结束语

程序因篇幅限制不便全部写出,所以举例说明。该项目所采用的思想简洁明了,易于实现,成本控制方面比较出色,适合推广应用,能够很好的解决现存的问题,后续研究可以利用MCU加入屏幕故障判断功能,如此可以方便非专业人员进行故障检测和维修。

参考文献:

[1]王爽.汇编语言.清华大学出版社,2008.

[2]张义和.Altium Designer完全电路设计.机械工业出版社,2007.

[3](日)LED照明推进协会 编,李农,杨燕 译,王史杰 校.LED照明设计与应用.科学出版社,2009.

[4]李朝青.单片机原理及接口技术(第3版).北京航天航空大学出版社,2005.

上一篇:一个人·一本书·一种文化 下一篇:绿洲——盐田上的蝶变