找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 4452|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

Tiva-PB開(kāi)發(fā)板呼吸燈實(shí)驗(yàn)源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:337321 發(fā)表于 2018-5-25 10:57 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
任選一個(gè)LED燈,4秒內(nèi)從全滅到全亮,再?gòu)娜恋饺珳�,亮度變化至�?0個(gè)臺(tái)階,循環(huán)往復(fù)(呼吸燈效果)任選一個(gè)LED燈,4秒內(nèi)從全滅到全亮,再?gòu)娜恋饺珳�,亮度變化至�?0個(gè)臺(tái)階,循環(huán)往復(fù)(呼吸燈效果)

單片機(jī)源程序如下:
  1. //*****************************************************************************
  2. // 本程序控制Tiva-PB開(kāi)發(fā)板上的3個(gè)LED指示燈,移位閃爍點(diǎn)亮
  3. // 藍(lán)色LED(D2)--PF0 綠色LED(D3)-PA4 紅色LED(D4)-PD6
  4. //*****************************************************************************
  5. #include <stdint.h>
  6. #include <stdbool.h>

  7. #include "inc/hw_memmap.h"
  8. #include "inc/hw_types.h"
  9. #include "inc/hw_gpio.h"
  10. #include "driverlib/sysctl.h"
  11. #include "driverlib/gpio.h"

  12. //*****************************************************************************
  13. // main 函數(shù),每個(gè)工程項(xiàng)目?jī)?nèi)有且只有1個(gè)
  14. //*****************************************************************************
  15. void delay(unsigned int dat1)
  16. {
  17.     unsigned int i,j;
  18.     for(i = dat1; i > 0; i--)
  19.     for(j = 12500; j > 0; j--)   // 修改該參數(shù)可以調(diào)整延時(shí)時(shí)間
  20.     {;}
  21. }

  22. int main(void)
  23. {
  24.     int i,j;
  25.     //設(shè)置系統(tǒng)時(shí)鐘為50MHz
  26.     SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
  27.                        SYSCTL_XTAL_16MHZ);
  28.     // 端口GPIO F使能,F(xiàn)0引腳解鎖NMI功能
  29.     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);            // 使能 GPIO F模塊
  30.     HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;   // 開(kāi)鎖 PORT F
  31.     HWREG(GPIO_PORTF_BASE + GPIO_O_CR) |= GPIO_PIN_0;       // 解鎖 F0 引腳
  32.     HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0;               // 重新上鎖               
  33.         // 設(shè)置GPIO方向       
  34.     GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);     // PF0設(shè)置為輸出
  35.     GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0);          // 藍(lán)LED燈初始態(tài):滅
  36.         // 設(shè)置PA4為輸出       
  37.     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);            // 使能 GPIO A模塊
  38.     GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_4);     // PA4設(shè)置為輸出
  39.     GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_4,1<<4);          // 綠LED燈初始態(tài):滅
  40.         // 設(shè)置PD6為輸出       
  41.     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);            // 使能 GPIO D模塊
  42.     GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_6);     // PD6設(shè)置為輸出
  43.     GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,1<<6);          // 紅LED燈初始態(tài):滅
  44.                
  45.     while(1)    // 死循環(huán),main函數(shù)沒(méi)有結(jié)束
  46.     {
  47.                          for(j=1;j<=20;j++)
  48.                         {
  49.                           for (i=0;i<5;i++)
  50.                         {
  51.         GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0);  // 藍(lán)色LED燈:亮
  52.         delay(j);       // 軟件延時(shí)
  53.         GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0);  // 藍(lán)色LED燈:滅
  54.         delay(20-j);  
  55.                         }
  56.                 }
  57.                         for(j=1;j<=20;j++)
  58.                         {
  59.                          for (i=0;i<5;i++)
  60.                         {
  61.         GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0);  // 藍(lán)色LED燈:亮
  62.         delay(20-j);       // 軟件延時(shí)
  63.         GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0);  // 藍(lán)色LED燈:滅
  64.         delay(j);  
  65.                         }
  66.                 }
  67.     }
  68. }
  69. // end of main
復(fù)制代碼

所有資料51hei提供下載:
s03-lab3B1-1a.zip (2.36 MB, 下載次數(shù): 10)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:268627 發(fā)表于 2020-10-22 10:14 | 只看該作者
正好看到了解鎖鎖定端口的部分,謝謝幫助
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表