一、單片機學習——流水燈實驗


實驗目的: 理解並掌握 led 燈的點亮原理;
      理解並掌握單片機的 C 語言編程方法;
      理解並掌握單片機位操作與端口操作的方法;
實驗模塊:核心板+8 位流水燈與獨立按鍵模塊

模塊連接圖:

                                       

 

電路原理圖:

             

 

 

電路原理:將8位流水燈LED1——LED8的陰極與單片機的I/O口P1端口相連,當單片機P1端口相應的位賦低電平時,LED燈被點亮

 

 

 

實驗源碼:使用單片機的P1口做輸出口,依次全部點亮8位發光二極管。

  

#include "reg51.h"       //包含頭文件
sbit led=P1^5;           //表示用led等效於P1^5, P1^0就是指頭文件里定義的P1寄存器的第5BIT
#define uchar unsigned char
#define uint  unsigned int
//延時函數
//**************************************************************************************************
delay(uint time)         //int型數據為16位,所以最大值為65535           
 {
  uint  i,j;             //定義變量i,j,用於循環語句
  for(i=0;i<time;i++)    //for循環,循環50*time次
     for(j=0;j<50;j++);  //for循環,循環50次
 }
//**************************************************************************************************
//主函數
//**************************************************************************************************
void main()             //主函數
{
 uchar  i,j;            //定義變量i,j;
 while(1)               //進入while死循環
  {                    
   j=0xfe;              //0xfe即為二進制1111 1110,即最低位為0,其他位為1
   for(i=0;i<8;i++)     //進入for循環,循環8次
     {
      P1=j;             //依次點亮8位LED
      delay(5000);      //延時,修改延時即可修改時間間隔
      j<<=1;            //j左移1位,j<<=1等效於j=j<<1
     }       
  }        
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM