社区
单片机/工控
帖子详情
关于单片机程序限制使用时间
wheatyilong
2011-05-23 02:34:27
单片机程序能否可以设置程序的使用时间?各位高手帮忙解答!谢谢
比如说 某个程序只能运行200个小时 而后就不再运行了
是否可以实现?
...全文
488
20
打赏
收藏
关于单片机程序限制使用时间
单片机程序能否可以设置程序的使用时间?各位高手帮忙解答!谢谢 比如说 某个程序只能运行200个小时 而后就不再运行了 是否可以实现?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
宋哥
2011-05-27
打赏
举报
回复
原理都讲清楚了,程序还是自己写吧。我这里再简单的说一下,首先要设置一个定时器,利用这个定时器计时,无非是定义毫秒、秒、分、时、日、月、年等,你要多长时间都可以,时间到了按要求处理就行了。如果是功能性的,直接用RAM定义这些变量就行了,只不过是断电重启后,时间重新计算。如果不是,只是记录运行时间,则把时间记录到E2PROM中或者FLASH存储器中,掉电也不影响。
wheatyilong
2011-05-27
打赏
举报
回复
[Quote=引用 19 楼 iamlaosong 的回复:]
原理都讲清楚了,程序还是自己写吧。我这里再简单的说一下,首先要设置一个定时器,利用这个定时器计时,无非是定义毫秒、秒、分、时、日、月、年等,你要多长时间都可以,时间到了按要求处理就行了。如果是功能性的,直接用RAM定义这些变量就行了,只不过是断电重启后,时间重新计算。如果不是,只是记录运行时间,则把时间记录到E2PROM中或者FLASH存储器中,掉电也不影响。
[/Quote]
谢谢楼上的 !
Ejack79
2011-05-26
打赏
举报
回复
……看来这里的很多人不知道这世界上有一批专门拖欠工程款的无良公司啊……
程序可正常运行半年/一年,工程款结清后解除时间限制。
对付无赖就得用无赖招数。
wheatyilong
2011-05-26
打赏
举报
回复
哪位达人可以帮助写一下呢?谢谢了
shen_guang_wu
2011-05-25
打赏
举报
回复
使用带内部flash的单片机可以实现,但是一定要小心使用。
bigbat
2011-05-25
打赏
举报
回复
内部带EEPROM的单片机都可以。要是定时器都玩不转。建议改行吧!这不是什么前途光明的职业!
Great_Bug
2011-05-25
打赏
举报
回复
这个就是最简单的逻辑炸弹。。。。。。。
wheatyilong
2011-05-24
打赏
举报
回复
[Quote=引用 9 楼 bjtea 的回复:]
设置定时器T0(或T1)工作在方式1下,允许定时中断;定时时间可以是50毫秒。设置秒,分,小时计数器;每20次中断为1秒,每60秒分钟计数器加1,每60分小时计数器加1。等小时计数器达到200,退出相关程序即可。
[/Quote]
能具体一些吗?热泪感谢! 程序在上面
bjtea
2011-05-24
打赏
举报
回复
设置定时器T0(或T1)工作在方式1下,允许定时中断;定时时间可以是50毫秒。设置秒,分,小时计数器;每20次中断为1秒,每60秒分钟计数器加1,每60分小时计数器加1。等小时计数器达到200,退出相关程序即可。
wheatyilong
2011-05-24
打赏
举报
回复
比如下面一段程序,,,,怎么控制使用200小时使用时间:
#include<reg52.h>
//#define uint unsigned int
//#define uchar unsigned char
sbit key1=P1^1; //停止指令输入点
sbit key2=P1^2;
sbit key3=P1^3;
sbit key4=P1^4;
sbit key5=P1^5;
sbit key6=P1^6;
sbit ssr1=P2^0;
sbit ssr2=P2^1;
sbit ssr3=P2^2;
sbit ssr4=P2^3;
//void delay(uint z);
void main ()
{
P1=0xff;
P2=0xff;
while(1)
{
if(P1==0xfd)
P2=0xff; //所有继电器断开
else
P2=0xff;
if(P1==0xf9)
P2=0xfe;
else
P2=0xff;
if(P1==0xfb)
P2=0x7d;
else
P2=0xff;
if(P1==0xf3)
P2=0xfc;
else
P2=0xff;
if(P1==0xf7)
P2=0xfb;
else
P2=0xff;
if(P1==0xe7)
P2=0xfa;
else
P2=0xff;
if(P1==0xef)
P2=0xf9;
else
P2=0xff;
if(P1==0xcf)
P2=0xf8;
else
P2=0xff;
if(P1==0xdf)
P2=0xf8; //重复上一步动作
else
P2=0xff;
if(P1==0x9f)
P2=0xf7 , P0=0xef; //JAM 电线报警启动
else
P2=0xff , P0=0xff;
/* {
LED=0;
delay(40);
LED=1;
delay(6000);
} */
}
}
/*void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}*/
wheatyilong
2011-05-24
打赏
举报
回复
[Quote=引用 4 楼 skylinehyk 的回复:]
让定时器工作在方式1 设置一个全局变量(定时器溢出次数) 计算好溢出次数与时间的关系 当为200小时的时候 用if做判断 if成立时可以调用字函数 这个子函数就写成while(1); 让程序死循环等待就OK
[/Quote]
大家都误会了 只是做的东西需要这样的功能
dontium
2011-05-24
打赏
举报
回复
51机的程序保密性最差了
如果没有外部可读写ROM,是无法实现的。
wheatyilong
2011-05-24
打赏
举报
回复
[Quote=引用 11 楼 bjtea 的回复:]
引用 10 楼 wheatyilong 的回复:
引用 9 楼 bjtea 的回复:
设置定时器T0(或T1)工作在方式1下,允许定时中断;定时时间可以是50毫秒。设置秒,分,小时计数器;每20次中断为1秒,每60秒分钟计数器加1,每60分小时计数器加1。等小时计数器达到200,退出相关程序即可。
能具体一些吗?热泪感谢! 程序在上面
加起来也没有几行,你先写个初步,调试一下,有问……
[/Quote]
能帮我写一下吗?拜托了 这方面我有点小白 。。。万分感激
bjtea
2011-05-24
打赏
举报
回复
[Quote=引用 10 楼 wheatyilong 的回复:]
引用 9 楼 bjtea 的回复:
设置定时器T0(或T1)工作在方式1下,允许定时中断;定时时间可以是50毫秒。设置秒,分,小时计数器;每20次中断为1秒,每60秒分钟计数器加1,每60分小时计数器加1。等小时计数器达到200,退出相关程序即可。
能具体一些吗?热泪感谢! 程序在上面
[/Quote]
加起来也没有几行,你先写个初步,调试一下,有问题大家替你改。
AnYidan
2011-05-23
打赏
举报
回复
[Quote=引用 1 楼 bjtea 的回复:]
简单的情况下,你把运行的时间累积,加密后存到E2PROM中,定时检查(适当做点迷魂阵,以免发现),这样就成了。需要警告的是,如果销售这种产品是违法的,可能被合法用户控告,如果造成损失,后果比较严重。
[/Quote]
技术上不难,后果可能很严重
空影
2011-05-23
打赏
举报
回复
楼主切莫作孽啊
skylinehyk
2011-05-23
打赏
举报
回复
让定时器工作在方式1 设置一个全局变量(定时器溢出次数) 计算好溢出次数与时间的关系 当为200小时的时候 用if做判断 if成立时可以调用字函数 这个子函数就写成while(1); 让程序死循环等待就OK
lbing7
2011-05-23
打赏
举报
回复
最好有一个不可以让用户更改的时钟服务器
然后强制更新后,比对即可
nametian
2011-05-23
打赏
举报
回复
同意LS,不要做违法的事。实现可以的,有定时器。
bjtea
2011-05-23
打赏
举报
回复
简单的情况下,你把运行的时间累积,加密后存到E2PROM中,定时检查(适当做点迷魂阵,以免发现),这样就成了。需要警告的是,如果销售这种产品是违法的,可能被合法用户控告,如果造成损失,后果比较严重。
【KEIL·
单片机
·扫盲贴】关于ARM
单片机
程序
内存
使用
情况的细致讨论。
转载:https://www.cnblogs.com/Contrail/p/7502066.html 【KEIL·
单片机
·扫盲贴】关于ARM
单片机
程序
内存
使用
情况的细致讨论。 接触了两年多
时间
的
单片机
编程本人对关于
单片机
程序
内存如何耗费的问题一直懵懵懂懂,直到在近日看到某篇有关于MDKMAP文件介绍的帖子后才有种醍醐灌顶的感觉,这里我将分享在此之上的观点与见解以供大家讨论学习。 大家都知道...
单片机
使用
次数
限制
的C语言编程与Proteus仿真项目
本文还有配套的精品资源,点击获取 简介:本压缩包包含
使用
C语言编程控制51
单片机
,以及利用Proteus软件进行仿真实验的教程,特别适合毕业设计和
单片机
初学者。教程着重讲解如何利用C语言实现产品
使用
次数的计数与
限制
,包括C语言基础、51
单片机
I/O操作、定时器/计数器应用、内存存储机制、Proteus仿真搭建、中断系统
使用
及
程序
设计优化等关键知识点。通过实践这个项目,学习者...
关于设备有效期的
单片机
处理方法
设置仪器设备的有效期,有利于生产厂家管理设备,保护自己的权益。 在设备没有自动校时的情况下,如何设定设备的有效
使用
期限,成为最近思考的一个问题。 方法一, 直接设置有效期 用户在有效期
使用
之前,手动调整
单片机
系统
时间
,把
时间
调到比较前的
时间
,这种方法直接被破解,导致这功能失效。如设置有效期:2016.06.22 ,用户可以把当前
时间
设置成2000.06.01 有效期还有
单片机
裸机
程序
——
程序
架构
使用
定时器设定不同的
时间
片,定时到了某个
时间
节点,就去执行对应
时间
片里的代码,代码执行
时间
不能超过
时间
片
时间
,
时间
片
时间
应该根据所执行任务的耗时来设定。比如,按键扫描,通常都需要软件防抖,顺序法是延时10ms左右再去判断,但10ms极大浪费了CPU的资源,在这段
时间
内CPU完全可以处理很多其他事情,
时间
片轮询法就能很好利用CPU资源。前后台顺序执行是入门开发者常用的
程序
架构,逻辑简单,复杂度低,代码量少,最直观了,从上往下执行,全部任务都在一个循环里执行,不考虑每个函数执行所需要的
时间
。
关于
单片机
程序
运行的一些理解
关于
程序
的执行,以前想的不多,没有意识到一个
程序
在运行时,从哪里读指令,数据又写在哪里。 最近在看CSAPP时这个念头经常在脑袋中晃荡。 从
单片机
上知道,在上电的那一刻,MCU的
程序
指针PC会被初始化为上电复位时的地址,从哪个地址处读取将要执行的指令,由此
程序
在MCU上开始执行(当然在调用
程序
的 main之前,还有一系列其他的的初始化要做,如堆栈的初始化,不过这些我们很少回去修改)。PC在上电
单片机/工控
27,509
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章