久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
DMX512燈光控制程序案例 單片機雙機通信5通道程序
[打印本頁]
作者:
lifeng513513
時間:
2017-8-26 14:40
標題:
DMX512燈光控制程序案例 單片機雙機通信5通道程序
51單片機驅動DMX512燈光控制程序案例
0.png
(36.02 KB, 下載次數: 84)
下載附件
2017-8-26 17:13 上傳
單片機驅動DMX512源程序(從機)如下:
/*******************************************************************************
文 件:DMX_5_slave.C
功能描述:使用STC89c52rc接收多通道dmx數據。
編 作:Travis copyright 2012
版 本: dmx——V2.1
*********************************************************************************/
#include <intrins.h>
# include <STC89C51RC_RD_PLUS.H>
# define uchar unsigned char
# define unint unsigned int
# define ulong unsigned long
/* 常量定義 */
# define BAUD0ATE 4800 //4800
# define Fosc 16 //晶振16MHz
# define MAX_FADE_LEVEL 256 //灰度等級 /////////
# define TIMER0_TIME 80 //80ms
# define PIXELS 8
# define MAX_FADE 256
/*聯合體類型說明 */
typedef union User_Data_Type
{
uchar Ch[2];
unint In;
}U16TP;
/* 可位元尋址區定義 */
sbit SYN = P3^2;//INT0 //外部中斷0
sbit OR_1 = P2^7;//R //顏色引腳(使用軟件產生pwm)
sbit OG_1 = P2^6;//G
sbit OB_1 = P2^5;//B
sbit OR_2 = P2^4;//W
sbit OG_2 = P2^3;//P
/* 變量定義 */
uchar Int0_Count_Rg; //外部中斷計數變量
uchar Rec_Data_Rg[5]; //外部中斷接收數據數組
uchar Data_Count_Rg; //外部中斷數據檢測變量
uchar LED_Fade_Rg[5]; //led灰度值
uchar Fade_Count_Rg; //灰度變化變量
//=================================延時函數===============================================//
//功能:無用時間,解決外設與內設通信反應時間。
//=======================================================================================//
void delay_time(unint time_delay)
{ while(time_delay--);}
//====================================單片機初始化======================================//
//功能:單片機初始化中斷
//======================================================================================//
void init_MCU()
{
IPH&=0XFC;
IP|=0X01;
}
//=======================================外部中斷0服務程序==================================//
//功能:接收主機數據
//==========================================================================================//
void Int0(void) interrupt 0
{ uchar temp;
temp = P1&0xFF; //檢測數據
switch(Int0_Count_Rg)
{ case 0:
if(temp == 0xaa) {Int0_Count_Rg++; } //如果是0XAA,進入下一次中斷循環
else Int0_Count_Rg = 0;
break;
case 1:
if(temp == 0x11) { Data_Count_Rg = 0;Int0_Count_Rg++;} //如果是0X11,進入下一次中斷循環
else Int0_Count_Rg = 0;
break;
case 2:
Rec_Data_Rg[Data_Count_Rg] = temp; //接收5位灰度數據值
if(++Data_Count_Rg>=6)
{ LED_Fade_Rg[0] = Rec_Data_Rg[0];
LED_Fade_Rg[1] = Rec_Data_Rg[1];
LED_Fade_Rg[2] = Rec_Data_Rg[2];
LED_Fade_Rg[3] = Rec_Data_Rg[3];
LED_Fade_Rg[4] = Rec_Data_Rg[4];
Int0_Count_Rg = 0;
}
break;
default:
break;
}
}
//===============================定時器0初始化===============================================//
//功能:定時器0初始化,16定時器模式中斷開啟 ,循環掃描。
//===========================================================================================//
void Timer_Init(void)
{ TH0 = (65536 - ((ulong)TIMER0_TIME*Fosc/12)) >> 8 ; //中斷賦值
TL0 = (65536 - ((ulong)TIMER0_TIME*Fosc/12))-1;
TMOD = 0x01;//GATE1 C/T1 M11 M10 GATE0 C/T0 M01 M00
ET0 = 1; //使能定時器0.
TR0 = 1; //開啟定時器0
}
//====================================定時器0中斷======================================//
//功能:定時器0中斷函數。掃描,產生pwm。
//========================================================================================//
void Timer0( void ) interrupt 1
{
TH0 = (65536 - ((ulong)TIMER0_TIME*Fosc/12)) >> 8 ; //中斷賦值
TL0 = (65536 - ((ulong)TIMER0_TIME*Fosc/12))-1;
if(++Fade_Count_Rg>(MAX_FADE_LEVEL-1))
Fade_Count_Rg = 0;
OR_1=(Fade_Count_Rg<LED_Fade_Rg[0])?1:0;
OG_1=(Fade_Count_Rg<LED_Fade_Rg[1])?1:0;
OB_1=(Fade_Count_Rg<LED_Fade_Rg[2])?1:0;
OR_2=(Fade_Count_Rg<LED_Fade_Rg[3])?1:0;
OG_2=(Fade_Count_Rg<LED_Fade_Rg[4])?1:0;
}
//==================================主函數================================//
//功能:全部函數應用
//========================================================================//
void main(void)
{
init_MCU(); //單片機初始化
Timer_Init(); //定時器初始化
delay_time(5); //延時
//外部中斷0初始化
TCON |= 0x01; //下降沿觸發 //IT0=1;
IE |= 0x01; //外部中斷0允許位。//EX0=1;
EA = 1; //開中斷
LED_Fade_Rg[0] = MAX_FADE_LEVEL-1; //灰度賦值。
LED_Fade_Rg[1] = MAX_FADE_LEVEL-1; //灰度賦值。
LED_Fade_Rg[2] = MAX_FADE_LEVEL-1; //灰度賦值。
LED_Fade_Rg[3] = MAX_FADE_LEVEL-1; //灰度賦值。
LED_Fade_Rg[4] = MAX_FADE_LEVEL-1; //灰度賦值。
while(1);
}
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
雙機通信5通道.rar
(194.99 KB, 下載次數: 193)
2017-8-26 14:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
自由飛翔123
時間:
2018-4-13 08:37
好資料,51黑有你更精彩!!!
作者:
woojoon1981
時間:
2019-12-18 14:18
正好研究這個呢。。。謝謝
作者:
q395418298
時間:
2022-3-11 13:20
正好研究下載看下
作者:
yangqfa
時間:
2022-11-13 16:13
附件是雙機通訊, 不是DMX512
作者:
Longan.Wang
時間:
2023-7-25 17:33
yangqfa 發表于 2022-11-13 16:13
附件是雙機通訊, 不是DMX512
真的么,還好沒有盲目下載,先看看評論
作者:
wkman
時間:
2023-7-25 17:47
還好沒有盲目下載,先看看評論
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一区二区免费看
|
日韩av免费在线播放
|
快播少女爱欢乐
|
天天操夜夜摸
|
亚洲精品一区中文字幕乱码
|
日韩一区二区三免费高清在线观看
|
亚洲爽妇网
|
国产欧美日韩在线
|
日韩成人精品视频
|
精品国产一区二
|
欧美亚洲一区
|
欧美成人一级片
|
一区二区视频网站
|
中文字幕理论片
|
久久三区
|
亚洲成人精品一区
|
香蕉综合网
|
蜜臀av性久久久久av蜜臀妖精
|
一区二区视频在线
|
成人免费av
|
精品日韩一区二区三区
|
女教师合集乱500篇小说
|
日韩成人高清
|
久久精品6
|
国产一区在线看
|
亚洲另类视频
|
97在线观看免费视频
|
黄色精品网站
|
小sao货撅起屁股扒开c微博
|
97精品视频
|
亚洲www啪成人一区二区麻豆
|
国产精品五区
|
91日韩在线
|
黄色片一区二区
|
师生出轨h灌满了1v1
|
在线观看免费毛片
|
99精品久久久
|
国产黄色精品视频
|
欧美性色网
|
国产精品永久久久久久久久久
|
天天色天天干天天
|