📄 codev.c
字号:
/******************************************************************/
/* 广州天河双龙电子有限公司 */
/* http://www.sl.com.cn */
/* SL279 键盘与LED显示控制芯片演示程序(CodeVisionAVR版本) */
/* 程序作者:詹卫前 */
/* 接线方式:CS=PORTC.4 CLK=PORTC.3 DATA=PORTC.2 KEY=PORTC.1 */
/* 处理器:AT90S8515 晶振频率:8MHZ */
/* SL279 晶振频率:12MHZ */
/******************************************************************/
#include<90s8515.h>
#include<delay.h>
#define cs PORTC.4
#define clk PORTC.3
#define dat_write PORTC.2
#define dat_read PINC.2
#define key PINC.1
#define dat_t DDRC.2 //DATA方向控制
/* 字节接收函数 */
unsigned char receive_byte(void)
{
unsigned char i,temp=0;
dat_t=0;
delay_us(90);
for(i=0;i<8;i++)
{
temp=temp<<1;
clk=1;
delay_us(10);
if(dat_read==1)
temp|=0x01;
clk=0;
delay_us(10);
}
dat_t=1;
return temp;
}
/* 字节发送函数 */
void send_byte(unsigned char para)
{
unsigned char i;
cs=0;
delay_us(90);
for(i=0;i<8;i++)
{
if((para&0x80)==0x80)
dat_write=1;
else
dat_write=0;
clk=1;
delay_us(10);
clk=0;
delay_us(10);
para=para<<1;
}
}
/* 写sl279双字节命令 */
void write279(unsigned char cmd1, unsigned char cmd2)
{
send_byte (cmd1);
send_byte (cmd2);
cs=1;
}
void test1(unsigned char cmd)
{
send_byte(cmd);
cs=1;
delay_ms(3000);
}
/* MCU初始化 */
void mcu_init(void)
{
MCUCR=0x00;
DDRC=0xfd;
cs=1;
dat_write=0;
clk=0;
}
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -