任選一個(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ī)源程序如下:
- //*****************************************************************************
- // 本程序控制Tiva-PB開(kāi)發(fā)板上的3個(gè)LED指示燈,移位閃爍點(diǎn)亮
- // 藍(lán)色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ù),每個(gè)工程項(xiàng)目?jī)?nèi)有且只有1個(gè)
- //*****************************************************************************
- void delay(unsigned int dat1)
- {
- unsigned int i,j;
- for(i = dat1; i > 0; i--)
- for(j = 12500; j > 0; j--) // 修改該參數(shù)可以調(diào)整延時(shí)時(shí)間
- {;}
- }
- int main(void)
- {
- int i,j;
- //設(shè)置系統(tǒng)時(shí)鐘為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; // 開(kāi)鎖 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); // 藍(lán)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ù)沒(méi)有結(jié)束
- {
- for(j=1;j<=20;j++)
- {
- for (i=0;i<5;i++)
- {
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0); // 藍(lán)色LED燈:亮
- delay(j); // 軟件延時(shí)
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0); // 藍(lán)色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); // 藍(lán)色LED燈:亮
- delay(20-j); // 軟件延時(shí)
- GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0); // 藍(lán)色LED燈:滅
- delay(j);
- }
- }
- }
- }
- // end of main
復(fù)制代碼
所有資料51hei提供下載:
s03-lab3B1-1a.zip
(2.36 MB, 下載次數(shù): 10)
2018-5-25 10:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|