⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.h

📁 595护栏管源程序,希望对从事LED行业的朋友有帮助。
💻 H
字号:
#include<reg52.h>
#include<intrins.h>
#include <string.h>

////////////////////////////////////////////////////////////////////////////////
// stddef
typedef unsigned char           bool;
typedef unsigned char           byte;
typedef unsigned char           bcd;
typedef unsigned short          word;
typedef unsigned short          wbcd;
typedef unsigned long           dword;

#define bitset(B,b)             ((B) |=  (1<<(b)))
#define bitclr(B,b)             ((B) &= ~(1<<(b)))
#define bittst(B,b)             ((B) &   (1<<(b)))

#define ASDWORD(x,ofs)          (*((dword *)&x+ofs))
#define ASWORD(x,ofs)           (*((word  *)&x+ofs))
#define ASBYTE(x,ofs)           (*((byte  *)&x+ofs))

#define HBYTE(x)                ASBYTE( x,0)
#define HWORD(x)                ASWORD( x,0)
#define HDWORD(x)               ASDWORD(x,0)
#define LBYTE(x)                ASBYTE( x,sizeof(x)/sizeof(byte )-1)
#define LWORD(x)                ASWORD( x,sizeof(x)/sizeof(word )-1)
#define LDWORD(x)               ASDWORD(x,sizeof(x)/sizeof(dword)-1)

#define bin2bcd(b)              ((((b)/10)<<4)|((b)%10))

#define SUCCESS                 0
#define FAIL                    -1

#define FALSE                   0
#define TRUE                    1


//interrupt vector list for at89c52

#define ISR_X0                  0
#define ISR_T0                  1
#define ISR_X1                  2
#define ISR_T1                  3
#define ISR_S0                  4
#define ISR_T2                  5
#define ISR_xx                  6
#define ISR_S1                  7
#define ISR_X2                  8
//sbit device
sbit DOUT = P1^3;
sbit DCLK = P1^5;
sbit EN = P1^4;
sbit LATCH = P1^2;
sbit test = P1^6;

#define SYS_XTL                 (18.432)
#define BAUDRATE0(x)            (byte)(256-(SYS_XTL*1000000L/384.0/(x)))
 
// for timer 0

#define TM0_CYCLE			(1000*60)    //60ms 
#define DELAYMS(x)          ((word)(-(SYS_XTL/12*(x))))
#define DELAYMM(x)			(2400*(x))
#define T0_ENABLE()			ET0 = 1
#define T0_DISABLE()		ET0 = 0
#define T0_ENABLE()			ET0 = 1
#define T0_DISABLE()		ET0 = 0

#define SPEED(x)			(1*((x)+1))
#define MASTER				0
#define SLAVE				-1
//for main
#define MAX_PIX				12
#define MAX_DOT				(MAX_PIX*3)
#define MAX_MSG			    14			//
#define SPEED_GRADE			1			//control shift speed


//var
//extern byte *present_data;
//extern  byte gray_cnt;
//extern byte idata gray_bit;
extern byte offset;
extern word frame_cnt;
extern byte array;
extern byte master ;
extern byte refresh_flag;
extern byte send_flag;
extern byte offset_temp;
extern byte speed_ctrl;
//extern word timeout;
extern byte code right_shift[MAX_MSG][MAX_PIX][6];
extern byte idata receive_data[MAX_PIX][6];//
extern byte com_receive_data[6];
void tmr0_init(void);
void send_char_com( unsigned char ch);
void send_string_com(byte *pt, byte length);
byte get_char_com(void);
void init_serialcomm(void);
byte com_receive_ptl(void);
//void speed_ctrl(byte speed);

⌨️ 快捷键说明

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