📄 c14489.c
字号:
//曰: 一个简单的串口输入5位LED驱动
#define db oe sb
#define Uchar unsigned char
sbit DATA=0x90; //定义P1.0为DATA IN
sbit CLK=0X91; //定义P1.1为CLOCK
sbit ENA=0x92; //定义P1.2为ENABLE
void DSPCMD(Uchar CMD){ //单字节命令函数写入14489内部设置寄存器
Uchar i;
ENA=0;
for(i=8;i>=1;i--){ //使能14489
DATA=CMD&0x80; //写入单字节命令
CMD=CMD<<1;
CLK=0;
CLK=1;
}
ENA=1; //禁止14489
}
void DSPDATA(Uchar DSCMD,Uchar DSDATA1,Uchar DSDATA2){
Uchar i,j; //多字节命令函数,写入14489显示寄存器
i=0;
ENA=0; //使能14489
while(i<24){ //写入3字节显示数据
if(i<8){DSP=DSCMD;}
else if(i<16) {DSP=DSDATA1;}
else{DSP=DSDATA2;}
for(i=8;i>=1;i--){
DATA=DSP&0x80;
DSP=DSP<<1;
CLK=0;
CLK=1;
}
i=i+8;
}
ENA=1;
}
void main(){
DSPCMD(0x01); // 单字节命令,点亮所有LED
DSPDATA(0x85,0x43,0x21); //在5位LED上分别显示54321,满亮度显示,
DSPDATA(0x01,0x23,0x45); //在5位LED上显示12345,半亮度显示
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -