网站导航: 首页 > 设计参考 > 正文 文章搜索
用51单片机驱动16*16LED点阵滚动显示的硬件电路和程序
 
文章编号:
091111222815
文章分类: 单片机 51系列
点 击:
...
关 键 词: LED点阵
文章来源:
网络
摘 要:


电路原理图:

 

程序:

 
  1. /******************************************************************  
  2. 功能:LED16*16点阵滚动显示  
  3. 说明:74LS164用作发送数据,P0,P2口用来列选  
  4. 看本程序最好的工具最好旁边有标号和语法着色,推荐keil或UltraEdit  
  5. 懒人提示:要改成自己所要的显示内容,要怎么改?  
  6. 1.要改显示内容改第23~92行代码,还有第119行代码,具体改法见下面注释  
  7. 2.要改滚动速度改第102行代码  
  8. *******************************************************************/  
  9. /*头文件*/  
  10. #include<reg52.h>   
  11. #include<intrins.h>   
  12. /*宏定义*/  
  13. #define uchar unsigned char   
  14. #define uint  unsigned int   
  15. /*函数声明*/  
  16. void delay();   
  17. /*全局变量*/  
  18. uint lie; //列选标志   
  19.   
  20. /** 字模:反显,纵向取模,开头和结尾均加入32个0xFF,用于改善屏滚动显示时循环的连贯性   **/  
  21. /** 杭州市公交公司K316路,开往武林广场,发车时间20:30,欢迎大家乘坐!  --  **  宋体, 12  **/  
  22. /** 当前所选字体下一个汉字对应的点阵为:  宽度x高度=496x16,  调整后为: 496x16          **/  
  23. uchar code text[1056]={   //这里的数据为你要显示的内容的数据量+64(前后各32个0xff)   
  24. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  25. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  26. //改显示内容以上两行别改   
  27. 0xEF,0xDF,0xEF,0x3F,0xE8,0xFF,0x00,0x00,0xED,0xFF,0xFE,0xFD,0xEF,0xF3,0xEC,0x0F,   
  28. 0x6D,0xFF,0x8D,0xFF,0xED,0xFF,0xEC,0x03,0xEF,0xFD,0xEF,0xFD,0xEF,0xE1,0xFF,0xFF,   
  29. 0xFF,0x7F,0xF8,0xFE,0xFF,0xF9,0xFF,0xE7,0x00,0x1F,0xFB,0xFF,0xFC,0xFF,0xFF,0xFF,   
  30. 0x80,0x01,0xF7,0xFF,0xF9,0xFF,0xFE,0x7F,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,   
  31. 0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xD8,0x03,0xDB,0xFF,0xDB,0xFF,0x5B,0xFF,0x80,0x00,   
  32. 0xDB,0xFF,0xDB,0xFF,0xDB,0xF7,0xDB,0xFB,0xD8,0x07,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,   
  33. 0xFF,0xFF,0xFF,0x7F,0xFE,0xFB,0xFD,0xF1,0xF3,0xEB,0x8F,0xDB,0xDE,0x3B,0xFF,0x73,   
  34. 0xFF,0xF7,0x8F,0xF7,0xF7,0xD7,0xF9,0xE1,0xFC,0xF3,0xFE,0x7F,0xFE,0xFF,0xFF,0xFF,   
  35. 0xFF,0xFF,0xEF,0xFE,0xEE,0xFE,0xED,0xFD,0xE3,0x7D,0xEB,0xBB,0x6F,0xD7,0x8F,0xE7,   
  36. 0xCF,0xCF,0xEF,0x97,0xE6,0x3B,0xEB,0x79,0xE9,0xFC,0xED,0xFD,0xEF,0xFF,0xFF,0xFF,   
  37. 0xFF,0xFF,0xFF,0x7F,0xFE,0xFB,0xFD,0xF1,0xF3,0xEB,0x8F,0xDB,0xDE,0x3B,0xFF,0x73,   
  38. 0xFF,0xF7,0x8F,0xF7,0xF7,0xD7,0xF9,0xE1,0xFC,0xF3,0xFE,0x7F,0xFE,0xFF,0xFF,0xFF,   
  39. 0xFF,0xFF,0xF7,0xFF,0xB6,0x07,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,   
  40. 0xB6,0xDF,0xB6,0x0F,0xB7,0xFF,0xBF,0xFB,0xBF,0xFD,0x80,0x03,0xFF,0xFF,0xFF,0xFF,   
  41. 0xEF,0xFB,0xE0,0x03,0xEE,0xFB,0xFC,0x7F,0xEB,0x9B,0xE7,0xE3,0xEF,0xFB,0xFF,0xFF,   
  42. 0xFF,0xFF,0xF3,0xE7,0xEF,0xFB,0xEE,0xFB,0xEE,0xFB,0xED,0x77,0xF3,0x8F,0xFF,0xFF,   
  43. 0xFF,0xFF,0xF7,0xFB,0xF7,0xFB,0xE0,0x03,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,   
  44. 0xFF,0xFF,0xF8,0x0F,0xF7,0x77,0xEE,0xFB,0xEE,0xFB,0xE7,0x77,0xFF,0x8F,0xFF,0xFF,   
  45. 0xFF,0xFB,0x81,0x03,0xBB,0xFB,0xB8,0x07,0x83,0x77,0xFB,0x77,0xF7,0xBF,0xEF,0x01,   
  46. 0x0F,0x3B,0xD2,0xBB,0xDD,0xBB,0xDA,0xBB,0xC6,0x81,0xDF,0x3F,0xFF,0x7F,0xFF,0xFF,   
  47. 0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  48. 0xFD,0xFF,0xBD,0xFD,0xBD,0xFB,0xBD,0xF7,0xBD,0xCF,0x80,0x3F,0xBD,0xFF,0xBD,0xFF,   
  49. 0xBD,0xFF,0xBD,0xFF,0x80,0x01,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xFF,0xFF,   
  50. 0xFB,0xBF,0xF7,0x7F,0xEE,0xFF,0x10,0x00,0xBB,0xFF,0xEF,0xFD,0xEF,0x7D,0xEF,0x7D,   
  51. 0x6F,0x7D,0x80,0x01,0xAF,0x7D,0xEF,0x7D,0xEF,0x7D,0xEF,0x7D,0xEF,0xFD,0xFF,0xFF,   
  52. 0xF7,0xFD,0xF7,0xFD,0xD7,0x01,0xD7,0xFB,0xD7,0xFB,0xD4,0x07,0xD7,0x77,0xD7,0x77,   
  53. 0xF7,0x7F,0x01,0xFF,0xF6,0x1F,0xB7,0xE7,0xD7,0xFB,0xF7,0xFD,0xF7,0xF0,0xFF,0xFF,   
  54. 0xF7,0xEF,0xF7,0x9F,0xF6,0x7F,0x00,0x00,0xF6,0xFF,0xF7,0x37,0xFF,0xEF,0xF7,0xDF,   
  55. 0xF7,0x3F,0xF4,0xFF,0x00,0x00,0xF6,0x7F,0xF7,0x9F,0xF7,0xE7,0xF7,0xEF,0xFF,0xFF,   
  56. 0xFF,0xFD,0xFF,0xF3,0xC0,0x0F,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0x5F,0xFF,   
  57. 0x9F,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,   
  58. 0xF7,0xEF,0xF7,0xE7,0xF7,0xEF,0x00,0x1F,0xF7,0xDF,0xF7,0xBF,0xBF,0xAD,0xBD,0xDB,   
  59. 0xB9,0xB7,0xB4,0x6F,0xAD,0x9F,0x9C,0x7D,0xBD,0xFE,0xF8,0x01,0xFD,0xFF,0xFF,0xFF,   
  60. 0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  61. 0xFF,0xFD,0xF7,0xFB,0x83,0xF7,0xF7,0xEE,0xF7,0x1E,0xF0,0x7D,0x06,0x9D,0xF6,0xEB,   
  62. 0xF6,0xF7,0xB6,0xEB,0xD6,0x1B,0xC7,0xFD,0xF7,0xFC,0xF7,0xFD,0xF7,0xFF,0xFF,0xFF,   
  63. 0xFF,0xDF,0xDF,0xDF,0xDE,0xDF,0xDC,0xDF,0xDA,0xDF,0xC6,0xDF,0x1E,0xDF,0xDE,0xDF,   
  64. 0xD0,0x00,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xFF,0xDF,0xFF,0xFF,   
  65. 0xFF,0xFF,0xC0,0x1F,0xDD,0xDF,0xDD,0xDF,0xDD,0xDF,0xC0,0x1F,0xF7,0xFF,0xF6,0xFF,   
  66. 0xF7,0x3F,0xF7,0xFD,0xF7,0xFE,0x00,0x01,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,   
  67. 0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0x9F,0xFF,0xFF,0xFF,0xF0,0x1F,0xB6,0xDF,0xB6,0xDF,   
  68. 0xB6,0xDF,0xB6,0xDF,0xB0,0x1F,0xBF,0xFD,0xBF,0xFE,0x80,0x01,0xFF,0xFF,0xFF,0xFF,   
  69. 0xFF,0xFF,0xF1,0xF3,0xEF,0xEB,0xEF,0xDB,0xEF,0xBB,0xEE,0x7B,0xF1,0xF3,0xFF,0xFF,   
  70. 0xFF,0xFF,0xF8,0x0F,0xF7,0xF7,0xEF,0xFB,0xEF,0xFB,0xF7,0xF7,0xF8,0x0F,0xFF,0xFF,   
  71. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF3,0xFC,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  72. 0xFF,0xFF,0xF3,0xE7,0xEF,0xFB,0xEE,0xFB,0xEE,0xFB,0xED,0x77,0xF3,0x8F,0xFF,0xFF,   
  73. 0xFF,0xFF,0xF8,0x0F,0xF7,0xF7,0xEF,0xFB,0xEF,0xFB,0xF7,0xF7,0xF8,0x0F,0xFF,0xFF,   
  74. 0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  75. 0xD7,0xFB,0xDB,0xF7,0xDD,0xCD,0xDE,0x3D,0xD9,0x3D,0xC7,0xCB,0xFB,0xFB,0xE7,0xF7,   
  76. 0x0F,0xCF,0xE8,0x3F,0xEF,0x9F,0xEF,0xE7,0xEB,0xF3,0xE7,0xF9,0xEF,0xFB,0xFF,0xFF,   
  77. 0xFD,0xFD,0x7D,0xFB,0x8C,0x07,0xDF,0xFB,0xFF,0xFD,0xC0,0x1D,0xDF,0xBD,0xBF,0x7D,   
  78. 0xBF,0xFD,0xC0,0x05,0xDF,0xFD,0xDF,0xBD,0xDF,0xDD,0xC0,0x3D,0xFF,0xFD,0xFF,0xFF,   
  79. 0xFB,0xFF,0xFB,0xFE,0xFB,0xFD,0xFB,0xFB,0xFB,0xF7,0xFB,0xCF,0xFA,0x3F,0x01,0xFF,   
  80. 0xFA,0x7F,0xFB,0x9F,0xFB,0xEF,0xFB,0xF3,0xFB,0xF9,0xFB,0xFC,0xFB,0xFD,0xFF,0xFF,   
  81. 0xFF,0xFF,0xE7,0x6B,0xDF,0x6B,0xD7,0x57,0xD6,0xD7,0xD6,0xAD,0x54,0x6E,0x92,0xDD,   
  82. 0xD7,0x03,0xD7,0x9F,0xD6,0x6F,0xDF,0x6F,0xD7,0xF7,0xCF,0xF3,0xDF,0xF7,0xFF,0xFF,   
  83. 0xEF,0xBB,0xEB,0xBB,0xAB,0x77,0xAB,0x77,0xA0,0x2F,0xAF,0xCF,0xAF,0x9F,0x80,0x01,   
  84. 0xAF,0xBF,0x6F,0xDF,0x60,0x4F,0x6D,0x67,0x6B,0x73,0xCB,0x77,0xEE,0x7F,0xFF,0xFF,   
  85. 0xFF,0x7D,0xFE,0xFD,0xF9,0xDD,0xC7,0xDD,0xFB,0xDD,0xFC,0xDD,0xFF,0xDD,0x00,0x01,   
  86. 0xFF,0x5D,0xFE,0xDD,0xFD,0xDD,0xC3,0xDD,0xFD,0xDD,0xFE,0xFD,0xFF,0xFD,0xFF,0xFF,   
  87. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x05,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  88. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  89. //改显示内容以下两行别改   
  90. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,   
  91. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF   
  92. };   
  93.   
  94. /*主函数*/  
  95. void main()   
  96. {uchar i,j;   
  97.  uint m=0;//m是从字模数组里向后取数据时的计数器,用以改变显示文字的内容,及滚动显示效果   
  98.  SCON=0;  //初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲)   
  99.  lie=0x7fff; //列选标志初始化   
  100.  while(1) //重复循环显示   
  101.  {for(j=0;j<10;j++) //j用来控制屏上1帧显示内容停留的时间,即用来控制滚动速度   
  102.  { for(i=1;i<=31;i+=2)   
  103.     {P0=0xff;//先关显示,以免164内数据移动过程中在屏上产生不良影响,大家可以把这两句去掉比较下显示效果   
  104.      P2=0xff;   
  105.      SBUF=text[i+m];//从串口发送字模数据(为什么要先发后一个数据,看下电路应该会明白吧:)   
  106.      while(TI==0);  //等待发送完毕   
  107.      TI=0;   
  108.      SBUF=text[i+m-1];//从串口发送数据,补全整一列数据   
  109.      while(TI==0);   
  110.      TI=0;   
  111.   P0=lie%256;//选中要显示的那列,同时等于打开了那列的显示   
  112.      P2=lie/256;   
  113.      delay(); //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象,略知生理的人应该都知道吧。   
  114.   lie=_iror_(lie,1); //列选标志移位,准备用来选中下一列   
  115.       }   
  116.   }//返回显示下一列,直到16列都显示完成   
  117.   m+=2;//显示内容向后移一列   
  118.   if(m>1024)//这个数据为你的字模数组的大小-32,我的是1056-32=1024   
  119.   m=0;   
  120.     }   
  121.  }   
  122.   
  123. /*延时子程序*/  
  124. void delay()   
  125. {uint n;   
  126.  for(n=0;n<90;n++)   
  127.    {;}   
  128.  }   
  129.   


 

 

 
相关文章:

 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4