发布于 2011-08-09 10:36:42
19楼
看到老学童,忍不住就想起来了老顽童,老顽童是武林高手,老学童一定是技术高手了,但两者都有一点是一样的:对于自喜欢的东西都很痴迷。如果我们论坛有个最执迷不悟奖项的话,非老学童莫属。“我想深情地对老学童大侠说,此时什么都不重要,身体最重要!先把身体康复了。”n次看你的背影大侠说的好。身体是***的本钱。老学童还是老老实实养身体吧。身体好了,万事就ok了。
对于跑马灯写成FC,如果按照n次看你背影大侠的思路来说,个人感觉还是写成FB好一点。自己也尝试做了一下。出现问题挺多。我还是把跑马灯的思路给大家看看吧。
其实主要的思路还是老学童的那句话: “熟读唐诗三百首,不会写诗也会凑”,就照葫芦画瓢吧。”我就借n次看你背影大侠的思路献丑了。
A M 6.1 //跑马灯的启动标志位M6.1=1启动,M6.1=0停止
FP M 6.2 //如果跑马灯启动时
JC M001 //跳转到初始化地址寄存器1和指定的Q区
A M 6.1 //跑马灯的启动标志位M6.1=1启动,M6.1=0停止
FN M 6.5 //如果跑马灯停止时
JC M001 //跳转到初始化地址寄存器1和指定的Q区
L MD 7
L DW#16#82000064 //★定义Q点的结束(返回)地址,这里是用的指针寻址的完整地址
>=D
JC M001 //返回跑马灯的起始地址
JU M002
M001: CALL "RSET"
S_BIT:=P#Q 0.0 //库里面有个范围置位复位功能块FC82,感觉用在此处刚好。
N :=100
LAR1 P#Q 0.0
TAR1 MD 7
L DW#16#82000064
T MD 16
M002: LAR1 MD 7 //再初始化一下地址寄存器1
A T 1
A M 6.1 //跑马灯的启动标志位
FP M 6.3
R Q [MD 16]
S Q [AR1,P#0.0] //T1上升沿到来时,置位当前的Q点
A T 1
A M 6.1 //跑马灯的启动标志位
FN M 6.4
//T1下降沿到来时,复位当前的Q点
JC M003
JU M004
M003: TAR1 MD 16 //跑马灯地址往前逐步推进
+AR1 P#0.1
TAR1 MD 7
//╬╬╬╬╬╬╬╬╬╬╬T1相当于5S的高电平,一个扫描周期的低电平╬╬╬╬╬╬╬
M004: AN T 1 //产生一个5s的"同步"脉冲源
A M 6.1 //跑马灯的启动标志位M6.1=1启动,M6.1=0停止
L S5T#1S //★时间改小一点,跑马速度会快一点。
SE T 1 //跑马灯开始,启动定时器。