找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机通过38译码器控制led灯的Proteus仿真电路图和程序

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

51单片机和38译码器的proteus仿真电路图如下,单片机通过译码器控制led灯.



38译码器的真值表:






38译码器的仿真文件及源码下载:http://www.51hei.com/bbs/dpj-50777-1.html

源程序如下:
  1. #include <reg51.h>
  2. //38译码器输入端设置
  3. sbit INPUT1 = P2^0;               
  4. sbit INPUT2 = P2^1;
  5. sbit INPUT3 = P2^2;

  6. void delay(char time)                 //延时函数
  7. {
  8.   int i = 0;
  9.   for (; time > 0; time-- )
  10.     for (i = time; i > 0; i--)
  11.         ;
  12. }
  13. int main(void)
  14. {
  15. while (1)
  16. {
  17.    INPUT1 = 0; INPUT2 = 0; INPUT3 = 0;                        //设置译码器输出端口8个引脚为0111 1111
  18.    delay(100);
  19.    
  20.    INPUT1 = 0; INPUT2 = 0; INPUT3 = 1;                     //设置译码器输出值为二进制值 1011 1111
  21.    delay(100);
  22.    
  23.    INPUT1 = 0; INPUT2 = 1; INPUT3 = 0;                        //设置译码器输出值为二进制值 1101 1111
  24.    delay(100);
  25.    
  26.    INPUT1 = 0; INPUT2 = 1; INPUT3 = 1;                        //设置译码器输出值为二进制值 1110 1111
  27.    delay(100);
  28.    
  29.    INPUT1 = 1; INPUT2 = 0; INPUT3 = 0;                        //设置译码器输出值为二进制值 1111 0111
  30.    delay(100);
  31.    
  32.    INPUT1 = 1; INPUT2 = 0; INPUT3 = 1;                        //设置译码器输出值为二进制值 1111 1011
  33.    delay(100);

  34.    INPUT1 = 1; INPUT2 = 1; INPUT3 = 0;                        //设置译码器输出值为二进制值 1111 1101
  35.    delay(100);
  36.    
  37.    INPUT1 = 1; INPUT2 = 1; INPUT3 = 1;                        //设置译码器输出值为二进制值1111 1110
  38.    delay(100);
  39. }
  40. } //小月子2016年5月21日编辑   如果您有什么不理解的地方请加小月子
  41. //小月子是个电子发烧友,小月子电子网店卖的是电子电路类、编程类学习资料教学视频
  42. //请关注我的网
复制代码



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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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