您的位置:控制工程论坛网论坛 » 人机界面 » 74LS164数码管显示 PROTEUS仿真

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

74LS164数码管显示 PROTEUS仿真

xilinxue  发表于 2008/9/20 16:23:23      5762 查看 2 回复  [上一主题]  [下一主题]

手机阅读

这个是一个通过74LS164转换的数码管动态显示的例子

里面有程序和PROTEUS仿真的示例,希望能对大家有帮助

1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2008/9/20 16:22:25

    #ifndef __DISP_LED_h__
    #define __DISP_LED_h__


    void Disp_LED(unsigned int key_num);
    void DelayNS(unsigned int dly);


    /*******************************************
    **函数名称: Disp_LED


    **函数功能: 数码管显示


    **输入参数: key_num


    **返回信息: 无
    ********************************************/
    void Disp_LED(unsigned int key_num)
    {
     unsigned char code LED_Val[] = {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//0-9
     unsigned char data num[6];
      unsigned char k;
     num[0]=key_num;
     num[1]=key_num;
     num[2]=key_num;
     num[3]=key_num;
     num[4]=key_num;
     num[5]=key_num;


     for(k=0;k<=5;k++)
      {
        SBUF="LED"_Val[num[5-k]];
        while(TI==0);
        TI="0";
      }
    }



    /*******************************************
    **函数名称:  DelayNS


    **函数功能:  延时程序


    **输入参数:  dly


    **返回信息:  无
    ********************************************/
    void DelayNS(unsigned int dly)
    {
     int i,j;
     for(i=0;i<10000;i++)
      for(j=0;j<dly;j++);
    }


     


    #endif

    2楼 回复本楼

    引用 xilinxue 2008/9/20 16:22:25 发表于2楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2008/9/20 16:23:23

    #include <reg51.h>
    #include "DISP_LED.h"


    void main()
    {
     int num;
     num = 5;
     Disp_LED(num);
     DelayNS(10);
     while(1);
    }


     

    3楼 回复本楼

    引用 xilinxue 2008/9/20 16:23:23 发表于3楼的内容

总共 , 当前 /