📄 4094.txt
字号:
CD4094驱动程序
#include<at89x52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
/*
sbit K1 = P3^4;
sbit K2 = P3^5;
sbit K3 = P2^4;
sbit K4 = P2^5;
*/
sbit STR = P2^0;//定义CD4094各端口;
sbit DATA = P2^1;
sbit CLK = P2^2;
//code unsigned char C51BOX2[3] _at_ 0x43;
void Out_4094(uchar data1);//CD4094写数据子函数;
void Delay(uint a); //延时子函数;
//主程序开始;
void main()
{
uchar i; //无限循环;
while(1)
{
for(i=0;i<255;i++) //让CD4094端口的LED不断从0-255显示;
{
Delay(10000); //延时;
Out_4094(i); //调用显示子函数;
Delay(10000); //延时;
}
}
//while(1);
}
void Out_4094(uchar data1) //写CD4094子函数;
{
uchar i; //定义子函数;
STR="0"; //保持然来的状态不变;
for(i=0;i<8;i++) //写八位数据进CD4094;
{
if(data1&0x01) //判断并发串行数据;
{
DATA="1"; //发高电平;
}
else
{
DATA="0"; //发低电平;
}
CLK="0"; //形成上升延脉冲;
_nop_();
_nop_(); //延时;
_nop_();
CLK=1;
data1>>=1; //数据移位,送下一位数据;
}
STR="1"; //数据送完;更新显示;
}
void Delay(uint a) //延时子函数;
{
uint b;
for(b=0;b<a;b++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -