1、 编 程 软 件:keil5版本。

2、仿 真 软 件:Proteus8.12

3、单片机选型:STC15W4K32S4

4、学 习 目 标:1、学习74HC595芯片工作方式
                                2、学习74HC595驱动数码管原理
                               3、学习共阴数码管、共阳数码管及显示代码。

5、程 序 文 件 :

/**********************************************************************
项目名称:基于STC15W4K32S4单片机仿真《74HC595驱动数码管静态显示》
项目作者:LCY
项目版本:V1.0
项目说明:采用595驱动数码管显示,优点:

学习目标:1、学习74HC595芯片工作方式
                    2、学习74HC595驱动数码管原理
                    3、学习共阴数码管、共阳数码管及显示代码。
起止日期:2022年12月8号-2022年12月8号
**********************************************************************/
#include <stc15.h>      //头文件
#define uchar unsigned char
#define uint  unsigned int

sbit SCK = P5^0;       //74HC595数据输入时钟
sbit RCK = P5^1;       //74HC595锁存时钟
sbit SER = P5^2;       //74HC595数据输入端
/**********************************************************************
函 数 名:调用的子函数
函数功能:
**********************************************************************/
void send_595 (uchar a); //595发送数据函数
void shumaguan();           //数码管显示函数
/**********************************************************************
函 数 名:主函数
函数功能:
**********************************************************************/
void main(void)    
{     
    P0M0 = 0x00; P0M1 = 0x00; //GPIO初始化,设置为准双向口
  P1M0 = 0x00; P1M1 = 0x00; //GPIO初始化,设置为准双向口
  P2M0 = 0x00; P2M1 = 0x00; //GPIO初始化,设置为准双向口
  P3M0 = 0x00; P3M1 = 0x00; //GPIO初始化,设置为准双向口
  P4M0 = 0x00; P4M1 = 0x00; //GPIO初始化,设置为准双向口
  P5M0 = 0x00; P5M1 = 0x00; //GPIO初始化,设置为准双向口
  P6M0 = 0x00; P6M1 = 0x00; //GPIO初始化,设置为准双向口
  P7M0 = 0x00; P7M1 = 0x00; //GPIO初始化,设置为准双向口
    
    SCK=0;        //74HC595端口初始化
    RCK=0;      //74HC595端口初始化
    SER=0;        //74HC595端口初始化
    
    while(1)  
    {
   shumaguan(); //数码管显示函数
    }
}

/**********************************************************************
函 数 名:74HC595发送数据函数
函数功能:用于发送数据
**********************************************************************/
void send_595(unsigned char a)
{
    unsigned char i;
  for(i=0;i<8;i++)
      {
          if((a&0x80) == 0x80) //当a的最高位为1时条件成立.这条语句判断变量a的
                                              //最高位以此决定程序的流向,大家可以写个数据试一下即可明白
            SER=1;               //数据端发送数据1 
            else 
                SER=0;               //数据端发送数据0
            
            SCK=1;               //数据输入脉冲,上升沿
            SCK=0;               //数据输入脉冲,下降沿,一升一降为1个脉冲
            a=a<<1;              //数据左移一位,然后进入下一个循环按位与。直到8位数据发送完毕
        }
}
/**********************************************************************
函 数 名:数码管显示函数
函数功能:用于数码管显示数字
**********************************************************************/
void shumaguan()
{
   send_595(0Xfd);        //输入数码管位选数据,选择哪一位数码管亮,oxfe:1111 1110 0xfd:1111 1101  0xfb:1111 1011 0xf7:1111 0111                          //也可以输入其他数字,多个数码管显示   
     send_595(0X3f);       //输入数码管段选数据,显示所需的数字0 ,输入其他数值可以显示不同数字。      
     RCK=1;                //数据锁存器打开
     RCK=0;                //数据锁存器关闭
}

6、仿真电路:

基于STC15W4K32S4单片机仿真《74HC595驱动数码管静态显示》相关推荐

  1. 基于STC15W4K32S4单片机仿真《点亮1个LED》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12.据说8.9版本也可以. 3.单片机选型:STC15W4K32S4 4.学 习 目 标:从点亮1个LED开始,先学习控 ...

  2. 基于STC15W4K32S4单片机仿真《外部中断INT0控制LED亮灭》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:   1.学习外部中断INT0 5.程 序 文 件 : ...

  3. 基于STC15W4K32S4单片机仿真《74HC595驱动数码管动态显示》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:1.学习74HC595驱动数码管动态显示 5.程 序 ...

  4. 基于STC15W4K32S4单片机仿真《多个LED闪烁》

    1. 编 程 软 件:keil5版本. 2.仿 真 软 件:Proteus8.12.据说8.9版本也可以. 3.单片机选型:STC15W4K32S4 4.学 习 目 标:1.学习延时函数 2.学习子函 ...

  5. 【单片机仿真项目】LED 闪烁灯(proteus原理图+keil代码)

    目录 1.keil代码 2.闪烁灯proteus电路仿真图 3.闪烁灯工作流程gif动态展示

  6. 基于STC15W4K32单片机仿真《定时器0实现LED闪烁》

    1. 编 程 软 件:keil5版本 2.仿 真 软 件:Proteus8.12 3.单片机选型:STC15W4K32S4 4.学 习 目 标:学习定时器0 的使用 5.程 序 文 件 : /**** ...

  7. 基于51单片机的wifi智能led灯的毕业设计

    基于51单片机的wifi智能led灯的毕业设计 摘要 系统基于STC89C52RC单片机设计,拥有自动与手动两种模式,自动模式下可以过热释红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度 ...

  8. Proteus:单片机定时器中断(LED闪烁)

    题目概述: 单片机定时器中断(LED闪烁). 编程: #include <reg51.h> #define uchar unsigned char #define uint unsigne ...

  9. 单片机led闪烁代码_单片机、555实现LED闪烁电路

    有朋友在后台发消息,希望设计一个LED闪烁电路,闪烁频率为2Hz,想了解LED闪烁的电路原理是什么,下面解答一下,看看有没有写的很通俗易懂.要设计一个闪烁电路,闪烁频率为2Hz,即500ms亮灭交替. ...

最新文章

  1. 虚拟机无法使用网卡桥接模式
  2. In terms of 的用法总结
  3. linux升级ipv6协议栈,IPv6技术及基于Linux平台IPv6协议栈的实现
  4. Jerry给人做培训的记录
  5. 2008铁路旅客列车时刻表_重要消息!唐山站100多列旅客列车调整,12月30日起开始实行...
  6. 基于socketserver实现并发的socket编程
  7. WP7模拟器使用技巧
  8. python简明教程电子书下载_python简明教程中文pdf下载-Python入门级电子书完整免费版-东坡下载...
  9. java jave_jave是什么意思
  10. firefox火狐浏览器显示多列书签菜单
  11. 视频下载v1.0全能短视频解析
  12. 别慌,你的数据或许还有救!(内整理有大量数据恢复软件)
  13. Divide by Zero 2021 and Codeforces Round #714 (Div. 2)B. AND Sequences(位运算 + 思维 + 排列)
  14. sudo vim找不到
  15. 修改32位的AutoCAD2012,使其能在64位系统上安装
  16. 详细介绍NLP对话系统
  17. python中write函数%啥意思_python write( )函数
  18. 计算机的应用与分类,办公自动化是计算机的一项应用,按计算机应用的分类,它属于(    )...
  19. 蓝牙技术|伦茨科技带你了解蓝牙智能门禁
  20. “专业网络犯罪分子”对英国电信供应商进行 DDoS 攻击

热门文章

  1. 考勤刷卡 最大和 简单 蓝桥杯省赛 2022
  2. iOS开发人员命令行上的Git版本控制
  3. 汇编语言cmp的问题
  4. UBUNTU 简明教程
  5. 数据中心机房末端配电技术与产品监控选型
  6. vue---H5--获取短信验证码及完整登陆流程
  7. Deecamp深度学习降水预测总结
  8. 【Lifelong learning】Lifelong Language Knowledge Distillation
  9. Java自动生成订单编号+流水号
  10. 《JavaEE开发的颠覆者: Spring Boot实战》资源及勘误