欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我是新手,剛接觸單片機才兩天,做了個小玩意 [打印本頁]

作者: liaolinhui    時間: 2014-1-3 15:05
標題: 我是新手,剛接觸單片機才兩天,做了個小玩意
3個led是共陽三色燈,我的原理是利用P1口的P1.0,P1.1,P1.2輸出000-111以到達一個燈顯示八種狀態,用按鍵來控制
第一宗方案我用中斷,(其實我不會用中斷,改別人的程序的)
#include<reg52.h>  
       //庫文件
#define uchar unsigned char//宏定義無符號字符型
uchar dispcount=0; //計數初值

/********************************************************************
                            顯示函數
*********************************************************************/        
void Led() //顯示函數
{

P1=dispcount;
}
/********************************************************************
                            中斷服務函數
*********************************************************************/
void ExtInt0() interrupt 0 //中斷服務程序
{

dispcount++; //每按一次中斷按鍵,計數加一

if (dispcount==8) //計數范圍0-8

{

dispcount=0;

}
}
/********************************************************************
                            主函數
*********************************************************************/
void main()
{

TCON=0x01; //中斷設置

IE=0x81;

while(1)

{
  
   
Led();
   }

}
這里用的是中斷0,,按鍵要加P3.2我想問要接P3.3改真名改程序,我還不會用中斷
第二種方案我用了按鍵判斷,之前的沒加入延時去抖動,這次加了延時去抖動
#include<reg52.h>  
       //庫文件
#define uchar unsigned char//宏定義無符號字符型
uchar dispcount=0; //計數初值
sbit BY1=P3^2; //定義按鍵的輸入端(為單片機P3口的P3.2按鍵)
/********************************************************************
                            顯示函數
*********************************************************************/        
void Led() //顯示函數
{

P1=dispcount;
}
/********************************************************************
                            延時函數
*********************************************************************/
void delay10ms(void) //延時程序
{
uchar i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
/********************************************************************
                           按鍵判斷函數
*********************************************************************/
void key() //按鍵判斷程序
{

if(BY1==0) //判斷是否按下鍵盤

{

delay10ms(); //延時,軟件去干擾

if(BY1==0) //確認按鍵按下

{

dispcount++; //按鍵計數加1

if(dispcount==8) //計8次重新計數

{

dispcount=0;//將dispcoun 清零

}

}

while(BY1==0);//按鍵鎖定,每按一次dispcoun 只加1.

}
}
/********************************************************************
                            主函數
*********************************************************************/
void main()
{

while(1)

{
  
   
key();

Led();
    }
}

ourhc.JPG (40.27 KB, 下載次數: 171)

ourhc.JPG

作者: liaolinhui    時間: 2014-1-3 20:11
現在打算拿這個三色LED做個七彩流水燈,用七個LED做成流水燈,將它們相同顏色的負極接一塊,這樣就形成一個類似于三位數碼管的東西,打算讓七個燈用動態掃描的方式,在同一時刻七個燈顯示七種顏色,過一段時間,換一種組合。。。{:soso_e116:}這對剛玩單片機才兩天的我還真是有點挑戰。。先去弄電路




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1