永发信息网

74HC673芯片怎么用?

答案:2  悬赏:0  手机版
解决时间 2021-05-01 15:18
  • 提问者网友:回忆在搜索
  • 2021-04-30 23:47
引脚的定义也能在手册上查到,但我还是不很明白。
R/W引脚直接接地。其他几个引脚已经定义如下。
sbit SER=P3^2;
sbit SHCLK=P3^3;
sbit SRCLK=P3^4;
sbit CS=P3^5;
sbit STRCLR=P3^6;
哪位高手能帮我写一段样例程序,用51单片机,要求控制一个流水灯从第1位走到第16位就行。我主要想知道串行数据是怎么输入的,又是如何让其移位的。
请用C语言写。
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-05-01 01:08
STRCLK这个印脚是有用的,这个IC的用法和74HC595很相似。对你的程序进行一点修改,经过调试以下这段程序可以达到目的。

#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit SER=P3^2;
sbit SHCLK=P3^3;
sbit STRCLK=P3^4;
sbit CS=P3^5;
sbit STRCLR=P3^6;

void Delay(uchar);

void main(void)
{
int i,j=0;
Delay(20);
CS = 0;
STRCLR = 0;
Delay(1);
SHCLK = 1;
STRCLK = 0;
SER = 0;
STRCLR = 1;
Delay(20);
while(1)
{
   for(i=0;i<16;i++)
  {
   SHCLK = 1;
   if(i==j)SER = 1;
   else SER=0;
   Delay(1);
   SHCLK = 0;
  }
  STRCLK = 0;
  Delay(1);
  STRCLK = 1;
  j++;
  if(j>15)j=0;
  Delay(255);
}
}


void Delay(uchar x)
{
uchar k;
while(x--)
  for(k=0;k<125;k++);
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-05-01 02:03

#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit SER=P3^2; sbit SHCLK=P3^3; sbit CS=P3^5; sbit STRCLK=P3^4; sbit STRCLR=P3^6; void delay(uint x) {  uint y,z;  for(y=x;y>0;y--)   for(z=125;z>0;z--); } void main() {  uint temp;  uchar i;  temp=0xfffe;  STRCLK=1;  STRCLR=1;  CS=0;  for(i=16;i>0;i--)  {   SHCLK=1;   SER=temp&0x0001;   temp>>=1;   SHCLK=0;   delay(200);    } }

你试试可不可以,我没用过673,看手册写的,手册资料也不全。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯