標題: Tiva-PB開發(fā)板呼吸燈實驗源碼 [打印本頁]
作者: z317132759 時間: 2018-5-25 10:57
標題: Tiva-PB開發(fā)板呼吸燈實驗源碼
任選一個LED燈,4秒內(nèi)從全滅到全亮,再從全亮到全滅,亮度變化至少20個臺階,循環(huán)往復(呼吸燈效果)任選一個LED燈,4秒內(nèi)從全滅到全亮,再從全亮到全滅,亮度變化至少20個臺階,循環(huán)往復(呼吸燈效果)
單片機源程序如下:
- //*****************************************************************************
- // 本程序控制Tiva-PB開發(fā)板上的3個LED指示燈,移位閃爍點亮
- // 藍色LED(D2)--PF0 綠色LED(D3)-PA4 紅色LED(D4)-PD6
- //*****************************************************************************
- #include <stdint.h>
- #include <stdbool.h>
- #include "inc/hw_memmap.h"
- #include "inc/hw_types.h"
- #include "inc/hw_gpio.h"
- #include "driverlib/sysctl.h"
- #include "driverlib/gpio.h"
- //*****************************************************************************
- // main 函數(shù),每個工程項目內(nèi)有且只有1個
- //*****************************************************************************
- void delay(unsigned int dat1)
- {
- unsigned int i,j;
- for(i = dat1; i > 0; i--)
- for(j = 12500; j > 0; j--) // 修改該參數(shù)可以調(diào)整延時時間
- {;}
- }
- int main(void)
- {
- int i,j;
- //設(shè)置系統(tǒng)時鐘為50MHz
- SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
- SYSCTL_XTAL_16MHZ);
- // 端口GPIO F使能,F(xiàn)0引腳解鎖NMI功能
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); // 使能 GPIO F模塊
- HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY; // 開鎖 PORT F
- HWREG(GPIO_PORTF_BASE + GPIO_O_CR) |= GPIO_PIN_0; // 解鎖 F0 引腳
- HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0; // 重新上鎖
- // 設(shè)置GPIO方向
- GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0); // PF0設(shè)置為輸出
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0); // 藍LED燈初始態(tài):滅
- // 設(shè)置PA4為輸出
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); // 使能 GPIO A模塊
- GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_4); // PA4設(shè)置為輸出
- GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_4,1<<4); // 綠LED燈初始態(tài):滅
- // 設(shè)置PD6為輸出
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); // 使能 GPIO D模塊
- GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_6); // PD6設(shè)置為輸出
- GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,1<<6); // 紅LED燈初始態(tài):滅
-
- while(1) // 死循環(huán),main函數(shù)沒有結(jié)束
- {
- for(j=1;j<=20;j++)
- {
- for (i=0;i<5;i++)
- {
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0); // 藍色LED燈:亮
- delay(j); // 軟件延時
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0); // 藍色LED燈:滅
- delay(20-j);
- }
- }
- for(j=1;j<=20;j++)
- {
- for (i=0;i<5;i++)
- {
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0); // 藍色LED燈:亮
- delay(20-j); // 軟件延時
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0); // 藍色LED燈:滅
- delay(j);
- }
- }
- }
- }
- // end of main
復制代碼
所有資料51hei提供下載:
s03-lab3B1-1a.zip
(2.36 MB, 下載次數(shù): 10)
2018-5-25 10:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: always_nothing 時間: 2020-10-22 10:14
正好看到了解鎖鎖定端口的部分,謝謝幫助
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |