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

发布者:SparklingSun最新更新时间:2016-06-08 来源: eefocus关键字:51单片机  74hc595  锁存器驱动  静态数码管 手机看文章 扫描二维码
随时随地手机看文章

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--);
}

 

关键字:51单片机  74hc595  锁存器驱动  静态数码管 引用地址:51单片机+74hc595锁存器驱动一个静态数码管

上一篇:用Proteus学习51单片机之I2C(IIC)总线
下一篇:51单片机不能正常起振的原因分析

推荐阅读最新更新时间:2024-03-16 14:56

51单片机 HC05蓝牙模块学习
一、注意事项 1、烧写程序时,要把蓝牙tx,rx信号线拔掉,对烧写程序有影响。 2、执行HC05集命令时,均以rn结尾。串口中断若选择“发送新行”时,不用添加rn。原理相同。 二、准备软硬件 1、硬件:单片机STC89C52RC开发板,蓝牙模块HC05 2、软件:串口工具SSCOM3.3,手机蓝牙客户端 三、蓝牙模块HC05端口定义(6引脚) state——蓝牙连接状态,未连接输出低,连接后输出高 TX——信号发 RX——信号收 GND——地 +5V EN——使能端,需要进入AT模式时接3.3V,接单片机i/o引脚即可,高电平 四、进入AT模式进行参数和状态的设置 两种工作模
[单片机]
基于51单片机与MXA2500GL传感器的振动信号分布式检测方法
  该检测方法以PC作为上位机,通过RS-485串行通讯,实现上位机与振动信号分布式检测系统的控制核心—C8051F020单片机之间的数据传输,并可以将检测结果在上位机上显示输出。 引言   由于加速度传感器及电荷放大器的连接线缆的距离限制,采用集中的数据采集和处理系统在空间距离较远的场合很难实现,其可靠性和抗干扰问题很难解决。常采用分布式检测方法:即设置多个数据采集站点,每个站点采用一套单独的数据采集和处理系统,通过网络通信将各站点相互连结起来,然后由一台系统机进行集中数据处理,提取相关特征信息。 C8051F020单片机性能特点   CYGNAL的C8051F020是集成模拟、数字信号的混合信号系统级SOC(System
[单片机]
基于<font color='red'>51单片机</font>与MXA2500GL传感器的振动信号分布式检测方法
C51单片机之keil编程入门(一)
51单片机组成 CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果; ROM:用以存放程序,一些原始数据及表格; I/O口:四个8位并行I/O口,即可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式; 1.点亮一个发光管 //通过位操作点亮发光管 include reg52.h sbit D1=P1^0;//sbit位定义,P1^0表示P1口的第一位(从0开始计数) int main() { D1=0;//单片机的P1.0端口输出低电平时发光管亮,51单片机默认上电后所有I/O
[单片机]
51单片机 16X16点阵循环滚动显示汉字
一、效果展示 二、所用材料 1.16X16点阵 Proteus并不提供16X16的点阵,只能我们自己通过4个8X8的组装为16X16的点阵。 由此可知8*8变成16*16 列需要这样连接: 行需要这样连接: 再把四个放在一起即可: 2.74hc595 详细介绍见我上一篇文章 https://blog.csdn.net/qq_41639829/article/details/82151706 这里需要用到级联,也不算太难,就相当于原来是输入8个数,这需要输入16个,然后再输出,前八个输入的就被自动挤到级联的下一个595中了! 3.stc89c52 三、原理 1.静态显示 同8位的静态显示一
[单片机]
<font color='red'>51单片机</font> 16X16点阵循环滚动显示汉字
51单片机—用蜂鸣器播放音乐
#include reg52.h #include ./delay/delay.h //sbit key1 = P1^0; sbit beep = P2^7; #define SEGPORT P0 #define KEYPORT P1 sbit bit_select = P2^0; sbit seg_select = P2^1; unsigned char segdata = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char bitdata = {0xfe,0xfd,0xfb
[单片机]
51单片机中断的响应及撤销
中断响应 中断响应就是单 片机CPU对中断源提出的中断请求的接受。中断请求被响应后,再经过一系列的操作,而后转向中断 服务程序,完成中断所要求的处理任务。下面简要说明80c51的中断响应过程: 1.外中断采样和内中断置位 1.1外中断采样 要想知道外中断是否有请求发生,需要对外中断进行采样。 当通过软件将寄存器TCON的IT0(或IT1)位设置为0时,/INT0(或/INT1)为电平触发方式,CPU在每个机器周期的S5P2(第五个状态第2拍节)期间对/INT0(或/INT1)采样,一旦在P3.2(或P3.3)上检测到低电平时,则认为有外部中断申请,随即由硬件使TCON的IE0(或IE1)位置1,向CPU申请中断。在中断响应完成
[单片机]
<font color='red'>51单片机</font>中断的响应及撤销
51单片机实现利用AT24C02进行掉电后的数据保存
一、使用proteus绘制简单的电路图,用于后续仿真 关于IIC的读写: 二、编写程序 /******************************************************************************************************************** ---- @Project: AT24C02 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200721 ---- @ModifiedTime:
[单片机]
<font color='red'>51单片机</font>实现利用AT24C02进行掉电后的数据保存
手把手教你学51单片机:变量进阶与点阵LED
一、变量的作用域 作用域:变量的有效范围。分为:局部变量和全局变量。 1.1局部变量 在函数内部声明的变量,只在本函数内部可以使用。 1.2全局变量 在函数外声明的变量就是全局变量。 二、变量的存储类别 变量的存储类别分为自动、静态、寄存器和外部四种。 局部变量如果不加static修饰都属于自动变量。关键词为auto,可以省略。 全局变量均为静态变量。 局部变量加 static 关键字也为静态局部变量。特点是,只赋一次初值,在之后使用中,可以保存前次的执行结果。 eg: static unsigned char i=0; i 为静态局部变量,初始化 i=0 只执行一次。 三、点阵的初步认识 8*
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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