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