c51 74hc164--165--595c51
51單片機驅動74ls164跑馬燈,好處是只用了2個端口即可實現,電路如下圖所示:
#include<reg51.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char sbit dat=P2^6; sbit clk=P2^7; uchar ii; uchar code seg7code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0xff};//0-9,-,全滅 void sendbyte(uchar seg) { uchar num,c; num=seg7code[seg]; for(c=0;c<8;c++) { dat=num&0x80; num=_crol_(num,1); clk=0; clk=1; } } void delayms(int ms) { uchar mi,mj; for(;ms>0;ms--) for(mi=6;mi>0;mi--) for(mj=82;mj>0;mj--); } void main() { for(ii=0;ii<10;ii++) { sendbyte(ii); delayms(200); } }