電路原理圖如下:
51hei.gif (50.79 KB, 下載次數: 26)
下載附件
2022-9-7 01:38 上傳
1592284771(1).png (41.54 KB, 下載次數: 47)
下載附件
仿真
2020-6-16 13:20 上傳
單片機源程序如下:
- #include "led.h"
- void Delay(unsigned int count); //延時函數
- //int main(void)
- //{
- //
- // LED_Init(); //初始化與LED連接的硬件接口
- // while(1)
- // {
- // u32 LED=0x00000001;//設置初始控制碼
- // //逐一點亮
- // for(u8 i=0;i<4;i++)
- // {
- // GPIOC->ODR&=~LED; //向GPIOC口寫點亮LED的控制碼
- // Delay(30);
- // LED<<=1; //上一個控制碼左移一位,獲得下一個控制碼
- // }
- // Delay(30);
- // LED>>=1;
- // // 逐一熄滅
- // for(u8 j=0;j<4;j++)
- // {
- // GPIOC->ODR|=LED; //向GPIOC口寫點亮LED的控制碼
- // Delay(30);
- // LED>>=1; //上一個控制碼左移一位,獲得下一個控制碼
- // }
- // Delay(30);
- // }
- //}
- void Delay(unsigned int count) //延時函數
- {
- unsigned int i;
- for(;count!=0;count--)
- {
- i=5000;
- while(i--);
- }
- }
- int main(void){
- LED_Init(); //初始化與LED連接的硬件接口
- u8 LED=0X00;
- while(1){
- for(u8 i=0;i<4;i++)
- {
- LED++; //00000001 00000011
- GPIOC->BRR = LED;//pc0=0 PC1=0
- Delay(20);
- LED<<=1;//LED依次點亮 00000010
- }
- LED++;
- GPIOC->BRR = LED;
- Delay(20);
- LED=0XF8;
- // 逐一熄滅
- for(u8 j=0;j<4;j++)
- {
- GPIOC->BSRR=LED; //向GPIOC口寫點亮LED的控制碼
- Delay(20);
- LED>>=1; //上一個控制碼左移一位,獲得下一個控制碼
- }
- Delay(20);
- }
- }
復制代碼
Keil代碼與Proteus8.8仿真下載:
LED4.7z
(191.99 KB, 下載次數: 49)
2020-6-16 15:11 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|