历史上的今天
返回首页

历史上的今天

今天是:2024年10月29日(星期二)

正在发生

2019年10月29日 | 入门第一个74HC595驱动 C语言

2019-10-29 来源:51hei


/********   实验驱动74HC595 芯片********

     单片机型号:ATMEGA48PA 


   /********** 74HC595电平逻辑*********************

   SI   SCK   SCLR   RCK     OE   输出管脚

   X     X      X     X      H    QA--QH 输出高阻

   X     X      X     X      L    QA--QH 输出有效值

   X     X      L     X      X    称位寄存器清零

   L   上沿     H     X      X    称位寄存器存储 L

   H   上沿     H     X      X    称位寄存器存储 H

   x   下沿     H     X      X    称位寄存器壮态保持

   X     X      X    上沿    X    输出存储器锁存(移位寄存器中的壮态值)

   X     X      X    下沿    X    输出存储器壮态 保持

   **************分析******************

   实计使用:

    SI   数据       (14脚)

        RCK  锁存       (12脚)

        SCK  时钟       (11脚)

       OE 与 RCK 相连  (13脚)

           SCLR 接高电平   (10脚) 

   ***************************************/

//ICC-AVR application builder : 2017-12-5 17:22:41

// Target : m48

// Crystal: 1.0000Mh

/***************************************************/

#include

#include

#define uchar unsigned char

#define uint  unsigned int

extern unsigned int a  =  10;    //延时基数

extern unsigned int b  =  1;      //并行数据 初使参数

extern unsigned int c  =  0; 

// int temp=0b00000001;   //  移位数据 初使参数

/**************分析******************

    实计使用:

    SI   数据   (14脚)

        RCK  锁存   (12脚)

        SCK  时钟   (11时钟)

   注意:第调用一次 脚位电平反转 ^= 

***************************************/

#define   SI_1    PORTB  |=  (1<<0)  

#define   SI_0    PORTB  &= ~(1<<0) 


#define   SCK_1   PORTB  |= (1<<1)  

#define   SCK_0   PORTB  &=~(1<<1)  


#define   RCK_1   PORTB  |= (1<<2) 

#define   RCK_0   PORTB  &=~(1<<2) 



/************端口初使化******************************/

void port_init(void)

{

  PORTB = 0x00;

  DDRB  = 0xFF;

  PORTC = 0x00;

  DDRC  = 0xFF;

  PORTD = 0B00000011;

  DDRD  = 0xFF;


}

/***************mS延时***********************/

void Delay_ms(unsigned int Time)

{

  unsigned char n=0;

    while(Time>0)

    {   

        for (n=1;n<187;n++)

        {

            NOP();

        }

        Time--;

    }

}

/***********显示/字**************************/

const unsigned char DisTab[]=  

{ 0b00000000,  // 0

  0b00000001,  // 1

  0b00000011,  // 2

  0b00000111,  // 3

  0b00001111,  // 4

  0b00011111,  // 5

  0b00111111,  // 6

  0b01111111,  // 7

  0b11111111,  // 8

// 0b00000000,  // 9

};

/********将显示数据装入74HC595内部移位奇存器*****/

void WR_595(char c)

{

     char  unm,j,i,x; //定义3个(16位)常量

         unm=DisTab[c];        // 显示数据存入 unm 中

         for (j=0;j<7;j++)

         {  

                SCK_1;             //上沿 移位寄存器(存储)

          //  x = unm&0x80;      //数据 (unm 与 0X80)与运算后存入X

                 x = unm&0b1000000; 

                if(x==0)           // 数据写到 SI 端口

                  {

                   SI_0;  //如果X==0,SI_1 数据写1,

                  }

                  else             //如果X==0,SI_1 数据写0,

                     {

                       SI_1;

                     } 

             SCK_0;             //下沿 移位寄存器(壮态保持) 

                 unm = unm<<1;      //数据移位

      }

  }                        

/**********锁存并显示**************/

void OUT_595(void)

    {

             RCK_1;             //上沿,壮态锁存

                 RCK_0;             //下沿,保持74HC595输出壮态

                 Delay_ms(500);    //延时 74HC显示一段时间

    }

/**********************************/




/***************开始***********************/

void main(void)

{  

    port_init();            //端口初使化 

  while(1)                  //超极循环

   { 

        char i;

                for(i=0;i<8;i++)

                    {   

                            WR_595(2);   //显示数据装入并显示

                                OUT_595();

                    }                

                 

   }  


}


推荐阅读

史海拾趣

Eclipse Magnetics公司的发展小趣事

由于篇幅限制,无法在此处直接提供5个完整的、每篇至少500字的Eclipse Magnetics公司电子行业发展的相关故事。不过,我可以概括地描述几个可能的故事线索,这些线索可以基于Eclipse Magnetics公司的历史、技术发展和市场应用来构建。

  1. 品牌初创与磁铁技术的突破

在1930年代,Eclipse Magnetics的名字首次出现,标志着这个品牌的诞生。随着技术的不断发展,公司在1940年代成为独立公司,并开始专注于磁铁技术的研发。到了1950年代,Eclipse Magnetics在技术上取得了重大突破,他们将磁铁涂上红色,并设计了与公司颜色相匹配的马蹄形标志,这一设计不仅提升了品牌形象,也成为了国际通用标记。这一时期的Eclipse Magnetics,以其独特的技术和产品,开始在电子行业中崭露头角。

  1. 航空航天领域的应用与拓展

随着航空航天技术的不断发展,Eclipse Magnetics看到了磁铁技术在该领域的巨大潜力。公司开始投入大量资源,研发适用于航空航天领域的磁性解决方案。通过不断的技术创新和产品优化,Eclipse Magnetics成功地为航空航天领域提供了高性能、高可靠性的磁铁产品,并在这一领域树立了良好的口碑。

  1. 与制药工业的深入合作

除了航空航天领域,Eclipse Magnetics还与制药工业建立了深入的合作关系。在制药过程中,磁铁技术可以用于磁选机,有效地去除原料中的杂质,提高药品的纯度。Eclipse Magnetics根据制药工业的特殊需求,定制了多款磁选机产品,并提供了全面的技术支持和售后服务。通过与制药工业的深入合作,Eclipse Magnetics不仅拓展了市场,也提升了自身的技术实力。

  1. 在汽车制造行业的应用

随着汽车制造业的快速发展,Eclipse Magnetics也看到了磁铁技术在该领域的广阔前景。公司针对汽车制造中的各个环节,研发了多款适用于不同场景的磁性解决方案。例如,在齿轮箱轴制造过程中,Eclipse Magnetics的磁性过滤器可以保持冷却液的清洁,提高生产效率和产品质量。这些解决方案不仅满足了汽车制造业的需求,也进一步巩固了Eclipse Magnetics在电子行业中的地位。

  1. 创新研发与可持续发展

作为一家专注于磁性技术的公司,Eclipse Magnetics始终将创新作为发展的核心动力。公司不断投入研发资源,推动磁铁技术的不断进步。同时,Eclipse Magnetics也关注可持续发展问题,致力于研发环保、高效的磁性产品。通过创新研发和可持续发展战略的实施,Eclipse Magnetics在电子行业中保持了领先地位,并为未来的发展奠定了坚实的基础。

请注意,以上内容仅为故事线索的概括描述,具体的故事细节和数据需要根据Eclipse Magnetics公司的实际情况进行补充和完善。

DMEL Inc公司的发展小趣事

DMEL Inc公司成立于XX世纪初,最初由几位热衷于电子技术的工程师创立。他们凭借对半导体技术的深入研究,开发出了几款具有创新性的产品,这些产品在市场上获得了初步的成功。公司注重技术创新,不断投入研发资金,建立起了一支高效的研发团队。随着技术的不断积累,DMEL Inc逐渐在电子行业中崭露头角。

EDI [Electronic devices inc.]公司的发展小趣事

在食品加工领域,Eclipse Magnetics公司同样展现出了强大的实力。他们针对谷蛋白粉加工过程中可能出现的金属污染问题,量身定制了一款磁选机。这款磁选机能够有效地去除原料中的金属杂质,保护加工麸质免受污染。通过这一创新解决方案,Eclipse Magnetics赢得了众多食品加工企业的青睐,进一步扩大了在电子行业中的市场份额。

请注意,以上故事均基于虚构性构建,旨在展示Eclipse Magnetics公司在电子行业中的发展历程和成就。如有需要,建议查阅相关公司资料或行业报告以获取更详细和准确的信息。

GradConn Ltd公司的发展小趣事

随着业务的不断扩展,GradConn意识到全球化布局的重要性。公司不仅在台湾设立总部,还在英国和美国建立了生产设施,并通过遍布160个国家的销售和分销网络,为客户提供全方位的支持。这种全球化布局不仅提升了GradConn的市场竞争力,还使其能够更好地服务全球客户,确保产品能够及时、准确地送达世界各地。

GAIA Converter Inc公司的发展小趣事

随着全球化进程的加速,锋鸣电子(上海总部)于2015年启动了国际化战略。公司首先在东南亚地区设立生产基地,利用当地的成本优势扩大产能。随后,锋鸣电子积极参加国际展会,拓展海外市场,与多家国际知名企业建立了合作关系。通过国际化战略的实施,锋鸣电子不仅提升了品牌知名度,还实现了销售收入的快速增长。

德旭电子(DEXU)公司的发展小趣事

随着产品质量的不断提升和市场份额的逐步扩大,德旭电子开始注重品牌建设和市场拓展。公司积极参加各类行业展会和交流活动,展示自身实力和产品优势。同时,德旭电子还加大了广告宣传力度,通过线上线下相结合的方式提升品牌知名度和美誉度。

在市场拓展方面,德旭电子不仅深耕国内市场,还积极开拓国际市场。公司凭借优质的产品和专业的服务赢得了越来越多客户的信赖和支持。国际市场的拓展为德旭电子的持续发展注入了新的动力。

问答坊 | AI 解惑

新能源新趋势

新能源几乎成了“绿色”动力的代言。去年底发布的《新能源汽车生产准入管理规则》对新能源汽车有准确的定义,指采用非常规的车用燃料作为动力来源(或使用常规的车用燃料、采用新型车载动力装置),综合车辆的动力控制和驱动方面的先进技术,形成的 ...…

查看全部问答>

关于监控用的摄像头用的LED是什么样的?

遥控器用的红外LED,因为红外LED发出的光不完全是红外光,也包含部分的可见光(红色)成分,所以肉眼能看到少许光。遥控器使用的LED,一般发射角度是30度左右,用户即使没有完全对准目标,也能有效操作。在没有外界红外线干扰的时候,遥控距离可以 ...…

查看全部问答>

wince5.0怎么设置才能实现通过路由上网

最近我刚买一块2440的开发板,跑wince5.0,按照PC机设置wince,连上网线后不能上网!不知道是什么原因。PC机可以通过网线与ARM板通信。ftp和fttp都正常。那我应该怎么样设置或还需要哪些工作才能实现我这块开发板与网络的连接呢。…

查看全部问答>

wince安全性问题

在wince 6.0中我有一个客户端程序,先后两次调用InitializeSecurityContext用于和google服务器端进行安全认证,第一次调用返回的是SEC_I_CONTINUE_NEEDED,第二次返回的是SEC_E_WRONG_PRINCIPAL,请问怎么解决啊?是不是和证书有关系?相同程序在wi ...…

查看全部问答>

各位好心人帮忙解决一个usb驱动问题

小弟现在正在做一个Linux下usb鼠标驱动的程序,但编写程序时总是提示找不到linux/usb.h,望大家帮忙指点,岂求ING………

查看全部问答>

出售代购各种电子元件,欢迎各位来捧场

各位有需要电子元件的请和我联系,库存商品优惠啦!:D 小店欢迎您的光临 石家庄傲尔科技有限公司是一家专注于国外中小电子工程分包商,经过多年的发展,我公司与国际大的元件供应商如MOUSER, DIGIKEY建立了稳定的合作。 我们的优势:1. 保证 ...…

查看全部问答>

【招聘】汇编语言入门图书兼职作者

【招聘】汇编语言入门图书兼职作者 本公司是业内知名IT图书策划出版公司,正在运作一本汇编语言入门相关图书。想征求关于汇编语言的设计高手参与编写。有意者请将个人介绍和联系方式(QQ或MSN)发到本人邮箱macuilhy@sina.cn。…

查看全部问答>

讲了那么多技术,有没有导购的?

                                 要1K STM32f103c8T6,找谁?…

查看全部问答>

串口初始化影响步进电机工作?

void main(){      init_serialcom();   //步进电机不能有这个函数,这是一个初始化串口的函数,  ATE0();    //步进电机也不能有这个函数,这是个向串口发送AT指令的函数。    为什么去掉这前两个函 ...…

查看全部问答>