單片機(jī)LED閃爍實(shí)驗(yàn):
#include "reg51.h"
typedef unsigned char u8; typedef unsigned int u16; /*小于65535*/
#define LED P0
void delay3s(void) //誤差 0us { unsigned char a,b,c; for(c=189;c>0;c--) for(b=230;b>0;b--) for(a=33;a>0;a--); }
void main () { while (1) { LED=0x00; delay3s() ; LED=~LED; delay3s() ; } } 中main函數(shù)中的LED控制口替換成以下編碼: while (1) { LED=0x00; delay3s() ; LED=0x255; delay3s() ; } 結(jié)論, 我的理解(我的單片機(jī)二極管低電平亮)是LED=0x00;對(duì)應(yīng)的二進(jìn)制數(shù)(0000 0000)全亮,LED=0x255;時(shí)對(duì)應(yīng)二進(jìn)制(1111 1111)全滅才對(duì)。但3秒后只有D1,D3,D5,D7四個(gè)燈管滅。原本的代碼里的LED=~LED;的話達(dá)到預(yù)期效果全滅。不知道是不是我的理解錯(cuò)了。
|