⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 LED控制
💻 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 + -