⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4094.txt

📁 CD4094的驱动程序8位移位存储总线寄存器 NSC/TI/PHI
💻 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 + -