?? main.lst
字號:
C51 COMPILER V8.02 MAIN 04/09/2009 08:36:34 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /************************************************************************
2 DMX512接收解碼程序
3 唐小正2006年9月19日
4 王雷2009年04月09日
5 使用單片機:STC12C5404 晶振8M
6 最后修改:2007年12月2日
7 版本說明:適用于高電平pwm輸出
8 485方向輸出正向
9 撥碼開關版本
10
11 R: PWM1 P3.5 - PIN11
12 G: PWM0 P3.7 - PIN17
13 B: PWM2 P2.0 - PIN26
14 ************************************************************************/
15
16 /************************************************************************
17 485芯片控制說明
18 RE和DE并在一起
19 當為高電平時,為發送
20 低電平為接收
21 ************************************************************************/
22
23 #include "5410ad.h"
24
25 sbit RX_D = P3^2; // 接到了INT0腳
26
27 sbit RX_EN = P2^2; // 接受允許,低電平有效
28
29 unsigned char time_out_1s; // 1秒超時標志
30 unsigned int frame_num; // 幀計數
31 unsigned char timer0_counter; // 時間計數
32
33 unsigned int addr; //燈的DMX512地址 ,當前燈的地址
34
35 /************************************************************************
36 函數功能:初始化PWM口
37 備注 :無
38 ************************************************************************/
39 void PWM_Init(void)
40 {
41 1 CMOD = 0x00; //時鐘源選擇內部時鐘fosc/12
42 1 // pwm頻率為8M/(12*256) = 2.6k
43 1 CL = 0; CH = 0;
44 1
45 1 CCAPM0 = 0x42; //設置為PWM模式
46 1 CCAPM1 = 0x42;
47 1 CCAPM2 = 0x42;
48 1
49 1 PCA_PWM0 = 0x00;
50 1 PCA_PWM1 = 0x00;
51 1 PCA_PWM2 = 0x00;
52 1
53 1 CCAP0L = 255; CCAP0H = 255;//設置PWM初值
54 1 CCAP1L = 255; CCAP1H = 255;
55 1 CCAP2L = 255; CCAP2H = 255;
C51 COMPILER V8.02 MAIN 04/09/2009 08:36:34 PAGE 2
56 1
57 1 CR = 1; // 啟動pwm
58 1 }
59
60 /************************************************************************
61 函數功能:初始化串口
62 ************************************************************************/
63 void UART_Init(void)
64 {
65 1 SCON = 0XD0; // 1101 0000: SM0,SM1=11,方式3,允許接收
66 1 TMOD = 0X21; // 定時器1為自動重裝,定時器0為16位
67 1 PCON |= 0X80; // SMOD=1,波特率加倍
68 1 TH1 = 254; // 設置波特率 250 000
69 1 AUXR |= 0X40; // T1速度為12倍標準51
70 1 // 計算公式
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -