找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机完美驱动LEDP10板源码

[复制链接]
跳转到指定楼层
楼主
ID:302132 发表于 2018-4-4 18:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机 完美驱动LED P10板 可用于毕业设计 DIY制作等

单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define NOP     _nop_()

  6. sbit OE     = P2^0;
  7. sbit A1     = P2^1;
  8. sbit B1     = P2^2;

  9. sbit SHCP=P2^4;    //11脚SHCP    移位时钟
  10. sbit STCP=P2^3;    //12脚STCP    锁存时钟
  11. sbit DATA=P3^7;           //数据输入
  12. unsigned int flag,i;


  13. uchar code table0[10][32]=
  14. {{0xFF,0xFF,0xFF,0xFF,0xF8,0x7F,0xF7,0xBF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,

  15. …………限于本文篇幅 余下代码请从51黑下载附件…………
  16.                                           
  17. { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  18. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}};       


  19. uchar* table[10] = {table0,table1,table2,table3,table4,table5,table6,table7,table8,table9};

  20. /*******************************************************************************************/
  21.       
  22. /*******************************************************************************************/
  23. /*******************************************************************************************/
  24. //数据串行输入
  25. void serial_input(uchar dat)   
  26. {
  27.         uint m;
  28.                 for(m=0;m<8;m++)
  29.                 {
  30.                         if(dat & 0x80)
  31.                                 DATA=1;
  32.                         else
  33.                                  DATA=0;
  34.                         SHCP=0;        
  35.                         SHCP=1;                                 
  36.                 NOP;
  37.                         NOP;
  38.                         SHCP=0;
  39.                         NOP;
  40.                         NOP;
  41.                         dat=dat<<1;
  42.                 }

  43. }

  44. /*******************************************************************************************/
  45. //并出
  46. void serial_output()
  47. {
  48.         STCP=1;                 
  49.         NOP;
  50.         NOP;
  51.         STCP=0;        
  52. }  
  53. /*******************************************************************************************/
  54. /*******************************************************************************************/
  55. //行显控制
  56. void HC138_scan(uchar temp)
  57. {
  58.    OE=1;
  59.    A1=0x01 & temp;
  60.    B1=0x01 &(temp>>1);
  61. }
  62. /*******************************************************************************************/
  63. /*******************************************************************************************/
  64. //整屏显示
  65. void display0(uchar  table[10][32])
  66. {
  67.         uint i,j,k;
  68.         for(k=0;k<4;k++)                  //显示的四行
  69.                 {        
  70.                         for(j=0;j<2;j++)          //显示3、4列
  71.                         {
  72.                                 for(i=0;i<2;i++)      // 显示1、2列
  73.                                 {
  74.                                         serial_input(table[j][3*8+2*k+i]);         
  75.                                         serial_input(table[j][2*8+2*k+i]);                        
  76.                                         serial_input(table[j][1*8+2*k+i]);               
  77.                                         serial_input(table[j][0*8+2*k+i]);
  78.                                 }
  79.                         }
  80.                                 serial_output();
  81.                                 HC138_scan(k);
  82.                 }
  83. }

  84. //void Delay1000ms()                //@11.0592MHz
  85. //{
  86. //        unsigned char i, j, k;

  87. //        _nop_();
  88. //        _nop_();
  89. //        i = 43;
  90. //        j = 6;
  91. //        k = 203;
  92. //        do
  93. //        {
  94. //                do
  95. //                {
  96. //                        while (--k);
  97. //                } while (--j);
  98. //        } while (--i);
  99. //}

  100. //void Delay1000ms()       
  101. //{
  102. //   int i=0;
  103. //          for(i=0;i<90000;i++)
  104. //        {
  105. //        }
  106. //}



  107. /*******************************************************************************************/
  108. /*******************************************************************************************/

  109. /*******************************************************************************************/
  110. /*******************************************************************************************/
  111. void main()
  112. {
  113.                 SCON = 0x50;
  114.           TMOD=0x20;
  115.           TH1=0xfd;
  116.           TL1=0xfd;       //串口波特率9600
  117.                 TR1 = 1;
  118. //          SM0=0;
  119. //          SM1=1;
  120.           REN=1;   
  121.           EA=1;    //开总中断
  122.           ES=1;    //开串行中断
  123.           i=0;
  124.        
  125. //        SBUF=i;
  126. //        while(!TI);
  127. //        TI=0;
  128.         while(1)
  129.         {
  130.                                         if(flag==1)
  131.                                         {
  132.                                           ES=0;
  133.                                                 flag=0;
  134. ……………………

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

所有资料51hei提供下载:
LEDP1051.rar (41.45 KB, 下载次数: 111)


评分

参与人数 1黑币 +5 收起 理由
loost + 5 回帖助人的奖励!

查看全部评分

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

使用道具 举报

沙发
ID:393255 发表于 2018-9-5 02:29 | 只看该作者
找了很久这个东西 谢谢楼主
回复

使用道具 举报

板凳
ID:626275 发表于 2019-11-21 19:44 | 只看该作者
这个能做什么呢??
回复

使用道具 举报

地板
ID:392670 发表于 2021-1-5 16:05 来自手机 | 只看该作者
好资料,能控制显示频谱加时间日期就完美了
回复

使用道具 举报

5#
ID:390416 发表于 2021-1-24 17:33 | 只看该作者
垃圾代码,没反应
回复

使用道具 举报

6#
ID:1009339 发表于 2022-3-9 21:58 | 只看该作者
找好久了,感谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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