74ls164 驱动 共阳数码管的演示程序

发布者:学海星空最新更新时间:2016-11-09 来源: eefocus关键字:74ls164  共阳数码管  演示程序 手机看文章 扫描二维码
随时随地手机看文章
下面是 74ls164 驱动 共阳数码管的演示程序

#include

#define uint unsigned int

#define uchar unsigned char

sbit DAT=P1^1; //模拟串口数据发送端

sbit CLK=P1^2;//模拟时钟控制端

uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭 (共阳字段表)

void sendbyte(uchar byte)

{   

        uchar num,c;

        num=tab[byte];

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

        {

    CLK=0;

  DAT=num&0x80; //(0x80即十进制的128, 二进制的10000000 按位发送)

  CLK=1;

         num<<=1;

         

         

         }

}

void delay_50ms(unsigned int t) //50MS演示程序

{

 unsigned int j;  

 for(;t>0;t--)

  for(j=6245;j>0;j--)

{;}

}

main()

 unsigned char h;

  while(1){

  for(h=0;h<10;h++){

       delay_50ms(1);

       sendbyte(h);

  delay_50ms(10);

  }

  h=0;

    }

}

下面这段是74ls164 驱动共阴数码管的程序源码

#include

#define uint unsigned int

#define uchar unsigned char

sbit DAT=P1^1;

sbit CLK=P1^2;

uchar code tab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xff,0xf6};//0-9,-,全灭

void sendbyte(uchar byte)

{   

        uchar num,c;

        num=tab[byte];

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

        {

    CLK=0;

  DAT=num&0x01;

  CLK=1;

         num>>=1;

        

        

         }

}

void delay_50ms(unsigned int t)

{

 unsigned int j;  

 for(;t>0;t--)

  for(j=6245;j>0;j--)

{;}

}

 main()

 

 unsigned char h;

  while(1){

  for(h=0;h<10;h++){

       delay_50ms(1);

       sendbyte(h);

  delay_50ms(10);

  }

  h=0;

    }

   

}

关键字:74ls164  共阳数码管  演示程序 引用地址:74ls164 驱动 共阳数码管的演示程序

上一篇:MAX7219的c程序
下一篇:DS1302程序编写

推荐阅读最新更新时间:2024-03-16 15:20

定时器功能演示程序
#include reg52.h #include intrins.h //sbit led1=P1^0; //sbit led2=P1^1; //sbit led3=P1^2; //sbit led4=P1^3; unsigned char count; unsigned char direction; unsigned char delay1; unsigned char delay2; void timer0(void) interrupt 1 using 0 { TL0=0x06; TH0=delay2; /* 定时器0中断 */ if (++delay1 4){ delay1 = 0; if (++count
[单片机]
8位共阳数码管滚动显示单个数字
代码: #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; void DelayMS(uint x) { uchar i; while(x--) { for(i=200;i 0;i--); } } void main() { uchar i,k=0x80; while(1)
[单片机]
8位<font color='red'>共阳数码管</font>滚动显示单个数字
基于AT89S51单片机的实验系统的设计
目前单片机应用已渗透到各个领域,单片机技术的发展也因此日新月异。作为实践性很强的应用型学科,单片机研发及教学离不开实验。传统的单片机实验系统需要频繁拔插烧写单片机芯片来编程,依赖于仿真机调试,实验成本高且效率低,已不适应现代科技开发需求。如何充分合理利用单片机的性能,方便用户高效学习与开发产品成为当前的研究热点。 单片机在电子产品中的应用已经越来越广泛,并且在很多学校也开设了相关的课程。通过对在校学生的调查,以及网络上收集到资料的综合分析,得知:目前无论是社会上还是在校学生,学习单片机的人数呈不断增加之势,对于单片机实验板的需求也不断增加。但是由于目前多数实验板价钱较高,实验项目不适于初学者学习。所以,开发出一套价格低廉,易
[单片机]
基于AT89S51单片机的实验系统的设计
STC89C5X单片机“看门狗”原理、详解和演示程序
“看门狗定时器”是这样一种东西,从功能上说它可以让微控制器在意外状况下(比如软件陷入死循环)重新回复到系统上电状态,以保证系统出问题的时候重启一次 。 就跟我们现在用电脑一样,死机了你就按一下reset键重启一次电脑,看门狗就是负责干这个事儿的。它是52单片机增加的一个功能,以前Intel 8031、……、AT 89C51时代单片机片内都没有“看门狗”功能,需要我们外扩看门狗芯片,比如X5045。   很多人初次接触不太理解怎么用,书上也讲的含含糊糊,故意说的很复杂很玄妙(可能是现在写书人的通病,生怕写的简单的别人觉得他没水平)。其实要是说明白点: “看门狗”就是一个计数器,由于位数有限计数器能够装的数值是有限的(比如8位的最多
[单片机]
STC89C5X单片机“看门狗”原理、详解和<font color='red'>演示</font><font color='red'>程序</font>
51单片机——共阳数码管的动态显示
数码管的原理图及基本原理 原理图 怎么工作的我就不介绍了 基本原理 动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。在轮流显示过程中,每位数码管点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 例题(附代码) 代码如下 #include reg52.h sbit HC138_A = P2^5; sbit HC138_B = P2^6; sbit HC138_C = P2^7; //相当于时
[单片机]
51单片机——<font color='red'>共阳数码管</font>的动态显示
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved