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

標題: 問下版主,這個程序我想改為第1個燈亮該怎么做 [打印本頁]

作者: hhdd    時間: 2010-4-22 17:38
標題: 問下版主,這個程序我想改為第1個燈亮該怎么做


#include"AT89x52.h"
#include"intrins.h"
  
#define uint unsigned int
#define uchar unsigned char

sbit WEI=P2^7;      //U2 74HC573的LE端    數碼管的位選端
sbit SJ=P1^4;       //LED發光管的使能端

void main(void)
{
   SJ=0;    //開LED總使能
   WEI=1;   //讓位選的U2 74hc573處于直通狀態
   P0=0xff; //讓所有數碼管不顯示,防止數碼管干擾
   WEI=0;   //鎖存,讓位選的74hc573保持現在的狀態不變,也就是一直不顯示,如果不寫這3行,數碼管上就會有干擾  
    P0=0xef; //P0口送2進制 11101111 8個二進制對應8個led燈,也就是讓為0的數碼管亮,為1的不亮
   while(1); //死循環,也就是讓程序停止在這里一直做死循環
}
這個是第四個燈亮,我想改為第1個燈亮怎么做.

[此貼子已經被作者于2010-4-22 17:38:38編輯過]

作者: admin    時間: 2010-4-22 17:47

修改倒數第二行  
 P0=0x7f;  //0x7f 化為2進制 01111111
上面的代碼已經說明了為0的這一位才會亮,所以你把0移動到第一個就行了.這是個極其簡單的問題咯

 

 


  簡單的分析一下:你打開看51hei開發板8個led部分的電路圖 ,led發光管的正極是通過一個三極管接到vcc的,在p1.4為0的情況下這個三極管就會導通,所以這時我們可以認為 led發光管的正極 是直接接到vcc的,而8個led的負極是分別直接接到P0口的,所以當P0的某一位為0時,相應的led就會有電流通過就會發光.

[此貼子已經被作者于2010-7-3 20:35:16編輯過]





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