精华内容
下载资源
问答
  • 圣诞彩灯串控制集成电路、电子技术,开发板制作交流
  • 节日彩灯控制电路

    2021-02-03 17:14:24
    若用彩灯串组合成相应的庆祝文字或彩色图案,其依次点亮时的效果就如同五颜六色的霓虹灯一般,可为节日增添许多喜庆气氛。现以用其控制由8个彩灯串组合成的“庆祝建国五十周年”的标语彩灯为例将该电路介绍如下,供...
  • 大家可以来看看关于5G169 是一种亮度可缓变的四路彩灯 控制专用集成电路。该器件采用全数字控 制方式, 由调整可控硅的导通角来实现彩灯 亮度的连续变化,使彩灯的亮度彩灯电路方面的电路啊
  • 本节介绍一个简单易做的追逐式彩灯控制器,只要将三组彩灯串在空间作适当排列,就能形成追逐流水效果。
  • arduino 用串口控制彩灯

    千次阅读 2015-05-30 10:22:54
    arduino怎么用chuan串口控制彩灯呢?下面是小编带来的程序。 int redpin = 5; int bluepin = 6; int greenpin = 7; char wby; void setup() {  Serial.begin(9600);  pinMode(redpin, OUTPUT);  ...

    arduino怎么用chuan串口控制彩灯呢?下面是小编带来的程序。

    int redpin = 5;
    int bluepin = 6;
    int greenpin = 7;
    char wby;


    void setup() {
      Serial.begin(9600);
      pinMode(redpin, OUTPUT);
      pinMode(bluepin, OUTPUT);
      pinMode(greenpin, OUTPUT);
    }


    void loop() {
      if (Serial.available() > 0) {
        char i = '0';
        delay(100);
        int numChar = Serial.available();
        if (numChar > 15) {
          numChar = 15;
          while (numChar != 0) {
            wby = Serial.read();
            if (wby != ' ') {
              i = wby;
            }
            numChar--;
          }
          splitString(i);
          Serial.flush();
        }
      }
    }


    void splitString(char b) {
      Serial.print("Read is:");
      Serial.println(b);
      if (b == 'r' || b == 'R') {
        Serial.println("red led!");
        setColor(255, 0, 0);
      }
      else if (b == 'g' || b == 'G') {
        Serial.println("green led!");
        setColor(0, 255, 0);
      }
      else if (b == 'b' || b == 'B') {
        Serial.println("blue led!");
        setColor(0, 0, 255);
      }
      else {
        setColor(0, 0, 0);
      }
    }


    void setColor(int red, int green, int blue) {
      analogWrite(redpin, red);
      analogWrite(greenpin, green);
      analogWrite(blue, blue);
    }


    将这段代码下载后,请在串口里输入一个英文字符。

    如果是r或R,就亮红灯。

    如果是g或G,就亮绿灯。

    如果是b或B,就亮蓝灯。

    展开全文
  • 串口屏Lua应用案例_智能家居彩灯上的应用
  • 彩灯教程

    2021-04-15 14:27:37
    彩灯教程基本步骤keil的使用方法烧录器的使用烧录软件的使用(以51单片机开发板为例)制作一个单片机最小系统例子流水灯示例 基本步骤 1、下载安装keil(运用单片机一般都是用Keil 4/5来编程,对于这部分的学习也是...

    基本步骤

    1、下载安装keil(运用单片机一般都是用Keil 4/5来编程,对于这部分的学习也是非常的简单。可以在B站上找到类似的教程 )

    2、创建工程编写代码,运行,生成HEX文件

    3、下载烧录软件并将HEX文件烧录到单片机中

    keil的使用方法

    如何在keil上创建一个工程文件

    首先在窗口点击Project,点击第一个

    在这里插入图片描述

    在这里插入图片描述

    点击“保存”

    就会出现这个界面

    在这里插入图片描述

    在第一个选择框里选择 Legacy Device Database

    Search:AT89C51

    点击OK

    Ctrl+N创建一个txt

    点击File ,New…

    再次点击File , Save As…

    在这里插入图片描述
    文件名Light.c(后缀名必须为.c)
    在这里插入图片描述
    右键点击Source Group.1 , Add Existing File to Group…

    在这里插入图片描述
    选择Light.c,点击Add,就是这个界面啦
    在这里插入图片描述
    就可以在上面写你们的代码程序啦

    在这里插入图片描述
    写完代码后从左到右连续点击前三个
    在这里插入图片描述
    结果为这个样子就是没有错误的
    在这里插入图片描述
    没有错误之后,点击这个图标在这里插入图片描述
    出现窗口点击Output 钩住Create HEX File 点击 OK

    在这里插入图片描述

    就创建在你新创建的文件夹里的Objects中的Light.hex这个是用来烧录进单片机的。

    烧录器的使用

    烧录器实物图
    在这里插入图片描述

    烧录器的VCC(5V)接单片机的VCC

    烧录器的GND接单片机的GND

    烧录器的RXD接单片机的TXD(P3^1)

    烧录器的TXD接单片机的RXD(P3^0)

    烧录软件的使用(以51单片机开发板为例)

    打开烧录软件压缩包

    点击stc-isp-15xx-v6.85H

    点击stc-isp-15xx-v6.85H.exe

    打开就是这个样子

    在这里插入图片描述

    将你的开发板(未开启)接入电脑,电脑串口号会有这样的选项

    在这里插入图片描述

    点击“打开程序文件”,寻找并选择你Light.hex文件

    在这里插入图片描述

    点击下载/编程,开启单片机开关。等待下载。

    这样子就是烧录成功啦!
    在这里插入图片描述

    3分钟学会如何使用keil及烧录软件

    keil4安装包 提取码:edfh

    keil5安装包 提取码:sdvb

    烧录软件安装包 提取码:esyt

    制作一个单片机最小系统

    虽然实验室有现成的单片机最小系统,不过你们要掌握最小系统的组成以及作用,就要你们学习一下单片机最小系统了

    单片机最小系统b站视频

    单片机最小系统电路图

    在这里插入图片描述

    例子

    关于彩灯呢,最典型的就是灯塔型的彩灯如广州塔,网上一大把一大把,视频也有,就比较简单枯燥。代码就看你用的是什么芯片。这里就不展示了。

    流水灯示例

    代码(用三种方式实现)

    #include <reg52.h>   //头文件
    /*****引脚定义*****/
    sbit LED1=P1^0;  //定义让LED1代替P1^0
    sbit LED2=P1^1;
    sbit LED3=P1^2;
    sbit LED4=P1^3;
    sbit LED5=P1^4;
    sbit LED6=P1^5;
    sbit LED7=P1^6;
    sbit LED8=P1^7;
    
    /*****变量定义*****/
    
    unsigned char LED_DAT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};  //定义数组
    
    /*****函数声明*****/
    void delay_xms(unsigned char ms) ;//延时函数
    void chuangtong();//传统方式
    void shuzu();//数组方式
    void yiwei();//移位方式
    
    
    /*****主函数*****/
    
    void main(void)
    {
    while(1)
    {
    	chuangtong();
    	yiwei();
      shuzu();
    }
    }
    /*******调用的子函数******/
    void chuangtong()//传统方式
    {
    LED1=0;delay_xms(500);//延时500ms
    	LED1=1;
    LED2=0;delay_xms(500);LED2=1;
    LED3=0;delay_xms(500);LED3=1;
    LED4=0;delay_xms(500);LED4=1;
    LED5=0;delay_xms(500);LED5=1;
    LED6=0;delay_xms(500);LED6=1;
    LED7=0;delay_xms(500);LED7=1;
    LED8=0;delay_xms(500);LED8=1;
    }
    
    void shuzu()//数组方式
    {
    unsigned int i;
    for(i=0;i<8;i++)
    {
    P1=LED_DAT[i];  //按照上面定义的数组内的数据依次赋值给P1
    delay_xms(500);
    }
    }
    
    void yiwei()//移位方式
    {
    unsigned char temp=0xfe;   // 1111 1110
    unsigned int i;
    for(i=0;i<8;i++)
    {
    P1=temp;
    temp=(temp<<1)+1;   //向左移位 即temp=11111101、11111011、11110111...... 
    delay_xms(500);
    }
    }
    
    /*****延时函数*******/
    void delay_xms(unsigned char ms) 
    {
    unsigned int i,j;
    for(i=0;i<ms;i++)
    {
    for(j=0;j<333;j++);
    }
    }
    
    
    此文章禁止转发
    展开全文
  • while (*s) //检测字符结束标志 { SendData(*s++); //发送当前字符 } } PWM.H 代码 #ifndef __PWM_H__ #define __PWM_H__ #define PWM_ON 1 #define PWM_OFF (!PWM_ON) #define Timer0_Rate 25000 //...

      国庆假期倒腾了五天,准备搞个手机蓝牙无线控制RGB LED的控制器;本来已经用STM32F103C8T6写好程序了,但这个芯片的成本比较高,如果多搞几个的话,还真心的费钱,且这个芯片用在这个功能上,也太大材小用了。于是准备用价格低廉的STC芯片替代,在购买电子元器件的时候,特意找了一款价格便宜的芯片STC15W201S,价格在3元左右一片吧。本以为很容易的在网上就会找到相关的例程的,没有想到,搜了一下,竟然一个相关的例程也没有找到,泪奔啊。。。

      刚好最近在学习电子技术,都买了回来,不管怎样,试一下自己开搞吧,努力百度查询基本资料中。。

            先介绍一下STC15W201S的芯片的基本信息吧,芯片的工作电压为2.5V至5.5V,保守点,用3.3V吧;芯片内带高精度RC震荡器且不能外接晶震,在一般的应用场合,连外围的晶震电路都省了,这点值得点赞啊。程序存储为1K,RAM为256字节,还带有4K的EEPROM,这个片内EEPROM还没有测试,下回想用的时候,再测试吧,这个感觉也不错,连外存都不用挂,还是一个字,省!片内有二个定时器,定时器0和定时器2,只有一个串口,但是能分时复用,相当于二个串口,但这点我还没有测试。

      程序实现的功能如下,蓝牙模块通过串口与STC15W201S的串口相连接,接收与发送数据。输出五路PWM信号,对红绿蓝黄白五种色的LED灯进行调色及亮度控制。另有一条PWM信号控制输出,用于原灯电路与改装LED灯的控制转换。总不能将原灯的东西全部丢掉吧,加上去就好,通电后默认用原灯,通过控制器转换。

      程序烧录参数如下图,需要注意,烧录时,需要将12与13脚的电平拉低才能写入。实物图有点乱,有兴趣看电路图吧,

     

      KEIL代码:

     

    USART.H内容

    #ifndef __USART_H__
    #define __USART_H__

     typedef unsigned char u8;

    typedef unsigned int WORD;

    #define UNLOCK 0x00; //用于标识数据包的接收状态
    #define LOCK 0xff;


    #define BAUD 9600 //串口波特率 115200

    #define NONE_PARITY 0 //无校验
    #define ODD_PARITY 1 //奇校验
    #define EVEN_PARITY 2 //偶校验
    #define MARK_PARITY 3 //标记校验
    #define SPACE_PARITY 4 //空白校验

    #define PARITYBIT NONE_PARITY //定义校验位

    #define DATA_LEN 7 //定义协议数据位长度

    sfr P_SW1 = 0xA2; //外设功能切换寄存器1

    #define S1_S0 0x40 //P_SW1.6
    #define S1_S1 0x80 //P_SW1.7

    extern bit busy;
    extern unsigned int buf_num;
    extern u8 rev_buf[6];

    void Usart_Int(void);

    void SendData(u8 dat);
    void SendString(char *s);
    void Uart();

    #endif

    USART.C 代码

    #include <main.h>
    #include <usart.h>


    unsigned int buf_num;
    bit busy;
    u8 rev_buf[6];

    void Usart_Int(void)
    {

    buf_num=0;
    ACC = P_SW1;
    ACC &= ~(S1_S0 | S1_S1); //S1_S0=0 S1_S1=0
    P_SW1 = ACC; //(P3.0/RxD, P3.1/TxD)

    #if (PARITYBIT == NONE_PARITY)
    SCON = 0x50; //8位可变波特率
    #elif (PARITYBIT == ODD_PARITY) || (PARITYBIT == EVEN_PARITY) || (PARITYBIT == MARK_PARITY)
    SCON = 0xda; //9位可变波特率,校验位初始为1
    #elif (PARITYBIT == SPACE_PARITY)
    SCON = 0xd2; //9位可变波特率,校验位初始为0
    #endif

    T2L = (65536 - (FOSC/4/BAUD)); //设置波特率重装值
    T2H = (65536 - (FOSC/4/BAUD))>>8;
    AUXR = 0x14; //T2为1T模式, 并启动定时器2
    AUXR |= 0x01; //选择定时器2为串口1的波特率发生器
    ES = 1; //使能串口1中断
    EA = 1;
    }

    /*----------------------------
    UART 中断服务程序
    -----------------------------*/
    void Uart() interrupt 4 using 1
    {


    if (RI)
    {
    RI = 0; //清除RI位
    rev_buf[buf_num] =SBUF;
    buf_num ++ ;

    }

    if (TI)
    {
    TI = 0; //清除TI位
    busy = 0; //清忙标志
    }

    }

    /*----------------------------

    发送串口数据
    ----------------------------*/
    void SendData(u8 dat)
    {
    while (busy); //等待前面的数据发送完成
    ACC = dat; //获取校验位P (PSW.0)
    if (P) //根据P来设置校验位
    {
    #if (PARITYBIT == ODD_PARITY)
    TB8 = 0; //设置校验位为0
    #elif (PARITYBIT == EVEN_PARITY)
    TB8 = 1; //设置校验位为1
    #endif
    }
    else
    {
    #if (PARITYBIT == ODD_PARITY)
    TB8 = 1; //设置校验位为1
    #elif (PARITYBIT == EVEN_PARITY)
    TB8 = 0; //设置校验位为0
    #endif
    }
    busy = 1;
    SBUF = ACC; //写数据到UART数据寄存器
    }

    /*----------------------------
    发送字符串
    ----------------------------*/
    void SendString(char *s)
    {
    while (*s) //检测字符串结束标志
    {
    SendData(*s++); //发送当前字符
    }
    }

    PWM.H 代码

    #ifndef __PWM_H__
    #define __PWM_H__

    #define PWM_ON 1
    #define PWM_OFF (!PWM_ON)

    #define Timer0_Rate 25000 //中断频率
    #define Timer0_Reload (65536UL -(FOSC / Timer0_Rate)) //Timer 0 重装值


    #define PWM_DUTY_MAX 100 // 0~255 PWM周期, 最大255

    extern int Red_Value;
    extern int Greed_Value;
    extern int Blue_Value;
    extern int White_Value;
    extern int Yellow_Value;
    extern int K1_Value;

    void Timer0_Int();

    #endif

    PWM.C 代码

    #include <main.h>
    #include <pwm.h>

    int Red_Value;
    int Greed_Value;
    int Blue_Value;

    int White_Value;
    int Yellow_Value;

    int K1_Value;

    int PWM_COUNT; //PWM计数

    void Timer0_Int() //初始化计数器0
    {
    AUXR |= (1<<7); // Timer0 set as 1T mode
    TMOD &= ~(1<<2); // Timer0 set as Timer
    TMOD &= ~0x03; // Timer0 set as 16 bits Auto Reload
    TH0 = Timer0_Reload / 256; //Timer0 Load
    TL0 = Timer0_Reload % 256;

    ET0 = 1; //Timer0 Interrupt Enable

    PT0 = 0; //高优先级

    TR0 = 1; //Timer0 Run

    EA = 1; //打开总中断

    PWM_COUNT=0;
    }

     

    /********************** Timer0 1ms中断函数 ************************/
    void timer0 (void) interrupt 1
    {
    PWM_COUNT++;
    if (PWM_COUNT >= PWM_DUTY_MAX)
    {
    PWM_COUNT =0 ;
    RED=PWM_ON;
    GREED=PWM_ON;
    BLUE=PWM_ON;
    WHITE =PWM_ON;
    YELLOW =PWM_ON;
    K1=PWM_ON;
    }

    if (Red_Value <= PWM_COUNT) RED = PWM_OFF;
    if (Greed_Value <= PWM_COUNT) GREED = PWM_OFF;
    if (Blue_Value <= PWM_COUNT) BLUE = PWM_OFF;

    if (White_Value <= PWM_COUNT) WHITE = PWM_OFF;
    if (Yellow_Value <= PWM_COUNT) YELLOW = PWM_OFF;
    if (K1_Value <= PWM_COUNT) K1 = PWM_OFF;


    }

    MAIN.H 代码

    #ifndef __MAIN_H__
    #define __MAIN_H__

    #include <reg51.h>

    #define FOSC 11059200L //系统频率

    sfr P1M1 = 0x91; //IO模式控制寄存器
    sfr P1M0 = 0x92; //IO模式控制寄存器

    sfr AUXR = 0x8e; //辅助寄存器
    sfr T2H = 0xd6; //定时器2高8位
    sfr T2L = 0xd7; //定时器2低8位

    sbit RED = P1^1; //RED 接在P1.1 16脚
    sbit GREED =P1^3; //GREED 接P1.3 2脚
    sbit BLUE =P1^5; //BLUE 接P1.5 4脚

    sbit WHITE = P1^2; //白色 接 P1.2 1脚
    sbit YELLOW =P1^4; //黄色 接 P1.4 3脚

    sbit K1 = P1^0; // P1.0 第15脚  增加多一路当开关使用,同时也支持PWM输出

    #endif

    MAIN.C 代码

    #include <reg51.h>
    #include <intrins.h>
    #include <main.h>
    #include <usart.h>
    #include <pwm.h>

    void delay(unsigned int x);

    void Act_Bit(void);

    extern bit busy;

    extern unsigned int buf_num;
    extern u8 rev_buf[6];

    extern int Red_Value;
    extern int Greed_Value;
    extern int Blue_Value;
    extern int White_Value;
    extern int Yellow_Value;
    extern int K1_Value;

    //按接收到的数据进行处理数据
    void Act_Bit(void)
    {
    //aa f9 01 红 绿 蓝 dd 取值 0~100
    //&& rev_buf[1] == 0xf9
    if (rev_buf[0] == 0xaa && rev_buf[6] == 0xdd)
    {
    if (rev_buf[2] == 0x01) //开灯指令
    {
    if ( rev_buf[1] == 0xf9) //与STM32协议通用,调速RGB 红绿蓝
    {
    Red_Value= rev_buf[3];
    Greed_Value =rev_buf[4];
    Blue_Value =rev_buf[5];
    }
    if ( rev_buf[1] == 0xf8) //增加白色,黄色 PWM控制
    {
    White_Value = rev_buf[3];
    Yellow_Value = rev_buf[4];
    K1_Value = rev_buf[5];
    }
    }

    //读取各个PWM值 
    if (rev_buf[2] == 0xff)
    {
    SendData(0xff);
    SendData(Red_Value);
    SendData(Greed_Value);
    SendData(Blue_Value);
    SendData(White_Value);
    SendData(Yellow_Value);
    SendData(K1_Value);
    }

     


    //对于开关K1,增加协议单独控制
    if (rev_buf[1] == 0x00 && rev_buf[2] == 0x00 && rev_buf[3] == 0x00 && rev_buf[4] == 0x00 )
    {
    Red_Value=0x00;
    Greed_Value=0x00 ;
    Blue_Value =0x00;
    White_Value =0x00;
    Yellow_Value=0x00;

    if ( rev_buf[5] == 0x00)
    {
    K1_Value =0x00;
    }
    }

    }

    }

    void main(void)
    {

    //P1M1 |= 0x02;
    P1M0 |=0x3f; //0x3f; 02 配置IO为推挽输出

    Usart_Int();
    Timer0_Int();

    SendString("STC15F2K60S2\r\nUart Test !\r\n");
    while(1)
    {

    if (buf_num >= DATA_LEN)
    {
    Act_Bit();
    buf_num=0;
    }

    }

    }

     

    转载于:https://www.cnblogs.com/InfoHome/p/9741078.html

    展开全文
  • 1、Keil5源程序准备 1)打开资料中的程序源码,进入《STM32库开发实战指南》文件夹 2)找到21-USART—串口通信,进入 3)本次实验我选中USART1指令控制RGB彩灯的代码,双击进入 4)进入文件后,点击Project->RVMDK...

    一、实验仪器

    开发板:野火指南者(STM32F103VET6高速版)带3.2寸屏
    代码编译:Keil5
    USBQ驱动:CH340
    串口调试助手Fire Tools(v1.0.1.5)

    二、实验前准备

    1、把开发板按照说明书连接好,连接到电脑上,拨动左下角开关,红灯亮说明开关打开,新的开发板屏幕显示如手机界面相似的界面。
    在这里插入图片描述

    但是我之前已经烧录了别的程序进去,所以现在屏幕是灭的,等你们烧录程序进去后也会灭,不要慌张,这是正常的。

    2、安装USB转串口驱动CH340
    1)首先保证指南者开发板连接在电脑上
    2)打开你购买指南者开发板时获得的资料,点击5-开发软件
    在这里插入图片描述
    3)进去后是几个压缩包,解压,打开USB转串口驱动_CH340
    在这里插入图片描述
    4)然后双击CH341SER进行安装,小窗口出现后点击安装,此时要保证开发板连接在电脑上且处于通电状态,否则会显示安装失败。如图显示则安装成功。
    在这里插入图片描述
    3、安装串口多功能调试助手Fire Tools
    1)进入多功能调试助手文件夹
    在这里插入图片描述
    2)打开新版的Fire Tools,进入Fire Tools文件
    在这里插入图片描述
    3)双击打开名称为Fire Tools的应用程序,备用
    在这里插入图片描述
    在这里插入图片描述

    三、开始实验

    默认你们的Keil5已经安装好,还没安装的同学去安装好了再回来继续看。
    1、Keil5源程序准备
    1)打开资料中的程序源码,进入《STM32库开发实战指南》文件夹
    在这里插入图片描述
    在这里插入图片描述
    2)找到21-USART—串口通信,进入
    在这里插入图片描述
    3)本次实验我选中USART1指令控制RGB彩灯的代码,双击进入
    在这里插入图片描述
    4)进入文件后,点击Project->RVMDK(uv5),找到Keil5的工程文件,双击打开
    在这里插入图片描述
    3、Keil5程序调试及配置
    1)打开工程后,在左边找到并打开USER文件夹,打开main.c文件
    在这里插入图片描述
    2)调试一下看程序是否正确,如果显示0错误0警告,就可以了
    在这里插入图片描述
    3)开始配置,点击魔术棒开始配置,出现配置窗口(一直到现在开发板是通电状态)
    在这里插入图片描述
    4)找到Debug选项,在Use处选择CMSIS-DAP Debugger
    在这里插入图片描述
    5)下一个Utilities,勾选Use Debug Driver
    在这里插入图片描述
    6)回到Debug选项,进入Settings
    在这里插入图片描述
    7)在Settings中的Debug选项,按照如图设置
    在这里插入图片描述

    如果CMSIS-DAP和SWDIO处没有显示出开发板,首先检查开发板和电脑的连接是否正确,开发板是否通电,若还是显示不出,往下滑到第五、更新驱动 部分参考解决。

    8)点击Flash Download,按箭头1处设置,此时箭头2所指方框处应显示读取的开发板相关信息,若信息不对,可通过Add添加,按OK确认设置。
    在这里插入图片描述
    4、烧录程序
    1)上述配置好后,重新编译检查错误,若正确,点击load把程序烧录到开发板中。
    在这里插入图片描述
    2)烧录过程中左下角有进度条,烧录成功后有如图显示。
    在这里插入图片描述

    四、实验结果

    1、打开刚刚安装好的多功能调试助手,点击一次1处的打开串口,然后按一下开发板的RESET复位键,此时出现2方框处的一连串信息,这是程序运行的结果。
    在这里插入图片描述
    2、可以输入对应指令让开发板的小灯亮不同的颜色
    在这里插入图片描述
    在3处输入指令,如输入1,然后点发送数据,开发板会亮红灯
    在这里插入图片描述
    输入指令5,开发板亮紫灯
    在这里插入图片描述
    输入8,开发板灯灭
    在这里插入图片描述
    3、至此实验结束。

    五、更新驱动

    1、打开电脑的设备管理器,找到BETTER_USB,右键点击更新驱动程序
    在这里插入图片描述
    2、选择浏览我的计算机以查找驱动程序软件
    在这里插入图片描述
    3、让我从计算机上的可用驱动程序列表中选取
    在这里插入图片描述
    4、选择USB输入设备,然后下一步
    在这里插入图片描述
    5、更新成功,关闭。回到Keil5程序重新调试和配置,此时应该检测出了相应的开发板。
    在这里插入图片描述

    总结
    以上就是STM32 串口通信的相关内容,在实践过程中我们遇到了不少问题,在老师、同学以及淘宝客服的集思广益和指导下,终于实验成功,这就很nice。
    参考资料:
    《零死角玩转STM32——F103指南者》

    展开全文
  • 彩灯统计

    2017-08-02 21:03:15
    儿童乐园有各种颜色的彩灯,小明想要知道哪种颜色的灯数量最多。但是由于数据过于庞大,小明也束手无策,所以他想请聪明如你的ACMer来帮忙。 输入 第一行输入彩灯的数量N(1 输出 输出这些彩灯中最多的...
  • 互动彩灯

    2015-05-30 10:10:38
    //项目十二 –互动彩灯 int redPin = 9; // R – digital 9 int greenPin = 10; // G – digital 10 int bluePin = 11; // B – digital 11 int potRedPin = 0; // 电位器
  • char data[12]; int R=11; int G=10; int B=9; int a,b,c; void setup(){  pinMode(R,OUTPUT);  pinMode(G,OUTPUT);  pinMode(B,OUTPUT);  Serial.begin(9600); } void loop(){  if (Serial.av
  • xynu1781 彩灯统计

    2017-08-02 20:40:46
    1781: 彩灯统计 时间限制: 1 Sec 内存限制: 128 MB 提交: 39 解决: 17 [提交][状态][讨论版][Edit] [TestData] 题目描述 儿童乐园有各种颜色的彩灯,小明想要知道哪种颜色的灯数量最多。但是由于数据过于...
  • 新年彩灯

    2018-07-29 20:57:27
    新年将至,YY准备挂一排彩灯,已知彩灯刚挂完的彩灯共有N盏(编号为1,2,3,……),并且都是灭的。彩灯的闪烁由一段程序控制。 每一秒钟程序会生成两个正整数a和b(1&lt;=a,b&lt;=N),然后将编号为a和b之间...
  • 练手程序代码

    2012-01-18 22:42:13
    新手学习,三路随机变速滚动彩灯串控制器 */ void setup() { //设置数字口D2~D6引脚为输出模式
  • 6:挂彩灯

    2020-11-20 07:51:03
    有一堆彩灯,红色绿色两种颜色,现在要把它们在一起,要求每个红灯后面至少要有1个绿灯,求一共有多少种不同的法 输入 第1行是一个正整数n,表示测试案例的数量 第2到第n+1行是n组测试数据,每行数据有两个正...
  • 一个小实验 用单片机控制彩灯 设计一个彩灯控制器,主要功能和技术指标要求如下: 1. P1端口外接8个LED灯,LED0-LED7。 2. 彩灯闪耀方式自定,闪动频率为1Hz。 3. 闪耀方式不少于4种,每种方式持续10s,循环往复。 ...
  • 记:挂彩灯

    2019-11-10 19:37:10
    有一堆彩灯,红色绿色两种颜色,现在要把它们在一起,要求每个红灯后面至少要有1个绿灯,求一共有多少种不同的法 输入 第1行是一个正整数n,表示测试案例的数量 第2到第n+1行是n组测试数据,每行数据有两个正...
  • 彩灯控制器.rar

    2019-06-12 00:12:40
    按键控制流水单、数码管,串口打印模式号、温度。(新手练习)
  • 基于52单片机的彩灯控制,含两个按键(开始/停止;变显示方式),含串口下载
  • 1445:挂彩灯2

    2020-12-17 15:53:46
    现在要把它们在一起,且以红灯开头。已知第1盏红灯后面有a1盏绿灯,然后是第2盏红灯以及后面的a2盏绿灯,第3盏红灯以及后面的a3盏绿灯,…第R盏红灯以及后面的aR盏绿灯,且满足1<=a1<=a2<=a3<=…<=...
  • TJOI 2008 彩灯 题解

    2018-11-03 11:35:02
    题解 要想到,既然每一种操作形如一个 010101 ,那么每进行一次该操作,就相当于将序列异或上这个操作。因为这些 010101 的长度都只有 nnn,假如转化成 101010 进制的话, long longlong~longlong long是可以存...
  • 基于FPGA的流水彩灯

    2020-03-18 14:34:43
    本设计基于超高速硬件描述语言VHDL在Altera公司的实验箱主控板上编程实现,主要由状态机完成对彩灯的控制,并有分频模块分别控制彩灯的循环及数码管的扫描计时,完成彩灯的自动循环、手动控制、清零、及定时功能。...
  • 自己编写的一段简单的彩灯控制器,希望大家能用上。
  • EOJ 3188 坏掉的彩灯

    2017-12-31 20:20:35
    题目简介Bob 有一节日彩灯彩灯共有 4 种颜色(R,B,Y,G 表示),可惜有一些灯泡已经坏掉了( ! 表示)。Bob 并不记得彩灯的序列,只记得这串彩灯的任意 4 个连续的灯泡颜色都不相同。Bob 需要统计每种颜色坏掉的...
  • STM32 在led显示RGB三色的led灯,并进行颜色及亮度控制。
  • 在喜庆的节日中,我们经常使用彩灯串来增加节日的气氛。最早期的使用的是单色的小灯珠,只有亮灭状态,通过不停的闪动节奏来烘托气氛。随着科技的发展,LED的出现逐渐取代了耗电的小灯珠。而随着彩色的LED的出现,...
  • 问题 B: 彩灯统计

    2017-08-02 21:04:21
    问题 B: 彩灯统计 时间限制: 1 Sec 内存限制: 128 MB 提交: 41 解决: 19 [提交][状态][讨论版] 题目描述 儿童乐园有各种颜色的彩灯,小明想要知道哪种颜色的灯数量最多。但是由于数据过于庞大,小明也...
  • 实验的内容分外的简单一按钮通过编程了的EEPROM可以控制一串彩灯。然而选择了最low的一种一对一的控制模式,并很快按照实验指导书做完实验的yy马上感觉到十分无趣。于是他手指在一排按钮上无聊的滑来滑去,对应的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 720
精华内容 288
关键字:

彩灯串