找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2899|回复: 1
收起左侧

51单片机和74LS47简单的数码管静态显示程序+Proteus仿真

[复制链接]
ID:391355 发表于 2020-4-15 20:54 | 显示全部楼层 |阅读模式
基于51单片机和74LS47简单的数码管静态显示,用51单片机连接四个74LS47模块,每个模块连接一个数码管。调了很长时间,调出来了,很不容易,但是理解了就挺简单。对自认为有很大帮助。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png

具体程序如下:

  1. //数码管动态显示
  2. //74LS164(移位寄存器)
  3. #include<reg51.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. sbit DAT=P1^6; //数据输入
  7. sbit CLK=P1^7; //时钟使能
  8. unsigned char disp[4];
  9. unsigned code dtab[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
  10.                                                 //共阳极接法0~9段码表(上)

  11. void disp_164() //一位显示164移位输出函数
  12. {
  13.         uchar x,i,j;
  14.         for(i=0;i<4;i++) //循环4次(4个数码管)
  15.         {
  16.                 x=dtab[disp[i]];  //查表取段码
  17.                 for(j=0;j<8;j++)
  18.                 {
  19.                         if(x&0x01) //先移出低位
  20.                         DAT=1;
  21.                         else DAT=0;
  22.                         CLK=1;           //产生上升沿
  23.                         x>>=1;
  24.                         CLK=0;
  25.                 }
  26.         }
  27. }
  28. void main()
  29. {
  30.         disp[0]=8;
  31.         disp[1]=7;
  32.          disp[2]=6;
  33.         disp[3]=5;
  34.         disp_164();
  35.         while(1);
  36. }
复制代码

51hei.png

全部资料51hei下载地址:
例6-10数码管.zip (47.85 KB, 下载次数: 17)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:102963 发表于 2020-4-16 18:59 | 显示全部楼层
写错了吧,是74LS164,怎么是74LS47呢???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表