sled.c

来自「单片及c语言轻松入门的随书光盘」· C语言 代码 · 共 42 行

C
42
字号
#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char 

sbit    Dat=P3^2;	//定义串行数据输入端
sbit    Clk=P3^3;	//定义时钟端
sbit    RCK=P3^4;	//定义控制端

unsigned char DispBuf[6];
uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};//定义定形码表
void SendData(unsigned char SendDat)	//传送一个字节的数据数据
{	unsigned char i;
		for(i=0;i<8;i++)
		{	if((SendDat&0x80)==0)
				Dat=0;
			else
				Dat=1;
			_nop_();
			Clk=0;
			_nop_();
        	Clk=1;
			SendDat=SendDat<<1;
		}
}
void Disp()
{	uchar c;
	uchar i;
	RCK=0;						//关闭存储寄存器的输入
	for(i=0;i<6;i++)
	{	c=DispBuf[i];			//取出待显示字符
		SendData(DispTab[c]);	//送出字形码数据
	}
	RCK=1;						//开启存储寄存器的输入
}
void main()
{
	for(;;)
	{	Disp();
	}
}

⌨️ 快捷键说明

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