找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用STC89C52RC单片机取代7447译码器

[复制链接]
跳转到指定楼层
楼主
原创译码器
用STC89C52RC单片机制作的内似7447的译码器
删除了7447引脚的RI/RBO、RBI和LT,方便显示每一个数
有LCD1602信息显示
相信我,这是原创
代码编了15分钟才完工
希望喜欢
晶振频率:12MHz





单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #include "1602.c"

  5. sbit a=P1^0;
  6. sbit b=P1^1;
  7. sbit c=P1^2;
  8. sbit d=P1^3;

  9. uchar code table[]={
  10. 0xc0,0xf9,0xa4,0xb0,
  11. 0x99,0x92,0x82,0xf8,
  12. 0x80,0x90,0x88,0x83,
  13. 0xc6,0xa1,0x86,0x8e
  14. };

  15. void calcdat()
  16. {
  17.         while(1){
  18.                 display_init();
  19.                 cprintf("4Bit to segment");
  20.                 gotoxy(0,1);
  21.           if(a==0){
  22.                   if(b==0){
  23.                           if(c==0){
  24.                                   if(d==0){
  25.                                           P0=table[0];
  26.                                                 cprintf("74163=0");
  27.                                           return;
  28.                                   }
  29.                           }
  30.                   }
  31.           }
  32.           if(a==1){
  33.                   if(b==0){
  34.                           if(c==0){
  35.                                   if(d==0){
  36.                                           P0=table[1];
  37.                                                 cprintf("74163=1");
  38.                                           return;
  39.                                   }
  40.                           }
  41.                   }
  42.           }
  43.           if(a==0){
  44.                   if(b==1){
  45.                           if(c==0){
  46.                                   if(d==0){
  47.                                           P0=table[2];
  48.                                                 cprintf("74163=2");
  49.                                           return;
  50.                                   }
  51.                           }
  52.                   }
  53.           }
  54.           if(a==1){
  55.                   if(b==1){
  56.                           if(c==0){
  57.                                   if(d==0){
  58.                                           P0=table[3];
  59.                                                 cprintf("74163=3");
  60.                                           return;
  61.                                   }
  62.                           }
  63.                   }
  64.           }
  65.           if(a==0){
  66.                   if(b==0){
  67.                           if(c==1){
  68.                                   if(d==0){
  69.                                           P0=table[4];
  70.                                                 cprintf("74163=4");
  71.                                           return;
  72.                                   }
  73.                           }
  74.                   }
  75.           }
  76.           if(a==1){
  77.                   if(b==0){
  78.                           if(c==1){
  79.                                   if(d==0){
  80.                                           P0=table[5];
  81.                                                 cprintf("74163=5");
  82.                                           return;
  83.                                   }
  84.                           }
  85.                   }
  86.           }
  87.           if(a==0){
  88.                   if(b==1){
  89.                           if(c==1){
  90.                                   if(d==0){
  91.                                           P0=table[6];
  92.                                                 cprintf("74163=6");
  93.                                           return;
  94.                                   }
  95.                           }
  96.                   }
  97.           }
  98.           if(a==1){
  99.                   if(b==1){
  100.                           if(c==1){
  101.                                   if(d==0){
  102.                                           P0=table[7];
  103.                                                 cprintf("74163=7");
  104.                                           return;
  105.                                   }
  106.                           }
  107.                   }
  108.           }
  109.           if(a==0){
  110.                   if(b==0){
  111.                           if(c==0){
  112.                                   if(d==1){
  113.                                           P0=table[8];
  114.                                                 cprintf("74163=8");
  115.                                           return;
  116.                                   }
  117.                           }
  118.                   }
  119.           }
  120.           if(a==1){
  121.                   if(b==0){
  122.                           if(c==0){
  123.                                   if(d==1){
  124.                                           P0=table[9];
  125.                                                 cprintf("74163=9");
  126.                                           return;
  127.                                   }
  128.                           }
  129.                   }
  130.           }
  131.           if(a==0){
  132.                   if(b==1){
  133.                           if(c==0){
  134.                                   if(d==1){
  135.                                           P0=table[10];
  136.                                                 cprintf("74163=A(10)");
  137.                                           return;
  138.                                   }
  139.                           }
  140.                   }
  141.           }
  142.           if(a==1){
  143.                   if(b==1){
  144.                           if(c==0){
  145.                                   if(d==1){
  146.                                           P0=table[11];
  147.                                                 cprintf("74163=B(11)");
  148.                                           return;
  149.                                   }
  150.                           }
  151.                   }
  152.           }
  153.           if(a==0){
  154.                   if(b==0){
  155.                           if(c==1){
  156.                                   if(d==1){
  157.                                           P0=table[12];
  158.                                                 cprintf("74163=C(12)");
  159.                                           return;
  160.                                   }
  161.                           }
  162.                   }
  163.           }
  164.           if(a==1){
  165.                   if(b==0){
  166.                           if(c==1){
  167.                                   if(d==1){
  168.                                           P0=table[13];
  169.                                                 cprintf("74163=D(13)");
  170.                                           return;
  171.                                    }
  172.                           }
  173.                   }
  174.           }
  175.           if(a==0){
  176.                   if(b==1){
  177.                           if(c==1){
  178.                                   if(d==1){
  179.                                           P0=table[14];
  180.                                                 cprintf("74163=E(14)");
  181. ……………………

  182. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
4-bit_to_segment.zip (19.81 KB, 下载次数: 12)




评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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