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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10065|回復(fù): 6
收起左側(cè)

DMX512燈光控制程序案例 單片機(jī)雙機(jī)通信5通道程序

  [復(fù)制鏈接]
ID:229459 發(fā)表于 2017-8-26 14:40 | 顯示全部樓層 |閱讀模式
51單片機(jī)驅(qū)動(dòng)DMX512燈光控制程序案例
0.png


單片機(jī)驅(qū)動(dòng)DMX512源程序(從機(jī))如下:
  1. /*******************************************************************************
  2. 文    件:DMX_5_slave.C
  3. 功能描述:使用STC89c52rc接收多通道dmx數(shù)據(jù)。
  4. 編    作:Travis copyright 2012
  5. 版    本:  dmx——V2.1
  6. *********************************************************************************/

  7. #include <intrins.h>
  8. # include <STC89C51RC_RD_PLUS.H>


  9. # define uchar unsigned char
  10. # define unint unsigned int
  11. # define ulong unsigned long




  12. /* 常量定義 */  
  13. # define BAUD0ATE              4800         //4800
  14. # define Fosc                   16         //晶振16MHz
  15. # define MAX_FADE_LEVEL         256        //灰度等級     /////////
  16. # define TIMER0_TIME            80         //80ms         

  17. # define PIXELS   8
  18. # define MAX_FADE  256


  19. /*聯(lián)合體類型說明 */
  20. typedef union User_Data_Type
  21. {
  22.   uchar Ch[2];
  23.   unint In;
  24. }U16TP;



  25. /* 可位元尋址區(qū)定義 */
  26. sbit SYN = P3^2;//INT0        //外部中斷0



  27. sbit OR_1 = P2^7;//R        //顏色引腳(使用軟件產(chǎn)生pwm)
  28. sbit OG_1 = P2^6;//G
  29. sbit OB_1 = P2^5;//B
  30. sbit OR_2 = P2^4;//W
  31. sbit OG_2 = P2^3;//P







  32. /* 變量定義 */


  33. uchar Int0_Count_Rg;         //外部中斷計(jì)數(shù)變量
  34. uchar Rec_Data_Rg[5];         //外部中斷接收數(shù)據(jù)數(shù)組
  35. uchar Data_Count_Rg;         //外部中斷數(shù)據(jù)檢測變量
  36. uchar LED_Fade_Rg[5];         //led灰度值
  37. uchar Fade_Count_Rg;         //灰度變化變量

  38. //=================================延時(shí)函數(shù)===============================================//
  39. //功能:無用時(shí)間,解決外設(shè)與內(nèi)設(shè)通信反應(yīng)時(shí)間。
  40. //=======================================================================================//
  41. void delay_time(unint time_delay)
  42. { while(time_delay--);}


  43. //====================================單片機(jī)初始化======================================//
  44. //功能:單片機(jī)初始化中斷
  45. //======================================================================================//

  46. void init_MCU()   
  47. {
  48. IPH&=0XFC;
  49. IP|=0X01;
  50. }



  51. //=======================================外部中斷0服務(wù)程序==================================//
  52. //功能:接收主機(jī)數(shù)據(jù)
  53. //==========================================================================================//

  54. void Int0(void) interrupt 0     
  55. { uchar temp;
  56.    
  57.   temp = P1&0xFF;      //檢測數(shù)據(jù)
  58.   switch(Int0_Count_Rg)
  59.   { case 0:      
  60.       if(temp == 0xaa)  {Int0_Count_Rg++;    }    //如果是0XAA,進(jìn)入下一次中斷循環(huán)
  61.       else Int0_Count_Rg = 0;
  62.       break;
  63.     case 1:
  64.       if(temp == 0x11) { Data_Count_Rg = 0;Int0_Count_Rg++;}  //如果是0X11,進(jìn)入下一次中斷循環(huán)
  65.       else Int0_Count_Rg = 0;
  66.       break;
  67.     case 2:

  68.       Rec_Data_Rg[Data_Count_Rg] = temp;                       //接收5位灰度數(shù)據(jù)值
  69.       if(++Data_Count_Rg>=6)            
  70.       { LED_Fade_Rg[0] = Rec_Data_Rg[0];
  71.         LED_Fade_Rg[1] = Rec_Data_Rg[1];
  72.         LED_Fade_Rg[2] = Rec_Data_Rg[2];
  73.         LED_Fade_Rg[3] = Rec_Data_Rg[3];
  74.         LED_Fade_Rg[4] = Rec_Data_Rg[4];

  75.         Int0_Count_Rg = 0;
  76.       }
  77.    
  78.       break;
  79.     default:
  80.       break;
  81.   }
  82. }

  83. //===============================定時(shí)器0初始化===============================================//
  84. //功能:定時(shí)器0初始化,16定時(shí)器模式中斷開啟 ,循環(huán)掃描。
  85. //===========================================================================================//
  86. void Timer_Init(void)      
  87. { TH0  = (65536 - ((ulong)TIMER0_TIME*Fosc/12)) >> 8 ;    //中斷賦值
  88.   TL0  = (65536 - ((ulong)TIMER0_TIME*Fosc/12))-1;
  89.   TMOD = 0x01;//GATE1 C/T1      M11       M10  GATE0 C/T0  M01 M00
  90.   ET0  = 1;      //使能定時(shí)器0.
  91.   TR0  = 1;   //開啟定時(shí)器0
  92. }


  93. //====================================定時(shí)器0中斷======================================//
  94. //功能:定時(shí)器0中斷函數(shù)。掃描,產(chǎn)生pwm。
  95. //========================================================================================//
  96. void Timer0( void ) interrupt 1
  97. {
  98. TH0   = (65536 - ((ulong)TIMER0_TIME*Fosc/12)) >> 8 ;  //中斷賦值
  99. TL0   = (65536 - ((ulong)TIMER0_TIME*Fosc/12))-1;

  100.   
  101. if(++Fade_Count_Rg>(MAX_FADE_LEVEL-1))
  102.       Fade_Count_Rg = 0;
  103.     OR_1=(Fade_Count_Rg<LED_Fade_Rg[0])?1:0;
  104.     OG_1=(Fade_Count_Rg<LED_Fade_Rg[1])?1:0;
  105.     OB_1=(Fade_Count_Rg<LED_Fade_Rg[2])?1:0;

  106.     OR_2=(Fade_Count_Rg<LED_Fade_Rg[3])?1:0;
  107.     OG_2=(Fade_Count_Rg<LED_Fade_Rg[4])?1:0;

  108. }

  109. //==================================主函數(shù)================================//
  110. //功能:全部函數(shù)應(yīng)用
  111. //========================================================================//
  112. void main(void)
  113. {
  114. init_MCU();              //單片機(jī)初始化
  115. Timer_Init();          //定時(shí)器初始化
  116. delay_time(5);           //延時(shí)
  117.   //外部中斷0初始化           
  118.   TCON |= 0x01;       //下降沿觸發(fā)     //IT0=1;
  119.   IE   |= 0x01;          //外部中斷0允許位。//EX0=1;

  120.   EA    = 1;          //開中斷
  121.   LED_Fade_Rg[0] = MAX_FADE_LEVEL-1;    //灰度賦值。
  122.   LED_Fade_Rg[1] = MAX_FADE_LEVEL-1;    //灰度賦值。
  123.   LED_Fade_Rg[2] = MAX_FADE_LEVEL-1;    //灰度賦值。
  124.   LED_Fade_Rg[3] = MAX_FADE_LEVEL-1;    //灰度賦值。
  125.   LED_Fade_Rg[4] = MAX_FADE_LEVEL-1;    //灰度賦值。



  126.   while(1);


  127. }


  128. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
雙機(jī)通信5通道.rar (194.99 KB, 下載次數(shù): 193)




回復(fù)

使用道具 舉報(bào)

ID:290081 發(fā)表于 2018-4-13 08:37 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
ID:266164 發(fā)表于 2019-12-18 14:18 | 顯示全部樓層
正好研究這個(gè)呢。。。謝謝
回復(fù)

使用道具 舉報(bào)

5#
無效樓層,該帖已經(jīng)被刪除
6#
無效樓層,該帖已經(jīng)被刪除
ID:393634 發(fā)表于 2022-3-11 13:20 | 顯示全部樓層
正好研究下載看下
回復(fù)

使用道具 舉報(bào)

ID:279581 發(fā)表于 2022-11-13 16:13 | 顯示全部樓層
附件是雙機(jī)通訊, 不是DMX512
回復(fù)

使用道具 舉報(bào)

ID:77589 發(fā)表于 2023-7-25 17:33 | 顯示全部樓層
yangqfa 發(fā)表于 2022-11-13 16:13
附件是雙機(jī)通訊, 不是DMX512

真的么,還好沒有盲目下載,先看看評論
回復(fù)

使用道具 舉報(bào)

ID:433219 發(fā)表于 2023-7-25 17:47 | 顯示全部樓層
還好沒有盲目下載,先看看評論  
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 婷婷色国产偷v国产偷v小说 | 精品国产一区二区久久 | 精品视频在线免费观看 | 玖操| 欧美极品少妇xxxxⅹ免费视频 | 日韩欧美国产精品 | 国产国语精品 | 精品一区二区视频 | av免费网址| 久久a久久 | 国产精品色综合 | 国产免费xxx | 国产精品久久久久久久久免费软件 | 高清免费av | 男人天堂视频在线观看 | 久久一区二区三区免费 | caoporn免费 | 亚洲欧美综合精品另类天天更新 | 黄色片在线 | 亚洲+变态+欧美+另类+精品 | 精久久久| 亚洲国产一区二区三区, | 色吊丝2 | 国产日韩在线观看一区 | 午夜网 | 四虎永久免费在线 | 毛片a | 成人天堂 | 99久久99| 综合国产| 中文字幕在线电影观看 | yeyeav| 三级黄色片在线播放 | 色婷婷av久久久久久久 | 亚洲欧美日韩精品久久亚洲区 | 欧美黑人国产人伦爽爽爽 | 久草久 | 国产第一亚洲 | 91xxx在线观看 | 国产综合久久 | 亚洲精品视频免费 |