99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

基于C語言驅(qū)動CC2530的GPIO實現(xiàn)對信號燈控制

454398 ? 來源:博客園 ? 作者:Reqaw ? 2020-10-19 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

驅(qū)動程序如下:

 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){//定義延時函數(shù)
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 }

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

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

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

    關注

    68

    文章

    19896

    瀏覽量

    235292
  • led
    led
    +關注

    關注

    242

    文章

    23847

    瀏覽量

    674204
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124533
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CC2530 GPIO口輸入配置配置步驟

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

    CC2530控制LED閃爍該如何去實現(xiàn)

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

    基于CC2530的SDHC卡讀寫設計

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

    cc2530的PWM實現(xiàn)

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

    cc2530程序設計實例之CC2530 RF部分使用—實現(xiàn)點對點收發(fā)

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

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

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

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

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

    基于WSN的信號燈控制系統(tǒng)設計與實現(xiàn)

    基于WSN的信號燈控制系統(tǒng)設計與實現(xiàn)
    發(fā)表于 05-29 11:52 ?4次下載

    CC2530控制LED閃爍

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

    CC2530 引腳配置函數(shù)

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

    CC2530 GPIO 控制LED燈

    I/O 控制寄存器寫入數(shù)據(jù)可以控制 I/O 口輸入輸出模式,實現(xiàn)對某些設備的控制信號采集的功能。若將通用 I/O 進行組合配置可以
    發(fā)表于 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驅(qū)動電路及開關Led的原理   3)、掌握檢測按鍵的方法
    發(fā)表于 04-11 15:55 ?9次下載

    CC2530按鍵控制LED開關實驗

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

    CC2530驅(qū)動OLED源代碼

    CC2530驅(qū)動OLED源代碼
    發(fā)表于 09-27 14:48 ?4次下載

    cc2530繼電器模塊使用

    CC2530繼電器模塊是一款基于TI公司的低功耗無線通信芯片CC2530的繼電器應用模塊。它能實現(xiàn)物聯(lián)網(wǎng)設備之間的遠程控制,廣泛應用于家庭自動化、工業(yè)
    的頭像 發(fā)表于 12-21 14:47 ?2482次閱讀