#include<reg51.h>#include<intrins.h>#define LED P0typedefunsignedint u16;typedefchar u8;//定义使用的IO口
sbit SER = P3^4;
sbit RCLK = P3^5;
sbit SRCLK = P3^6;//定义发送到HC595的串行数据
u16 code table[]={0x7c,0xFE,0x7F,0x7F,0xFE,0x7C,0x38,0x38};//延时函数voiddelay(u16 time){while(time --);}//通过595发送串行数据voidSend(u8 num){
u8 a;
SRCLK =1;
RCLK =1;for(a =0; a <8; a ++){
SER = num >>7;
num = num <<1;
SRCLK =0;_nop_();_nop_();
SRCLK =1;}
RCLK =0;_nop_();_nop_();
RCLK =1;}//主函数voidmain(){
u8 i;
LED =0x00;while(1){for( i =0; i <8; i ++){//设置每次亮的列数
LED =~(0x80>> i);Send(table[i]);//消影
LED =0xFF;}}}