在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項(xiàng)目 > 按鍵控制LED

按鍵控制LED

基于AB32VG1的按鍵控制LED顯示的實(shí)驗(yàn),本實(shí)驗(yàn)材料較為簡(jiǎn)單,僅僅運(yùn)用了GPIO的輸出和輸入功能,但是本套設(shè)備重點(diǎn)在于培養(yǎng)C語(yǔ)言的能力。運(yùn)用本套設(shè)備可以實(shí)現(xiàn)嵌入式單片機(jī)開(kāi)發(fā)的多種功能,比如,按鍵中斷,定時(shí)器,GPIO輸入輸出,可以訓(xùn)練我們對(duì)C語(yǔ)言中各種循環(huán)和函數(shù)的使用,增強(qiáng)我們的C語(yǔ)言基礎(chǔ)能力,為后續(xù)的開(kāi)發(fā)打好基礎(chǔ)。 本作品的功能有:1按鍵控制LED亮滅。2按鍵控制LED更換顏色。3按鍵控制LED在正常閃爍和PWM呼吸燈之間切換。

jf_71872534 jf_71872534

分享
0 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

jf_71872534 jf_71872534

團(tuán)隊(duì)成員

jf_71872534 工程師

分享
項(xiàng)目簡(jiǎn)介
基于AB32VG1的按鍵控制LED顯示的實(shí)驗(yàn),本實(shí)驗(yàn)材料較為簡(jiǎn)單,僅僅運(yùn)用了GPIO的輸出和輸入功能,但是本套設(shè)備重點(diǎn)在于培養(yǎng)C語(yǔ)言的能力。運(yùn)用本套設(shè)備可以實(shí)現(xiàn)嵌入式單片機(jī)開(kāi)發(fā)的多種功能,比如,按鍵中斷,定時(shí)器,GPIO輸入輸出,可以訓(xùn)練我們對(duì)C語(yǔ)言中各種循環(huán)和函數(shù)的使用,增強(qiáng)我們的C語(yǔ)言基礎(chǔ)能力,為后續(xù)的開(kāi)發(fā)打好基礎(chǔ)。 本作品的功能有:1按鍵控制LED亮滅。2按鍵控制LED更換顏色。3按鍵控制LED在正常閃爍和PWM呼吸燈之間切換。
硬件說(shuō)明

硬件: AB32VG1開(kāi)發(fā)板,

板上資源:CPUAB5301A;(LQFP48 封裝,主頻 120M,片上集成 RAM 192K, flash 8Mbit,ADC,PWMUSB,UART,IIC 等資源)

一路 TF Card 接口,用來(lái)插入sd卡,存儲(chǔ)要播放的wav音頻文件

一路 USB 接口,用來(lái)下載更新代碼

一路音頻接口(美標(biāo) CTIA),用來(lái)外接音響設(shè)備播放聲音。

六路 PWM 輸出引腳端子引出,用來(lái)控制臥室燈光調(diào)光調(diào)色。

一個(gè)全彩 LED 燈模塊,一個(gè)電源指示燈,三個(gè)燒錄指示燈,用來(lái)做指示。

一個(gè) Reset 按鍵,三個(gè)功能按鍵(通用版為兩個(gè)功能按鍵),用于復(fù)位。

板子規(guī)格尺寸:6cm*9cm

I/O 口通過(guò) 2.54MM 標(biāo)準(zhǔn)間距引出,同時(shí)兼容 Arduino Uno 擴(kuò)展接口

image.png

軟件說(shuō)明

開(kāi)發(fā)環(huán)境:

開(kāi)發(fā)工具及版本:RT-Thread Studio 2.0.1

平臺(tái)Windows 10

RT-Thread系統(tǒng):RT-Thread標(biāo)準(zhǔn)版

RT-Thread版本:RT-Thread V 4.0.3

組件部分:LED、PWM、串口、按鍵 


#include <rtthread.h>
#include "board.h"
int main(void)
{
    uint8_t green = rt_pin_get("PE.4");             //
定義綠色LED燈的引腳,uint8_t為數(shù)據(jù)類(lèi)型
    uint8_t blue = rt_pin_get("PA.1");             //定義綠色LED燈的引腳,uint8_t為數(shù)據(jù)類(lèi)型
    uint8_t red = rt_pin_get("PE.1");             //定義綠色LED燈的引腳,uint8_t為數(shù)據(jù)類(lèi)型
    uint8_t key = rt_pin_get("PF.1");               //定義按鍵引腳
    rt_pin_mode(green, PIN_MODE_OUTPUT);            //定義LED為輸出
    rt_pin_mode(red, PIN_MODE_OUTPUT);            //定義LED為輸出
    rt_pin_mode(blue, PIN_MODE_OUTPUT);            //定義LED為輸出
    rt_pin_mode(key, PIN_MODE_INPUT_PULLUP );       //定義按鍵為輸入
    rt_pin_write(green, PIN_HIGH);                  //將LED置為高電平
    int16_t i;
    i = 0;
    /*while(1){
            if(rt_pin_read(key) == 1)
                {
                    rt_pin_write(green, PIN_LOW);
                }
            if(rt_pin_read(key) == 0)
               {
                    rt_pin_write(green, PIN_HIGH);
               }
    }//while循環(huán)要有,使程序一直運(yùn)行*/
    while(1){
        if(rt_pin_read(key) == 0)
        {
            rt_thread_mdelay(500);
            i = 1+i;
        }
        if (i == 9) {
            i = 0;
        }
        if(i == 1)
        {
            rt_pin_write(red, PIN_LOW);
            rt_pin_write(green, PIN_HIGH);
            rt_pin_write(blue, PIN_HIGH);
        }
        if (i == 2)
        {
            rt_pin_write(red, PIN_HIGH);
            rt_pin_write(green, PIN_LOW);
            rt_pin_write(blue, PIN_HIGH);
        }
        if(i == 3)
        {
            rt_pin_write(red, PIN_HIGH);
            rt_pin_write(green, PIN_HIGH);
            rt_pin_write(blue, PIN_LOW);
        }
        if(i == 4)
        {
            rt_pin_write(red, PIN_LOW);
            rt_pin_write(green, PIN_LOW);
            rt_pin_write(blue, PIN_HIGH);
        }
        if(i == 5)
        {
            rt_pin_write(red, PIN_LOW);
            rt_pin_write(green, PIN_HIGH);
            rt_pin_write(blue, PIN_LOW);
        }
        if(i == 6)
        {
            rt_pin_write(red, PIN_HIGH);
            rt_pin_write(green, PIN_LOW);
            rt_pin_write(blue, PIN_LOW);
        }
        if(i == 7)
        {
            rt_pin_write(red, PIN_LOW);
            rt_pin_write(green, PIN_LOW);
            rt_pin_write(blue, PIN_LOW);
        }
        if(i == 8)
        {
            rt_thread_mdelay(2000);
                    rt_pin_write(red, PIN_HIGH);
                    rt_pin_write(green, PIN_HIGH);
                    rt_pin_write(blue, PIN_HIGH);
                    //紅1
                    rt_pin_write(red, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(red, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //綠2
                    rt_pin_write(green, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(green, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //藍(lán)3
                    rt_pin_write(blue, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(blue, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //黃1+3
                    rt_pin_write(blue, PIN_LOW);
                    rt_pin_write(red, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(blue, PIN_HIGH);
                    rt_pin_write(red, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //紫2+3
                    rt_pin_write(blue, PIN_LOW);
                    rt_pin_write(green, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(blue, PIN_HIGH);
                    rt_pin_write(green, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //1+2
                    rt_pin_write(red, PIN_LOW);
                    rt_pin_write(green, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(red, PIN_HIGH);
                    rt_pin_write(green, PIN_HIGH);
                    rt_thread_mdelay(500);
                    //1+2+3
                    rt_pin_write(red, PIN_LOW);
                    rt_pin_write(green, PIN_LOW);
                    rt_pin_write(blue, PIN_LOW);
                    rt_thread_mdelay(500);
                    rt_pin_write(red, PIN_HIGH);
                    rt_pin_write(green, PIN_HIGH);
                    rt_pin_write(blue, PIN_HIGH);
                    rt_thread_mdelay(500);
        }


    }
}


演示效果

IMG_1288.JPG視頻需下載

Gitee項(xiàng)目托管地址:https://gitee.com/im-zheng-wei/rt_-thread.git

附件

(0.00 MB)下載

評(píng)論區(qū)(0 )
主站蜘蛛池模板: 91亚色视频在线观看 | 激情五月亚洲色图 | 月夜免费观看高清在线完整 | 精品一区二区影院在线 | 又粗又长又色又爽视频 | 日韩中文字幕第一页 | 中文字幕av一区二区三区 | 五月天综合婷婷 | 日本肥妇 | 色女孩网站 | 成年人污视频 | 欧美一区二区三区影院 | 男人性天堂 | 午夜神马福利 | 亚洲人成a在线网站 | 欧美成人一区二区三区在线视频 | 激情婷婷丁香 | 一区二区三区四区在线观看视频 | 久久久久久久国产免费看 | 青草午夜精品视频在线观看 | 免费免播放器在线视频观看 | 成人欧美一区二区三区视频 | 天天骑天天干 | 91人成网站色www免费 | 综合第一页 | 久久青草国产手机看片福利盒子 | 激情五月激情综合 | 特黄aa级毛片免费视频播放 | 91aaa免费观看在线观看资源 | 日日操天天射 | 免费人成动漫在线播放r18 | 日本亚洲一区二区 | 性xxxx奶大欧美高清 | 天天综合天天射 | 7m视频精品凹凸在线播放 | 成人国产日本亚洲精品 | 久久男人视频 | 狠狠狠狠干 | 狠狠操亚洲 | 一道精品视频一区二区三区男同 | 色一欲一性一乱一区二区三区 |