#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P1^2; //移ä½æ¶éèå²
sbit DS=P1^3; //串è¡æ°æ®è¾å
¥
sbit ST_CP=P1^4; //è¾åºéåå¨æ§å¶èå²
sbit key=P1^0;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延æ¶
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//串è¡è¾å
¥åç¨åº
void In_595(uchar temp)
{
uchar i;
for(i=0;i<8;i++)
{
temp<<=1;DS=CY;
SH_CP=1; //移ä½æ¶éèå²ä¸å沿移ä½
_nop_();_nop_();
SH_CP=0;
}
}
//并è¡è¾åºåç¨åº
void Out_595()
{
ST_CP=0;_nop_();
ST_CP=1; //ä¸å沿å°æ°æ®éå°è¾åºéåå¨
_nop_();
ST_CP=0; //éåæ¾ç¤ºæ°æ®
}
//主ç¨åº
void main()
{
uchar i;
uchar dat[3]={0,1,2};
while(1)
{
if(key==0)In_595(dat[0]);
else In_595(9);
In_595(dat[1]);
In_595(dat[2]);
Out_595();
}
}
追é®å°±æ¯å¼å§å
¨é¨ä¸ç¨äº® é£å¦ææè¦ä¸²å£é讯ï¼åplcè¿æ¥ï¼ plcååºæ¥çæ°æ®æ¯åè¿å¶ç33ï¼ æä¿¡å·è¿æ¥æä¹è®©ç¬¬ä¸ä½ä¸º9
é£å¦ææ¯ç¨plcé讯 æ¯å¦plcåä¸ä¸ªä¿¡å·ç»åçæº æ¯åè¿å¶33ï¼ç¶ååçæºæ¥åå°33åæä¹éæ©ç¬¬å ä½ç595 æ¾ç¤ºä»ä¹