?? main.c.bak
字號:
/************************************************************************
DMX512接收解碼程序
唐小正2006年9月19日
王雷2009年04月09日
使用單片機:STC12C5404 晶振8M
最后修改:2007年12月2日
版本說明:適用于高電平pwm輸出
485方向輸出正向
撥碼開關版本
R: PWM1 P3.5 - PIN11
G: PWM0 P3.7 - PIN17
B: PWM2 P2.0 - PIN26
************************************************************************/
/************************************************************************
485芯片控制說明
RE和DE并在一起
當為高電平時,為發送
低電平為接收
************************************************************************/
#include "5410ad.h"
sbit RX_D = P3^2; // 接到了INT0腳
sbit RX_EN = P2^2; // 接受允許,低電平有效
unsigned char time_out_1s; // 1秒超時標志
unsigned int frame_num; // 幀計數
unsigned char timer0_counter; // 時間計數
unsigned int addr; //燈的DMX512地址 ,當前燈的地址
/************************************************************************
函數功能:初始化PWM口
備注 :無
************************************************************************/
void PWM_Init(void)
{
CMOD = 0x00; //時鐘源選擇內部時鐘fosc/12
// pwm頻率為8M/(12*256) = 2.6k
CL = 0; CH = 0;
CCAPM0 = 0x42; //設置為PWM模式
CCAPM1 = 0x42;
CCAPM2 = 0x42;
PCA_PWM0 = 0x00;
PCA_PWM1 = 0x00;
PCA_PWM2 = 0x00;
CCAP0L = 255; CCAP0H = 255;//設置PWM初值
CCAP1L = 255; CCAP1H = 255;
CCAP2L = 255; CCAP2H = 255;
CR = 1; // 啟動pwm
}
/************************************************************************
函數功能:初始化串口
************************************************************************/
void UART_Init(void)
{
SCON = 0XD0; // 1101 0000: SM0,SM1=11,方式3,允許接收
TMOD = 0X21; // 定時器1為自動重裝,定時器0為16位
PCON |= 0X80; // SMOD=1,波特率加倍
TH1 = 254; // 設置波特率 250 000
AUXR |= 0X40; // T1速度為12倍標準51
// 計算公式
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -