发布于 2005-07-07 20:29:36
0楼
以下是我玩过的用HC595的LED显示程序
主程序:
LD Always_On
CALL sbr_SendLED, 16#1234
子程序
//1、必须为DC输出的DO节点
// Q0.7=SER,74LS594之串行移位数据输入
// Q1.0=SRCLK,74LS594之串行移位时钟
// Q1.1=RCLK,74LS594之并行锁存时钟
LD Always_On
=I Q1.0 // 移位时钟SRCLK=1
=I Q1.1 // 锁存时钟RCLK=1
MOVW #DV, AC1
// 字节循环
FOR AC0, +1, +4 // 共4bytes, 循环4次
SEG AC1, LB10 // 低4位转为7段码
// 位循环
FOR AC2, +1, +8
SRB LB10, 1
LD Overflow_Illegal // 低位移出,串行输出
=I Q0.7
LD Always_On
XORB AC3, AC3 // 延时
NOT
=I Q1.0 // 输出一个时钟脉冲
NOT
XORB AC3, AC3
=I Q1.0 // ~~\__/~~,反相后为__/~~\__
NEXT // 位循环
SRB AC1, 4 // 右移4位
NEXT // 字节循环
LDN Always_On
=I Q1.1 // 输出~~\__,反相后为__/~~