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 + -
显示快捷键?