找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3319|回复: 4
收起左侧

74hc138和74hc595级联点亮16*16点阵 含仿真,单片机代码

[复制链接]
ID:504900 发表于 2019-4-30 20:12 | 显示全部楼层 |阅读模式
这是我最近学习单片机做的一个电阵,
附件含有源代码和原理图,
亲测能用,适合新手观看,大佬勿喷,
(本人新手一个,此文件新手可用来参考)

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

单片机源程序如下:
  1. #include"reg51.h"
  2. #include"intrins.h"

  3. sbit sh1=P2^0;               
  4. sbit st1=P2^1;
  5. sbit ser1=P2^2;


  6. unsigned char code lie[16]={0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,
  7.                        0x10,0x14,0x12,0x16,0x11,0x15,0x13,0x17,};/*点亮每一列*/

  8. unsigned char code shu[][16]={

  9. 0x00,0x00,0x00,0x00,0x00,0x10,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10. 0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x0F,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00, /*1*/

  11. 0x00,0x00,0x00,0x00,0x18,0x04,0x04,0x84,0x44,0x24,0x18,0x00,0x00,0x00,0x00,0x00,
  12. 0x00,0x00,0x00,0x00,0x0C,0x0A,0x09,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00, /*2*/

  13. 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0xF8,0x00,0x00,0x00,0x00,0x00,
  14. 0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x07,0x00,0x00,0x00,0x00,0x00, /*3*/};/*每一个字的数据*/


  15. void U1( unsigned char dat1, unsigned char dat2)
  16. {        int a;
  17.     unsigned char dat;
  18.         dat=dat1;                 /*送入第一个数据*/
  19.    sh1=0;                         /*让11脚拉低*/
  20.    for(a=0;a<8;a++)
  21.    {
  22.               ser1=dat>>7;        /*把一个字节的低七位移掉*/        
  23.            dat=dat<<=1;        /*右移一位*/
  24.            sh1=1;                /*在595芯片移位*/
  25.             _nop_();
  26.             _nop_();
  27.                 sh1=0;
  28.         }
  29.         dat=dat2;                /*送入第二个数据*/
  30.         sh1=0;
  31.    for(a=0;a<8;a++)
  32.    {
  33.               ser1=dat>>7;
  34.            dat=dat<<=1;
  35.            sh1=1;
  36.             _nop_();
  37.             _nop_();
  38.                 sh1=0;
  39.         }
  40.         }

  41. void out595()         /*595输出*/
  42. {
  43.     st1=0;
  44.          _nop_();
  45.          _nop_();
  46.         st1=1;
  47.          _nop_();
  48.           _nop_();
  49.           st1=0;
  50. }

  51. void main()
  52. {
  53. int i,j,y;
  54. while(1)
  55. {
  56. for(i=0;i<5;i=i+2)
  57. {
  58.   y=50;             /*显示的时间*/
  59.   while(y--)
  60.   {
  61.    for(j=0;j<16;j++)
  62.    {

  63.     U1(shu[i+1][j],shu[i][j]);        /*具体看595级联的用法*/
  64.     P1=lie[j];
  65.     out595();
  66.   }
  67.   P1=0xff;           /*消隐*/
  68.   }
  69.   }

  70. }
  71. }
复制代码

全部资料51hei下载地址:
138和595.zip (53.06 KB, 下载次数: 52)

评分

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

查看全部评分

回复

使用道具 举报

ID:424598 发表于 2019-5-1 12:32 来自手机 | 显示全部楼层
只是切换显示,没有移动代码
回复

使用道具 举报

ID:569120 发表于 2019-6-22 01:55 来自手机 | 显示全部楼层
原理图呢,下载后没有仿真图
回复

使用道具 举报

ID:569367 发表于 2019-6-22 11:53 | 显示全部楼层
没有仿真电路吗  ?
回复

使用道具 举报

ID:219507 发表于 2019-11-4 16:04 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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