单片机
返回首页

51单片机+74hc595锁存器驱动一个静态数码管

2016-06-08 来源:eefocus

51单片机+74hc595锁存器驱动一个静态数码管

 

 

实验开发板HC6800 v2.8 (淘宝可以查到)

将JP2 与JP3相连即可,注意排线要反接

代码如下:

/*
*  标题:                  试验数码管上如何显示数字(共阳极)                     *
*   *
*  连接方法:P2 与P3 用8PIN排线连接                                       *
 
*                                     *
*                          *
/
 
 
#include  
#include
void delay(unsigned int i);      //函数声名
 
// 此表为 LED 的字模,0~F         
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
 
sbit lock=P3^5;//12,storage register clock input
 
sbit clk=P3^6;//11,shift register clock input
 
sbit dat=P3^4;//14,serial data input
/*将显示数据串行发送到74hc595*/
void sendTo(unsigned char k)
{
unsigned char i;
for(i=0;i<8;i++)
{
dat=k&0x01;
clk=0;//移位寄存器移位
_nop_();
_nop_();
clk=1;
k>>=1;//发送数据右移一位
}
}
 
void main()
{
unsigned int LedNumVal=0 ,C ;  //定义变量
   
  while(1)
  {
  if (++C>= 300) 
  { LedNumVal++ ; //每隔300个扫描周期加一次
 C =0;         //每隔300个扫描清零
}
  lock=0;
  // 将字模送到14,serial data input
  sendTo(LED7Code[LedNumVal%10]&0x7f);
  //LED7 0x7f为小数点 共阴和共阳此处也是不一样;
  _nop_();
  _nop_();
  lock=1;//所存数据
  delay(300);  //调用延时程序
 
  }   
 
 
}
 
/*
* *
*             延时程序 *
* *
*/
void delay(unsigned int i)
{
    char j;
    for(i; i > 0; i--)
        for(j = 200; j > 0; j--);
}

 

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 离子检测器电路分析

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 优化电路板布局的简单方法

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章