📄 isd4003.c
字号:
#include<reg52.h>
//**********管脚定义********//
sbit CLK= P2^0;
sbit DIN= P2^1;
sbit LOAD= P2^7;
//**********命令声明********//
#define addr_powerup 0x20//
#define addr_SETPLAY 0xe0//
#define addr_PLAY 0xf0//
#define addr_STOP 0x10//
//***********函数声明********//
void isd4003_init();//init
void isd4003_send_data(unsigned char addr,da);//send data
void read_welcome();//welcome
void isd4003_play(void);
void ps7219_delay(void);//delay
void isd4003_delay(void);
void delay1s(void);
void delay10ms(void);
/******************************************
*PROJECT CODE:isd4003_init *
*CREATE DATE:4/11/2006 *
*CREAT BY: Zhao Zhengang *
*FUNCTION: initial of the ps7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
void isd4003_init()
{
read_welcome();//welcome
//isd4003_send_data(addr_STOP,0x00);//
}
/******************************************
*PROJECT CODE:isd4003_init *
*CREATE DATE:4/11/2006 *
*CREAT BY:Zhao Zhengang *
*FUNCTION: initial of the ps7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
void isd4003_play()
{isd4003_send_data(addr_PLAY,0x00);
}
/******************************************
*PROJECT CODE:isd4003_send_data *
*CREATE DATE:4/11/2006 *
*CREAT BY: Zhao Zhengang *
*FUNCTION: send 1 word to 7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
void isd4003_send_data(unsigned char addr, da)
{ unsigned char i,byte_out;
byte_out=addr;
EA=0;
LOAD=0;
ps7219_delay();
for(i=0;i<8;i++)
{
CLK=0;
DIN=(bit)(byte_out&0x80);
ps7219_delay();
byte_out=byte_out<<1;
CLK=1;
ps7219_delay();
}
byte_out=da;
for(i=0;i<8;i++)
{
CLK=0;
DIN=(bit)(byte_out&0x80);
ps7219_delay();
byte_out=byte_out<<1;
CLK=1;
ps7219_delay();
}
LOAD=1;
EA=1;
}
/******************************************
*PROJECT CODE:read_welcome *
*CREATE DATE:4/11/2006 *
*CREAT BY:Zhao Zhengang *
*FUNCTION: send 1 word to 7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
void read_welcome()
{isd4003_send_data(addr_powerup, 0x00);//start
delay10ms();
delay10ms();
delay10ms();
isd4003_send_data(addr_SETPLAY, 0x00);//find address
isd4003_play();//play
}
/******************************************
*PROJECT CODE:ps7219_delay *
*CREATE DATE:4/11/2006 *
*CREAT BY: Zhao Zhengang *
*FUNCTION: delay of the 7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
void ps7219_delay()
{unsigned char i;
for(i=0;i<250;i++)
{i++;}
}
/******************************************
*PROJECT CODE:isd4003_delay *
*CREATE DATE:4/11/2006 *
*CREAT BY: Zhao Zhengang *
*FUNCTION: delay of the 7219 *
*MODIFY DATE: *
*DOCUMENT: *
*OTHERS: *
******************************************/
/*void isd4003_delay()
{
unsigned char j,k;
for(j=150;j>0;j--)
for(k=200;k>0;k--);
}*/
void delay1s()
{
unsigned char h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
void delay10ms(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
main()
{
//isd4003_send_data(addr_STOP,0x00);
delay1s();
delay1s();
isd4003_init();
delay1s();
delay1s();
delay1s();
delay1s();
isd4003_send_data(addr_STOP,0x00);
//
//isd4003_init();
//delay1s();
//isd4003_init();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -