最近下了ledkey.dll防真器,在Keil uVision2软件中实现了防真.可是在学习一个简单时间延时程序的时候,发现设计的时间和实际防真的时间不匹配.延时程序如下:
先说明一下,采用的是12M的晶振.
LOOP:MOV P1, #0FFH
LCALL DELAY
MOV P1, #00H
LCALL DELAY
AJMP LOOP
DELAY:MOV R7,#8
D1:MOV R6,#250
D2:MOV R5,#250
D3JNZ R5,D3
DJNZ R6,D2
DJNZ R7,D13
RET
END
按我设计思路是灯的亮和灭的时间延时的一秒钟,计算如下:8*250*250*2=1000000 =1秒
(注:因为DJNZ是两个机器周期,所以*2)
可实际运行的时候延时的时间远比设计时间短,没有一秒钟,把R7改为50后基本上有一秒钟的时间.
请问大侠计算机中的防真器是不是和实物中的防真器不是一回事,还是我的设计有问题.
程序没有问题,,使用ledkey.dll后,时钟变不是您的12M了,此时时钟与你计算机性能有关。但写入单片机后,时钟会正确。
电脑配置高,处理时钟快。
欢迎光临 弱电论坛 (http://bbs.rdzjw.com/) | Powered by Discuz! X3.2 |