找回密码
 立即注册

QQ登录

只需一步,快速开始

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

字体旋转灯电路原理图与单片机源程序

[复制链接]
跳转到指定楼层
楼主
字体旋转灯实物图:


电路原理图


单片机源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit D1=P3^2;
  5. sbit D2=P3^4;
  6. sbit D3=P1^0;
  7. sbit D4=P0^7;
  8. void delay();
  9. void xing();
  10. void zhunbei();
  11. uchar code hanzi1[];
  12. uchar code hanzi2[];
  13. uchar code hanzi3[];
  14. uchar code hanzi4[];
  15. uchar code hanzi5[];
  16. uchar code hanzi6[];
  17. uchar code hanzi7[];
  18. uchar code hanzi8[];
  19. uchar code hanzi9[];
  20. uchar code hanzi10[];
  21. uchar code hanzi11[];
  22. uchar code hanzi12[];
  23. uchar code hanzi13[];
  24. uchar code hanzi14[];
  25. uchar code hanzi15[2][64];
  26. uchar code hanzi16[2][64];
  27. uchar code hanzi17[];
  28. uchar code hanzi18[];
  29. uchar code hanzi19[];
  30. uchar code hanzi20[];
  31. uchar code hanzi21[];
  32. uchar code hanzi22[];
  33. uchar cc,bb,mm,dd,tt,kk,kk1,kk2;kk4;
  34. uint kk3,jj,aa;
  35. void main()
  36. {     
  37.       zhunbei();
  38.       while(1)
  39.      {      
  40.         
  41.          if(D1==0)
  42.          {  
  43.                    if(kk==11)
  44. {
  45. if(cc>112)
  46. {
  47.   if(kk4<7)
  48. {
  49.                              
  50.   kk4++;
  51. kk2++;
  52.                           }
  53.                          if(kk4==7)
  54.                           {
  55.                             kk4=6;
  56.                             kk2=14;
  57.                           }

  58. }
  59. }
  60.            
  61.                      for(aa=kk4;aa<kk2;aa++)
  62. {  

  63.   P0=hanzi19[aa];
  64.            P1=hanzi20[aa];
  65.   D3=D4=0;
  66.   delay();
  67. }
  68. /////////////////////////////////////////////////////////////      
  69.             xing();
  70.           /////////////////////////////////////////////////////////
  71.                    if(kk==1)
  72.                    {                 
  73.                   mm=cc=0;  
  74.    bb=bb+1;
  75.                    if(bb==95)
  76.                    {
  77.                          bb=94;
  78.                          dd++;
  79.                          if(dd==97)
  80.                           dd=96;
  81.                         }
  82.           for(aa=dd;aa<=bb;aa++)      //////////////无论何时何地
  83.                      {
  84.                       P0=hanzi3[aa];
  85.           P1=hanzi4[aa];
  86.                       delay();                  
  87.              P0=0xff;
  88.              P1=0xff;
  89.                      }     
  90.            }  
  91. /////////////////////////////////////////////////////
  92.        if(kk==2)
  93.                     {         
  94.                   dd=bb=0;  
  95.          cc++;
  96.                    if(cc==95)
  97.                                 {
  98.                    cc=94;
  99.                                 mm++;
  100.                                 if(mm==97)
  101.                                  mm=96;
  102.                                 }
  103.           for(aa=mm;aa<=cc;aa++)   //////////////无论身在何方
  104.                      {
  105.                       P0=hanzi5[aa];
  106.              P1=hanzi6[aa];
  107.                       delay();                  
  108.              P0=0xff;
  109.              P1=0xff;
  110.                      }
  111.                       }     
  112. /////////////////////////////////////////////////
  113.                 if(kk==3)
  114.                 {  
  115.                     mm=cc=0;
  116.                     bb++;
  117.                     if(bb==127)
  118.                    {
  119.                     bb=126;
  120.                     dd++;
  121.                    if(dd==129)
  122.                     dd=128;
  123.                    }
  124.           for(aa=dd;aa<=bb;aa++)             /////我愿把无数的思念
  125.                       {
  126.                        P0=hanzi7[aa];
  127.              P1=hanzi8[aa];
  128.                        delay();                  
  129.              P0=0xff;
  130.              P1=0xff;
  131.                        }
  132.                  }     
  133. //////////////////////////////////////////////
  134.                  if(kk==4)
  135.                  {   
  136.                     dd=bb=0;  
  137.           cc++;
  138.                     if(cc==111)
  139.                        {
  140.                         cc=110;
  141.                         mm++;
  142.                         if(mm==113)
  143.                          mm=112;
  144.                        }
  145.           for(aa=mm;aa<=cc;aa++)
  146.                       {
  147.                        P0=hanzi9[aa];         ///////////////////////化作无限的祝福
  148.              P1=hanzi10[aa];              
  149.                        delay();                  
  150.              P0=0xff;
  151.              P1=0xff;
  152.                       }     
  153.                    }
  154. ///////////////////////////////////////
  155.                   if(kk==5)
  156.                     {   
  157.                    mm=cc=0;
  158.                    bb++;
  159.                    if(bb==111)
  160.                        {
  161.                          bb=110;
  162.                          dd++;
  163.                          if(dd==113)
  164.                            dd=112;
  165.                          }
  166.           for(aa=dd;aa<=bb;aa++)                ////////祝你健康快乐!
  167.                      {
  168.                       P0=hanzi11[aa];
  169.              P1=hanzi12[aa];
  170.                      
  171.                       delay();                  
  172.              P0=0xff;
  173.              P1=0xff;
  174.                       }
  175.                      }  
  176.    
  177. /////////////////////////////////////////////
  178.                  if(kk==6)
  179. {
  180.     dd=bb=0;  
  181.           cc++;
  182.                     if(cc==40)
  183.                        {
  184.                         cc=39;
  185.                        
  186.                        }
  187.           for(aa=0;aa<=cc;aa++)
  188.                       {
  189.                        P0=hanzi13[aa];         ///////////////////////(*^__^*) 嘻嘻……
  190.              P1=hanzi14[aa];              
  191.                        delay();                  
  192.              P0=0xff;
  193.              P1=0xff;
  194.                       }     


  195. }
  196. ////////////////////////////////////////////
  197.                   if(kk==7)
  198.                     {   

  199.                    cc=0;
  200.                    bb++;
  201.                    if(bb==59)
  202.                        {
  203.                          bb=58;
  204.                          dd++;
  205.                          if(dd==7)
  206.   {
  207.                            dd=0;
  208. mm++;
  209. if(mm==2)
  210. mm=0;


  211. }
  212.                          }
  213.           for(aa=0;aa<=bb;aa++)                ////////↖(^ω^)↗                    
  214.    {
  215.                       P0=hanzi15[mm][aa];
  216.              P1=hanzi16[mm][aa];
  217.                      
  218.                       delay();                  
  219.              P0=0xff;
  220.              P1=0xff;
  221.                       }
  222.                      }  


  223. /////////////////////////////////////
  224.                   if((kk==8)||(kk==9)||(kk==10))
  225.                  {   
  226.                     dd=bb=0;  
  227.           kk3++;
  228.                     if(kk3==383)
  229.                        {
  230. kk3=382;
  231. }
  232.                        if(kk3>176)
  233. jj++;
  234.                         
  235.           for(aa=jj;aa<=kk3;aa++)
  236.                       {
  237.                        P0=hanzi21[aa];         ///////////////////////每当...........
  238.              P1=hanzi22[aa];              
  239.                        delay();                  
  240.              P0=0xff;
  241.              P1=0xff;
  242.                       }     
  243.                    }
  244. //////////////////////
  245.                        xing();
  246. //////////////////////////////////
  247.                       if(kk==11)
  248. {
  249.     kk3=kk1=0;
  250.     mm=0;  
  251.           cc++;
  252.                     if(cc==120)
  253.                        {
  254.                         cc=119;
  255.                        
  256.                        }
  257.           for(aa=cc;aa<=128;aa++)
  258.                       {
  259.                        P0=hanzi17[aa];         ///////////////////////箭头
  260.              P1=hanzi18[aa];              
  261.                        delay();                  
  262.              P0=0xff;
  263.              P1=0xff;
  264.                       }     


  265. }
  266. //////////////////////////////////////
  267.                   
  268.                      D3=D4=0;
  269. //////////////////////////////////////////////////
  270.               
  271.          }
  272.     }
  273. }




  274. void zhunbei()
  275.     {
  276.       TMOD=0x11;//设置定时器0为工作方式1
  277.   TH0=0;
  278.       TL0=0;
  279.       EA=1;//开总中断
  280.   ET0=1;//开定时器0中断
  281.       TR0=1;//启动定时器0
  282.       kk2=8;
  283.       kk1=0;
  284.       dd=0;
  285.       bb=0;
  286.       kk=1;

  287. }








  288. void xing()
  289. {
  290.         for(aa=16;aa>0;aa--)
  291.           {
  292.          
  293.            P0=hanzi1[aa];
  294.            P1=hanzi2[aa];                ////心型
  295.            delay();                  
  296.            P0=0xff;
  297.            P1=0xff;
  298.      }  
  299. }


  300. void delay()//延时
  301. {
  302. uint x;
  303. for(x=15;x>1;x--);
  304. }






  305. void time0() interrupt 1
  306. {
  307. TH0=0;
  308. TL0=0;
  309.    tt++;
  310.    if(tt==255)
  311.    {
  312.    
  313.      tt=0;
  314.      kk++;
  315.      if(kk==12)
  316. {
  317.       kk=1;
  318. kk2=8;
  319.       cc=0;
  320.       mm=0;
  321.   kk1=0;
  322. dd=0;
  323.       bb=0;
  324.       kk4=0;
  325.       cc=0;
  326.       jj=0;
  327.       }
  328.       
  329.    }
  330.    
  331. ……………………

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

所有资料51hei提供下载:
字体旋转灯.zip (162.16 KB, 下载次数: 59)




评分

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

查看全部评分

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

使用道具 举报

沙发
ID:412443 发表于 2018-10-19 19:57 | 只看该作者
好想下载啊可惜黑币不够
回复

使用道具 举报

板凳
ID:410928 发表于 2018-10-19 22:51 来自手机 | 只看该作者
这个好玩,也想自己动手做一个
回复

使用道具 举报

地板
ID:439863 发表于 2019-12-30 18:51 | 只看该作者
感谢分享,就是图片太少,无法看清怎么实现机械部分旋转的。
回复

使用道具 举报

5#
ID:678131 发表于 2019-12-31 09:54 | 只看该作者
好的,谢谢楼主分享
回复

使用道具 举报

6#
ID:70662 发表于 2019-12-31 11:08 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

7#
ID:644095 发表于 2020-1-13 15:10 | 只看该作者
请问你的led规格是什么样的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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