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); } }