色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于C語言驅動CC2530的GPIO實現對信號燈控制

454398 ? 來源:博客園 ? 作者:Reqaw ? 2020-10-19 11:30 ? 次閱讀

本問主要介紹了CC2530處理器的通用輸入/輸出接口(GPIO),以及GPIO的位操作,理解GPIO的基本原理和功能,最后使用C語言驅動CC2530的GPIO實現對信號燈的控制。

CC2530的GPIO引腳有3個8位端口,分別是端口0,端口1和端口2,分別表示位P0,P1,P2,其中P0和P1是8位端口,而P2只有5位可用,所有端口均可以通過SFR寄存器來進行位尋址和字節尋址。

寄存器PxSEL中的x表示端口0~2,用來設置端口的每個引腳位GPIO(0)或者外部設備輸入信號(1),在默認情況下,當復位之后,所有的數字輸入/輸出引腳都設置為通用輸入引腳。

寄存器PxDIR用來改變一個端口引腳的方向,0設置為輸入,1設置為輸出。

GPIO一般是通過位操作完成寄存器設置的,而常用的位操作符有按位與“&”,按位或“|”,按位取反“~”,按位異或“^”,以及左移“<<”和右移“>>”操作。值得注意的是常使用按位或運算符將一個數據位置1,比如將P0端口方向寄存器的第一位和第二位置1(P0端口的0和1引腳置為輸出模式),可以寫為P0DIR |= 0x03;常使用按位與“&”將一個數據位置0,比如P0SEL &= ~0x03;,表示將將端口0和1配置位GPIO模式。

通過查看電路圖,實現CC2530微處理器開發板上的紅燈亮,只需使P0_1為0即可。

驅動程序如下:

 1 #include "iocc2530.h"
 2 
 3 #define uint unsigned int
 4 #define uchar unsigned char 
 5 
 6 #define Rled P1_1
 7 #define Gled P1_0
 8 #define ON  0
 9 #define OFF 1
10 #define Key1 P1_4
11 
12 void delay(uint n){//定義延時函數
13     uint i, j;
14     for(i = 0; i < n; i++)
15         for(j = 500; j >= 0; j--);
16 }
17 void key_init(){
18     P1SEL &= 0x10;//GPIO模式
19     P1DIR &= 0x10;//輸出模式
20 }
21 void led_init(){
22     P1SEL &= ~0x03;//GPIO模式
23     P1DIR |= 0x03; //輸出模式
24 
25     Rled = OFF;
26     Gled = OFF;
27 }
28 void main()
29 {
30     led_init();//led初始化
31     key_init();//案件初始化
32     Rled = ON;//打開紅燈
33     
34     while(1){
35          if(Key1 == ON){
36              delay(1000);   //消抖
37              if(Key1 == ON){
38                 while(Key1 == ON);//松手檢測
39 
40                 Rled = ~Rled;
41             }
42          }
43     }
44 }

燒寫完成后,可以看到綠燈常亮,按鍵被按下之后紅燈改變一次狀態,功能完成。

需要思考的是有時按鍵控制led時不太準確,后者說不太靈敏,從而引入下一節,通過中斷使得按鍵控制led更加準確。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19399

    瀏覽量

    230725
  • led
    led
    +關注

    關注

    242

    文章

    23341

    瀏覽量

    662273
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120921
收藏 人收藏

    評論

    相關推薦

    CC2530 GPIO口輸入配置配置步驟

    介紹CC2530 GPIO口輸入配置配置。
    的頭像 發表于 07-06 14:40 ?2806次閱讀
    <b class='flag-5'>CC2530</b> <b class='flag-5'>GPIO</b>口輸入配置配置步驟

    CC2530控制LED閃爍該如何去實現

    CC2530控制LED閃爍CC2530 控制LED閃爍電路圖知識點CC2530有兩個高頻時鐘輸入輸出配置程序及注釋
    發表于 01-24 07:51

    基于CC2530的SDHC卡讀寫設計

    提出了將SDHC卡作為CC2530的外部存儲設備實現數據存儲的方法。SDHC卡具有體積小、存儲容量大的特點,通過CC2530組建的無線傳感網絡適用于工業監測,而將SDHC卡與CC2530
    發表于 05-02 14:28 ?3625次閱讀
    基于<b class='flag-5'>CC2530</b>的SDHC卡讀寫設計

    cc2530的PWM實現

    CC2530 結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM 和許多其它強大的功能。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有
    發表于 11-07 18:43 ?4039次閱讀
    <b class='flag-5'>cc2530</b>的PWM<b class='flag-5'>實現</b>

    cc2530程序設計實例之CC2530 RF部分使用—實現點對點收發

    本文主要介紹了cc2530程序設計實例之CC2530 RF部分使用—實現點對點收發,通過串口調試助手發送字節數據。例如通過串口向設備A發送HelloCC2530,設備B可收到Hello
    發表于 12-09 12:22 ?2.2w次閱讀
    <b class='flag-5'>cc2530</b>程序設計實例之<b class='flag-5'>CC2530</b> RF部分使用—<b class='flag-5'>實現</b>點對點收發

    CC2530 GPIO輸出控制-控制Led亮滅實驗資料下載

    CC2530 GPIO輸出控制-控制Led亮滅實驗資料下載
    發表于 05-03 09:47 ?1次下載

    CC2530GPIO輸出控制-Led閃爍、流水燈實驗資料下載

    CC2530GPIO輸出控制-Led閃爍、流水燈實驗資料下載
    發表于 05-03 09:42 ?5次下載

    基于WSN的信號燈控制系統設計與實現

    基于WSN的信號燈控制系統設計與實現
    發表于 05-29 11:52 ?4次下載

    CC2530控制LED閃爍

    CC2530控制LED閃爍CC2530 控制LED閃爍電路圖知識點CC2530有兩個高頻時鐘輸入輸出配置程序及注釋
    發表于 11-29 18:51 ?15次下載
    <b class='flag-5'>CC2530</b><b class='flag-5'>控制</b>LED閃爍

    CC2530 引腳配置函數

    CC2530 引腳配置函數使用下面的函數可以避免麻煩的位邏輯運算,GPIO_Config.c:/*驅動文件:配置引腳作者:JX*/#include<ioCC2530.h>
    發表于 11-29 19:06 ?12次下載
    <b class='flag-5'>CC2530</b> 引腳配置函數

    CC2530 GPIO 控制LED燈

    I/O 控制寄存器寫入數據可以控制 I/O 口輸入輸出模式,實現對某些設備的控制信號采集的功能。若將通用 I/O 進行組合配置可以
    發表于 11-29 19:51 ?11次下載
    <b class='flag-5'>CC2530</b> <b class='flag-5'>GPIO</b> <b class='flag-5'>控制</b>LED燈

    CC2530按鍵控制流水燈設計

      實驗目的   1)、通過實驗掌握CC2530芯片GPIO的配置方法,帶你一步步走進嵌入式大門   2)、握Led驅動電路及開關Led的原理   3)、掌握檢測按鍵的方法
    發表于 04-11 15:55 ?8次下載

    CC2530按鍵控制LED開關實驗

      實驗目的   1)、通過實驗掌握CC2530芯片GPIO的配置方法   2)、掌握Led驅動電路及開關Led的原理   3)、掌握檢測按鍵的方法
    發表于 04-11 15:32 ?6次下載

    CC2530驅動OLED源代碼

    CC2530驅動OLED源代碼
    發表于 09-27 14:48 ?2次下載

    cc2530繼電器模塊使用

    CC2530繼電器模塊是一款基于TI公司的低功耗無線通信芯片CC2530的繼電器應用模塊。它能實現物聯網設備之間的遠程控制,廣泛應用于家庭自動化、工業
    的頭像 發表于 12-21 14:47 ?1645次閱讀
    主站蜘蛛池模板: 国产一区二区三区乱码在线观看| 男生脱美女内裤内衣动态图| 亚洲精品国产第一区第二区| 漂亮的保姆3中文版完整版 | 美女露出乳胸扒开尿口| 久久久久久极精品久久久| 精品无码日本蜜桃麻豆| 精品国产人成亚洲区| 千禧金瓶梅快播| 日韩在线av免费视久久| 三级黃60分钟| 我的美女奴隶| 午夜十八岁禁| 亚洲激情一区| 成人中文字幕在线| 爱情岛论坛免费在线观看| WWW国产亚洲精品久久| 丰满人妻无码AV系列| 国产精品婷婷五月久久久久| 国产午夜电影在线观看不卡| 黄色一级毛片免费| 麻花传媒XK在线观看| 欧美成人无码视频午夜福利| 强上轮流内射高NP男男| 1313久久国产午夜精品理论片| 99re5.久久热在线视频| yy8090理论三级在线看| 男人扒开添女人下部口述| 又爽又黄又粗又大免费视频| 美女打开双腿扒开屁股男生| 亚洲中文字幕日本在线观看| 自拍黄色片| 大胸美女脱内衣黄网站| 国家产午夜精品无人区| 迈开腿让我看下你的小草莓声音| 亚洲乱码国产乱码精品精98| 87.6在线收听| 99久久热视频只有精品| 国产精品乱码一区二区三| 久久精品无码成人国产毛| 亚洲日韩中文字幕区|