找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13702|回復(fù): 9
收起左側(cè)

求最簡單點亮LED燈單片機c語言程序

[復(fù)制鏈接]
ID:163464 發(fā)表于 2017-2-4 16:42 | 顯示全部樓層 |閱讀模式
本人是菜鳥,求最簡單點亮LED燈單片機c語言程序,在線等,謝謝!

相關(guān)帖子

回復(fù)

使用道具 舉報

ID:163663 發(fā)表于 2017-2-6 18:27 | 顯示全部樓層
根據(jù)你的需求,參考電路圖如圖A所示。
參考程序如下:
#include<REG52.h>
main()
{
        P2=0x01;/點亮P2.0
}

希望對你有所幫助!

圖A

圖A
回復(fù)

使用道具 舉報

ID:163711 發(fā)表于 2017-2-7 10:08 | 顯示全部樓層
c語言程序源碼 #include <reg51.h> void delay100ms();   //如果函數(shù)是在主函數(shù)后面定義,那么一定要在主函數(shù)前面聲明                                          void main() { int i; i=0xfe; while(1) {P1=i; i--; delay100ms(); if(i==0) i=0xfe;   } }   void delay100ms(void)// { unsigned char a,b,c; for(c=19;c>0;c--) for(b=20;b>0;b--) for(a=230;a>0;a--); }
回復(fù)

使用道具 舉報

ID:163711 發(fā)表于 2017-2-7 10:09 | 顯示全部樓層
電路很簡單八個led燈接在p1口.運行后看到的效果是 從第一個燈開始 隨著時間變化 二進制數(shù)的遞減 所有的燈都會依次的點亮,當(dāng)全部的燈都被點亮后再重新開始這個過程 一直循環(huán)下去
回復(fù)

使用道具 舉報

ID:163711 發(fā)表于 2017-2-7 10:10 | 顯示全部樓層
電路很簡單八個led燈接在p1口.運行后看到的效果是 從第一個燈開始 隨著時間變化 二進制數(shù)的遞減 所有的燈都會依次的點亮,當(dāng)全部的燈都被點亮后再重新開始這個過程 一直循環(huán)下去
c語言程序源碼
#include <reg51.h>
void delay100ms();   //如果函數(shù)是在主函數(shù)后面定義,那么一定要在主函數(shù)前面聲明                                         
void main()
{
int i;
i=0xfe;
while(1)
{P1=i;
i--;
delay100ms();
if(i==0)
i=0xfe;  
}
}

void delay100ms(void)//
{
unsigned char a,b,c;
for(c=19;c>0;c--)
for(b=20;b>0;b--)
for(a=230;a>0;a--);
}
回復(fù)

使用道具 舉報

ID:163669 發(fā)表于 2017-2-7 12:29 | 顯示全部樓層
#include<reg51.h>
sbit led=P0^0;
main()
{        led=1;/*高電平點亮led*/}
回復(fù)

使用道具 舉報

ID:163526 發(fā)表于 2017-2-7 15:44 來自手機 | 顯示全部樓層
個人建議看視頻自學(xué)
回復(fù)

使用道具 舉報

ID:163961 發(fā)表于 2017-2-8 22:39 | 顯示全部樓層
個人建議看書自學(xué)
回復(fù)

使用道具 舉報

ID:162357 發(fā)表于 2017-2-10 09:17 | 顯示全部樓層
給一個I0口賦值就行了
回復(fù)

使用道具 舉報

ID:164401 發(fā)表于 2017-2-13 09:33 | 顯示全部樓層
/*    添加包含芯片的頭文件    */
#include<iostm8s103k3.h>  /*  頭文件 */

//由原理圖得知,給LED一個低電平,LED亮。否則LED不亮。
#define         LED1_ON()         PD_ODR_bit.ODR0 = 0     //使LED1亮
#define         LED2_ON()         PD_ODR_bit.ODR2 = 0     //使LED2亮
#define         LED3_ON()         PD_ODR_bit.ODR3 = 0     //使LED3亮
#define         LED4_ON()         PC_ODR_bit.ODR4 = 0     //使LED4亮

#define         LED1_OFF()        PD_ODR_bit.ODR0 = 1     //使LED1滅
#define         LED2_OFF()        PD_ODR_bit.ODR2 = 1     //使LED2滅
#define         LED3_OFF()        PD_ODR_bit.ODR3 = 1     //使LED3滅
#define         LED4_OFF()        PC_ODR_bit.ODR4 = 1     //使LED4滅

/*******************************************************************************
**函數(shù)名稱:void delay(unsigned int ms)     Name: void delay(unsigned int ms)
**功能描述:大概延時
**入口參數(shù):unsigned int ms   輸入大概延時數(shù)值
**輸出:無
*******************************************************************************/
void delay(unsigned int ms)
{
  unsigned int x , y;
  for(x = ms; x > 0; x--)           /*  通過一定周期循環(huán)進行延時*/
  for(y = 3000 ; y > 0 ; y--);
}


/*******************************************************************************
**函數(shù)名稱:void InitLED()
**功能描述:初始化LED函數(shù)
**入口參數(shù):無
**輸出:無
*******************************************************************************/
void InitLED()
{
  //初始化LED1
  PD_DDR_bit.DDR0 = 1;    //設(shè)置端口PD->0的輸入輸出方向寄存器為輸出方向
  PD_CR1_bit.C10 = 1;     //推挽輸出
  PD_CR2_bit.C20 = 1;     //輸出速度最大為10MHZ
  //初始化LED2
  PD_DDR_bit.DDR2 = 1;    //設(shè)置端口PD->2的輸入輸出方向寄存器為輸出方向
  PD_CR1_bit.C12 = 1;     
  PD_CR2_bit.C22 = 1;
  //初始化LED3
  PD_DDR_bit.DDR3 = 1;    //設(shè)置端口PD->3的輸入輸出方向寄存器為輸出方向
  PD_CR1_bit.C13 = 1;     
  PD_CR2_bit.C23 = 1;
  //初始化LED4
  PC_DDR_bit.DDR4 = 1;    //設(shè)置端口PC->4的輸入輸出方向寄存器為輸出方向
  PC_CR1_bit.C14 = 1;     
  PC_CR2_bit.C24 = 1;
}

/* 主函數(shù) */
int main(void)
{

CLK_CKDIVR = 0x00;      //內(nèi)部時鐘為1分頻 = 16Mhz
  InitLED();              //調(diào)用LED初始化函數(shù)
  while(1)
  {
     LED1_ON();  
     delay(1000);
     LED1_OFF();
     
     LED2_ON();
    delay(1000);
     LED2_OFF();
     
     LED3_ON();
     delay(1000);
     LED3_OFF();
      
     LED4_ON();
     delay(1000);        
     LED4_OFF();            
  }
}
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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