久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2628|回復: 2
打印 上一主題 下一主題
收起左側

888光立方 帶頻譜上位機脫機動畫源碼

[復制鏈接]
跳轉到指定樓層
樓主
888光立方 帶頻譜上位機脫機動畫源碼

電路原理圖如下:


單片機源程序如下:
  1. #include <STC12C5A60S2.H>
  2. #include <intrins.h>
  3. #include"zimo.h"
  4. #include"yinpin.h"
  5. #include"flash.h"
  6. #include"hanshu.h"
  7. uchar data rxcnt=0;
  8. /*************************************************************************/
  9. void main()
  10. {                     initial595();
  11.                                 initial5952();
  12.                                 timer0init();
  13.                                 out=1;
  14.                                 menu=0;
  15.                                 amenu=1;                       
  16.                                 bb=1;   
  17.                           while(1)
  18.                    {          
  19.                                 huxi();       
  20.                                 zhu2();
  21.                            }          
  22. }
  23.   
  24. /******************************************************************************/

  25. /**************************************************************************/


  26.   void print1() interrupt 3
  27. {  
  28.   if(out==1)
  29.    {
  30.                                 TR1=0;                //關閉定時器1
  31.                                 TH1=(65536-2500)/256;  //定時  time = F63C ;104.1us
  32.                                 TL1=(65536-2500)%256;
  33.                                 if(num>=(amenu-1))
  34.                                         num=0;
  35.                                 else
  36.                                         num++;
  37.                                 if(b[num]<c[num])
  38.                                 {b[num]++;}                                                                                               
  39.                                 if(b[num]>c[num])
  40.                                 {b[num]--;}                                                                       
  41.                                 if(b[num]>8)
  42.                                 {b[num]=8;}                
  43.                                                              
  44.         switch(yp)
  45.         {         
  46.                 case 1:        send_data2(~tuku2[b[num]]);
  47.                         if(amenu<=2){}                               
  48.                                 else delay(50);
  49.                                 break;  
  50.                 case 2:        send_data2(~tuku1[b[num]]);
  51.                                 if(amenu<=2){}                                                               
  52.                                 else delay(50);
  53.                                 break;
  54.                 case 3:        send_data2(~tuku3[b[num]]);
  55.                                 if(amenu<=2){}                               
  56.                                 else delay(50);                               
  57.                                 default:break;
  58.     }
  59.   }               
  60. if(out==2||out==3)       
  61. {                        uchar i;                               
  62.                         static uchar layer=0;     
  63.                       for (i=0;i<8;i++)
  64.                        {
  65.                         buffer[i]=~display[layer][i];
  66.                        }
  67.                                 xiansi1();                                                                                                                                         
  68.                                     cheng=(0x01<<layer);                          
  69.                                     DS2 = ~cheng&0x01; //發送最低位         
  70.                                         SH_CP2 = 1;
  71.                                         SH_CP2 = 0;                 //移位寄存器移位
  72.                                         ST_CP=1;       
  73.                                     ST_CP=0;       
  74.                                         ST_CP2=1;       
  75.                                     ST_CP2=0;
  76.                                
  77.                                 if (layer<7)
  78.                                 layer++;
  79.                         else
  80.                         layer=0;      
  81.                                     TH1=0xfe;
  82.                                     TL1=0xfe;
  83.                                         delay(2);
  84.                                         key_amenu_scan();       
  85.                                         key_menu_scan();
  86.                                         key_out_scan();
  87.                                 if(out==4||out==1)
  88.                                     {IAP_CONTR=0x20;}                                                         
  89.                                              
  90. }
  91.                                     TR1=1;//啟動定時器1
  92. }       
  93. /***************************************************************************/

  94.   void UART1_Int(void) interrupt 4  
  95. {           uchar j,temp=0;
  96.          
  97.   if (RI == 1)  
  98.   {                 sa=0;
  99.                                 RI = 0;  
  100.                                     ES = 0;             //串口1中斷
  101.                                 rxcnt++;                         //前面有一個地址碼0xf2,要去掉,>=2時才能接收數據          
  102.                   if(rxcnt>=2&&rxcnt<=9)
  103.                {                          
  104.                     temp=SBUF;           
  105.                          for(j=0;j<8;j++)
  106.                           { if(temp&(0x01<<j))
  107.                                     display[j][rxcnt-2]|=0x80;
  108.                                         else
  109.                                     display[j][rxcnt-2]&=~0x80;     
  110.                            }           
  111.                 }                                    
  112.                   if(rxcnt>=10&&rxcnt<=17)
  113.                {    temp=SBUF;                               
  114.                              for(j=0;j<8;j++)
  115.                                   {
  116.                                     if(temp&(0x01<<j))
  117.                                         display[j][rxcnt-10]|=0x40;
  118.                                         else
  119.                                          display[j][rxcnt-10]&=~0x40;      
  120.                           }           
  121.                }
  122.                   if(rxcnt>=18&&rxcnt<=25)
  123.                {                        
  124.                                 temp=SBUF;  
  125.                                  for(j=0;j<8;j++)
  126.                                   {
  127.                                     if(temp&(0x01<<j))
  128.                                         display[j][rxcnt-18]|=0x20;
  129.                                         else
  130.                                         display[j][rxcnt-18]&=~0x20;   
  131.                                   }           
  132.                                }
  133.                           if(rxcnt>=26&&rxcnt<=33)
  134.                       {                        
  135.                                 temp=SBUF;
  136.                                  for(j=0;j<8;j++)
  137.                                   {
  138.                                     if(temp&(0x01<<j))
  139.                                         display[j][rxcnt-26]|=0x10;
  140.                                         else
  141.                                         display[j][rxcnt-26]&=~0x10;     
  142.                                    }           
  143.                       }
  144.                           if(rxcnt>=34&&rxcnt<=41)
  145.                       {                        
  146.                                 temp=SBUF;
  147.                                   for(j=0;j<8;j++)
  148.                                   {
  149.                                     if(temp&(0x01<<j))
  150.                                         display[j][rxcnt-34]|=0x08;
  151.                                         else
  152.                                         display[j][rxcnt-34]&=~0x08;     
  153.                                    }           
  154.                        }
  155.                           if(rxcnt>=42&&rxcnt<=49)
  156.                       {                        
  157.                                 temp=SBUF;
  158.                                   for(j=0;j<8;j++)
  159.                                   {                            
  160.                                     if(temp&(0x01<<j))
  161.                                         display[j][rxcnt-42]|=0x04;
  162.                                         else
  163.                                         display[j][rxcnt-42]&=~0x04;
  164.                                    }
  165.                           }           
  166.                      
  167.                           if(rxcnt>=50&&rxcnt<=57)
  168.                       {                        
  169.                                 temp=SBUF;
  170.                                     for(j=0;j<8;j++)
  171.                                    {
  172.                                     if(temp&(0x01<<j))
  173.                                         display[j][rxcnt-50]|=0x02;
  174.                                         else
  175.                                         display[j][rxcnt-50]&=~0x02;      
  176.                                    }           
  177.                        }
  178.                           if(rxcnt>=58&&rxcnt<=65)
  179.                       {                        
  180.                                 temp=SBUF;
  181.                                     for(j=0;j<8;j++)
  182.                                    {
  183.                                    if(temp&(0x01<<j))
  184.                                         display[j][rxcnt-58]|=0x01;
  185.                                    else
  186.                                         display[j][rxcnt-58]&=~0x01;  
  187.                                    }           
  188.                        }
  189.                            if(rxcnt>=65)
  190.                                    rxcnt=0;            
  191.         }
  192.         ES = 1;             //充許串口1中斷
  193. }

  194. void ADC_Finish() interrupt 5
  195. {                  
  196.                                     int  yinpin;
  197.                                     yinpin++;
  198.                          if(yinpin==20000)
  199.                           {    yinpin=0;
  200.                                    yp++;
  201.                                 if(yp==4)
  202.                                    yp=1;                                             
  203.                                    amenu++;
  204.                                 if(amenu==9)amenu=1;                                  
  205.                            }                        
  206.                                  if(ADC_CONTR&0x10)  //判斷ADC-FLGA位是否為1,為1表明A/D已轉換完成。                  
  207.                                delay(1);                                                           
  208. }         

復制代碼

所有資料51hei提供下載:
通用程序源碼.zip (3.67 MB, 下載次數: 37)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:277550 發表于 2018-5-5 01:46 | 只看該作者
謝謝分享~~~~~~~~
回復

使用道具 舉報

板凳
ID:298003 發表于 2018-5-9 09:44 | 只看該作者
謝謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级片在线看 | 中文字幕久久精品 | 欧美日韩在线视频一区二区 | 欧美综合色 | 天天拍天天草 | 97国产精品视频人人做人人爱 | 国产日韩欧美综合 | 国产精品久久精品 | 999精彩视频 | 欧美乱淫视频 | 九九综合 | 欧美a区 | 日本男人天堂 | 日韩国产欧美 | 国产精品高清在线 | 中文字幕日韩av | 日韩欧美国产一区二区 | 久久久久久一区 | 国产精品久久国产精品 | 国产精品视频yy9299一区 | 日本不卡一区二区三区 | 婷婷丁香在线视频 | 伊人春色成人 | 国产精品一级在线观看 | 国产免费国产 | 欧美精品一区二区蜜桃 | 精品久久久久一区 | 国产成人99久久亚洲综合精品 | 精品欧美一区二区精品久久 | 亚洲精品一区二区三区蜜桃久 | 九九在线视频 | 国产精品日韩在线 | 最新国产精品精品视频 | 日韩欧美三区 | 久久久美女 | 一区二区三区亚洲视频 | 日本韩国电影免费观看 | 日韩欧美一区二区三区免费观看 | 日韩欧美在线播放 | 日本aⅴ中文字幕 | 亚洲综合在线播放 |