void Out_4094(uchar xsd) //写CD4094子函数;
{
uchar tt,xs; //定义子函数;
xs=biao_4094[xsd];
STR=0; //保持然来的状态不变;
for(tt=0;tt<8;tt++) //写八位数据进CD4094;
{
if(xs&0x01) //判断并发串行数据;
{
DATA=1; //发高电平;
}
else
{
DATA=0; //发低电平;
}
CLK=0; //形成上升延脉冲;
_nop_();
_nop_(); //延时;
CLK=1;
xs>>=1; //数据移位,送下一位数据;
}
STR=1; //数据送完;更新显示;
}
这个是4094的函数 其他的自己编吧 不难 就是麻烦
定时中断50MS一次,共20次就是1秒。12M晶振,定时常数TH0 = 0x3C;
TL0 = 0x0B0;