找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10095|回复: 0
打印 上一主题 下一主题
收起左侧

单片机用38译码器驱动数码管的Proteus仿真电路图和程序

[复制链接]
跳转到指定楼层
楼主

给大家介绍51单片机连接38译码器驱动8位数码管的Proteus仿真电路图和程序

仿真原理图:



仿真文件及完整程序下载:http://www.51hei.com/bbs/dpj-50777-1.html

单片机用38译码器驱动数码管的源程序如下:
  1. #include <reg51.h>
  2. #ifndef uchar
  3. #define uchar unsigned char
  4. #endif

  5. uchar disNumber[11] = {0x3f, 0x30, 0X5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0xff, 0x6f};          //共阴数码管
  6. uchar switc[9] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
  7.                                                                                                                                                                             //控制哪个数码管亮
  8. void delay2ms200us(void)   //延时函数
  9. {
  10.     unsigned char a,b;
  11.     for(b=169;b>0;b--)
  12.         for(a=5;a>0;a--);
  13. }


  14.   void main(void)
  15.   {
  16.     uchar i, j = 0;
  17.         while(1)
  18.         {
  19.          P2 = switc[j];
  20.          P0 = disNumber[i];
  21.      i++;
  22.          j++;          
  23.          if(i == 8)                                   //注意  i值为8时,每个数码管有固定的显示数字,当i超过8时每个数码管没有固定的显示数字,数码管数字就会乱跳
  24.            i = 0;
  25.          if(j == 8)
  26.            j = 0;
  27.            delay2ms200us();
  28.     }
  29.   }
  30.            //小月子2016年5月21日编辑   如果您有什么不理解的地方请加小月子
  31. //小月子是个电子发烧友,小月子电子网店卖的是电子电路类、编程类学习资料教学视频
  32. //请关注我的网
复制代码



评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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