test595.c

来自「对74HC595读写操作,以便大家学习之用」· C语言 代码 · 共 73 行

C
73
字号



#include <reg52.h>

#include <INTRINS.H>
#define uint unsigned int
#define uchar unsigned char
#define nop() _nop_();_nop_();


sbit  ds = P2^0;    //11
sbit  sh = P2^1;    //14
sbit  st = P2^2;    //12


uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭

 

void sendbyte(uchar byte)
{    
        uchar num,c; 
        num = tab[byte];       
        for(c=0;c<8;c++)
        {
	           ds = 0;
	           sh = num&0x80;
               num=num<<1;
               ds = 1;
        }
 /*        st = 0;
		 nop();
		 nop();
		 st = 1;  */
    	 return;
}

void out595(void)
{
         st = 0;
		 nop();
		 nop();
		 st = 1; 
		 return;
}

void display(uchar word)
{
        unsigned char i,j,k,tmp;    //  / shang   % yu
		k = word / 100;
		tmp = word % 100;
		i = tmp / 10;
		j = tmp % 10;
		sendbyte(j);
        sendbyte(i);
        sendbyte(k);
        out595();
	    return;

}


main()
{   
       while(1)
       { 
              display(156);
       }
       while(1);
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?